]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/microcontroller/allwinner/h618/pin.py
cf7b4798dc40a74e3d62d481579196040cf237c5
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / allwinner / h618 / pin.py
1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2 #
3 # SPDX-License-Identifier: MIT
4 """Allwinner H618 Pin Names"""
5 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
6
7 def find_gpiochip_number(target_label):
8     try:
9         with open('/sys/kernel/debug/gpio', 'r') as f:
10             lines = f.readlines()
11     except FileNotFoundError:
12         print("The file /sys/kernel/debug/gpio does not exist.")
13         return None
14
15     gpiochip_number = None
16     for line in lines:
17         if target_label in line:
18             parts = line.split()
19             for part in parts:
20                 if part.startswith('gpiochip'):
21                     gpiochip_number = part[len('gpiochip'):]
22                     break
23             break
24
25     return gpiochip_number
26
27 __chip_num = 1
28 __chip_num = gpiochip_number = find_gpiochip_number("300b000.pinctrl")
29
30 PC0 = Pin((__chip_num, 64))
31 SPI0_SCLK = PC0
32 PC1 = Pin((__chip_num, 65))
33 PC2 = Pin((__chip_num, 66))
34 SPI0_MOSI = PC2
35 PC3 = Pin((__chip_num, 67))
36 SPI0_CS0 = PC3
37 PC4 = Pin((__chip_num, 68))
38 SPI0_MISO = PC4
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))
50
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))
58
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))
66 UART1_TX = PG6
67 PG7 = Pin((__chip_num, 199))
68 UART1_RX = PG7
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))
77 TWI4_SCL = PG15
78 PG16 = Pin((__chip_num, 208))
79 TWI4_SDA = PG16
80 PG17 = Pin((__chip_num, 209))
81 TWI3_SCL = PG17
82 PG18 = Pin((__chip_num, 210))
83 TWI3_SDA = PG18
84 PG19 = Pin((__chip_num, 211))
85
86 PH0 = Pin((__chip_num, 224))
87 PH1 = Pin((__chip_num, 225))
88 PH2 = Pin((__chip_num, 226))
89 UART5_TX = PH2
90 PH3 = Pin((__chip_num, 227))
91 UART5_RX = PH3
92 PH4 = Pin((__chip_num, 228))
93 PH5 = Pin((__chip_num, 229))
94 UART2_TX = PH5
95 SPI1_CS0 = PH5
96 PH6 = Pin((__chip_num, 230))
97 UART2_RX = PH6
98 SPI1_SCLK = PH6
99 PH7 = Pin((__chip_num, 231))
100 SPI1_MOSI = PH7
101 PH8 = Pin((__chip_num, 232))
102 SPI1_MISO = PH8
103 PH9 = Pin((__chip_num, 233))
104 SPI1_CS1 = PH9
105 PH10 = Pin((__chip_num, 234))
106
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))
113 TWI0_SCL = PI5
114 PI6 = Pin((__chip_num, 262))
115 TWI0_SDA = PI6
116 PI7 = Pin((__chip_num, 263))
117 TWI1_SCL = PI7
118 PI8 = Pin((__chip_num, 264))
119 TWI1_SDA = PI8
120 PI9 = Pin((__chip_num, 265))
121 UART3_TX = PI9
122 PI10 = Pin((__chip_num, 266))
123 UART3_RX = PI10
124 PI11 = Pin((__chip_num, 267))
125 PI12 = Pin((__chip_num, 268))
126 PI13 = Pin((__chip_num, 269))
127 UART4_TX = PI13
128 PI14 = Pin((__chip_num, 270))
129 UART4_RX = PI14
130 PI15 = Pin((__chip_num, 271))
131 PI16 = Pin((__chip_num, 272))
132
133 i2cPorts = (
134     (0, TWI0_SCL, TWI0_SDA),
135     (1, TWI1_SCL, TWI1_SDA),
136     (3, TWI3_SCL, TWI3_SDA),
137     (4, TWI4_SCL, TWI4_SDA),
138 )
139 # ordered as spiId, sckId, mosiId, misoId
140 spiPorts = (
141     (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
142     (1, SPI1_SCLK, SPI1_MOSI, SPI1_MISO),
143 )
144 # ordered as uartId, txId, rxId
145 uartPorts = (
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),
151 )