Seitenleiste


Access to information is restricted depending on your login. Request login-information through our contact form.

service:linux:aappnote:use_gpio

Using a GPIO in Linux

Almost all function pins of a SOC are GPIO ( General Purpose Input Output).
They can be configured to serve as simple input, output or with a special function (i.e. I2C or UART).
Most pins can be configured with additional settings like drive-strength, pull-up or -down, keeper, etc.

Using a GPIO from Command Line

As already mentioned a pin can be configured to serve as GPIO or as special function.
The following commands only work as expected, when the pin is configured as GPIO!

Path in Sysfs:

   /sys/class/gpio/

First thing to do, is to export control of a GPIO to userspace by writing its number to 'export':

$ echo 68 > /sys/class/gpio/export

This will create an entry for gpio3.IO[4] = ((bank-1)*32)+pin = ((3-1)*32)+4 = 68 at:

   /sys/class/gpio/gpio68

To reverse the effect of exporting GPIO 68 to userspace call:

$ echo 68 > /sys/class/gpio/unexport

Configure GPIO as Input

$ echo in > /sys/class/gpio/gpio68/direction

Read GPIO level

$ cat /sys/class/gpio/gpio68/value

Configure GPIO as Output

$ echo out > /sys/class/gpio/gpio68/direction

Instead of using 'out', you can use 'low' and 'high' to ensure glitch free initialisation:

$ echo high > /sys/class/gpio/gpio68/direction
$ echo low > /sys/class/gpio/gpio68/direction

Write GPIO level

Set pin low:

$ echo 0 > /sys/class/gpio/gpio68/value

Set pin high:

$ echo 1 > /sys/class/gpio/gpio68/value

Trizeps VII & Trizeps VIII GPIOs

SODIMM Name Trizeps VII Trizeps VIII, Trizeps VIII Mini
1 MIC_OUT
2 AD3
3 MIC_GND
4 AD2
5 LINEIN_L
6 AD1
7 LINEIN_R
8 AD0
9 AGND
10 VDDA
11 AGND
12 VDDA
13 HEADPHONE_GND
14 TSPX
15 HEADPHONE_L
16 TSMX
17 HEADPHONE_R
18 TSPY
19 UART3_RXD gpio4.IO[7] gpio5.IO[6]
20 TSMY
21 UART3_TXD gpio4.IO[6] gpio5.IO[7]
22 VDD_OTP gpio5.IO[8]
23 UART1_DTR gpio7.IO[7] gpio3.IO[19]
24 BATT gpio5.IO[9]
25 UART1_CTS gpio7.IO[2] gpio5.IO[27]
26 RESET_IN gpio2.IO[7]
27 UART1_RTS gpio7.IO[3] gpio5.IO[26]
28 SPEAKER_P
29 UART1_DSR gpio6.IO[14] gpio3.IO[20]
30 SPEAKER_L
31 UART1_DCD gpio6.IO[15] gpio4.IO[21]
32 UART2_CTS gpio7.IO[4] gpio5.IO[29]
33 UART1_RXD gpio7.IO[1] gpio5.IO[22]
34 UART2_RTS gpio7.IO[5] gpio5.IO[28]
35 UART1_TXD gpio7.IO[0] gpio5.IO[23]
36 UART2_RXD gpio6.IO[18] gpio5.IO[24]
37 UART1_RI gpio1.IO[5] gpio4.IO[22]
38 UART2_TXD gpio6.IO[17] gpio5.IO[25]
39 GND
40 VCC
41 GND
42 VCC
43 IRQ_SP43 gpio2.IO[6] gpio1.IO[7]
44 LCD_DE gpio4.IO[17]
45 SP45 gpio2.IO[3] gpio3.IO[4]
46 LCD_D07 gpio4.IO[28]
47 SD2_CLK gpio1.IO[10] gpio2.IO[13]
48 LCD_D09 gpio4.IO[30]
49 CIF_DATA0 gpio5.IO[30] gpio4.IO[2]
50 LCD_D11 gpio5.IO[5]
51 SD2_DATA3 gpio1.IO[12] gpio2.IO[18]
52 LCD_D12 gpio5.IO[6]
53 CIF_DATA1 gpio5.IO[31] gpio4.IO[3]
54 LCD_D13 gpio5.IO[7]
55 SP55 gpio2.IO[5] gpio3.IO[21]
56 LCD_PCLK gpio4.IO[16]
57 CIF_DATA2 gpio6.IO[0] gpio4.IO[4]
58 LCD_D03 gpio4.IO[24]
59 SD2_CARD_DETECT gpio1.IO[4] gpio2.IO[12]
60 LCD_D02 gpio4.IO[23]
61 CIF_DATA3 gpio6.IO[1] gpio4.IO[5]
62 LCD_D08 gpio4.IO[29]
63 CIF_DATA4 gpio6.IO[2] gpio4.IO[6]
64 LCD_D15 gpio5.IO[9]
65 CIF_DATA5 gpio6.IO[3] gpio4.IO[7]
66 LCD_D14 gpio5.IO[8]
67 CIF_DATA6 gpio6.IO[4] gpio4.IO[8]
68 LCD_HSYNC gpio4.IO[18]
69 PWM1 gpio1.IO[9] gpio5.IO[2]
70 LCD_D01 gpio4.IO[22]
71 CIF_DATA7 gpio6.IO[5] gpio4.IO[9]
72 LCD_D05 gpio4.IO[26]
73 CIF_DATA8 / Backlight_Enable gpio4.IO[20] gpio3.IO[22]
74 LCD_D10 gpio4.IO[31]
75 CIF_DATA9 / SP75 gpio5.IO[25] gpio3.IO[23]
76 LCD_D00 gpio4.IO[21]
77 PWM2 gpio1.IO[1] gpio1.IO[1]
78 LCD_D04 gpio4.IO[25]
79 POWERFAIL gpio2.IO[4] gpio3.IO[24]
80 LCD_D06 gpio4.IO[27]
81 SD2_DATA1 gpio1.IO[14] gpio2.IO[16]
82 LCD_VSYNC gpio4.IO[19]
83 GND
84 VCC
85 SD2_DATA2 gpio1.IO[13] gpio2.IO[17]
86 CIF_VSYNC / SPI_SS0 gpio4.IO[9] / gpio5.IO[21] gpio5.IO[13]
87 RESET_OUT gpio4.IO[5] gpio1.IO[2]
88 CIF_MCLK / SPI_SCLK gpio4.IO[6] / gpio1.IO[0] gpio4.IO[20] / gpio5.IO[10]
89 WE / SP89 gpio2.IO[26]
90 CIF_PCLK gpio4.IO[8] / gpio5.IO[18] gpio4.IO[1] / gpio5.IO[12]
91 OE / SP91 gpio2.IO[25]
92 CIF_HSYNC gpio4.IO[7] / gpio5.IO[19] gpio4.IO[0] / gpio5.IO[11]
93 RD/WR / SP95 gpio5.IO[29] gpio3.IO[18]
94 I2C1_SCL / SP94 gpio5.IO[27] gpio5.IO[14]
95 RDY gpio5.IO[0] gpio3.IO[16]
96 I2C1_SDA / SP96 gpio5.IO[26] gpio5.IO[15]
97 CAN1_RX gpio1.IO[8]
98 SP98 gpio4.IO[10] gpio1.IO[0]
99 CAN1_TX gpio1.IO[7]
100 LCD_PWR_EN gpio5.IO[20] gpio1.IO[5]
101 CAN2_RX gpio4.IO[15] gpio4.IO[31]
102 SP102 gpio7.IO[8] gpio1.IO[8]
103 CAN2_TX gpio1.IO[1] gpio5.IO[0]
104 SP104 gpio2.IO[27] gpio3.IO[11]
105 CS1 gpio3.IO[0]
106 CS4 gpio3.IO[25]
107 CS3 gpio2.IO[23] gpio3.IO[1]
108 VCC
109 GND
110 A08 gpio3.IO[8] gpio4.IO[12]
111 A00 gpio3.IO[0] gpio3.IO[6]
112 A09 gpio3.IO[9] gpio4.IO[13]
113 A01 gpio3.IO[1] gpio3.IO[7]
114 A10 gpio3.IO[10] gpio4.IO[14]
115 A02 gpio3.IO[2] gpio5.IO[20]
116 A11 gpio3.IO[11] gpio4.IO[15]
117 A03 gpio3.IO[3] gpio3.IO[8]
118 A12 gpio3.IO[12] gpio4.IO[16]
119 A04 gpio3.IO[4] gpio3.IO[9]
120 A13 gpio3.IO[13] gpio4.IO[17]
121 A05 gpio3.IO[5] gpio3.IO[10]
122 A14 gpio3.IO[14] gpio4.IO[18]
123 A06 gpio3.IO[6] gpio1.IO[3]
124 A15 gpio3.IO[15] gpio4.IO[19]
125 A07 gpio3.IO[7] gpio1.IO[6]
126 DQM0 gpio2.IO[28] gpio4.IO[10]
127 USB_OTG_PEN gpio2.IO[0] gpio1.IO[12]
128 DQM1 gpio2.IO[29] gpio4.IO[11]
129 USB_HOST_PEN gpio2.IO[2] gpio1.IO[14]
130 DQM2 gpio2.IO[30]
131 USB_HOST_OC gpio2.IO[1] gpio1.IO[15]
132 DQM3 gpio2.IO[31] gpio3.IO[12]
133 USB_OTG_OC gpio6.IO[10] gpio1.IO[13]
134 A25 gpio5.IO[2] gpio3.IO[3]
135 USB_OTG_VBUS
136 A24 gpio5.IO[4] gpio3.IO[15]
137 USB_OTG_ID gpio6.IO[9]
138 A23 gpio6.IO[6]
139 USB_OTG_DP
140 A22 gpio2.IO[16]
141 USB_OTG_DN
142 A21 gpio2.IO[17]
143 USB_HOST_DP
144 A20 gpio2.IO[18]
145 USB_HOST_DN
146 A19 / PCM_IN gpio2.IO[19] gpio5.IO[1]
147 GND
148 VCC
149 D00 / DDC_SDA gpio3.IO[16]
150 D16 / LCD_D16 gpio5.IO[10]
151 D01 gpio3.IO[17]
152 D17 / LCD_D17 gpio5.IO[11]
153 D02 gpio3.IO[18]
154 D18 / PCIE_WAKE gpio6.IO[7] gpio3.IO[13]
155 D03 gpio3.IO[19]
156 D19 / LDO
157 D04 gpio3.IO[20]
158 D20 / PCIE_CLKN
159 D05 / SPDIF_IN gpio3.IO[21] gpio5.IO[4]
160 D21 / PCIE_CLKP
161 D06 / SPDIF_OUT gpio3.IO[22] gpio5.IO[3]
162 D22 / PCIE_TXP
163 D07 / SPDIF_EXT_CLK gpio3.IO[23] gpio5.IO[5]
164 D23 / PCIE_TXN
165 D08 gpio3.IO[24]
166 D24 / PCIE_RXP
167 D09 gpio3.IO[25]
168 D25 / PCIE_RXN
169 D10 gpio3.IO[26]
170 LCD_D21 gpio5.IO[15]
171 D11 gpio3.IO[27]
172 LCD_D20 gpio5.IO[14]
173 D12 gpio3.IO[28]
174 LCD_D19 gpio5.IO[13]
175 D13 gpio3.IO[29]
176 LCD_D18 gpio5.IO[21]
177 D14 gpio3.IO[30]
178 LCD_D23 gpio5.IO[17]
179 D15 gpio3.IO[31]
180 LCD_D22 gpio5.IO[16]
181 GND
182 VCC
183 ETH_LINK_AKT
184 A18 / PCM_OUT gpio2.IO[20] gpio4.IO[30]
185 ETH_SPEED
186 A17 / PCM_CLK gpio2.IO[21] gpio4.IO[29]
187 ETH_TXN
188 A16 / PCM_SYNC gpio2.IO[22] gpio4.IO[28]
189 ETH_TXP
190 SD2_CMD gpio1.IO[11] gpio2.IO[14]
191 ETH_GND
192 SD2_DATA0 gpio1.IO[15] gpio2.IO[15]
193 ETH_RXN
194 I2C2_SDA gpio4.IO[13] gpio5.IO[17]
195 ETH_RXP
196 I2C2_SCL gpio4.IO[12] gpio5.IO[16]
197 GND
198 VCC
199 GND
200 VCC RTC
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
service/linux/aappnote/use_gpio.txt · Zuletzt geändert: 2019/10/23 12:45 von