1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
3 # SPDX-License-Identifier: MIT
4 """Allwinner H618 Pin Names"""
5 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
7 def find_gpiochip_number(target_label):
9 with open('/sys/kernel/debug/gpio', 'r') as f:
11 except FileNotFoundError:
12 print("The file /sys/kernel/debug/gpio does not exist.")
15 gpiochip_number = None
17 if target_label in line:
20 if part.startswith('gpiochip'):
21 gpiochip_number = part[len('gpiochip'):]
25 return gpiochip_number
28 __chip_num = gpiochip_number = find_gpiochip_number("300b000.pinctrl")
30 PC0 = Pin((__chip_num, 64))
32 PC1 = Pin((__chip_num, 65))
33 PC2 = Pin((__chip_num, 66))
35 PC3 = Pin((__chip_num, 67))
37 PC4 = Pin((__chip_num, 68))
39 PC5 = Pin((__chip_num, 69))
40 PC6 = Pin((__chip_num, 70))
41 PC7 = Pin((__chip_num, 71))
42 PC8 = Pin((__chip_num, 72))
43 PC9 = Pin((__chip_num, 73))
44 PC10 = Pin((__chip_num, 74))
45 PC11 = Pin((__chip_num, 75))
46 PC12 = Pin((__chip_num, 76))
47 PC13 = Pin((__chip_num, 77))
48 PC14 = Pin((__chip_num, 78))
49 PC15 = Pin((__chip_num, 79))
51 PF0 = Pin((__chip_num, 160))
52 PF1 = Pin((__chip_num, 161))
53 PF2 = Pin((__chip_num, 162))
54 PF3 = Pin((__chip_num, 163))
55 PF4 = Pin((__chip_num, 164))
56 PF5 = Pin((__chip_num, 165))
57 PF6 = Pin((__chip_num, 166))
59 PG0 = Pin((__chip_num, 192))
60 PG1 = Pin((__chip_num, 193))
61 PG2 = Pin((__chip_num, 194))
62 PG3 = Pin((__chip_num, 195))
63 PG4 = Pin((__chip_num, 196))
64 PG5 = Pin((__chip_num, 197))
65 PG6 = Pin((__chip_num, 198))
67 PG7 = Pin((__chip_num, 199))
69 PG8 = Pin((__chip_num, 200))
70 PG9 = Pin((__chip_num, 201))
71 PG10 = Pin((__chip_num, 202))
72 PG11 = Pin((__chip_num, 203))
73 PG12 = Pin((__chip_num, 204))
74 PG13 = Pin((__chip_num, 205))
75 PG14 = Pin((__chip_num, 206))
76 PG15 = Pin((__chip_num, 207))
78 PG16 = Pin((__chip_num, 208))
80 PG17 = Pin((__chip_num, 209))
82 PG18 = Pin((__chip_num, 210))
84 PG19 = Pin((__chip_num, 211))
86 PH0 = Pin((__chip_num, 224))
87 PH1 = Pin((__chip_num, 225))
88 PH2 = Pin((__chip_num, 226))
90 PH3 = Pin((__chip_num, 227))
92 PH4 = Pin((__chip_num, 228))
93 PH5 = Pin((__chip_num, 229))
96 PH6 = Pin((__chip_num, 230))
99 PH7 = Pin((__chip_num, 231))
101 PH8 = Pin((__chip_num, 232))
103 PH9 = Pin((__chip_num, 233))
105 PH10 = Pin((__chip_num, 234))
107 PI0 = Pin((__chip_num, 256))
108 PI1 = Pin((__chip_num, 257))
109 PI2 = Pin((__chip_num, 258))
110 PI3 = Pin((__chip_num, 259))
111 PI4 = Pin((__chip_num, 260))
112 PI5 = Pin((__chip_num, 261))
114 PI6 = Pin((__chip_num, 262))
116 PI7 = Pin((__chip_num, 263))
118 PI8 = Pin((__chip_num, 264))
120 PI9 = Pin((__chip_num, 265))
122 PI10 = Pin((__chip_num, 266))
124 PI11 = Pin((__chip_num, 267))
125 PI12 = Pin((__chip_num, 268))
126 PI13 = Pin((__chip_num, 269))
128 PI14 = Pin((__chip_num, 270))
130 PI15 = Pin((__chip_num, 271))
131 PI16 = Pin((__chip_num, 272))
134 (0, TWI0_SCL, TWI0_SDA),
135 (1, TWI1_SCL, TWI1_SDA),
136 (3, TWI3_SCL, TWI3_SDA),
137 (4, TWI4_SCL, TWI4_SDA),
139 # ordered as spiId, sckId, mosiId, misoId
141 (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
142 (1, SPI1_SCLK, SPI1_MOSI, SPI1_MISO),
144 # ordered as uartId, txId, rxId
146 (1, UART1_TX, UART1_RX),
147 (2, UART2_TX, UART2_RX),
148 (3, UART3_TX, UART3_RX),
149 (4, UART4_TX, UART4_RX),
150 (5, UART5_TX, UART5_RX),