Difference between revisions of "RockpiS/hardware/gpio"
(→More details about Headers) |
m (I added a note in the IO Voltage section about ADC input voltage) |
||
(14 intermediate revisions by 3 users not shown) | |||
Line 7: | Line 7: | ||
ROCK Pi S has two 26-pin expansion header. Each pin is distinguished by color. | ROCK Pi S has two 26-pin expansion header. Each pin is distinguished by color. | ||
− | |||
<div class="col-md-12 "> | <div class="col-md-12 "> | ||
Line 19: | Line 18: | ||
! GPIO number || Func4 || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || Func4 || GPIO number | ! GPIO number || Func4 || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || Func4 || GPIO number | ||
|- | |- | ||
− | | || || || +3.3V | + | | || || || || +3.3V || style="background:yellow"| 1 || ||style="background:red"| 2 || +5.0V || || ||| || |
|- | |- | ||
| 12 || || || I2C1_SCL || GPIO0_B4 || style="background:green; color:white"| 3 || || style="background:red"| 4 || +5.0V || || || || | | 12 || || || I2C1_SCL || GPIO0_B4 || style="background:green; color:white"| 3 || || style="background:red"| 4 || +5.0V || || || || | ||
Line 80: | Line 79: | ||
| || || || LINEOUT_R || style="background:black; color:white"|25 || || style="background:black; color:white"|26 || LINEOUT_L || || || | | || || || LINEOUT_R || style="background:black; color:white"|25 || || style="background:black; color:white"|26 || LINEOUT_L || || || | ||
|} | |} | ||
− | |||
− | |||
</div> | </div> | ||
</div> | </div> | ||
Line 87: | Line 84: | ||
<div class="clearfix"></div> | <div class="clearfix"></div> | ||
+ | |||
+ | ==== More details about V10 Headers ==== | ||
+ | |||
+ | * Pins marked with color orange are designed for default debug console. | ||
+ | * PWM: x3, PWM1/PWM2/PWM3 | ||
+ | * SPI: x2, SPI0/SPI2 | ||
+ | * I2C: x4, I2C0/I2C1/I2C2/I2C3 | ||
+ | * UART: x3, UART0/UART1/UART2 | ||
<div class="col-md-12 "> | <div class="col-md-12 "> | ||
Line 98: | Line 103: | ||
! GPIO number || Func4 || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || Func4 || GPIO number | ! GPIO number || Func4 || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || Func4 || GPIO number | ||
|- | |- | ||
− | | || || || +3.3V | + | | || || || || +3.3V || style="background:yellow"| 1 || ||style="background:red"| 2 || +5.0V || || ||| || |
|- | |- | ||
| 11 || || || I2C1_SDA || GPIO0_B3 || style="background:green; color:white"| 3 || || style="background:red"| 4 || +5.0V || || || || | | 11 || || || I2C1_SDA || GPIO0_B3 || style="background:green; color:white"| 3 || || style="background:red"| 4 || +5.0V || || || || | ||
Line 156: | Line 161: | ||
| || || || LINEOUT_R || style="background:black; color:white"|25 || || style="background:black; color:white"|26 || LINEOUT_L || || || | | || || || LINEOUT_R || style="background:black; color:white"|25 || || style="background:black; color:white"|26 || LINEOUT_L || || || | ||
|} | |} | ||
− | |||
</div> | </div> | ||
</div> | </div> | ||
Line 162: | Line 166: | ||
<div class="clearfix"></div> | <div class="clearfix"></div> | ||
+ | |||
+ | ==== More details about V11 Headers ==== | ||
+ | |||
+ | * Pins marked with color orange are designed for default debug console. | ||
+ | * PWM: x3, PWM1/PWM2/PWM3 | ||
+ | * SPI: x2, SPI0/SPI2 | ||
+ | * I2C: x4, I2C0/I2C1/I2C2/I2C3 | ||
+ | * UART: x3, UART0/UART1/UART2 | ||
+ | * ADC: x1, ADC_IN0. The max input voltage is 1.8V. | ||
<div class="col-md-12 "> | <div class="col-md-12 "> | ||
Line 170: | Line 183: | ||
==== 26-pin Header 1 ==== | ==== 26-pin Header 1 ==== | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible wikitable" |
! GPIO number || Func4 || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || Func4 || GPIO number | ! GPIO number || Func4 || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || Func4 || GPIO number | ||
|- | |- | ||
− | | || || || +3.3V | + | | || || || || +3.3V || style="background:yellow"| 1 || ||style="background:red"| 2 || +5.0V || || ||| || |
|- | |- | ||
| 11 || || || I2C1_SDA || GPIO0_B3 || style="background:green; color:white"| 3 || || style="background:red"| 4 || +5.0V || || || || | | 11 || || || I2C1_SDA || GPIO0_B3 || style="background:green; color:white"| 3 || || style="background:red"| 4 || +5.0V || || || || | ||
Line 179: | Line 192: | ||
| 12 || || || I2C1_SCL || GPIO0_B4 || style="background:green; color:white"| 5 || || style="background:black; color:white"| 6 || GND || || || || | | 12 || || || I2C1_SCL || GPIO0_B4 || style="background:green; color:white"| 5 || || style="background:black; color:white"| 6 || GND || || || || | ||
|- | |- | ||
− | | 68 || || PDM_CLK_M_M2 || I2S0_8CH_MCLK || GPIO2_A4 || style="background:green; color:white"| 7 || || style="background:green; color:white"| 8 || GPIO2_A1 || style="background:orange"|UART0_TX || SPI0_MOSI || || 65 | + | | 68 || || PDM_CLK_M_M2 || I2S0_8CH_MCLK || GPIO2_A4 || style="background:green; color:white"| 7 || || style="background:green; color:white"| 8 || GPIO2_A1 || style="background:orange"|UART0_TX || SPI0_MOSI || || 65 |
|- | |- | ||
− | | || || || || GND || style="background:black; color:white"| 9 || || style="background:green; color:white"|10 || GPIO2_A0 || style="background:orange"|UART0_RX || SPI0_MISO || || 64 | + | | || || || || GND || style="background:black; color:white"| 9 || || style="background:green; color:white"|10 || GPIO2_A0 || style="background:orange"|UART0_RX || SPI0_MISO || || 64 |
|- | |- | ||
| 15 || || I2C3_SDA_M0 || PWM2 || GPIO0_B7 || style="background:green; color:white"|11 || || style="background:green; color:white"|12 || GPIO2_A5 || I2S0_8CH_SCLK_TX || || || 69 | | 15 || || I2C3_SDA_M0 || PWM2 || GPIO0_B7 || style="background:green; color:white"|11 || || style="background:green; color:white"|12 || GPIO2_A5 || I2S0_8CH_SCLK_TX || || || 69 | ||
Line 193: | Line 206: | ||
| 55 || SPI2_MOSI || UART2_TX_M0 || UART1_RTSN || GPIO1_C7 || style="background:green; color:white"|19 || ||style="background:black; color:white"|20 || GND || || || || | | 55 || SPI2_MOSI || UART2_TX_M0 || UART1_RTSN || GPIO1_C7 || style="background:green; color:white"|19 || ||style="background:black; color:white"|20 || GND || || || || | ||
|- | |- | ||
− | | 54 || SPI2_MISO || UART2_RX_M0 || UART1_CTSN || GPIO1_C6 || style="background:green; color:white"|21 || || style="background:green; color:white"|22 || GPIO2_A7 || I2S0_8CH_LRCK_TX || || || | + | | 54 || SPI2_MISO || UART2_RX_M0 || UART1_CTSN || GPIO1_C6 || style="background:green; color:white"|21 || || style="background:green; color:white"|22 || GPIO2_A7 || I2S0_8CH_LRCK_TX || || || 71 |
|- | |- | ||
| 56 || SPI2_CLK || I2C0_SDA || UART1_RX || GPIO1_D0 || style="background:green; color:white"|23 || || style="background:green; color:white"|24 || GPIO1_D1 || UART1_TX || I2C0_SCL || SPI2_CSN0 || 57 | | 56 || SPI2_CLK || I2C0_SDA || UART1_RX || GPIO1_D0 || style="background:green; color:white"|23 || || style="background:green; color:white"|24 || GPIO1_D1 || UART1_TX || I2C0_SCL || SPI2_CSN0 || 57 | ||
Line 202: | Line 215: | ||
==== 26-pin Header 2 ==== | ==== 26-pin Header 2 ==== | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible wikitable" |
! GPIO number || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || GPIO number | ! GPIO number || Func3 || Func2 || Func1 || Pin# || || Pin# || Func1 || Func2 || Func3 || GPIO number | ||
|- | |- | ||
Line 221: | Line 234: | ||
| || || || MICN5 || style="background:black; color:white"|15 || || style="background:black; color:white"|16 || MCIP5 || || || | | || || || MICN5 || style="background:black; color:white"|15 || || style="background:black; color:white"|16 || MCIP5 || || || | ||
|- | |- | ||
− | | 76 || || | + | | 76 || || I2S0_8CH_SDO3 || GPIO2_B4 || style="background:black; color:white"|17 || || style="background:black; color:white"|18 || GPIO2_B3 || I2S0_8CH_SDO2 || || 75 |
|- | |- | ||
− | | 72 || || | + | | 72 || || I2S0_8CH_LRCK_RX || GPIO2_B0 || style="background:black; color:white"|19 || ||style="background:black; color:white"|20 || GPIO2_A6 || I2S0_8CH_SCLK_RX || PDM_CLK_S_M2 || 70 |
|- | |- | ||
| || || || MICN2 || style="background:black; color:white"|21 || || style="background:black; color:white"|22 || MCIP2 || || || | | || || || MICN2 || style="background:black; color:white"|21 || || style="background:black; color:white"|22 || MCIP2 || || || | ||
Line 238: | Line 251: | ||
==== More details about V12 Headers ==== | ==== More details about V12 Headers ==== | ||
− | * PWM | + | * Pins marked with color orange are designed for default debug console. |
+ | * PWM: x2, PWM2/PWM3 | ||
* SPI: x1, SPI2 | * SPI: x1, SPI2 | ||
* I2C: x3, I2C0/I2C1/I2C3 | * I2C: x3, I2C0/I2C1/I2C3 | ||
* UART: x3, UART0/UART1/UART2 | * UART: x3, UART0/UART1/UART2 | ||
− | * ADC: x1, ADC_IN0 | + | * ADC: x1, ADC_IN0. The max input voltage is 1.8V. |
== IO Voltage == | == IO Voltage == | ||
− | RK3308 have two IO voltages, '''1.8V/3.3V'''. For ROCK Pi S, the voltage level of GPIOs showed in the tables above are '''3.3V''' and tolerance of those are '''3.63V'''. | + | RK3308 have two IO voltages, '''1.8V/3.3V'''. For ROCK Pi S, the voltage level of GPIOs showed in the tables above are '''3.3V''' and tolerance of those are '''3.63V'''. For hardware V11 and V12, an ADC input is included (ADC_IN0). This ADC has an input voltage range of '''0-1.8V'''. |
== GPIO number == | == GPIO number == |
Revision as of 08:15, 26 March 2020
ROCK Pi S > Hardware > GPIO
General purpose input-output (GPIO) connector
ROCK Pi S has two 26-pin expansion header. Each pin is distinguished by color.
Hardware V10
26-pin Header 1
GPIO number | Func4 | Func3 | Func2 | Func1 | Pin# | Pin# | Func1 | Func2 | Func3 | Func4 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | |||||||||
12 | I2C1_SCL | GPIO0_B4 | 3 | 4 | +5.0V | |||||||
11 | I2C1_SDA | GPIO0_B3 | 5 | 6 | GND | |||||||
69 | I2S0_SCLK_TX | GPIO2_A5 | 7 | 8 | GPIO4_D3 | SDMMC_D3 | UART2_TX_M1 | PMU_ST3 | 155 | |||
64 | SPI0_MISO | UART0_RX | GPIO2_A0 | 9 | 10 | GPIO4_D2 | SDMMC_D2 | UART2_RX_M1 | PMU_ST2 | 154 | ||
65 | SPI0_MOSI | UART0_TX | GPIO2_A1 | 11 | 12 | GPIO0_C0 | PWM3 | I2C3_SCL_M0 | 16 | |||
66 | I2C2_SDA | SPI0_CLK | UART0_CTSN | GPIO2_A2 | 13 | 14 | GND | |||||
67 | I2C2_SCL | SPI0_CSN0 | UART0_RTSN | GPIO2_A3 | 15 | 16 | GPIO2_A7 | I2S0_8CH_LRCK_TX | 71 | |||
+3.3V | 17 | 18 | GPIO2_B1 | I2S0_8CH_SDO0 | 73 | |||||||
55 | SPI2_MOSI | UART2_TX_M0 | UART1_RTSN | GPIO1_C7 | 19 | 20 | GND | |||||
54 | SPI2_MISO | UART2_RX_M0 | UART1_CTSN | GPIO1_C6 | 21 | 22 | GPIO0_B6 | PWM1 | 14 | |||
56 | SPI2_CLK | I2C0_SDA | UART1_RX | GPIO1_D0 | 23 | 24 | GPIO1_D1 | UART1_TX | I2C0_SCL | SPI2_CSN0 | 57 | |
GND | 25 | 26 | GPIO0_B7 | PWM2 | I2C3_SDA_M0 | 15 |
Warning
- Pin#8 and Pin#10 cannot be used as GPIO, UART function pins since they are the data pins of SDMMC.
26-pin Header 2
GPIO number | Func3 | Func2 | Func1 | Pin# | Pin# | Func1 | Func2 | Func3 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|
GND | 1 | 2 | GPIO2_A6 | I2S0_8CH_SCLK_RX | PDM_CLK_S_M2 | 70 | ||||
ADC_KEY_IN1 | 3 | 4 | GPIO2_B5 | I2S0_8CH_SDI0 | PDM_SDI0_M2 | 77 | ||||
MICBIAS2 | 5 | 6 | GPIO2_B6 | I2S0_8CH_SDI1 | PDM_SDI1_M2 | 78 | ||||
MICBIAS1 | 7 | 8 | GPIO2_B7 | I2S0_8CH_SDI2 | PDM_SDI2_M2 | 79 | ||||
MICN8 | 9 | 10 | MCIP8 | |||||||
MICN7 | 11 | 12 | MCIP7 | |||||||
MICN6 | 13 | 14 | MCIP6 | |||||||
MICN5 | 15 | 16 | MCIP5 | |||||||
MICN4 | 17 | 18 | MCIP4 | |||||||
MICN3 | 19 | 20 | MCIP3 | |||||||
MICN2 | 21 | 22 | MCIP2 | |||||||
MICN1 | 23 | 24 | MCIP1 | |||||||
LINEOUT_R | 25 | 26 | LINEOUT_L |
More details about V10 Headers
- Pins marked with color orange are designed for default debug console.
- PWM: x3, PWM1/PWM2/PWM3
- SPI: x2, SPI0/SPI2
- I2C: x4, I2C0/I2C1/I2C2/I2C3
- UART: x3, UART0/UART1/UART2
Hardware V11
26-pin Header 1
GPIO number | Func4 | Func3 | Func2 | Func1 | Pin# | Pin# | Func1 | Func2 | Func3 | Func4 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | |||||||||
11 | I2C1_SDA | GPIO0_B3 | 3 | 4 | +5.0V | |||||||
12 | I2C1_SCL | GPIO0_B4 | 5 | 6 | GND | |||||||
69 | I2S0_SCLK_TX | GPIO2_A5 | 7 | 8 | GPIO2_A1 | UART0_TX | SPI0_MOSI | 65 | ||||
GND | 9 | 10 | GPIO2_A0 | UART0_RX | SPI0_MISO | 64 | ||||||
15 | I2C3_SDA_M0 | PWM2 | GPIO0_B7 | 11 | 12 | GPIO2_A2 | UART0_CTSN | SPI0_CLK | I2C2_SDA | 66 | ||
16 | I2C3_SCL_M0 | PWM3 | GPIO0_C0 | 13 | 14 | GND | ||||||
17 | SPDIF_TX | GPIO0_C1 | 15 | 16 | GPIO2_A3 | UART0_RTSN | SPI0_CSN0 | I2C2_SCL | 67 | |||
+3.3V | 17 | 18 | GPIO2_B1 | I2S0_8CH_SDO0 | 73 | |||||||
55 | SPI2_MOSI | UART2_TX_M0 | UART1_RTSN | GPIO1_C7 | 19 | 20 | GND | |||||
54 | SPI2_MISO | UART2_RX_M0 | UART1_CTSN | GPIO1_C6 | 21 | 22 | GPIO0_B6 | PWM1 | 14 | |||
56 | SPI2_CLK | I2C0_SDA | UART1_RX | GPIO1_D0 | 23 | 24 | GPIO1_D1 | UART1_TX | I2C0_SCL | SPI2_CSN0 | 57 | |
GND | 25 | 26 | ADC_IN0 |
26-pin Header 2
GPIO number | Func3 | Func2 | Func1 | Pin# | Pin# | Func1 | Func2 | Func3 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|
GND | 1 | 2 | GPIO2_A6 | I2S0_8CH_SCLK_RX | PDM_CLK_S_M2 | 70 | ||||
ADC_KEY_IN1 | 3 | 4 | GPIO2_B5 | I2S0_8CH_SDI0 | PDM_SDI0_M2 | 77 | ||||
MICBIAS2 | 5 | 6 | GPIO2_B6 | I2S0_8CH_SDI1 | PDM_SDI1_M2 | 78 | ||||
MICBIAS1 | 7 | 8 | GPIO2_B7 | I2S0_8CH_SDI2 | PDM_SDI2_M2 | 79 | ||||
MICN8 | 9 | 10 | MCIP8 | |||||||
MICN7 | 11 | 12 | MCIP7 | |||||||
MICN6 | 13 | 14 | MCIP6 | |||||||
MICN5 | 15 | 16 | MCIP5 | |||||||
MICN4 | 17 | 18 | MCIP4 | |||||||
MICN3 | 19 | 20 | MCIP3 | |||||||
MICN2 | 21 | 22 | MCIP2 | |||||||
MICN1 | 23 | 24 | MCIP1 | |||||||
LINEOUT_R | 25 | 26 | LINEOUT_L |
More details about V11 Headers
- Pins marked with color orange are designed for default debug console.
- PWM: x3, PWM1/PWM2/PWM3
- SPI: x2, SPI0/SPI2
- I2C: x4, I2C0/I2C1/I2C2/I2C3
- UART: x3, UART0/UART1/UART2
- ADC: x1, ADC_IN0. The max input voltage is 1.8V.
Hardware V12
26-pin Header 1
GPIO number | Func4 | Func3 | Func2 | Func1 | Pin# | Pin# | Func1 | Func2 | Func3 | Func4 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | |||||||||
11 | I2C1_SDA | GPIO0_B3 | 3 | 4 | +5.0V | |||||||
12 | I2C1_SCL | GPIO0_B4 | 5 | 6 | GND | |||||||
68 | PDM_CLK_M_M2 | I2S0_8CH_MCLK | GPIO2_A4 | 7 | 8 | GPIO2_A1 | UART0_TX | SPI0_MOSI | 65 | |||
GND | 9 | 10 | GPIO2_A0 | UART0_RX | SPI0_MISO | 64 | ||||||
15 | I2C3_SDA_M0 | PWM2 | GPIO0_B7 | 11 | 12 | GPIO2_A5 | I2S0_8CH_SCLK_TX | 69 | ||||
16 | I2C3_SCL_M0 | PWM3 | GPIO0_C0 | 13 | 14 | GND | ||||||
17 | SPDIF_TX | GPIO0_C1 | 15 | 16 | GPIO2_B2 | I2S0_8CH_SDO1 | 74 | |||||
+3.3V | 17 | 18 | GPIO2_B1 | I2S0_8CH_SDO0 | 73 | |||||||
55 | SPI2_MOSI | UART2_TX_M0 | UART1_RTSN | GPIO1_C7 | 19 | 20 | GND | |||||
54 | SPI2_MISO | UART2_RX_M0 | UART1_CTSN | GPIO1_C6 | 21 | 22 | GPIO2_A7 | I2S0_8CH_LRCK_TX | 71 | |||
56 | SPI2_CLK | I2C0_SDA | UART1_RX | GPIO1_D0 | 23 | 24 | GPIO1_D1 | UART1_TX | I2C0_SCL | SPI2_CSN0 | 57 | |
GND | 25 | 26 | ADC_IN0 |
26-pin Header 2
GPIO number | Func3 | Func2 | Func1 | Pin# | Pin# | Func1 | Func2 | Func3 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|
GND | 1 | 2 | GPIO2_B5 | I2S0_8CH_SDI0 | PDM_SDI0_M2 | 77 | ||||
ADC_KEY_IN1 | 3 | 4 | GPIO2_B6 | I2S0_8CH_SDI1 | PDM_SDI1_M2 | 78 | ||||
MICBIAS2 | 5 | 6 | GPIO2_B7 | I2S0_8CH_SDI2 | PDM_SDI2_M2 | 79 | ||||
MICBIAS1 | 7 | 8 | GPIO2_C0 | I2S0_8CH_SDI3 | PDM_SDI3_M2 | 80 | ||||
MICN8 | 9 | 10 | MCIP8 | |||||||
MICN7 | 11 | 12 | MCIP7 | |||||||
MICN6 | 13 | 14 | MCIP6 | |||||||
MICN5 | 15 | 16 | MCIP5 | |||||||
76 | I2S0_8CH_SDO3 | GPIO2_B4 | 17 | 18 | GPIO2_B3 | I2S0_8CH_SDO2 | 75 | |||
72 | I2S0_8CH_LRCK_RX | GPIO2_B0 | 19 | 20 | GPIO2_A6 | I2S0_8CH_SCLK_RX | PDM_CLK_S_M2 | 70 | ||
MICN2 | 21 | 22 | MCIP2 | |||||||
MICN1 | 23 | 24 | MCIP1 | |||||||
LINEOUT_R | 25 | 26 | LINEOUT_L |
More details about V12 Headers
- Pins marked with color orange are designed for default debug console.
- PWM: x2, PWM2/PWM3
- SPI: x1, SPI2
- I2C: x3, I2C0/I2C1/I2C3
- UART: x3, UART0/UART1/UART2
- ADC: x1, ADC_IN0. The max input voltage is 1.8V.
IO Voltage
RK3308 have two IO voltages, 1.8V/3.3V. For ROCK Pi S, the voltage level of GPIOs showed in the tables above are 3.3V and tolerance of those are 3.63V. For hardware V11 and V12, an ADC input is included (ADC_IN0). This ADC has an input voltage range of 0-1.8V.
GPIO number
Rockchip RK3308 GPIO has 5 banks, GPIO0 to GPIO4, each bank has 32pins, naming as below:
GPIO0_A0 ~ A7 GPIO0_B0 ~ B7 GPIO0_C0 ~ C7 GPIO0_D0 ~ D7 GPIO1_A0 ~ A7 .... GPIO1_D0 ~ D7
For Rockchip 4.4 kernel, the GPIO number can be calculated as below, take GPIO4_D3(PIN8 on 26PIN GPIO) as an example:
GPIO4_D3 = 32*4 + 8*3 + 3 = 155
To set GPIO4_D3 output
cd /sys/class/gpio echo 155 > export cd gpio155 echo out > direction echo 1 > value # output high echo 0 > value # output low