|
2 | 2 | #
|
3 | 3 | # SPDX-License-Identifier: MIT
|
4 | 4 | """Quectel QCM6490 pin names"""
|
5 |
| -# from adafruit_blinka.microcontroller.generic_linux.sysfs_pin import Pin |
6 |
| -# from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin |
7 |
| -from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin as GenericLinuxPin |
8 |
| - |
9 |
| -import os |
10 |
| - |
11 |
| -# Release (unexport) all pins on init and set to INPUT mode |
12 |
| -class Pin(GenericLinuxPin): |
13 |
| - def __init__(self, pin_id): |
14 |
| - self._release_sysfs_gpio(pin_id) |
15 |
| - super().__init__(pin_id) |
16 |
| - |
17 |
| - def _release_sysfs_gpio(self, pin_id, base_offset=336): |
18 |
| - # pin_id might be a tuple like (chip_id, line_number) |
19 |
| - if isinstance(pin_id, tuple): |
20 |
| - _, line_number = pin_id |
21 |
| - else: |
22 |
| - line_number = pin_id |
23 |
| - |
24 |
| - gpio_num = base_offset + int(line_number) |
25 |
| - gpio_path = f"/sys/class/gpio/gpio{gpio_num}" |
26 |
| - |
27 |
| - try: |
28 |
| - if not os.path.exists(gpio_path): |
29 |
| - with open("/sys/class/gpio/export", "w") as f: |
30 |
| - f.write(f"{gpio_num}") |
31 |
| - with open(f"{gpio_path}/direction", "w") as f: |
32 |
| - f.write("in") |
33 |
| - with open("/sys/class/gpio/unexport", "w") as f: |
34 |
| - f.write(f"{gpio_num}") |
35 |
| - except Exception: |
36 |
| - # fail silently if not allowed |
37 |
| - pass |
38 |
| - |
39 |
| -# Use with sysfs_pin |
40 |
| -# GPIO_BASE = 336 |
| 5 | + |
| 6 | +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin |
41 | 7 |
|
42 | 8 | # Use with libgpiod_pin
|
43 | 9 | GPIO_BASE = 0
|
44 | 10 |
|
45 | 11 | GPIO_6 = Pin(GPIO_BASE + 6)
|
46 | 12 | UART01_TXD = GPIO_6
|
47 | 13 | PWM1 = GPIO_6
|
| 14 | + |
48 | 15 | GPIO_8 = Pin(GPIO_BASE + 8)
|
49 | 16 | I2C02_SDA = GPIO_8
|
50 | 17 | SDA = GPIO_8
|
| 18 | + |
51 | 19 | GPIO_9 = Pin(GPIO_BASE + 9)
|
52 | 20 | I2C02_SCL = GPIO_9
|
53 | 21 | SCL = GPIO_9
|
| 22 | + |
54 | 23 | GPIO_18 = Pin(GPIO_BASE + 18)
|
55 | 24 | UART04_TXD = GPIO_18
|
56 | 25 | SPI04_CLK = GPIO_18
|
| 26 | + |
57 | 27 | GPIO_19 = Pin(GPIO_BASE + 19)
|
58 | 28 | UART04_RXD = GPIO_19
|
59 | 29 | SPI04_CS0 = GPIO_19
|
| 30 | + |
60 | 31 | GPIO_24 = Pin(GPIO_BASE + 24)
|
| 32 | + |
| 33 | +GPIO_32 = Pin(GPIO_BASE + 32) |
| 34 | +UART10_CTS = GPIO_32 |
| 35 | +CTS = GPIO_32 |
| 36 | + |
61 | 37 | GPIO_33 = Pin(GPIO_BASE + 33)
|
62 | 38 | UART10_RTS = GPIO_33
|
63 |
| -SPI10_MOSI = GPIO_33 |
64 |
| -I2C10_SCL = GPIO_33 |
| 39 | +RTS = GPIO_33 |
| 40 | + |
65 | 41 | GPIO_34 = Pin(GPIO_BASE + 34)
|
66 | 42 | UART10_TXD = GPIO_34
|
67 |
| -SPI10_CLK = GPIO_34 |
| 43 | + |
| 44 | +GPIO_35 = Pin(GPIO_BASE + 35) |
| 45 | +UART10_RXD = GPIO_35 |
| 46 | + |
68 | 47 | GPIO_36 = Pin(GPIO_BASE + 36)
|
69 | 48 | UART11_CTS = GPIO_36
|
70 | 49 | SPI11_MISO = GPIO_36
|
71 | 50 | I2C11_SDA = GPIO_36
|
72 | 51 | EEPROM_SDA = GPIO_36
|
| 52 | + |
73 | 53 | GPIO_37 = Pin(GPIO_BASE + 37)
|
74 | 54 | UART11_RTS = GPIO_37
|
75 | 55 | SPI11_MOSI = GPIO_37
|
76 | 56 | I2C11_SCL = GPIO_37
|
77 |
| -GPIO_48 = Pin(GPIO_BASE + 48) |
78 |
| -UART14_CTS = GPIO_48 |
79 |
| -I2C14_SDA = GPIO_48 |
80 |
| -SPI14_MISO = GPIO_48 |
81 |
| -CTS = GPIO_48 |
82 |
| -GPIO_49 = Pin(GPIO_BASE + 49) |
83 |
| -UART14_RTS = GPIO_49 |
84 |
| -I2C14_SCL = GPIO_49 |
85 |
| -SPI14_MOSI = GPIO_49 |
86 |
| -RTS = GPIO_49 |
87 |
| -GPIO_50 = Pin(GPIO_BASE + 50) |
88 |
| -UART14_TXD = GPIO_50 |
89 |
| -SPI14_CLK = GPIO_50 |
90 |
| -SPI16_CS3 = GPIO_50 |
91 |
| -TX = GPIO_50 |
92 |
| -GPIO_51 = Pin(GPIO_BASE + 51) |
93 |
| -UART14_RXD = GPIO_51 |
94 |
| -SPI14_CS0 = GPIO_51 |
95 |
| -RX = GPIO_51 |
| 57 | +EEPROM_SCL = GPIO_37 |
| 58 | + |
| 59 | +GPIO_40 = Pin(GPIO_BASE + 40) |
| 60 | +QWIIC_I2C12_SDA = GPIO_40 |
| 61 | + |
| 62 | +GPIO_41 = Pin(GPIO_BASE + 41) |
| 63 | +QWIIC_I2C12_SCL = GPIO_41 |
| 64 | + |
| 65 | +GPIO_44 = Pin(GPIO_BASE + 44) |
| 66 | + |
96 | 67 | GPIO_56 = Pin(GPIO_BASE + 56)
|
| 68 | +SPI16_MISO = GPIO_56 |
| 69 | +I2C16_SDA = GPIO_56 |
| 70 | +UART16_CTS = GPIO_56 |
97 | 71 | MISO = GPIO_56
|
| 72 | + |
98 | 73 | GPIO_57 = Pin(GPIO_BASE + 57)
|
99 | 74 | SPI16_MOSI = GPIO_57
|
100 | 75 | I2C16_SCL = GPIO_57
|
101 | 76 | UART16_RTS = GPIO_57
|
102 |
| -SPI16_MISO = GPIO_57 |
103 |
| -I2C16_SDA = GPIO_57 |
104 |
| -UART16_CTS = GPIO_57 |
105 | 77 | MOSI = GPIO_57
|
| 78 | + |
106 | 79 | GPIO_58 = Pin(GPIO_BASE + 58)
|
107 | 80 | SPI16_CLK = GPIO_58
|
108 | 81 | UART16_TXD = GPIO_58
|
109 | 82 | SCK = GPIO_58
|
| 83 | + |
110 | 84 | GPIO_59 = Pin(GPIO_BASE + 59)
|
111 | 85 | SPI16_CS0 = GPIO_59
|
112 | 86 | UART16_RXD = GPIO_59
|
113 |
| -GPIO_61 = Pin((0, GPIO_BASE + 61)) |
| 87 | +CE0 = GPIO_59 |
| 88 | + |
| 89 | +GPIO_61 = Pin(GPIO_BASE + 61) |
| 90 | + |
114 | 91 | GPIO_62 = Pin(GPIO_BASE + 62)
|
115 | 92 | SPI16_CS1 = GPIO_62
|
| 93 | +CE1 = GPIO_62 |
| 94 | + |
| 95 | +GPIO_78 = Pin(GPIO_BASE + 78) |
| 96 | +PWM0 = GPIO_78 |
| 97 | + |
116 | 98 | GPIO_106 = Pin(GPIO_BASE + 106)
|
117 |
| -UART13_TXD = GPIO_106 |
118 |
| -SPI13_CLK = GPIO_106 |
| 99 | +MI2S1_SCLK = GPIO_106 |
| 100 | +PWM = GPIO_106 |
| 101 | +PWM1 = GPIO_106 |
| 102 | + |
119 | 103 | GPIO_144 = Pin(GPIO_BASE + 144)
|
120 |
| -PRI_MI2S_MCLK = GPIO_144 |
| 104 | +LPI_MI2S_SCLK = GPIO_144 |
| 105 | + |
121 | 106 | GPIO_145 = Pin(GPIO_BASE + 145)
|
122 |
| -MI2S0_WS = GPIO_145 |
| 107 | +LPI_MI2S_WS = GPIO_145 |
123 | 108 | MISO1 = GPIO_145
|
| 109 | + |
124 | 110 | GPIO_146 = Pin(GPIO_BASE + 146)
|
125 |
| -MI2S0_DATA0 = GPIO_146 |
| 111 | +LPI_MI2S_DATA0 = GPIO_146 |
| 112 | +MOSI1 = GPIO_146 |
| 113 | + |
126 | 114 | GPIO_147 = Pin(GPIO_BASE + 147)
|
127 |
| -MI2S0_DATA1 = GPIO_147 |
| 115 | +LPI_MI2S_DATA1 = GPIO_147 |
| 116 | +SCK1 = GPIO_147 |
| 117 | + |
128 | 118 | GPIO_158 = Pin(GPIO_BASE + 158)
|
| 119 | + |
129 | 120 | GPIO_165 = Pin(GPIO_BASE + 165)
|
| 121 | + |
130 | 122 | GPIO_166 = Pin(GPIO_BASE + 166)
|
131 | 123 |
|
132 | 124 | # ordered as i2cId, i2cSclId, i2cSdaId
|
133 |
| -i2cPorts = ((1, I2C02_SCL, I2C02_SDA),) |
| 125 | +i2cPorts = ( |
| 126 | + (1, I2C02_SCL, I2C02_SDA), |
| 127 | + (2, QWIIC_I2C12_SCL, QWIIC_I2C12_SDA), |
| 128 | +) |
134 | 129 |
|
135 | 130 | # ordered as spiId, sckId, mosiId, misoId
|
136 |
| -spiPorts = ((16, SPI16_CLK, SPI16_MOSI, SPI16_MISO),) |
| 131 | +spiPorts = ( |
| 132 | + (0, SPI16_CLK, SPI16_MOSI, SPI16_MISO), |
| 133 | + (1, SPI16_CLK, SPI16_MOSI, SPI16_MISO), |
| 134 | +) |
137 | 135 |
|
138 | 136 | # ordered as uartId, txId, rxId
|
139 |
| -uartPorts = ((14, UART14_TXD, UART14_RXD),) |
| 137 | +uartPorts = ((10, UART10_TXD, UART10_RXD),) |
140 | 138 |
|
141 | 139 | # ordered as pwmChipId, pwmChannelId, pwmId
|
142 | 140 | pwmOuts = (((0, 0), PWM1),)
|
0 commit comments