Difference between revisions of "Zero/hardware/gpio"
RadxaYuntian (Talk | contribs) (→GPIO number) |
|||
(11 intermediate revisions by 4 users not shown) | |||
Line 5: | Line 5: | ||
[[Zero | Radxa Zero]] > [[zero/hardware | Hardware]] > [[zero/hardware/gpio | GPIO]] | [[Zero | Radxa Zero]] > [[zero/hardware | Hardware]] > [[zero/hardware/gpio | GPIO]] | ||
+ | == <span id="gpio">General purpose input-output (GPIO) connector</span> == | ||
+ | |||
+ | Radxa Zero has a 40-pin expansion header. Each pin is distinguished by color. | ||
{| class="wikitable" style="vertical-align:middle; background-color:#F9F9F9;" | {| class="wikitable" style="vertical-align:middle; background-color:#F9F9F9;" | ||
Line 36: | Line 39: | ||
| | | | ||
|- | |- | ||
+ | | 490 | ||
| | | | ||
| | | | ||
− | | | + | | I2C_EE_M3_SDA |
− | + | ||
| GPIOA_14 | | GPIOA_14 | ||
| style="background-color:#008000; color:#FFF;" | 3 | | style="background-color:#008000; color:#FFF;" | 3 | ||
Line 50: | Line 53: | ||
| | | | ||
|- | |- | ||
+ | | 491 | ||
| | | | ||
| | | | ||
− | | | + | | I2C_EE_M3_SCL |
− | + | ||
| GPIOA_15 | | GPIOA_15 | ||
| style="background-color:#008000; color:#FFF;" | 5 | | style="background-color:#008000; color:#FFF;" | 5 | ||
| | | | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 6 |
| GND | | GND | ||
| | | | ||
Line 64: | Line 67: | ||
| | | | ||
|- | |- | ||
− | | | + | | 415 |
− | | | + | | I2C_AO_S0_SDA |
− | | | + | | UART_AO_B_RX |
− | | | + | | I2C_AO_M0_SDA |
| GPIOAO_3 | | GPIOAO_3 | ||
| style="background-color:#008000; color:#FFF;" | 7 | | style="background-color:#008000; color:#FFF;" | 7 | ||
Line 73: | Line 76: | ||
| style="background-color:#008000; color:#FFF;" | 8 | | style="background-color:#008000; color:#FFF;" | 8 | ||
| GPIOAO_0 | | GPIOAO_0 | ||
− | | style="background-color:#FFA500;" | | + | | style="background-color:#FFA500;" | UART_AO_A_TXD |
− | + | ||
| | | | ||
| | | | ||
+ | | 412 | ||
|- | |- | ||
| | | | ||
Line 83: | Line 86: | ||
| | | | ||
| GND | | GND | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 9 |
| | | | ||
| style="background-color:#008000; color:#FFF;" | 10 | | style="background-color:#008000; color:#FFF;" | 10 | ||
| GPIOAO_1 | | GPIOAO_1 | ||
− | | style="background-color:#FFA500;" | | + | | style="background-color:#FFA500;" | UART_AO_A_RXD |
− | + | ||
| | | | ||
| | | | ||
+ | | 413 | ||
|- | |- | ||
− | | | + | | 414 |
− | | | + | | I2C_AO_S0_SCL |
− | | | + | | UART_AO_B_TX |
− | | | + | | I2C_AO_M0_SCL |
| GPIOAO_2 | | GPIOAO_2 | ||
| style="background-color:#008000; color:#FFF;" | 11 | | style="background-color:#008000; color:#FFF;" | 11 | ||
Line 101: | Line 104: | ||
| style="background-color:#008000; color:#FFF;" | 12 | | style="background-color:#008000; color:#FFF;" | 12 | ||
| GPIOX_9 | | GPIOX_9 | ||
− | | | + | | SPI_A_MISO |
− | + | ||
| | | | ||
| | | | ||
+ | | 501 | ||
|- | |- | ||
+ | | 503 | ||
| | | | ||
− | | | + | | I2C_EE_M1_SCL |
− | | | + | | SPI_A_SCLK |
− | | | + | | GPIOX_11 |
− | + | ||
| style="background-color:#008000; color:#FFF;" | 13 | | style="background-color:#008000; color:#FFF;" | 13 | ||
| | | | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 14 |
| GND | | GND | ||
| | | | ||
Line 124: | Line 127: | ||
| | | | ||
| | | | ||
− | | | + | | SARADC_CH1 |
| style="background-color:#008000; color:#FFF;" | 15 | | style="background-color:#008000; color:#FFF;" | 15 | ||
| | | | ||
| style="background-color:#008000; color:#FFF;" | 16 | | style="background-color:#008000; color:#FFF;" | 16 | ||
| GPIOX_10 | | GPIOX_10 | ||
− | | | + | | SPI_A_SS0 |
− | + | | I2C_EE_M1_SDA | |
− | | | + | |
| | | | ||
+ | | 502 | ||
|- | |- | ||
| | | | ||
Line 143: | Line 146: | ||
| style="background-color:#008000; color:#FFF;" | 18 | | style="background-color:#008000; color:#FFF;" | 18 | ||
| GPIOX_8 | | GPIOX_8 | ||
− | | | + | | SPI_A_MOSI |
− | + | | PWM_C | |
− | | | + | |
| | | | ||
+ | | 500 | ||
|- | |- | ||
+ | | 447 | ||
| | | | ||
− | | | + | | SPI_B_MOSI |
− | | | + | | UART_EE_C_RTS |
− | + | ||
| GPIOH_4 | | GPIOH_4 | ||
| style="background-color:#008000; color:#FFF;" | 19 | | style="background-color:#008000; color:#FFF;" | 19 | ||
| | | | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 20 |
| GND | | GND | ||
| | | | ||
Line 162: | Line 165: | ||
| | | | ||
|- | |- | ||
− | | | + | | 448 |
− | | | + | | PWM_F |
− | | | + | | SPI_B_MISO |
− | | | + | | UART_EE_C_CTS |
| GPIOH_5 | | GPIOH_5 | ||
| style="background-color:#008000; color:#FFF;" | 21 | | style="background-color:#008000; color:#FFF;" | 21 | ||
Line 174: | Line 177: | ||
| | | | ||
| | | | ||
− | | | + | | 475 |
|- | |- | ||
− | | | + | | 450 |
− | | | + | | I2C_EE_M1_SCL |
− | | | + | | SPI_B_SCLK |
− | | | + | | UART_EE_C_TX |
| GPIOH_7 | | GPIOH_7 | ||
| style="background-color:#008000; color:#FFF;" | 23 | | style="background-color:#008000; color:#FFF;" | 23 | ||
Line 185: | Line 188: | ||
| style="background-color:#008000; color:#FFF;" | 24 | | style="background-color:#008000; color:#FFF;" | 24 | ||
| GPIOH_6 | | GPIOH_6 | ||
− | | | + | | UART_EE_C_RX |
− | | | + | | SPI_B_SS0 |
− | | | + | | I2C_EE_M1_SDA |
− | | | + | | 449 |
|- | |- | ||
| | | | ||
Line 195: | Line 198: | ||
| | | | ||
| GND | | GND | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 25 |
| | | | ||
| style="background-color:#008000; color:#FFF;" | 26 | | style="background-color:#008000; color:#FFF;" | 26 | ||
− | | | + | | SARADC_CH2 |
| | | | ||
| | | | ||
Line 204: | Line 207: | ||
| | | | ||
|- | |- | ||
− | | | + | | 415 |
− | | | + | | I2C_AO_S0_SDA |
− | | | + | | UART_AO_B_RX |
− | | | + | | I2C_AO_M0_SDA |
| GPIOAO_3 | | GPIOAO_3 | ||
| style="background-color:#00F; color:#FFF;" | 27 | | style="background-color:#00F; color:#FFF;" | 27 | ||
Line 213: | Line 216: | ||
| style="background-color:#00F; color:#FFF;" | 28 | | style="background-color:#00F; color:#FFF;" | 28 | ||
| GPIOAO_2 | | GPIOAO_2 | ||
− | | | + | | I2C_AO_M0_SCL |
− | | | + | | UART_AO_B_TX |
− | | | + | | I2C_AO_S0_SCL |
− | | | + | | 414 |
|- | |- | ||
| | | | ||
Line 225: | Line 228: | ||
| style="background-color:#008000; color:#FFF;" | 29 | | style="background-color:#008000; color:#FFF;" | 29 | ||
| | | | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 30 |
| GND | | GND | ||
| | | | ||
Line 244: | Line 247: | ||
| | | | ||
| | | | ||
− | | | + | | 416 |
|- | |- | ||
| | | | ||
Line 253: | Line 256: | ||
| style="background-color:#008000; color:#FFF;" | 33 | | style="background-color:#008000; color:#FFF;" | 33 | ||
| | | | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 34 |
| GND | | GND | ||
| | | | ||
Line 260: | Line 263: | ||
| | | | ||
|- | |- | ||
+ | | 420 | ||
| | | | ||
| | | | ||
− | | | + | | UART_AO_B_TX |
− | + | ||
| GPIOAO_8 | | GPIOAO_8 | ||
| style="background-color:#008000; color:#FFF;" | 35 | | style="background-color:#008000; color:#FFF;" | 35 | ||
Line 272: | Line 275: | ||
| | | | ||
| | | | ||
− | | | + | | 451 |
|- | |- | ||
+ | | 421 | ||
| | | | ||
| | | | ||
− | | | + | | UART_AO_B_RX |
− | + | ||
| GPIOAO_9 | | GPIOAO_9 | ||
| style="background-color:#008000; color:#FFF;" | 37 | | style="background-color:#008000; color:#FFF;" | 37 | ||
Line 283: | Line 286: | ||
| style="background-color:#008000; color:#FFF;" | 38 | | style="background-color:#008000; color:#FFF;" | 38 | ||
| GPIOAO_10 | | GPIOAO_10 | ||
− | | | + | | PWMAO_D |
− | + | ||
| | | | ||
| | | | ||
+ | | 422 | ||
|- | |- | ||
| | | | ||
Line 293: | Line 296: | ||
| | | | ||
| GND | | GND | ||
− | | style="color:# | + | | style="background-color:#000; color:#FFF" | 39 |
| | | | ||
| style="background-color:#008000; color:#FFF;" | 40 | | style="background-color:#008000; color:#FFF;" | 40 | ||
Line 300: | Line 303: | ||
| | | | ||
| | | | ||
− | | | + | | 423 |
|} | |} | ||
− | == GPIO number == | + | === More details about 40-pin Header === |
− | * | + | * Pins marked with orange color are designed for debug console. |
+ | * I2C: x3; I2C_EE_M1 (/dev/i2c-1), I2C_EE_M3 (/dev/i2c-3), I2C_AO_M0 (/dev/i2c-4) | ||
+ | * PWM: x3; PWMAO_A, PWM_C | ||
+ | * SPI: x2; SPI_A (/dev/spi0.0), SPI_B(/dev/spi1.0) | ||
+ | * UART: x3; UART_AO_A (/dev/ttyAML0), UART_AO_B (/dev/ttyAML1), UART_EE_C (/dev/ttyAML4) | ||
+ | * Pin#22 (GPIOC_7) and Pin#36 (GPIOH_8) are not available in the user space. | ||
+ | |||
+ | === GPIO number === | ||
+ | * GPIOs are grouped in two banks, GPIO AO domain and GPIO EE domain | ||
** AO domain: GPIOAO_0 - GPIOAO_11 | ** AO domain: GPIOAO_0 - GPIOAO_11 | ||
** EE domain: GPIOA_14 - GPIOA_15 | GPIOH_0 - GPIOH_8 | GPIOX_0 - GPIOX_19 | ** EE domain: GPIOA_14 - GPIOA_15 | GPIOH_0 - GPIOH_8 | GPIOX_0 - GPIOX_19 | ||
Line 310: | Line 321: | ||
** AO domain: UARTAO_A | UARTAO_B | ** AO domain: UARTAO_A | UARTAO_B | ||
** EE domain: UART_A | UART_B | UART_C | ** EE domain: UART_A | UART_B | UART_C | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! GPIO Chip<br /> | ||
+ | ! GPIO Name<br /> | ||
+ | ! Base | ||
+ | ! Offset | ||
+ | ! Formula | ||
+ | |- | ||
+ | | First | ||
+ | | GPIOAO_x | ||
+ | | 412 | ||
+ | | 0-11 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | First | ||
+ | | GPIOE_x | ||
+ | | 424 | ||
+ | | 0-2 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | Second | ||
+ | | GPIOZ_x | ||
+ | | 427 | ||
+ | | 0-15 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | Second | ||
+ | | GPIOH_x | ||
+ | | 443 | ||
+ | | 0-8 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | Second | ||
+ | | BOOT_x | ||
+ | | 452 | ||
+ | | 0-15 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | Second | ||
+ | | GPIOC_x | ||
+ | | 468 | ||
+ | | 0-7 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | Second | ||
+ | | GPIOA_x | ||
+ | | 476 | ||
+ | | 0-15 | ||
+ | | Base + Offset | ||
+ | |- | ||
+ | | Second | ||
+ | | GPIOX_x | ||
+ | | 492 | ||
+ | | 0-19 | ||
+ | | Base + Offset | ||
+ | |} | ||
+ | |||
+ | Take GPIOX_10 as an example. | ||
+ | |||
+ | The base is 492 and the offset is 10. So the GPIOX_10's GPIO number is 492+10=502. |
Revision as of 09:27, 1 December 2021
Radxa Zero > Hardware > GPIO
General purpose input-output (GPIO) connector
Radxa Zero has a 40-pin expansion header. Each pin is distinguished by color.
GPIO number | Function4 | Function3 | Function2 | Function1 | Pin# | Pin# | Function1 | Function2 | Function3 | Function4 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | |||||||||
490 | I2C_EE_M3_SDA | GPIOA_14 | 3 | 4 | +5.0V | |||||||
491 | I2C_EE_M3_SCL | GPIOA_15 | 5 | 6 | GND | |||||||
415 | I2C_AO_S0_SDA | UART_AO_B_RX | I2C_AO_M0_SDA | GPIOAO_3 | 7 | 8 | GPIOAO_0 | UART_AO_A_TXD | 412 | |||
GND | 9 | 10 | GPIOAO_1 | UART_AO_A_RXD | 413 | |||||||
414 | I2C_AO_S0_SCL | UART_AO_B_TX | I2C_AO_M0_SCL | GPIOAO_2 | 11 | 12 | GPIOX_9 | SPI_A_MISO | 501 | |||
503 | I2C_EE_M1_SCL | SPI_A_SCLK | GPIOX_11 | 13 | 14 | GND | ||||||
SARADC_CH1 | 15 | 16 | GPIOX_10 | SPI_A_SS0 | I2C_EE_M1_SDA | 502 | ||||||
+3.3V | 17 | 18 | GPIOX_8 | SPI_A_MOSI | PWM_C | 500 | ||||||
447 | SPI_B_MOSI | UART_EE_C_RTS | GPIOH_4 | 19 | 20 | GND | ||||||
448 | PWM_F | SPI_B_MISO | UART_EE_C_CTS | GPIOH_5 | 21 | 22 | GPIOC_7 | - | 475 | |||
450 | I2C_EE_M1_SCL | SPI_B_SCLK | UART_EE_C_TX | GPIOH_7 | 23 | 24 | GPIOH_6 | UART_EE_C_RX | SPI_B_SS0 | I2C_EE_M1_SDA | 449 | |
GND | 25 | 26 | SARADC_CH2 | |||||||||
415 | I2C_AO_S0_SDA | UART_AO_B_RX | I2C_AO_M0_SDA | GPIOAO_3 | 27 | 28 | GPIOAO_2 | I2C_AO_M0_SCL | UART_AO_B_TX | I2C_AO_S0_SCL | 414 | |
NC | 29 | 30 | GND | |||||||||
NC | 31 | 32 | GPIOAO_4 | PWMAO_C | 416 | |||||||
NC | 33 | 34 | GND | |||||||||
420 | UART_AO_B_TX | GPIOAO_8 | 35 | 36 | GPIOH_8 | - | 451 | |||||
421 | UART_AO_B_RX | GPIOAO_9 | 37 | 38 | GPIOAO_10 | PWMAO_D | 422 | |||||
GND | 39 | 40 | GPIOAO_11 | PWMAO_A | 423 |
More details about 40-pin Header
- Pins marked with orange color are designed for debug console.
- I2C: x3; I2C_EE_M1 (/dev/i2c-1), I2C_EE_M3 (/dev/i2c-3), I2C_AO_M0 (/dev/i2c-4)
- PWM: x3; PWMAO_A, PWM_C
- SPI: x2; SPI_A (/dev/spi0.0), SPI_B(/dev/spi1.0)
- UART: x3; UART_AO_A (/dev/ttyAML0), UART_AO_B (/dev/ttyAML1), UART_EE_C (/dev/ttyAML4)
- Pin#22 (GPIOC_7) and Pin#36 (GPIOH_8) are not available in the user space.
GPIO number
- GPIOs are grouped in two banks, GPIO AO domain and GPIO EE domain
- AO domain: GPIOAO_0 - GPIOAO_11
- EE domain: GPIOA_14 - GPIOA_15 | GPIOH_0 - GPIOH_8 | GPIOX_0 - GPIOX_19
- UARTs
- AO domain: UARTAO_A | UARTAO_B
- EE domain: UART_A | UART_B | UART_C
GPIO Chip |
GPIO Name |
Base | Offset | Formula |
---|---|---|---|---|
First | GPIOAO_x | 412 | 0-11 | Base + Offset |
First | GPIOE_x | 424 | 0-2 | Base + Offset |
Second | GPIOZ_x | 427 | 0-15 | Base + Offset |
Second | GPIOH_x | 443 | 0-8 | Base + Offset |
Second | BOOT_x | 452 | 0-15 | Base + Offset |
Second | GPIOC_x | 468 | 0-7 | Base + Offset |
Second | GPIOA_x | 476 | 0-15 | Base + Offset |
Second | GPIOX_x | 492 | 0-19 | Base + Offset |
Take GPIOX_10 as an example.
The base is 492 and the offset is 10. So the GPIOX_10's GPIO number is 492+10=502.