Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:common:applications:gpio:40pin-header

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:common:applications:gpio:40pin-header [2022/09/05 23:18]
haylrn [Table]
products:sbc:common:applications:gpio:40pin-header [2023/08/16 06:33] (current)
jacobe
Line 1: Line 1:
 {{indexmenu_n>1}} {{indexmenu_n>1}}
  
-====== 40-Pin Header ======+====== GPIO Header ======
  
-<WRAP important > +===== GPIO usage examples =====
-This guide are only suitable for vendor kernel. For mainline linux kernel, GPIO numbers are different.  +
-</WRAP> +
- +
-===== Introduction ===== +
- +
-The page introduces the number values of the 40 pins on the GPIO Header and leads you to control these pins. +
- +
-===== Preparation ===== +
- +
-At the beginning, you need to get the correct GPIO numbers of the GPIOs you want to use. You can get them from the table below. +
- +
-<tabbox VIM1> +
- +
-^ GPIO  ^     Name ^ Physical  ^ Physical  ^ Name      ^ GPIO  ^ +
-|             5V |  1        |  21       | GND             | +
-|             5V |  2        |  22       | PIN.DV25  |  474  | +
-|        HUB_DM1 |  3        |  23       | PIN.DV24  |  473  | +
-|        HUB_DP1 |  4        |  24       | GND             | +
-|            GND |  5        |  25       | PIN.DV27  |  476  | +
-|             5V |  6        |  26       | PIN.DV26  |  475  | +
-|        HUB_DM2 |  7        |  27       | 3.3V      |       | +
-|        HUB_DP2 |  8        |  28       | GND             | +
-|            GND |  9        |  29       | PIN.H7    |  423  | +
-|        ADC.CH0 |  10        30       | PIN.H6    |  422  | +
-|            GND |  11        31       | PIN.H9    |  425  | +
-|        ADC.CH2 |  12        32       | PIN.H8    |  424  | +
-|  420  |   PIN.H4 |  13        33       | PIN.AO6    507  | +
-|            GND |  14        34       | GND             | +
-|  506  |  PIN.AO5 |  15        35       | PIN.AO3    504  | +
-|  505  |  PIN.AO4 |  16        36       | RTC_CLK         | +
-|            GND |  17        37       | PIN.H5    |  421  | +
-|        PIN.AO1 |  18        38       | PWR_EN    |       | +
-|        PIN.AO2 |  19        39       | PWM_F           | +
-|           3.3V |  20        40       | GND             | +
- +
-<tabbox VIM2> +
- +
-^ GPIO  ^ Name       ^ Physical  ^ Physical  ^ Name       ^ GPIO  ^ +
-|        5V        |  1        |  21        GND             | +
-|        5v        |  2        |  22        PIN.DV25  |  474  | +
-|        USB_DM    |  3        |  23        PIN.DV24  |  473  | +
-|        USB_DP    |  4        |  24        GND             | +
-|        GND        5        |  25        PIN.DV27  |  476  | +
-|  470  |  PIN.DV21  |  6        |  26        PIN.DV26  |  475  | +
-|  471  |  PIN.DV22  |  7        |  27        3.3V      |       | +
-|  472  |  PIN.DV23  |  8        |  28        GND             | +
-|        GND        9        |  29        PIN.H7    |  423  | +
-|        ADC0      |  10        30        PIN.H6    |  422  | +
-|        1.8V      |  11        31        PIN.H9    |  425  | +
-|        ADC1      |  12        32        PIN.H8    |  424  | +
-|  420  |  PIN.H4    |  13        33        PIN.AO6    507  | +
-|        GND        14        34        GND             | +
-|  506  |  PIN.AO5    15        35        PIN.DV28  |  478  | +
-|  505  |  PIN.AO4    16        36        RTC_CLK         | +
-|        GND        17        37        PIN.H5    |  421  | +
-|        PIN.AO1    18        38        EXP_INT         | +
-|        PIN.AO0    19        39        PIN.DV13  |  462  | +
-|        3.3v      |  20        40        GND             | +
- +
-<tabbox VIM3/3L>   +
- +
-^ GPIO  ^ Name       ^ Physical  ^ Physical  ^ Name      ^ GPIO  ^ +
-|        5V        |  1        |  21        GND      |       | +
-|        5V        |  2        |  22        PIN.A15  |  475  | +
-|        USB_DM    |  3        |  23        PIN.A14  |  474  | +
-|        USB_DP    |  4        |  24        GND      |       | +
-|        GND        5        |  25        PIN.AO2  |  498  | +
-|        MCU3V3    |  6        |  26        PIN.AO3  |  499  | +
-|        MCUNRST    7        |  27        3V3      |       | +
-|        MCUSWIM    8        |  28        GND      |       | +
-|        GND        9        |  29        PIN.A1    461  | +
-|        ADC0      |  10        30        PIN.A0    460  | +
-|        1V8        11        31        PIN.A3    463  | +
-|        ADC1      |  12        32        PIN.A2    462  | +
-|  506  |  PIN.AO10  |  13        33        PIN.A4    464  | +
-|        GND3      |  14        34        GND      |       | +
-|  433  |  PIN.H6    |  15        35        PWM-F    |  432  | +
-|  434  |  PIN.H7    |  16        36        RTC      |       | +
-|        GND        17        37        PIN.H4    431  | +
-|        PIN.AO1    18        38        MCU-FA1  |       | +
-|        PIN.AO0    19        39        PIN.Z15  |  426  | +
-|        3V3        20        40        GND      |       | +
- +
-<tabbox VIM4>  +
-^ GPIO  ^ Name       ^ Physical  ^ Physical  ^ Name      ^ GPIO  ^ +
-|        5V        |  1    21  |  GND      |       | +
-|        5V        |  2    22  |  PIN.Y17  |  501  | +
-|        HUB_D4N    3    23  |  PIN.Y18  |  502  | +
-|        HUB_D4P    4    24  |  GND      |       | +
-|        GND        5    25  |  PIN.T20  |  466  | +
-|        VCCMCU    |  6    26  |  PIN.T21  |  467  | +
-|        MCUBOOT0  |  7    27  |  3V3      |       | +
-|        MCUSWDIO  |  8    28  |  GND      |       | +
-|        GND        9    29  |  PIN.T1    447  | +
-|        ADC_CH6    10  |  30  |  PIN.T0    446  | +
-|        VDD1V8    |  11  |  31  |  PIN.T3    449  | +
-|        ADC_CH3    12  |  32  |  PIN.T2    448  | +
-|  420  |  SPDIFOUT  |  13  |  33  |  PIN.T4    450  | +
-|        GND        14  |  34  |  GND      |       | +
-|  491  |  PIN.Y7    |  15  |  35  |  PIN.Y8    482  | +
-|  490  |  PIN.Y6    |  16  |  36  |  PIN.T18  |  464  | +
-|        GND        17  |  37  |  PIN.T19  |  465  | +
-|        PIN.D1    |  18  |  38  |  PWR_EN1  |       | +
-|        PIN.D2    |  19  |  39  |  PIN.D15  |  417  | +
-|        3V3        20  |  40  |  GND      |       | +
- +
- +
-<tabbox VIM1S>  +
-^ GPIO  ^ Name       ^ Physical  ^ Physical  ^ Name      ^ GPIO  ^ +
-|        |        5V  |    |  21  |  GND      |       | +
-|        |        5V  |    |  22  |  PIN.D7    461  | +
-|        |    USB_DM  |    |  23  |  PIN.D6    460  | +
-|        |    USB_DP  |    |  24  |  GND      |       | +
-|        |       GND  |    |  25  |  PIN.Z11  |  509  | +
-|        |    VCCMCU  |    |  26  |  PIN.Z12  |  510  | +
-|        |  MCU_NRST  |    |  27  |  3V3      |       | +
-|        |  MCU_SWIM  |    |  28  |  GND      |       | +
-|        |       GND  |    |  29  |  PIN.Z1    499  | +
-|        |   ADC_CH0  |  10  |  30  |  PIN.Z6    504  | +
-|        |    VDD1V8  |  11  |  31  |  PIN.Z2    500  | +
-|        |   ADC_CH2  |  12  |  32  |  PIN.Z0    498  | +
-|   470  |  SPDIFOUT  |  13  |  33  |  PIN.Z3    501  | +
-|        |       GND  |  14  |  34  |  GND      |       | +
-|   457  |    PIN.D3  |  15  |  35  |  PIN.Z6    503  | +
-|   456  |    PIN.D2  |  16  |  36  |  PIN.Z8    506  | +
-|        |       GND  |  17  |  37  |  PIN.Z10  |  508  | +
-|        |    PIN.D1  |  18  |  38  |  PWR_EN1  |       | +
-|        |    PIN.D0  |  19  |  39  |  PIN.H9    475  | +
-|        |       3V3  |  20  |  40  |  GND      |       | +
- +
-<tabbox Edge-V> +
- +
-^ GPIO  ^ Name                ^ Physical  ^ Physical  ^ Name                        ^ GPIO  ^ +
-|        5V                  1        |  21        GND(0V)                    |       | +
-|        5V                  2        |  22        SPI3_RXD/I2C0_SCK/GPIO1_C0 |  48   | +
-|        HOST1_DM            3        |  23        SPI3_TXD/I2C0_SDA/GPIO1_B7 |  47   | +
-|        HOST1_DP            4        |  24        GND(0V)                    |       | +
-|        GND(0V)            |  5        |  25        I2C2_SCL/GPIO2_A1          |  65   | +
-|        MCU_TX              6        |  26        I2C2_SDA/GPIO2_A0          |  64   | +
-|        MCU_NRST            7        |  27        3.3V                             | +
-|        MCU_SWIM            8        |  28        GND(0V)                    |       | +
-|        GND(0V)            |  9        |  29        I2S0_SCLK/GPIO3_D0          120  | +
-|        ADC_IN2            |  10        30        I2S_CLK/GPIO4_A0            128  | +
-|        1.8V                11        31        I2S0_SDO0/GPIO3_D7          127  | +
-|        ADC_IN3            |  12        32        2S0_LRCK_TX/GPIO3_D2        122  | +
-|  112  |  SPDIF/GPIO3_C0      13        33        I2S0_SDI0/GPIO3_D3          123  | +
-|        GND(0V              14        34        GND(0V)                    |       | +
-|  50    SPI3_CS/GPIO1_C2    15        35        I2S0_SDI3SDO1/GPIO3_D6      126  | +
-|  49    SPI3_CLK/GPIO1_C1  |  16        36        2S0_SDI2SDO2/GPIO3_D5      |  125  | +
-|        GND(0V)            |  17        37        I2S0_SDI1SDO3/GPIO3_D4      124  | +
-|        UART_RX            |  18        38        I2S0_LRCK_RX/GPIO3_D1      |  121  | +
-|        UART_TX            |  19        39        MCU_PA1                    |       | +
-|        3.3V                20        40        GND(0V)                    |       | +
- +
-<tabbox Edge2> +
- +
-^ GPIO  ^ Name                    ^ Physical  ^ Physical  ^ Name                        ^ GPIO  ^ +
-|        5V                      1        |  21        GND(0V)                    |       | +
-|        5V                      2        |  22        SPI3_RXD/I2C0_SCK/GPIO1_C0 |  48   | +
-|        HUB_DM2                |  3        |  23        SPI3_TXD/I2C0_SDA/GPIO1_B7 |  47   | +
-|        HUB_DP2                |  4        |  24        GND(0V)                    |       | +
-|        GND(0V)                |  5        |  25        I2C2_SCL/GPIO2_A1          |  65   | +
-|        VCCMCU                  6        |  26        I2C2_SDA/GPIO2_A0          |  64   | +
-|        MCU_SWCLK              |  7        |  27        3.3V                             | +
-|        MCU_SWDIO              |  8        |  28        GND(0V)                    |       | +
-|        GND(0V)                |  9        |  29        I2S0_SCLK/GPIO3_D0          120  | +
-|        ADC_IN2                |  10        30        I2S_CLK/GPIO4_A0            128  | +
-|        1.8V                    11        31        I2S0_SDO0/GPIO3_D7          127  | +
-|        ADC_IN3                |  12        32        2S0_LRCK_TX/GPIO3_D2        122  | +
-|  112  |  SPI1_MOSI_M1/GPIO3_C0  |  13        33        I2S0_SDI0/GPIO3_D3          123  | +
-|        SPI1_MISO_M1/GPIO3_B7  |  14        34        GND(0V)                    |       | +
-|  50    SPI1_CS_M1/GPIO3_C2    |  15        35        I2S0_SDI3SDO1/GPIO3_D6      126  | +
-|  49    SPI1_CLK_M1/GPIO3_C1    16        36        2S0_SDI2SDO2/GPIO3_D5      |  125  | +
-|        GND(0V)                |  17        37        I2S0_SDI1SDO3/GPIO3_D4      124  | +
-|        UART_RX                |  18        38        I2S0_LRCK_RX/GPIO3_D1      |  121  | +
-|        UART_TX                |  19        39        MCU_PA1                    |       | +
-|        3.3V                    20        40        GND(0V)                    |       | +
- +
-</tabbox> +
- +
-===== Control GPIO =====+
  
 <WRAP important > <WRAP important >
Line 192: Line 11:
 When you get the GPIO number, you can follow the steps below to control it. Here we take GPIO number ''465'' as an example. When you get the GPIO number, you can follow the steps below to control it. Here we take GPIO number ''465'' as an example.
  
-**Export GPIO:**+==== Export GPIO ====
  
 ```shell ```shell
Line 198: Line 17:
 ``` ```
  
-**Set GPIO direction:**\\ +==== Set-up GPIO direction ==== 
-You can set the direction input or output.+ 
 +We can configure direction as input or output.
  
 ```shell ```shell
 $ echo out | sudo tee /sys/class/gpio/gpio465/direction # Set GPIO output $ echo out | sudo tee /sys/class/gpio/gpio465/direction # Set GPIO output
-$ echo in | sudo tee /sys/class/gpio/gpio465/direction # Set GPIO input+$ echo in  | sudo tee /sys/class/gpio/gpio465/direction # Set GPIO input
 ``` ```
  
-**Set or get GPIO value:**+==== Set GPIO value ==== 
 ```shell ```shell
 $ echo 1 | sudo tee /sys/class/gpio/gpio465/value # Set GPIO output high $ echo 1 | sudo tee /sys/class/gpio/gpio465/value # Set GPIO output high
 $ echo 0 | sudo tee /sys/class/gpio/gpio465/value # Set GPIO output low $ echo 0 | sudo tee /sys/class/gpio/gpio465/value # Set GPIO output low
 +```
 +
 +==== Get GPIO value ====
 +
 +```shell
 $ cat /sys/class/gpio/gpio465/value # Get GPIO input value $ cat /sys/class/gpio/gpio465/value # Get GPIO input value
 ``` ```
  
-**Unexport GPIO:**+==== Unexport GPIO ====  
 ```shell ```shell
 $ echo 465 | sudo tee /sys/class/gpio/unexport $ echo 465 | sudo tee /sys/class/gpio/unexport
 ``` ```
  
-===== Troubleshooting =====+==== Troubleshooting ====
  
 If you got the similar error below, it means that the PIN you try to export is used for another function, you need to edit [[products:sbc:common:configurations:device-tree-overlay|Device Tree Overlay]] configuration file to set the PIN as normal GPIO. If you got the similar error below, it means that the PIN you try to export is used for another function, you need to edit [[products:sbc:common:configurations:device-tree-overlay|Device Tree Overlay]] configuration file to set the PIN as normal GPIO.
Last modified: 2022/09/05 23:18 by haylrn