Add H7 RCC

This commit is contained in:
Thales Fragoso 2021-05-15 22:24:32 -03:00
parent d810bb0f75
commit 4199b328ee
2 changed files with 5244 additions and 2 deletions

5239
data/registers/rcc_h7.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -240,6 +240,7 @@ perimap = [
('STM32H7.*:SYS:.*', 'syscfg_h7/SYSCFG'), ('STM32H7.*:SYS:.*', 'syscfg_h7/SYSCFG'),
('STM32L0.*:RCC:.*', 'rcc_l0/RCC'), ('STM32L0.*:RCC:.*', 'rcc_l0/RCC'),
('.*SDMMC:sdmmc2_v1_0', 'sdmmc_v2/SDMMC'), ('.*SDMMC:sdmmc2_v1_0', 'sdmmc_v2/SDMMC'),
('.*:STM32H7_rcc_v1_0', 'rcc_h7/RCC'),
] ]
@ -330,7 +331,7 @@ def parse_chips():
'flash': flash, 'flash': flash,
'ram': ram, 'ram': ram,
'gpio_af': gpio_af, 'gpio_af': gpio_af,
'rcc': rcc, # temporarily stashing it here 'rcc': rcc, # temporarily stashing it here
'packages': [], 'packages': [],
'peripherals': {}, 'peripherals': {},
# 'peripherals': peris, # 'peripherals': peris,
@ -379,7 +380,7 @@ def parse_chips():
if pname in clocks[rcc]: if pname in clocks[rcc]:
p['clock'] = clocks[rcc][pname] p['clock'] = clocks[rcc][pname]
#else: # else:
#print( f'peri {pname} -> no clock') #print( f'peri {pname} -> no clock')
if block := match_peri(chip_name+':'+pname+':'+pkind): if block := match_peri(chip_name+':'+pname+':'+pkind):
@ -468,8 +469,10 @@ def parse_gpio_af():
with open('data/gpio_af/'+ff+'.yaml', 'w') as f: with open('data/gpio_af/'+ff+'.yaml', 'w') as f:
f.write(yaml.dump(pins)) f.write(yaml.dump(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-')