Skip to content

Commit 6d95b4c

Browse files
committed
[genpinmap] Manage pin remap (_ALTR)
Some pins can be remapped to an other one. Mainly PA9/PA10 to PA11/PA12. Using _ALTR suffix allows to know which pin to remap. Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 49d7105 commit 6d95b4c

File tree

1 file changed

+2
-60
lines changed

1 file changed

+2
-60
lines changed

src/genpinmap/genpinmap_arduino.py

Lines changed: 2 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,6 @@ def get_gpio_af_numF1(pintofind, iptofind):
163163
return mygpioaf
164164

165165

166-
# Return 0 if pin/signal not already in the list
167-
def isPinAndSignalInList(pin, signal, lst):
168-
return len([item for item in lst if item[0] == pin and item[2] == signal])
169-
170-
171166
def store_pin(pin, name, dest_list):
172167
if pin in [p[0] for p in dest_list]:
173168
return
@@ -179,156 +174,101 @@ def store_pin(pin, name, dest_list):
179174

180175
# function to store ADC list
181176
def store_adc(pin, name, signal):
182-
if isPinAndSignalInList(pin, signal, adclist):
183-
return
184177
adclist.append([pin, name, signal])
185178

186179

187180
# function to store DAC list
188181
def store_dac(pin, name, signal):
189-
if isPinAndSignalInList(pin, signal, daclist):
190-
return
191182
daclist.append([pin, name, signal])
192183

193184

194185
# function to store I2C list
195186
def store_i2c(pin, name, signal):
196187
# is it SDA or SCL ?
197188
if "_SCL" in signal:
198-
if isPinAndSignalInList(pin, signal, i2cscl_list):
199-
return
200189
i2cscl_list.append([pin, name, signal])
201190
if "_SDA" in signal:
202-
if isPinAndSignalInList(pin, signal, i2csda_list):
203-
return
204191
i2csda_list.append([pin, name, signal])
205192

206193

207194
# function to store timers
208195
def store_pwm(pin, name, signal):
209196
if "_CH" in signal:
210-
if isPinAndSignalInList(pin, signal, pwm_list):
211-
return
212197
pwm_list.append([pin, name, signal])
213198

214199

215200
# function to store Uart pins
216201
def store_uart(pin, name, signal):
217202
if "_TX" in signal:
218-
if isPinAndSignalInList(pin, signal, uarttx_list):
219-
return
220203
uarttx_list.append([pin, name, signal])
221204
if "_RX" in signal:
222-
if isPinAndSignalInList(pin, signal, uartrx_list):
223-
return
224205
uartrx_list.append([pin, name, signal])
225206
if "_CTS" in signal:
226-
if isPinAndSignalInList(pin, signal, uartcts_list):
227-
return
228207
uartcts_list.append([pin, name, signal])
229208
if "_RTS" in signal:
230-
if isPinAndSignalInList(pin, signal, uartrts_list):
231-
return
232209
uartrts_list.append([pin, name, signal])
233210

234211

235212
# function to store SPI pins
236213
def store_spi(pin, name, signal):
237214
if "_MISO" in signal:
238-
if isPinAndSignalInList(pin, signal, spimiso_list):
239-
return
240215
spimiso_list.append([pin, name, signal])
241216
if "_MOSI" in signal:
242-
if isPinAndSignalInList(pin, signal, spimosi_list):
243-
return
244217
spimosi_list.append([pin, name, signal])
245218
if "_SCK" in signal:
246-
if isPinAndSignalInList(pin, signal, spisclk_list):
247-
return
248219
spisclk_list.append([pin, name, signal])
249220
if "_NSS" in signal:
250-
if isPinAndSignalInList(pin, signal, spissel_list):
251-
return
252221
spissel_list.append([pin, name, signal])
253222

254223

255224
# function to store CAN pins
256225
def store_can(pin, name, signal):
257226
if "_RX" in signal:
258-
if isPinAndSignalInList(pin, signal, canrd_list):
259-
return
260227
canrd_list.append([pin, name, signal])
261228
if "_TX" in signal:
262-
if isPinAndSignalInList(pin, signal, cantd_list):
263-
return
264229
cantd_list.append([pin, name, signal])
265230

266231

267232
# function to store ETH list
268233
def store_eth(pin, name, signal):
269-
if isPinAndSignalInList(pin, signal, eth_list):
270-
return
271234
eth_list.append([pin, name, signal])
272235

273236

274237
# function to store QSPI pins
275238
def store_qspi(pin, name, signal):
276239
if "_IO0" in signal:
277-
if isPinAndSignalInList(pin, signal, quadspidata0_list):
278-
return
279240
quadspidata0_list.append([pin, name, signal])
280241
if "_IO1" in signal:
281-
if isPinAndSignalInList(pin, signal, quadspidata1_list):
282-
return
283242
quadspidata1_list.append([pin, name, signal])
284243
if "_IO2" in signal:
285-
if isPinAndSignalInList(pin, signal, quadspidata2_list):
286-
return
287244
quadspidata2_list.append([pin, name, signal])
288245
if "_IO3" in signal:
289-
if isPinAndSignalInList(pin, signal, quadspidata3_list):
290-
return
291246
quadspidata3_list.append([pin, name, signal])
292247
if "_CLK" in signal:
293-
if isPinAndSignalInList(pin, signal, quadspisclk_list):
294-
return
295248
quadspisclk_list.append([pin, name, signal])
296249
if "_NCS" in signal:
297-
if isPinAndSignalInList(pin, signal, quadspissel_list):
298-
return
299250
quadspissel_list.append([pin, name, signal])
300251

301252

302253
# function to store SYS pins
303254
def store_sys(pin, name, signal):
304255
if "_WKUP" in signal:
305256
signal = signal.replace("PWR", "SYS")
306-
if isPinAndSignalInList(pin, signal, syswkup_list):
307-
return
308257
syswkup_list.append([pin, name, signal])
309258

310259

311260
# function to store USB pins
312261
def store_usb(pin, name, signal):
313262
if "OTG" not in signal:
314-
if isPinAndSignalInList(pin, signal, usb_list):
315-
return
316263
usb_list.append([pin, name, signal])
317264
if signal.startswith("USB_OTG_FS"):
318-
if isPinAndSignalInList(pin, signal, usb_otgfs_list):
319-
return
320265
usb_otgfs_list.append([pin, name, signal])
321266
if signal.startswith("USB_OTG_HS"):
322-
if isPinAndSignalInList(pin, signal, usb_otghs_list):
323-
return
324267
usb_otghs_list.append([pin, name, signal])
325268

326269

327270
# function to store SD pins
328271
def store_sd(pin, name, signal):
329-
# print(pin, signal, name)
330-
if isPinAndSignalInList(pin, signal, sd_list):
331-
return
332272
sd_list.append([pin, name, signal])
333273

334274

@@ -1012,6 +952,8 @@ def parse_pins():
1012952
# pin formatted ANA_<number>: ANA_1
1013953
pin = m.group(0)[:3] + "_" + m.group(0)[3:]
1014954
name = s.attributes["Name"].value.strip() # full name: "PF0 / OSC_IN"
955+
if "Variant" in s.attributes and "REMAP" in s.attributes["Variant"].value:
956+
pin += "_ALTR"
1015957
if s.attributes["Type"].value in ["I/O", "MonoIO"]:
1016958
store_pin(pin, name, io_list)
1017959
else:

0 commit comments

Comments
 (0)