[genpinmap] Avoid duplicated pins
Signed-off-by: Frederic.Pillon <frederic.pillon@st.com>
This commit is contained in:
parent
73128eb640
commit
8504f64647
1 changed files with 52 additions and 2 deletions
|
|
@ -156,19 +156,31 @@ def get_gpio_af_numF1(pintofind, iptofind):
|
||||||
return mygpioaf
|
return mygpioaf
|
||||||
|
|
||||||
|
|
||||||
|
# Return 0 if pin/signal not already in the list
|
||||||
|
def isPinAndSignalInList(pin, signal, lst):
|
||||||
|
return len([item for item in lst if item[0] == pin and item[2] == signal])
|
||||||
|
|
||||||
|
|
||||||
def store_pin(pin, name):
|
def store_pin(pin, name):
|
||||||
|
if pin in [p[0] for p in io_list]:
|
||||||
|
return
|
||||||
# store pin I/O
|
# store pin I/O
|
||||||
p = [pin, name]
|
p = [pin, name]
|
||||||
io_list.append(p)
|
if p not in io_list:
|
||||||
|
io_list.append(p)
|
||||||
|
|
||||||
|
|
||||||
# function to store ADC list
|
# function to store ADC list
|
||||||
def store_adc(pin, name, signal):
|
def store_adc(pin, name, signal):
|
||||||
|
if isPinAndSignalInList(pin, signal, adclist):
|
||||||
|
return
|
||||||
adclist.append([pin, name, signal])
|
adclist.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store DAC list
|
# function to store DAC list
|
||||||
def store_dac(pin, name, signal):
|
def store_dac(pin, name, signal):
|
||||||
|
if isPinAndSignalInList(pin, signal, daclist):
|
||||||
|
return
|
||||||
daclist.append([pin, name, signal])
|
daclist.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -176,72 +188,110 @@ def store_dac(pin, name, signal):
|
||||||
def store_i2c(pin, name, signal):
|
def store_i2c(pin, name, signal):
|
||||||
# is it SDA or SCL ?
|
# is it SDA or SCL ?
|
||||||
if "_SCL" in signal:
|
if "_SCL" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, i2cscl_list):
|
||||||
|
return
|
||||||
i2cscl_list.append([pin, name, signal])
|
i2cscl_list.append([pin, name, signal])
|
||||||
if "_SDA" in signal:
|
if "_SDA" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, i2csda_list):
|
||||||
|
return
|
||||||
i2csda_list.append([pin, name, signal])
|
i2csda_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store timers
|
# function to store timers
|
||||||
def store_pwm(pin, name, signal):
|
def store_pwm(pin, name, signal):
|
||||||
if "_CH" in signal:
|
if "_CH" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, pwm_list):
|
||||||
|
return
|
||||||
pwm_list.append([pin, name, signal])
|
pwm_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store Uart pins
|
# function to store Uart pins
|
||||||
def store_uart(pin, name, signal):
|
def store_uart(pin, name, signal):
|
||||||
if "_TX" in signal:
|
if "_TX" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, uarttx_list):
|
||||||
|
return
|
||||||
uarttx_list.append([pin, name, signal])
|
uarttx_list.append([pin, name, signal])
|
||||||
if "_RX" in signal:
|
if "_RX" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, uartrx_list):
|
||||||
|
return
|
||||||
uartrx_list.append([pin, name, signal])
|
uartrx_list.append([pin, name, signal])
|
||||||
if "_CTS" in signal:
|
if "_CTS" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, uartcts_list):
|
||||||
|
return
|
||||||
uartcts_list.append([pin, name, signal])
|
uartcts_list.append([pin, name, signal])
|
||||||
if "_RTS" in signal:
|
if "_RTS" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, uartrts_list):
|
||||||
|
return
|
||||||
uartrts_list.append([pin, name, signal])
|
uartrts_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store SPI pins
|
# function to store SPI pins
|
||||||
def store_spi(pin, name, signal):
|
def store_spi(pin, name, signal):
|
||||||
if "_MISO" in signal:
|
if "_MISO" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, spimiso_list):
|
||||||
|
return
|
||||||
spimiso_list.append([pin, name, signal])
|
spimiso_list.append([pin, name, signal])
|
||||||
if "_MOSI" in signal:
|
if "_MOSI" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, spimosi_list):
|
||||||
|
return
|
||||||
spimosi_list.append([pin, name, signal])
|
spimosi_list.append([pin, name, signal])
|
||||||
if "_SCK" in signal:
|
if "_SCK" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, spisclk_list):
|
||||||
|
return
|
||||||
spisclk_list.append([pin, name, signal])
|
spisclk_list.append([pin, name, signal])
|
||||||
if "_NSS" in signal:
|
if "_NSS" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, spissel_list):
|
||||||
|
return
|
||||||
spissel_list.append([pin, name, signal])
|
spissel_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store CAN pins
|
# function to store CAN pins
|
||||||
def store_can(pin, name, signal):
|
def store_can(pin, name, signal):
|
||||||
if "_RX" in signal:
|
if "_RX" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, canrd_list):
|
||||||
|
return
|
||||||
canrd_list.append([pin, name, signal])
|
canrd_list.append([pin, name, signal])
|
||||||
if "_TX" in signal:
|
if "_TX" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, cantd_list):
|
||||||
|
return
|
||||||
cantd_list.append([pin, name, signal])
|
cantd_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store ETH list
|
# function to store ETH list
|
||||||
def store_eth(pin, name, signal):
|
def store_eth(pin, name, signal):
|
||||||
|
if isPinAndSignalInList(pin, signal, eth_list):
|
||||||
|
return
|
||||||
eth_list.append([pin, name, signal])
|
eth_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store QSPI pins
|
# function to store QSPI pins
|
||||||
def store_qspi(pin, name, signal):
|
def store_qspi(pin, name, signal):
|
||||||
|
if isPinAndSignalInList(pin, signal, qspi_list):
|
||||||
|
return
|
||||||
qspi_list.append([pin, name, signal])
|
qspi_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store SYS pins
|
# function to store SYS pins
|
||||||
def store_sys(pin, name, signal):
|
def store_sys(pin, name, signal):
|
||||||
if "_WKUP" in signal:
|
if "_WKUP" in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, syswkup_list):
|
||||||
|
return
|
||||||
syswkup_list.append([pin, name, signal])
|
syswkup_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
# function to store USB pins
|
# function to store USB pins
|
||||||
def store_usb(pin, name, signal):
|
def store_usb(pin, name, signal):
|
||||||
if "OTG" not in signal:
|
if "OTG" not in signal:
|
||||||
|
if isPinAndSignalInList(pin, signal, usb_list):
|
||||||
|
return
|
||||||
usb_list.append([pin, name, signal])
|
usb_list.append([pin, name, signal])
|
||||||
if signal.startswith("USB_OTG_FS"):
|
if signal.startswith("USB_OTG_FS"):
|
||||||
|
if isPinAndSignalInList(pin, signal, usb_otgfs_list):
|
||||||
|
return
|
||||||
usb_otgfs_list.append([pin, name, signal])
|
usb_otgfs_list.append([pin, name, signal])
|
||||||
if signal.startswith("USB_OTG_HS"):
|
if signal.startswith("USB_OTG_HS"):
|
||||||
|
if isPinAndSignalInList(pin, signal, usb_otghs_list):
|
||||||
|
return
|
||||||
usb_otghs_list.append([pin, name, signal])
|
usb_otghs_list.append([pin, name, signal])
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -944,7 +994,7 @@ for mcu_file in mcu_list:
|
||||||
print(" * I/O pins found: %i" % nb_pin)
|
print(" * I/O pins found: %i" % nb_pin)
|
||||||
# io_list.sort(key=natural_sortkey)
|
# io_list.sort(key=natural_sortkey)
|
||||||
# for io in io_list:
|
# for io in io_list:
|
||||||
# print(io[1])
|
# print(io[0] + ", " + io[1])
|
||||||
print("done\n")
|
print("done\n")
|
||||||
clean_all_lists()
|
clean_all_lists()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue