[genpinmap] Add support for STM32MP1

STM32MP1 has additional pin definitions such as ANA1 for ADC

Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
This commit is contained in:
Frederic Pillon 2019-10-24 16:01:55 +02:00
parent b1dcb39a4d
commit f735a442f6

View file

@ -850,16 +850,19 @@ def clean_all_lists():
def parse_pins(): def parse_pins():
print(" * Getting pins per Ips...") print(" * Getting pins per Ips...")
pinregex = r"^(P[A-Z][0-9][0-5]?)" pinregex = r"^(P[A-Z][0-9][0-5]?)|^(ANA[0-9])"
itemlist = xml_mcu.getElementsByTagName("Pin") itemlist = xml_mcu.getElementsByTagName("Pin")
for s in itemlist: for s in itemlist:
m = re.match(pinregex, s.attributes["Name"].value) m = re.match(pinregex, s.attributes["Name"].value)
if m: if m:
pin = ( if m.group(1) is not None:
m.group(0)[:2] + "_" + m.group(0)[2:] # pin formatted P<port>_<number>: PF_O
) # pin formatted P<port>_<number>: PF_O pin = m.group(0)[:2] + "_" + m.group(0)[2:]
else:
# pin formatted ANA_<number>: ANA_1
pin = m.group(0)[:3] + "_" + m.group(0)[3:]
name = s.attributes["Name"].value.strip() # full name: "PF0 / OSC_IN" name = s.attributes["Name"].value.strip() # full name: "PF0 / OSC_IN"
if s.attributes["Type"].value == "I/O": if s.attributes["Type"].value in ["I/O", "MonoIO"]:
store_pin(pin, name) store_pin(pin, name)
else: else:
continue continue
@ -986,7 +989,7 @@ if args.mcu:
quit() quit()
mcu_list.append(args.mcu) mcu_list.append(args.mcu)
else: else:
mcu_list = fnmatch.filter(os.listdir(cubemxdir), "STM32[!M][!P]*.xml") mcu_list = fnmatch.filter(os.listdir(cubemxdir), "STM32*.xml")
if args.list: if args.list:
print("Available xml files description: %i" % len(mcu_list)) print("Available xml files description: %i" % len(mcu_list))