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
8 def find_gpiochip_number(target_label):
10 with open('/sys/kernel/debug/gpio', 'r') as f:
12 except FileNotFoundError:
13 print("The file /sys/kernel/debug/gpio does not exist.")
16 gpiochip_number = None
18 if target_label in line:
19 match = re.search(r'gpiochip(\d+)', line)
21 gpiochip_number = match.group(1)
24 return gpiochip_number
26 if find_gpiochip_number("300b000.pinctrl"):
31 PC0 = Pin((__chip_num, 64))
33 PC1 = Pin((__chip_num, 65))
34 PC2 = Pin((__chip_num, 66))
36 PC3 = Pin((__chip_num, 67))
38 PC4 = Pin((__chip_num, 68))
40 PC5 = Pin((__chip_num, 69))
41 PC6 = Pin((__chip_num, 70))
42 PC7 = Pin((__chip_num, 71))
43 PC8 = Pin((__chip_num, 72))
44 PC9 = Pin((__chip_num, 73))
45 PC10 = Pin((__chip_num, 74))
46 PC11 = Pin((__chip_num, 75))
47 PC12 = Pin((__chip_num, 76))
48 PC13 = Pin((__chip_num, 77))
49 PC14 = Pin((__chip_num, 78))
50 PC15 = Pin((__chip_num, 79))
52 PF0 = Pin((__chip_num, 160))
53 PF1 = Pin((__chip_num, 161))
54 PF2 = Pin((__chip_num, 162))
55 PF3 = Pin((__chip_num, 163))
56 PF4 = Pin((__chip_num, 164))
57 PF5 = Pin((__chip_num, 165))
58 PF6 = Pin((__chip_num, 166))
60 PG0 = Pin((__chip_num, 192))
61 PG1 = Pin((__chip_num, 193))
62 PG2 = Pin((__chip_num, 194))
63 PG3 = Pin((__chip_num, 195))
64 PG4 = Pin((__chip_num, 196))
65 PG5 = Pin((__chip_num, 197))
66 PG6 = Pin((__chip_num, 198))
68 PG7 = Pin((__chip_num, 199))
70 PG8 = Pin((__chip_num, 200))
71 PG9 = Pin((__chip_num, 201))
72 PG10 = Pin((__chip_num, 202))
73 PG11 = Pin((__chip_num, 203))
74 PG12 = Pin((__chip_num, 204))
75 PG13 = Pin((__chip_num, 205))
76 PG14 = Pin((__chip_num, 206))
77 PG15 = Pin((__chip_num, 207))
79 PG16 = Pin((__chip_num, 208))
81 PG17 = Pin((__chip_num, 209))
83 PG18 = Pin((__chip_num, 210))
85 PG19 = Pin((__chip_num, 211))
87 PH0 = Pin((__chip_num, 224))
88 PH1 = Pin((__chip_num, 225))
89 PH2 = Pin((__chip_num, 226))
91 PH3 = Pin((__chip_num, 227))
93 PH4 = Pin((__chip_num, 228))
94 PH5 = Pin((__chip_num, 229))
97 PH6 = Pin((__chip_num, 230))
100 PH7 = Pin((__chip_num, 231))
102 PH8 = Pin((__chip_num, 232))
104 PH9 = Pin((__chip_num, 233))
106 PH10 = Pin((__chip_num, 234))
108 PI0 = Pin((__chip_num, 256))
109 PI1 = Pin((__chip_num, 257))
110 PI2 = Pin((__chip_num, 258))
111 PI3 = Pin((__chip_num, 259))
112 PI4 = Pin((__chip_num, 260))
113 PI5 = Pin((__chip_num, 261))
115 PI6 = Pin((__chip_num, 262))
117 PI7 = Pin((__chip_num, 263))
119 PI8 = Pin((__chip_num, 264))
121 PI9 = Pin((__chip_num, 265))
123 PI10 = Pin((__chip_num, 266))
125 PI11 = Pin((__chip_num, 267))
126 PI12 = Pin((__chip_num, 268))
127 PI13 = Pin((__chip_num, 269))
129 PI14 = Pin((__chip_num, 270))
131 PI15 = Pin((__chip_num, 271))
132 PI16 = Pin((__chip_num, 272))
135 (0, TWI0_SCL, TWI0_SDA),
136 (1, TWI1_SCL, TWI1_SDA),
137 (3, TWI3_SCL, TWI3_SDA),
138 (4, TWI4_SCL, TWI4_SDA),
140 # ordered as spiId, sckId, mosiId, misoId
142 (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
143 (1, SPI1_SCLK, SPI1_MOSI, SPI1_MISO),
145 # ordered as uartId, txId, rxId
147 (1, UART1_TX, UART1_RX),
148 (2, UART2_TX, UART2_RX),
149 (3, UART3_TX, UART3_RX),
150 (4, UART4_TX, UART4_RX),
151 (5, UART5_TX, UART5_RX),