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

Difference between revisions of "Rock3/hardware/rock3a-gpio"

< Rock3‎ | hardwareRedirect page
(Redirected page to Rock3/hardware/3a/gpio)
 
Line 1: Line 1:
−
{{rock3_header}}
+
#REDIRECT [[rock3/hardware/3a/gpio | ROCK 3A GPIO]]
−
{{Languages|rock3/hardware/gpio}}
+
−
 
+
−
    [[rock3 | ROCK 3]] > [[rock3/hardware | Hardware]] > [[rock3/hardware/rock3a-gpio | ROCK 3A GPIO]]
+
−
 
+
−
== <span id="gpio">General purpose input-output (GPIO) connector</span> ==
+
−
 
+
−
ROCK 3A has one 40-pin expansion header. Each pin is distinguished by color.
+
−
 
+
−
<div class="col-md-12 ">
+
−
    <div class="panel panel-midnight-white">
+
−
        <div class="panel-heading"><h3>Hardware V1.2</h3></div>
+
−
        <div class="panel-body">
+
−
 
+
−
{| class="wikitable" style="vertical-align:middle;"
+
−
|- style="font-weight:bold; text-align:center;"
+
−
! GPIO number
+
−
! Function4
+
−
! Function3
+
−
! Function2
+
−
! Function1
+
−
! Pin#
+
−
!
+
−
! Pin#
+
−
! Function1
+
−
! Function2
+
−
! Function3
+
−
! Function4
+
−
! GPIO number
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| +3.3V
+
−
| style="background-color:#FF0;" | 1
+
−
|
+
−
| style="background-color:#F00;" | 2
+
−
| +5.0V
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 32
+
−
| CAN1_RX_M0
+
−
| UART3_RX_M0
+
−
| I2C3_SDA_M0
+
−
| GPIO1_A0
+
−
| style="background-color:#008000; color:#FFF;" | 3
+
−
|
+
−
| style="background-color:#F00;" | 4
+
−
| +5.0V
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 33
+
−
| CAN1_TX_M0
+
−
| UART3_TX_M0
+
−
| I2C3_SCL_M0
+
−
| GPIO1_A1
+
−
| style="background-color:#008000; color:#FFF;" | 5
+
−
|
+
−
| style="background-color:#000; color:#FFF" | 6
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 111
+
−
|
+
−
| UART3_TX_M1
+
−
| PWM12_M0
+
−
| GPIO3_B7
+
−
| style="background-color:#008000; color:#FFF;" | 7
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 8
+
−
| GPIO0_D1
+
−
| style="background-color:#FFA500;" | UART2_TXD
+
−
|
+
−
|
+
−
| 25
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| GND
+
−
| style="background-color:#000; color:#FFF" | 9
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 10
+
−
| GPIO0_D0
+
−
| style="background-color:#FFA500;" | UART2_RXD
+
−
|
+
−
|
+
−
| 24
+
−
|-
+
−
| 116
+
−
|
+
−
| UART7_TX_M1
+
−
| PWM14_M0
+
−
| GPIO3_C4
+
−
| style="background-color:#008000; color:#FFF;" | 11
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 12
+
−
| GPIO3_A3
+
−
|
+
−
|
+
−
|
+
−
| 99
+
−
|-
+
−
| 117
+
−
|
+
−
| UART7_RX_M1
+
−
| PWM15_IR_M0
+
−
| GPIO3_C5
+
−
| style="background-color:#008000; color:#FFF;" | 13
+
−
|
+
−
| style="background-color:#000; color:#FFF" | 14
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 16
+
−
|
+
−
| UART0_RX
+
−
| PWM1_M0
+
−
| GPIO0_C0
+
−
| style="background-color:#008000; color:#FFF;" | 15
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 16
+
−
| GPIO3_A1
+
−
|
+
−
|
+
−
|
+
−
| 97
+
−
|-
+
−
| 17
+
−
|
+
−
| UART0_TX
+
−
| PWM2_M0
+
−
| GPIO0_C1
+
−
| style="background-color:#FF0;" | 17
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 18
+
−
| GPIO3_B2
+
−
| UART4_TX_M1
+
−
| PWM9_M0
+
−
|
+
−
| 106
+
−
|-
+
−
| 147
+
−
| CAN1_TX_M1
+
−
| SPI3_MOSI_M1
+
−
| PWM15_IR_M1
+
−
| GPIO4_C3
+
−
| style="background-color:#008000; color:#FFF;" | 19
+
−
|
+
−
| style="background-color:#000; color:#FFF" | 20
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 149
+
−
| UART9_TX_M1
+
−
| SPI3_MISO_M1
+
−
| PWM12_M1
+
−
| GPIO4_C5
+
−
| style="background-color:#008000; color:#FFF;" | 21
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 22
+
−
| ADC_IN5
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 146
+
−
| CAN1_RX_M1
+
−
| SPI3_CLK_M1
+
−
| PWM14_M1
+
−
| GPIO4_C2
+
−
| style="background-color:#008000; color:#FFF;" | 23
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 24
+
−
| GPIO4_C6
+
−
| PWM13_M1
+
−
| SPI3_CS0_M1
+
−
| UART9_RX_M1
+
−
| 150
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| GND
+
−
| style="background-color:#000; color:#FFF" | 25
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 26
+
−
| GPIO4_D1
+
−
| SPI3_CS1_M1
+
−
|
+
−
|
+
−
| 153
+
−
|-
+
−
| 14
+
−
| USB_DP
+
−
| PWM2_M1
+
−
| I2C2_SDA_M0
+
−
| GPIO0_B6
+
−
| style="background-color:#00F; color:#FFF;" | 27
+
−
|
+
−
| style="background-color:#00F; color:#FFF;" | 28
+
−
| GPIO0_B5
+
−
| I2C2_SCL_M0
+
−
| PWM1_M1
+
−
| USB_DM
+
−
| 13
+
−
|-
+
−
| 95
+
−
|
+
−
|
+
−
| UART8_TX_M1
+
−
| GPIO2_D7
+
−
| style="background-color:#008000; color:#FFF;" | 29
+
−
|
+
−
| style="background-color:#000; color:#FFF" | 30
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 96
+
−
|
+
−
| UART8_RX_M1
+
−
| SPI2_CLK_M1
+
−
| GPIO3_A0
+
−
| style="background-color:#008000; color:#FFF;" | 31
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 32
+
−
| GPIO3_C2
+
−
| UART5_TX_M1
+
−
|
+
−
|
+
−
| 114
+
−
|-
+
−
| 115
+
−
|
+
−
|
+
−
| UART5_RX_M1
+
−
| GPIO3_C3
+
−
| style="background-color:#008000; color:#FFF;" | 33
+
−
|
+
−
| style="background-color:#000; color:#FFF" | 34
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 100
+
−
|
+
−
|
+
−
|
+
−
| GPIO3_A4
+
−
| style="background-color:#008000; color:#FFF;" | 35
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 36
+
−
| GPIO3_A2
+
−
|
+
−
|
+
−
|
+
−
| 98
+
−
|-
+
−
| 112
+
−
|
+
−
| UART3_RX_M1
+
−
| PWM13_M0
+
−
| GPIO3_C0
+
−
| style="background-color:#008000; color:#FFF;" | 37
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 38
+
−
| GPIO3_A6
+
−
|
+
−
|
+
−
|
+
−
| 102
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| GND
+
−
| style="background-color:#000; color:#FFF" | 39
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 40
+
−
| GPIO3_A5
+
−
|
+
−
|
+
−
|
+
−
| 101
+
−
|}
+
−
 
+
−
        </div>
+
−
    </div>
+
−
</div>
+
−
 
+
−
<div class="clearfix"></div>
+
−
 
+
−
==== More details about 40-pin Header In V1.2 ====
+
−
 
+
−
* Pins marked with color orange are designed for debug console.
+
−
* PWM; x7, PWM1 / PWM2 / PWM9 / PWM12 / PWM13 / PWM14 / PWM15
+
−
* SPI: x1, SPI3
+
−
* I2C: x2, I2C2 / I2C3
+
−
* UART: x6, UART0 / UART3 / UART5 / UART7 / UART8 / UART9
+
−
* ADC: x1, ADC_IN5
+
−
* CAN: x1, CAN1
+
−
* USB 2.0: x1, USB_DP(PIN#27) + USB_DM(PIN#28)
+
−
** When we select this USB function, you need to modify the hardware like this.
+
−
*** Remove R90526 R90527
+
−
*** Add R90536 R90537
+
−
 
+
−
<div class="col-md-12 ">
+
−
    <div class="panel panel-midnight-white">
+
−
        <div class="panel-heading"><h3>Hardware V1.3/V1.31</h3></div>
+
−
        <div class="panel-body">
+
−
{| class="wikitable" style="vertical-align:middle; background-color:#F9F9F9;"
+
−
|- style="font-weight:bold; text-align:center; background-color:#F2F2F2;"
+
−
! GPIO number
+
−
! Function4
+
−
! Function3
+
−
! Function2
+
−
! Function1
+
−
! Pin#
+
−
!
+
−
! Pin#
+
−
! Function1
+
−
! Function2
+
−
! Function3
+
−
! Function4
+
−
! GPIO number
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| +3.3V
+
−
| style="background-color:#FF0;" | 1
+
−
|
+
−
| style="background-color:#F00;" | 2
+
−
| +5.0V
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 32
+
−
| CAN1_RX_M0
+
−
| UART3_RX_M0
+
−
| I2C3_SDA_M0
+
−
| GPIO1_A0
+
−
| style="background-color:#008000; color:#FFF;" | 3
+
−
|
+
−
| style="background-color:#F00;" | 4
+
−
| +5.0V
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 33
+
−
| CAN1_TX_M0
+
−
| UART3_TX_M0
+
−
| I2C3_SCL_M0
+
−
| GPIO1_A1
+
−
| style="background-color:#008000; color:#FFF;" | 5
+
−
|
+
−
| style="background-color:#000; color:#FFF;" | 6
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 13
+
−
|
+
−
| PWM1_M1
+
−
| I2C2_SCL_M0
+
−
| GPIO0_B5
+
−
| style="background-color:#008000; color:#FFF;" | 7
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 8
+
−
| GPIO0_D1
+
−
| style="background-color:#FFA500;" | UART2_TXD
+
−
|
+
−
|
+
−
| 25
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| GND
+
−
| style="background-color:#000; color:#FFF;" | 9
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 10
+
−
| GPIO0_D0
+
−
| style="background-color:#FFA500;" | UART2_RXD
+
−
|
+
−
|
+
−
| 24
+
−
|-
+
−
| 116
+
−
|
+
−
| UART7_TX_M1
+
−
| PWM14_M0
+
−
| GPIO3_C4
+
−
| style="background-color:#008000; color:#FFF;" | 11
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 12
+
−
| GPIO3_A3
+
−
|
+
−
|
+
−
|
+
−
| 99
+
−
|-
+
−
| 117
+
−
|
+
−
| UART7_RX_M1
+
−
| PWM15_IR_M0
+
−
| GPIO3_C5
+
−
| style="background-color:#008000; color:#FFF;" | 13
+
−
|
+
−
| style="background-color:#000; color:#FFF;" | 14
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 16
+
−
|
+
−
| UART0_RX
+
−
| PWM1_M0
+
−
| GPIO0_C0
+
−
| style="background-color:#008000; color:#FFF;" | 15
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 16
+
−
| GPIO0_B6
+
−
| I2C2_SDA_M0
+
−
| PWM2_M1
+
−
|
+
−
| 14
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| +3.3V
+
−
| style="background-color:#FF0;" | 17
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 18
+
−
| GPIO3_B2
+
−
| UART4_TX_M1
+
−
| PWM9_M0
+
−
|
+
−
| 106
+
−
|-
+
−
| 147
+
−
| CAN1_TX_M1
+
−
| SPI3_MOSI_M1
+
−
| PWM15_IR_M1
+
−
| GPIO4_C3
+
−
| style="background-color:#008000; color:#FFF;" | 19
+
−
|
+
−
| style="background-color:#000; color:#FFF;" | 20
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 149
+
−
| UART9_TX_M1
+
−
| SPI3_MISO_M1
+
−
| PWM12_M1
+
−
| GPIO4_C5
+
−
| style="background-color:#008000; color:#FFF;" | 21
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 22
+
−
| GPIO0_C1
+
−
| PWM2_M0
+
−
| UART0_TX
+
−
|
+
−
| 17
+
−
|-
+
−
| 146
+
−
| CAN1_RX_M1
+
−
| SPI3_CLK_M1
+
−
| PWM14_M1
+
−
| GPIO4_C2
+
−
| style="background-color:#008000; color:#FFF;" | 23
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 24
+
−
| GPIO4_C6
+
−
| PWM13_M1
+
−
| SPI3_CS0_M1
+
−
| UART9_RX_M1
+
−
| 150
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| GND
+
−
| style="background-color:#000; color:#FFF;" | 25
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 26
+
−
| GPIO4_D1
+
−
| SPI3_CS1_M1
+
−
|
+
−
|
+
−
| 153
+
−
|-
+
−
| 12
+
−
| USB_DP
+
−
| CAN0_RX_M0
+
−
| I2C1_SDA
+
−
| GPIO0_B4
+
−
| style="background-color:#00F; color:#FFF;" | 27
+
−
|
+
−
| style="background-color:#00F; color:#FFF;" | 28
+
−
| GPIO0_B3
+
−
| I2C1_SCL
+
−
| CAN0_TX_M0
+
−
| USB_DM
+
−
| 11
+
−
|-
+
−
| 95
+
−
|
+
−
|
+
−
| UART8_TX_M1
+
−
| GPIO2_D7
+
−
| style="background-color:#008000; color:#FFF;" | 29
+
−
|
+
−
| style="background-color:#000; color:#FFF;" | 30
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 96
+
−
|
+
−
|
+
−
| UART8_RX_M1
+
−
| GPIO3_A0
+
−
| style="background-color:#008000; color:#FFF;" | 31
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 32
+
−
| GPIO3_C2
+
−
| UART5_TX_M1
+
−
|
+
−
|
+
−
| 114
+
−
|-
+
−
| 115
+
−
|
+
−
| UART5_RX_M1
+
−
| SPI1_CLK_M1
+
−
| GPIO3_C3
+
−
| style="background-color:#008000; color:#FFF;" | 33
+
−
|
+
−
| style="background-color:#000; color:#FFF;" | 34
+
−
| GND
+
−
|
+
−
|
+
−
|
+
−
|
+
−
|-
+
−
| 100
+
−
|
+
−
|
+
−
|
+
−
| GPIO3_A4
+
−
| style="background-color:#008000; color:#FFF;" | 35
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 36
+
−
| GPIO3_A2
+
−
|
+
−
|
+
−
|
+
−
| 98
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| SARADC_VIN5
+
−
| style="background-color:#008000; color:#FFF;" | 37
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 38
+
−
| GPIO3_A6
+
−
|
+
−
|
+
−
|
+
−
| 102
+
−
|-
+
−
|
+
−
|
+
−
|
+
−
|
+
−
| GND
+
−
| style="background-color:#000; color:#FFF;" | 39
+
−
|
+
−
| style="background-color:#008000; color:#FFF;" | 40
+
−
| GPIO3_A5
+
−
|
+
−
|
+
−
|
+
−
| 101
+
−
|}
+
−
        </div>
+
−
    </div>
+
−
</div>
+
−
 
+
−
<div class="clearfix"></div>
+
−
 
+
−
==== More details about 40-pin Header In V1.3/V1.31 ====
+
−
 
+
−
* Pins marked with color orange are designed for debug console.
+
−
* PWM; x7, PWM1 / PWM2 / PWM9 / PWM12 / PWM13 / PWM14 / PWM15
+
−
* SPI: x1, SPI3
+
−
* I2C: x3, I2C1 / I2C2 / I2C3
+
−
* UART: x6, UART0 / UART3 / UART5 / UART7 / UART8 / UART9
+
−
* ADC: x1, SARADC_VIN5
+
−
* CAN: x2, CAN0 / CAN1
+
−
* USB 2.0: x1, USB_DP(PIN#27) + USB_DM(PIN#28)
+
−
** When we select this USB function, you need to modify the hardware like this.
+
−
*** Remove R90526 R90527
+
−
*** Add R90536 R90537
+
−
 
+
−
=== IO Voltage ===
+
−
 
+
−
RK3568 have three IO voltages, 1.8V/3.3V. For ROCK 3, the high level voltage of GPIO pin on 40-PIN HEADER is 3.3V.
+
−
 
+
−
<pre>
+
−
| GPIO      | Voltage Level | Tolerance |
+
−
| ---------- | ------------- | --------- |
+
−
| GPIO3_C0  | 3.3V          | 3.63V    |
+
−
| ADC_IN5    | 1.8V          | 1.98V    |
+
−
</pre>
+
−
 
+
−
=== GPIO number ===
+
−
 
+
−
Rockchip RK3568 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.19 kernel, the GPIO number can be calculated as below, take GPIO4_D1 (PIN26 on 4-0PIN HEADER) as an example:
+
−
 
+
−
GPIO4_D1 = 4*32 + 3*8 + 1 = 153
+
−
(A=0, B=1, C=2, D=3)
+
−
 
+
−
To set GPIO4_D1 output
+
−
 
+
−
cd /sys/class/gpio
+
−
echo 153 > export
+
−
cd gpio153
+
−
echo out > direction
+
−
echo 1 > value    # output high
+
−
echo 0 > value    # output low
+

Latest revision as of 06:56, 12 February 2022