Difference between revisions of "Rockpi4/hardware/gpio"
Line 4: | Line 4: | ||
[[rockpi4 | ROCK Pi 4]] > [[rockpi4/hardware | Hardware]] > [[rockpi4/hardware/gpio | GPIO]] | [[rockpi4 | ROCK Pi 4]] > [[rockpi4/hardware | Hardware]] > [[rockpi4/hardware/gpio | GPIO]] | ||
− | + | <div class="col-md-12 "> | |
− | === <span id="gpio"> | + | <div class="panel panel-midnight-white"> |
+ | <div class="panel-heading"><h3>Hardware Rock Pi 4 A/B/C</h3></div> | ||
+ | <div class="panel-body"> | ||
+ | === <span id="gpio">'''Rock Pi 4''' general purpose input-output (GPIO) connector</span> === | ||
ROCK Pi 4 has a 40-pin expansion header. Each pin is distinguished by color. | ROCK Pi 4 has a 40-pin expansion header. Each pin is distinguished by color. | ||
Line 65: | Line 68: | ||
** We have do the test using the i2c device e2prom. We need to open the i2c device file, and then do the read or write operation. | ** We have do the test using the i2c device e2prom. We need to open the i2c device file, and then do the read or write operation. | ||
+ | <div class="col-md-12 "> | ||
+ | <div class="panel panel-midnight-white"> | ||
+ | <div class="panel-heading"><h3>Hardware Rock Pi C+</h3></div> | ||
+ | <div class="panel-body"> | ||
+ | === <span id="gpio">'''Rock Pi 4c+''' general purpose input-output (GPIO) connector</span> === | ||
+ | |||
+ | ROCK Pi 4c+ has a 40-pin expansion header. Each pin is distinguished by color. | ||
+ | {| class="wikitable" | ||
+ | ! GPIO number || Function2 || Function1 || GPIO || Pin# || || Pin# || GPIO || Function1 || Function2 || GPIO number | ||
+ | |- | ||
+ | | || || +3.3V || || style="background:yellow"| 1 || ||style="background:red"| 2 || || +5.0V || || | ||
+ | |- | ||
+ | | 71 || || I2C7_SDA || GPIO2_A7 || style="background:green; color:white"| 3 || || style="background:red"| 4 || || +5.0V || || | ||
+ | |- | ||
+ | | 72 || || I2C7_SCL || GPIO2_B0 || style="background:green; color:white"| 5 || || style="background:black; color:white"| 6 || || GND || || | ||
+ | |- | ||
+ | | 75 || || SPI2_CLK || GPIO2_B3 || style="background:green; color:white"| 7 || || style="background:green; color:white"| 8 || GPIO4_C4 || style="background:orange"|UART2_TXD || || 148 | ||
+ | |- | ||
+ | | || || GND || || style="background:black; color:white"| 9 || || style="background:green; color:white"|10 || GPIO4_C3 || style="background:orange"|UART2_RXD || || 147 | ||
+ | |- | ||
+ | |146 || || PWM0 || GPIO4_C2 || style="background:green; color:white"|11 || || style="background:green; color:white"|12 || GPIO2-D3 || || || 91 | ||
+ | |- | ||
+ | | 33 || || PWM1 || GPIO1_A1 || style="background:green; color:white"|13 || || style="background:black; color:white"|14 || || GND || || | ||
+ | |- | ||
+ | | 149 || || SPDIF_TX || GPIO4_C5 || style="background:green; color:white"|15 || || style="background:green; color:white"|16 || GPIO4_D2 || || || 154 | ||
+ | |- | ||
+ | | || || +3.3V || || style="background:yellow"|17 || || style="background:green; color:white"|18 || GPIO4_D4 || || || 156 | ||
+ | |- | ||
+ | |40 || UART4_TXD || style="background:orange"|SPI1_TXD || GPIO1_B0 || style="background:green; color:white"|19 || ||style="background:black; color:white"|20 || || GND || || | ||
+ | |- | ||
+ | |39 || UART4_RXD || style="background:orange"|SPI1_RXD || GPIO1_A7 || style="background:green; color:white"|21 || || style="background:green; color:white"|22 || GPIO4_D5 || || || 157 | ||
+ | |- | ||
+ | |41 || || style="background:orange"|SPI1_CLK || GPIO1_B1 || style="background:green; color:white"|23 || || style="background:green; color:white"|24 || GPIO1_B2 || style="background:orange"|SPI1_CSn || || 42 | ||
+ | |- | ||
+ | | || || GND || || style="background:black; color:white"|25 || || style="background:green; color:white"|26 || || ADC_IN0 || || | ||
+ | |- | ||
+ | | 64 || || I2C2_SDA || GPIO2_A0 || style="background:blue; color:white"|27 || || style="background:blue; color:white"|28 || GPIO2_A1 || I2C2_CLK || || 65 | ||
+ | |- | ||
+ | | 74 || I2C6_SCL || SPI2_TXD || GPIO2_B2 || style="background:green; color:white"|29 || || style="background:black; color:white"|30 || || GND || || | ||
+ | |- | ||
+ | | 73 || I2C6_SDA || SPI2_RXD || GPIO2_B1 || style="background:green; color:white"|31 || || style="background:green; color:white"|32 || GPIO3_C0 || SPDIF_TX || UART3_CTSn || 112 | ||
+ | |- | ||
+ | | 76 || || SPI2_CSn || GPIO2_B4 || style="background:green; color:white"|33 || || style="background:black; color:white"|34 || || GND || || | ||
+ | |- | ||
+ | | 133 || || I2S1_LRCK_TX || GPIO4_A5 || style="background:green; color:white"|35 || || style="background:green; color:white"|36 || GPIO2-D4 || || || 92 | ||
+ | |- | ||
+ | | 158 || || || GPIO4_D6 || style="background:green; color:white"|37 || || style="background:green; color:white"|38 || GPIO1_A4 || || || 36 | ||
+ | |- | ||
+ | | || || GND || || style="background:black; color:white"|39 || ||style="background:green; color:white"|40 || GPIO1_C4 || || || 52 | ||
+ | |} | ||
Revision as of 03:22, 22 December 2021
ROCK Pi 4 > Hardware > GPIO
Contents
Hardware Rock Pi 4 A/B/C
Rock Pi 4 general purpose input-output (GPIO) connector
ROCK Pi 4 has a 40-pin expansion header. Each pin is distinguished by color.
GPIO number | Function2 | Function1 | GPIO | Pin# | Pin# | GPIO | Function1 | Function2 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | |||||||
71 | I2C7_SDA | GPIO2_A7 | 3 | 4 | +5.0V | |||||
72 | I2C7_SCL | GPIO2_B0 | 5 | 6 | GND | |||||
75 | SPI2_CLK | GPIO2_B3 | 7 | 8 | GPIO4_C4 | UART2_TXD | 148 | |||
GND | 9 | 10 | GPIO4_C3 | UART2_RXD | 147 | |||||
146 | PWM0 | GPIO4_C2 | 11 | 12 | GPIO4_A3 | I2S1_SCLK | 131 | |||
150 | PWM1 | GPIO4_C6 | 13 | 14 | GND | |||||
149 | SPDIF_TX | GPIO4_C5 | 15 | 16 | GPIO4_D2 | 154 | ||||
+3.3V | 17 | 18 | GPIO4_D4 | 156 | ||||||
40 | UART4_TXD | SPI1_TXD | GPIO1_B0 | 19 | 20 | GND | ||||
39 | UART4_RXD | SPI1_RXD | GPIO1_A7 | 21 | 22 | GPIO4_D5 | 157 | |||
41 | SPI1_CLK | GPIO1_B1 | 23 | 24 | GPIO1_B2 | SPI1_CSn | 42 | |||
GND | 25 | 26 | ADC_IN0 | |||||||
64 | I2C2_SDA | GPIO2_A0 | 27 | 28 | GPIO2_A1 | I2C2_CLK | 65 | |||
74 | I2C6_SCL | SPI2_TXD | GPIO2_B2 | 29 | 30 | GND | ||||
73 | I2C6_SDA | SPI2_RXD | GPIO2_B1 | 31 | 32 | GPIO3_C0 | SPDIF_TX | UART3_CTSn | 112 | |
76 | SPI2_CSn | GPIO2_B4 | 33 | 34 | GND | |||||
133 | I2S1_LRCK_TX | GPIO4_A5 | 35 | 36 | GPIO4_A4 | I2S1_LRCK_RX | 132 | |||
158 | GPIO4_D6 | 37 | 38 | GPIO4_A6 | I2S1_SDI | 134 | ||||
GND | 39 | 40 | GPIO4_A7 | I2S1_SDO | 135 |
More details about 40-pin Header
- Function marked with color orange is the default function of this pin.
- Except Pins for power supply, all pins are laid out directly to Soc RK3399.
- For pin 3, 5, 27, 28, 29 and 31, each pin is connected to the 3.0V supply through a 4.7K pull-up resistor.
- Pin 19, 21, 23, 24 are laid out directly to the pins of SPI device on board.
- Pin 7 is laid out directly to the pin of MIPI CSI on board.
- UART
- UART2 is enabled as U-boot and Linux serial console by default. Check Rockpi4/dev/serial-console to use. Check Rockpi4/hardware/devtree_overlays to disable serial console on UART2.
- UART2 & UART4 support a wide range of baud rate. It includes but not is not limited to the following baud rates. For instance, 115200bps. 500000bps, 1500000bps and so on.
- For v1.4 and later hardware, on board SPI flash is soldered, UART4 PINs are used as SPI function.
- For I2C-2 and I2C-7
- We have do the test using the i2c device e2prom. We need to open the i2c device file, and then do the read or write operation.
Hardware Rock Pi C+
Rock Pi 4c+ general purpose input-output (GPIO) connector
ROCK Pi 4c+ has a 40-pin expansion header. Each pin is distinguished by color.
GPIO number | Function2 | Function1 | GPIO | Pin# | Pin# | GPIO | Function1 | Function2 | GPIO number | |
---|---|---|---|---|---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | |||||||
71 | I2C7_SDA | GPIO2_A7 | 3 | 4 | +5.0V | |||||
72 | I2C7_SCL | GPIO2_B0 | 5 | 6 | GND | |||||
75 | SPI2_CLK | GPIO2_B3 | 7 | 8 | GPIO4_C4 | UART2_TXD | 148 | |||
GND | 9 | 10 | GPIO4_C3 | UART2_RXD | 147 | |||||
146 | PWM0 | GPIO4_C2 | 11 | 12 | GPIO2-D3 | 91 | ||||
33 | PWM1 | GPIO1_A1 | 13 | 14 | GND | |||||
149 | SPDIF_TX | GPIO4_C5 | 15 | 16 | GPIO4_D2 | 154 | ||||
+3.3V | 17 | 18 | GPIO4_D4 | 156 | ||||||
40 | UART4_TXD | SPI1_TXD | GPIO1_B0 | 19 | 20 | GND | ||||
39 | UART4_RXD | SPI1_RXD | GPIO1_A7 | 21 | 22 | GPIO4_D5 | 157 | |||
41 | SPI1_CLK | GPIO1_B1 | 23 | 24 | GPIO1_B2 | SPI1_CSn | 42 | |||
GND | 25 | 26 | ADC_IN0 | |||||||
64 | I2C2_SDA | GPIO2_A0 | 27 | 28 | GPIO2_A1 | I2C2_CLK | 65 | |||
74 | I2C6_SCL | SPI2_TXD | GPIO2_B2 | 29 | 30 | GND | ||||
73 | I2C6_SDA | SPI2_RXD | GPIO2_B1 | 31 | 32 | GPIO3_C0 | SPDIF_TX | UART3_CTSn | 112 | |
76 | SPI2_CSn | GPIO2_B4 | 33 | 34 | GND | |||||
133 | I2S1_LRCK_TX | GPIO4_A5 | 35 | 36 | GPIO2-D4 | 92 | ||||
158 | GPIO4_D6 | 37 | 38 | GPIO1_A4 | 36 | |||||
GND | 39 | 40 | GPIO1_C4 | 52 |
IO Voltage
RK3399 have three IO voltages, 1.8V/3.0V/3.3V. For ROCK Pi 4, below is the default voltage:
| GPIO | Voltage Level | Tolerance | | ---------- | ------------- | --------- | | GPIO3_C0 | 3.3V | 3.465V | | ADC_IN0 | 1.8V | 1.98V | | Other GPIO | 3.0V | 3.14V |
GPIO number
Rockchip RK3399 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_D5 (PIN22 on 40PIN GPIO) as an example:
GPIO4_D5 = 4*32 + 3*8 + 5 = 157 (A=0, B=1, C=2, D=3)
To set GPIO4_D5 output
cd /sys/class/gpio echo 157 > export cd gpio157 echo out > direction echo 1 > value # output high echo 0 > value # output low