Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Difference between revisions of "Rockpi4/hardware/gpio"

(General purpose input-output (GPIO) connector)
(6 intermediate revisions by 3 users not shown)
Line 5: Line 5:
  
  
 +
=== <span id="gpio">General purpose input-output (GPIO) connector</span> ===
 +
 +
ROCK Pi 4 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 || GPIO4_A3 || I2S1_SCLK ||  || 131
 +
|-
 +
| 150 || || PWM1 || GPIO4_C6 || 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 ||  SPI1_TXD || GPIO1_B0 || style="background:green; color:white"|19 ||  ||style="background:black; color:white"|20 || || GND ||  ||
 +
|-
 +
|39 || UART4_RXD || SPI1_RXD || GPIO1_A7  || style="background:green; color:white"|21  ||  || style="background:green; color:white"|22  || GPIO4_D5  ||  || || 157
 +
|-
 +
|41 || ||  SPI1_CLK || GPIO1_B1 || style="background:green; color:white"|23 ||  || style="background:green; color:white"|24 || GPIO1_B2  || 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 || GPIO4_A4 || I2S1_LRCK_RX ||  || 132
 +
|-
 +
| 158 || ||  || GPIO4_D6 || style="background:green; color:white"|37  ||  || style="background:green; color:white"|38 || GPIO4_A6 || I2S1_SDI ||  || 134
 +
|-
 +
| || ||  GND ||  || style="background:black; color:white"|39  ||  ||style="background:green; color:white"|40  || GPIO4_A7 || I2S1_SDO ||  || 135
 +
|}
 +
 +
=== IO Voltage ===
 +
RK3399 have three IO voltages, 1.8V/3.0V/3.3V. For ROCK Pi 4, below is the default voltage:
 +
 +
<pre>
 +
| GPIO      | Voltage Level | Tolerance |
 +
| ---------- | ------------- | --------- |
 +
| GPIO3_C0  | 3.3V          | 3.465V    |
 +
| ADC_IN0    | 1.8V          | 1.98V    |
 +
| Other GPIO | 3.0V          | 3.14V    |
 +
 +
 +
</pre>
 +
 +
 +
=== GPIO number ===
 
Rockchip RK3399 GPIO has 5 banks, GPIO0 to GPIO4, each bank has 32pins, naming as below:
 
Rockchip RK3399 GPIO has 5 banks, GPIO0 to GPIO4, each bank has 32pins, naming as below:
  
Line 16: Line 78:
 
     GPIO1_D0 ~ D7
 
     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:
+
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 = 32*4 + 8*3 + 5 = 157
+
     GPIO4_D5 = 4*32 + 3*8 + 5 = 157
 +
    (A=0, B=1, C=2, D=3)
  
 
To set GPIO4_D5 output
 
To set GPIO4_D5 output
Line 28: Line 91:
 
     echo 1 > value    # output high
 
     echo 1 > value    # output high
 
     echo 0 > value    # output low
 
     echo 0 > value    # output low
 +
 +
=== GPIO Libraries/API ===
 +
====Install [[Rockpi4/dev/libmraa | Libmraa]] ====

Revision as of 02:05, 8 January 2020

    ROCK Pi 4 >  Hardware >  GPIO


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

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

GPIO Libraries/API

Install Libmraa