Difference between revisions of "RockpiS/hardware/gpio"
(→More details about V12 Headers) |
m (I added a note in the IO Voltage section about ADC input voltage) |
||
Line 259: | Line 259: | ||
== 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