]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/microcontroller/allwinner/t527/pin.py
fix wrongly assuming "of_node/compatible" will always exist for all gpiochips
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / allwinner / t527 / pin.py
1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2 #
3 # SPDX-License-Identifier: MIT
4 """Allwinner T527 Pin Names"""
5 import gpiod
6 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
7
8 chip0 = gpiod.Chip("/dev/gpiochip0")
9 chip1 = gpiod.Chip("/dev/gpiochip1")
10 num = chip0.get_info().num_lines
11
12 if num < 100:
13     __chip_num = 1
14     __chip_r_num = 0
15 else:
16     __chip_num = 0
17     __chip_r_num = 1
18
19 chip0.close()
20 chip1.close()
21
22 PB0 = Pin((__chip_num, 32))
23 PB1 = Pin((__chip_num, 33))
24 PB2 = Pin((__chip_num, 34))
25 PB3 = Pin((__chip_num, 35))
26 PB4 = Pin((__chip_num, 36))
27 PB5 = Pin((__chip_num, 37))
28 PB6 = Pin((__chip_num, 38))
29 PB7 = Pin((__chip_num, 39))
30 PB8 = Pin((__chip_num, 40))
31 PB9 = Pin((__chip_num, 41))
32 PB10 = Pin((__chip_num, 42))
33 PB11 = Pin((__chip_num, 43))
34 PB12 = Pin((__chip_num, 44))
35 PB13 = Pin((__chip_num, 45))
36 PB14 = Pin((__chip_num, 46))
37
38 PC0 = Pin((__chip_num, 64))
39 PC1 = Pin((__chip_num, 65))
40 PC2 = Pin((__chip_num, 66))
41 PC3 = Pin((__chip_num, 67))
42 PC4 = Pin((__chip_num, 68))
43 PC5 = Pin((__chip_num, 69))
44 PC6 = Pin((__chip_num, 70))
45 PC7 = Pin((__chip_num, 71))
46 PC8 = Pin((__chip_num, 72))
47 PC9 = Pin((__chip_num, 73))
48 PC10 = Pin((__chip_num, 74))
49 PC11 = Pin((__chip_num, 75))
50 PC12 = Pin((__chip_num, 76))
51 PC13 = Pin((__chip_num, 77))
52 PC14 = Pin((__chip_num, 78))
53 PC15 = Pin((__chip_num, 79))
54 PC16 = Pin((__chip_num, 80))
55
56 PD0 = Pin((__chip_num, 96))
57 PD1 = Pin((__chip_num, 97))
58 PD2 = Pin((__chip_num, 98))
59 PD3 = Pin((__chip_num, 99))
60 PD4 = Pin((__chip_num, 100))
61 PD5 = Pin((__chip_num, 101))
62 PD6 = Pin((__chip_num, 102))
63 PD7 = Pin((__chip_num, 103))
64 PD8 = Pin((__chip_num, 104))
65 PD9 = Pin((__chip_num, 105))
66 PD10 = Pin((__chip_num, 106))
67 PD11 = Pin((__chip_num, 107))
68 PD12 = Pin((__chip_num, 108))
69 PD13 = Pin((__chip_num, 109))
70 PD14 = Pin((__chip_num, 110))
71 PD15 = Pin((__chip_num, 111))
72 PD16 = Pin((__chip_num, 112))
73 PD17 = Pin((__chip_num, 113))
74 PD18 = Pin((__chip_num, 114))
75 PD19 = Pin((__chip_num, 115))
76 PD20 = Pin((__chip_num, 116))
77 PD21 = Pin((__chip_num, 117))
78 PD22 = Pin((__chip_num, 118))
79 PD23 = Pin((__chip_num, 119))
80
81 PE0 = Pin((__chip_num, 128))
82 PE1 = Pin((__chip_num, 129))
83 PE2 = Pin((__chip_num, 130))
84 PE3 = Pin((__chip_num, 131))
85 PE4 = Pin((__chip_num, 132))
86 PE5 = Pin((__chip_num, 133))
87 PE6 = Pin((__chip_num, 134))
88 PE7 = Pin((__chip_num, 135))
89 PE8 = Pin((__chip_num, 136))
90 PE9 = Pin((__chip_num, 137))
91 PE10 = Pin((__chip_num, 138))
92 PE11 = Pin((__chip_num, 139))
93 PE12 = Pin((__chip_num, 140))
94 PE13 = Pin((__chip_num, 141))
95 PE14 = Pin((__chip_num, 142))
96 PE15 = Pin((__chip_num, 143))
97
98 PF0 = Pin((__chip_num, 160))
99 PF1 = Pin((__chip_num, 161))
100 PF2 = Pin((__chip_num, 162))
101 PF3 = Pin((__chip_num, 163))
102 PF4 = Pin((__chip_num, 164))
103 PF5 = Pin((__chip_num, 165))
104 PF6 = Pin((__chip_num, 166))
105
106 PG0 = Pin((__chip_num, 192))
107 PG1 = Pin((__chip_num, 193))
108 PG2 = Pin((__chip_num, 194))
109 PG3 = Pin((__chip_num, 195))
110 PG4 = Pin((__chip_num, 196))
111 PG5 = Pin((__chip_num, 197))
112 PG6 = Pin((__chip_num, 198))
113 PG7 = Pin((__chip_num, 199))
114 PG8 = Pin((__chip_num, 200))
115 PG9 = Pin((__chip_num, 201))
116 PG10 = Pin((__chip_num, 202))
117 PG11 = Pin((__chip_num, 203))
118 PG12 = Pin((__chip_num, 204))
119 PG13 = Pin((__chip_num, 205))
120 PG14 = Pin((__chip_num, 206))
121
122 PH0 = Pin((__chip_num, 224))
123 PH1 = Pin((__chip_num, 225))
124 PH2 = Pin((__chip_num, 226))
125 PH3 = Pin((__chip_num, 227))
126 PH4 = Pin((__chip_num, 228))
127 PH5 = Pin((__chip_num, 229))
128 PH6 = Pin((__chip_num, 230))
129 PH7 = Pin((__chip_num, 231))
130 PH8 = Pin((__chip_num, 232))
131 PH9 = Pin((__chip_num, 233))
132 PH10 = Pin((__chip_num, 234))
133 PH11 = Pin((__chip_num, 235))
134 PH12 = Pin((__chip_num, 236))
135 PH13 = Pin((__chip_num, 237))
136 PH14 = Pin((__chip_num, 238))
137 PH15 = Pin((__chip_num, 239))
138 PH16 = Pin((__chip_num, 240))
139 PH17 = Pin((__chip_num, 241))
140 PH18 = Pin((__chip_num, 242))
141 PH19 = Pin((__chip_num, 243))
142
143 PI0 = Pin((__chip_num, 256))
144 PI1 = Pin((__chip_num, 257))
145 PI2 = Pin((__chip_num, 258))
146 PI3 = Pin((__chip_num, 259))
147 PI4 = Pin((__chip_num, 260))
148 PI5 = Pin((__chip_num, 261))
149 PI6 = Pin((__chip_num, 262))
150 PI7 = Pin((__chip_num, 263))
151 PI8 = Pin((__chip_num, 264))
152 PI9 = Pin((__chip_num, 265))
153 PI10 = Pin((__chip_num, 266))
154 PI11 = Pin((__chip_num, 267))
155 PI12 = Pin((__chip_num, 268))
156 PI13 = Pin((__chip_num, 269))
157 PI14 = Pin((__chip_num, 270))
158 PI15 = Pin((__chip_num, 271))
159 PI16 = Pin((__chip_num, 272))
160
161 PJ0 = Pin((__chip_num, 288))
162 PJ1 = Pin((__chip_num, 289))
163 PJ2 = Pin((__chip_num, 290))
164 PJ3 = Pin((__chip_num, 291))
165 PJ4 = Pin((__chip_num, 292))
166 PJ5 = Pin((__chip_num, 293))
167 PJ6 = Pin((__chip_num, 294))
168 PJ7 = Pin((__chip_num, 295))
169 PJ8 = Pin((__chip_num, 296))
170 PJ9 = Pin((__chip_num, 297))
171 PJ10 = Pin((__chip_num, 298))
172 PJ11 = Pin((__chip_num, 299))
173 PJ12 = Pin((__chip_num, 300))
174 PJ13 = Pin((__chip_num, 301))
175 PJ14 = Pin((__chip_num, 302))
176 PJ15 = Pin((__chip_num, 303))
177 PJ16 = Pin((__chip_num, 304))
178 PJ17 = Pin((__chip_num, 305))
179 PJ18 = Pin((__chip_num, 306))
180 PJ19 = Pin((__chip_num, 307))
181 PJ20 = Pin((__chip_num, 308))
182 PJ21 = Pin((__chip_num, 309))
183 PJ22 = Pin((__chip_num, 310))
184 PJ23 = Pin((__chip_num, 311))
185 PJ24 = Pin((__chip_num, 312))
186 PJ25 = Pin((__chip_num, 313))
187 PJ26 = Pin((__chip_num, 314))
188 PJ27 = Pin((__chip_num, 315))
189
190 PK0 = Pin((__chip_num, 320))
191 PK1 = Pin((__chip_num, 321))
192 PK2 = Pin((__chip_num, 322))
193 PK3 = Pin((__chip_num, 323))
194 PK4 = Pin((__chip_num, 324))
195 PK5 = Pin((__chip_num, 325))
196 PK6 = Pin((__chip_num, 326))
197 PK7 = Pin((__chip_num, 327))
198 PK8 = Pin((__chip_num, 328))
199 PK9 = Pin((__chip_num, 329))
200 PK10 = Pin((__chip_num, 330))
201 PK11 = Pin((__chip_num, 331))
202 PK12 = Pin((__chip_num, 332))
203 PK13 = Pin((__chip_num, 333))
204 PK14 = Pin((__chip_num, 334))
205 PK15 = Pin((__chip_num, 335))
206 PK16 = Pin((__chip_num, 336))
207 PK17 = Pin((__chip_num, 337))
208 PK18 = Pin((__chip_num, 338))
209 PK19 = Pin((__chip_num, 339))
210 PK20 = Pin((__chip_num, 340))
211 PK21 = Pin((__chip_num, 341))
212 PK22 = Pin((__chip_num, 342))
213 PK23 = Pin((__chip_num, 343))
214
215 PL0 = Pin((__chip_r_num, 0))
216 PL1 = Pin((__chip_r_num, 1))
217 PL2 = Pin((__chip_r_num, 2))
218 PL3 = Pin((__chip_r_num, 3))
219 PL4 = Pin((__chip_r_num, 4))
220 PL5 = Pin((__chip_r_num, 5))
221 PL6 = Pin((__chip_r_num, 6))
222 PL7 = Pin((__chip_r_num, 7))
223 PL8 = Pin((__chip_r_num, 8))
224 PL9 = Pin((__chip_r_num, 9))
225 PL10 = Pin((__chip_r_num, 10))
226 PL11 = Pin((__chip_r_num, 11))
227 PL12 = Pin((__chip_r_num, 12))
228 PL13 = Pin((__chip_r_num, 13))
229
230 PM0 = Pin((__chip_r_num, 32))
231 PM1 = Pin((__chip_r_num, 33))
232 PM2 = Pin((__chip_r_num, 34))
233 PM3 = Pin((__chip_r_num, 35))
234 PM4 = Pin((__chip_r_num, 36))
235 PM5 = Pin((__chip_r_num, 37))
236
237 # I2C
238 I2C1_SCL = PB4
239 I2C1_SDA = PB5
240 I2C4_SCL = PI0
241 I2C4_SDA = PI1
242 I2C5_SCL = PI8
243 I2C5_SDA = PI9
244
245 i2cPorts = (
246     (1, I2C1_SCL, I2C1_SDA),
247     (4, I2C4_SCL, I2C4_SDA),
248     (5, I2C5_SCL, I2C5_SDA),
249 )
250
251 # SPI
252 SPI1_MOSI = PI4
253 SPI1_MISO = PI5
254 SPI1_SCLK = PI3
255 SPI1_CS0 = PI2
256 SPI2_MOSI = PB2
257 SPI2_MISO = PB3
258 SPI2_SCLK = PB1
259 SPI2_CS0 = PB0
260
261 # ordered as spiId, sckId, mosiId, misoId
262 spiPorts = (
263     (1, SPI1_SCLK, SPI1_MOSI, SPI1_MISO),
264     (2, SPI2_SCLK, SPI2_MOSI, SPI2_MISO),
265 )
266
267 # UART
268 UART2_TX = PB0
269 UART2_RX = PB1
270 UART3_TX = PI11
271 UART3_RX = PI12
272 UART4_TX = PI0
273 UART4_RX = PI1
274 UART5_TX = PI2
275 UART5_RX = PI3
276 UART6_TX = PI6
277 UART6_RX = PI7
278 UART7_TX = PB13
279 UART7_RX = PB14
280
281 # ordered as uartId, txId, rxId
282 uartPorts = (
283     (2, UART2_TX, UART2_RX),
284     (3, UART3_TX, UART3_RX),
285     (4, UART4_TX, UART4_RX),
286     (5, UART5_TX, UART5_RX),
287     (6, UART6_TX, UART6_RX),
288     (7, UART7_TX, UART7_RX),
289 )
290
291 # SysFS pwm outputs, pwm channel and pin in first tuple
292 pwmOuts = [
293     ((0, 1), PI0),
294     ((0, 2), PI1),
295     ((0, 3), PI2),
296     ((0, 4), PI3),
297     ((0, 5), PI4),
298     ((0, 6), PI5),
299     ((0, 7), PI6),
300     ((0, 8), PI7),
301     ((0, 9), PI8),
302     ((0, 10), PI9),
303     ((0, 11), PI10),
304     ((0, 12), PI11),
305     ((0, 13), PI12),
306 ]