Remove reference to nonexistent rcc_h7ab

This commit is contained in:
Dario Nieuwenhuis 2021-06-10 02:59:32 +02:00
parent 767e8d93f8
commit 4837bee5df

View File

@ -245,7 +245,7 @@ perimap = [
('STM32L0.*:RCC:.*', 'rcc_l0/RCC'), ('STM32L0.*:RCC:.*', 'rcc_l0/RCC'),
('STM32L4.*:RCC:.*', 'rcc_l4/RCC'), ('STM32L4.*:RCC:.*', 'rcc_l4/RCC'),
('STM32F4.*:RCC:.*', 'rcc_f4/RCC'), ('STM32F4.*:RCC:.*', 'rcc_f4/RCC'),
('.*:STM32H7AB_rcc_v1_0', 'rcc_h7ab/RCC'), ('.*:STM32H7AB_rcc_v1_0', ''), # rcc_h7ab/RCC
('.*:STM32H7_rcc_v1_0', 'rcc_h7/RCC'), ('.*:STM32H7_rcc_v1_0', 'rcc_h7/RCC'),
('.*:STM32L0_dbgmcu_v1_0', 'dbg_l0/DBG'), ('.*:STM32L0_dbgmcu_v1_0', 'dbg_l0/DBG'),
('.*:STM32L0_crs_v1_0', 'crs_l0/CRS'), ('.*:STM32L0_crs_v1_0', 'crs_l0/CRS'),
@ -267,9 +267,12 @@ rng_clock_map = [
def match_peri(peri): def match_peri(peri):
for r, block in perimap: for r, block in perimap:
if re.match(r, peri): if re.match(r, peri):
if block == '':
return None
return block return block
return None return None
def find_af(gpio_af, peri_name, pin_name, signal_name): def find_af(gpio_af, peri_name, pin_name, signal_name):
if gpio_af in af: if gpio_af in af:
if pin_name in af[gpio_af]: if pin_name in af[gpio_af]:
@ -277,12 +280,14 @@ def find_af(gpio_af, peri_name, pin_name, signal_name):
return af[gpio_af][pin_name][peri_name + '_' + signal_name] return af[gpio_af][pin_name][peri_name + '_' + signal_name]
return None return None
def match_rng_clock(rcc): def match_rng_clock(rcc):
for r, clock in rng_clock_map: for r, clock in rng_clock_map:
if re.match(r, rcc): if re.match(r, rcc):
return clock return clock
return None return None
def parse_headers(): def parse_headers():
os.makedirs('sources/headers_parsed', exist_ok=True) os.makedirs('sources/headers_parsed', exist_ok=True)
print('loading headers...') print('loading headers...')
@ -429,7 +434,6 @@ def parse_chips():
pins[peri_name].append(entry) pins[peri_name].append(entry)
for chip_name, chip in chips.items(): for chip_name, chip in chips.items():
print(f'* processing chip {chip_name}') print(f'* processing chip {chip_name}')
rcc = chip['rcc'] rcc = chip['rcc']
@ -457,21 +461,10 @@ def parse_chips():
p['clock'] = clocks[rcc][pname] p['clock'] = clocks[rcc][pname]
elif chip['family'] == 'STM32H7' and pname == "SPI6": elif chip['family'] == 'STM32H7' and pname == "SPI6":
p['clock'] = "APB4" p['clock'] = "APB4"
# else:
#print( f'peri {pname} -> no clock')
if block := match_peri(chip_name+':'+pname+':'+pkind): if block := match_peri(chip_name+':'+pname+':'+pkind):
p['block'] = block p['block'] = block
#if block is not None and block.startswith("dac_"):
#peri_pins = []
#dac_out_pins = find_signal_pins(chip, pname + "_OUT([0-9]+)")
#for (out_pin, m) in dac_out_pins:
#peri_pins.append( OrderedDict({
#"pin": out_pin,
#"function": "Ch" + m[1],
#}) )
if pname in chip['pins']: if pname in chip['pins']:
if len(chip['pins'][pname]) > 0: if len(chip['pins'][pname]) > 0:
p['pins'] = chip['pins'][pname] p['pins'] = chip['pins'][pname]
@ -483,7 +476,6 @@ def parse_chips():
peris[pname] = p peris[pname] = p
# Handle GPIO specially. # Handle GPIO specially.
for p in range(20): for p in range(20):
port = 'GPIO' + chr(ord('A')+p) port = 'GPIO' + chr(ord('A')+p)
@ -561,6 +553,7 @@ def parse_chips():
af = {} af = {}
def parse_gpio_af(): def parse_gpio_af():
os.makedirs('data/gpio_af', exist_ok=True) os.makedirs('data/gpio_af', exist_ok=True)
for f in glob('sources/cubedb/mcu/IP/GPIO-*_gpio_v1_0_Modes.xml'): for f in glob('sources/cubedb/mcu/IP/GPIO-*_gpio_v1_0_Modes.xml'):
@ -605,8 +598,10 @@ def parse_gpio_af():
af[ff] = pins af[ff] = pins
clocks = {} clocks = {}
def parse_clocks(): def parse_clocks():
for f in glob('sources/cubedb/mcu/IP/RCC-*rcc_v1_0_Modes.xml'): for f in glob('sources/cubedb/mcu/IP/RCC-*rcc_v1_0_Modes.xml'):
ff = removeprefix(f, 'sources/cubedb/mcu/IP/RCC-') ff = removeprefix(f, 'sources/cubedb/mcu/IP/RCC-')