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"

(GPIO number: try to simplify calculation)
(2 intermediate revisions by one other user not shown)
Line 5: Line 5:
  
  
== <span id="gpio">General purpose input-output (GPIO) connector</span> ==
+
=== <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.
 
ROCK Pi 4 has a 40-pin expansion header. Each pin is distinguished by color.
Line 53: Line 53:
 
|}
 
|}
  
 +
=== 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    |
  
Full 40PIN GPIO pinout and numbers can be found at: https://wiki.radxa.com/Rockpi4/hardware/rockpi4#gpio
 
  
 +
</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 68: Line 79:
 
     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 80: Line 92:
 
     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 13:43, 1 December 2019

    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 DEBUG_TXD 148
GND 9 10 GPIO4_C3 DEBUG_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
15 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