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
27 __chip_num = gpiochip_number = find_gpiochip_number("300b000.pinctrl")
29 PC0 = Pin((__chip_num, 64))
31 PC1 = Pin((__chip_num, 65))
32 PC2 = Pin((__chip_num, 66))
34 PC3 = Pin((__chip_num, 67))
36 PC4 = Pin((__chip_num, 68))
38 PC5 = Pin((__chip_num, 69))
39 PC6 = Pin((__chip_num, 70))
40 PC7 = Pin((__chip_num, 71))
41 PC8 = Pin((__chip_num, 72))
42 PC9 = Pin((__chip_num, 73))
43 PC10 = Pin((__chip_num, 74))
44 PC11 = Pin((__chip_num, 75))
45 PC12 = Pin((__chip_num, 76))
46 PC13 = Pin((__chip_num, 77))
47 PC14 = Pin((__chip_num, 78))
48 PC15 = Pin((__chip_num, 79))
50 PF0 = Pin((__chip_num, 160))
51 PF1 = Pin((__chip_num, 161))
52 PF2 = Pin((__chip_num, 162))
53 PF3 = Pin((__chip_num, 163))
54 PF4 = Pin((__chip_num, 164))
55 PF5 = Pin((__chip_num, 165))
56 PF6 = Pin((__chip_num, 166))
58 PG0 = Pin((__chip_num, 192))
59 PG1 = Pin((__chip_num, 193))
60 PG2 = Pin((__chip_num, 194))
61 PG3 = Pin((__chip_num, 195))
62 PG4 = Pin((__chip_num, 196))
63 PG5 = Pin((__chip_num, 197))
64 PG6 = Pin((__chip_num, 198))
66 PG7 = Pin((__chip_num, 199))
68 PG8 = Pin((__chip_num, 200))
69 PG9 = Pin((__chip_num, 201))
70 PG10 = Pin((__chip_num, 202))
71 PG11 = Pin((__chip_num, 203))
72 PG12 = Pin((__chip_num, 204))
73 PG13 = Pin((__chip_num, 205))
74 PG14 = Pin((__chip_num, 206))
75 PG15 = Pin((__chip_num, 207))
77 PG16 = Pin((__chip_num, 208))
79 PG17 = Pin((__chip_num, 209))
81 PG18 = Pin((__chip_num, 210))
83 PG19 = Pin((__chip_num, 211))
85 PH0 = Pin((__chip_num, 224))
86 PH1 = Pin((__chip_num, 225))
87 PH2 = Pin((__chip_num, 226))
89 PH3 = Pin((__chip_num, 227))
91 PH4 = Pin((__chip_num, 228))
92 PH5 = Pin((__chip_num, 229))
95 PH6 = Pin((__chip_num, 230))
98 PH7 = Pin((__chip_num, 231))
100 PH8 = Pin((__chip_num, 232))
102 PH9 = Pin((__chip_num, 233))
104 PH10 = Pin((__chip_num, 234))
106 PI0 = Pin((__chip_num, 256))
107 PI1 = Pin((__chip_num, 257))
108 PI2 = Pin((__chip_num, 258))
109 PI3 = Pin((__chip_num, 259))
110 PI4 = Pin((__chip_num, 260))
111 PI5 = Pin((__chip_num, 261))
113 PI6 = Pin((__chip_num, 262))
115 PI7 = Pin((__chip_num, 263))
117 PI8 = Pin((__chip_num, 264))
119 PI9 = Pin((__chip_num, 265))
121 PI10 = Pin((__chip_num, 266))
123 PI11 = Pin((__chip_num, 267))
124 PI12 = Pin((__chip_num, 268))
125 PI13 = Pin((__chip_num, 269))
127 PI14 = Pin((__chip_num, 270))
129 PI15 = Pin((__chip_num, 271))
130 PI16 = Pin((__chip_num, 272))
133 (0, TWI0_SCL, TWI0_SDA),
134 (1, TWI1_SCL, TWI1_SDA),
135 (3, TWI3_SCL, TWI3_SDA),
136 (4, TWI4_SCL, TWI4_SDA),
138 # ordered as spiId, sckId, mosiId, misoId
140 (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
141 (1, SPI1_SCLK, SPI1_MOSI, SPI1_MISO),
143 # ordered as uartId, txId, rxId
145 (1, UART1_TX, UART1_RX),
146 (2, UART2_TX, UART2_RX),
147 (3, UART3_TX, UART3_RX),
148 (4, UART4_TX, UART4_RX),
149 (5, UART5_TX, UART5_RX),