Initial H7 sdmmc support

This commit is contained in:
Thales Fragoso
2021-05-01 21:19:14 -03:00
parent 180ca48d34
commit 0b607ca80a
375 changed files with 283257 additions and 2 deletions

View File

@ -14,7 +14,7 @@ os.chdir(dname)
# ======= load chips
chips = {}
for f in sorted(glob('stm32-data/data/chips/*.yaml')):
if 'STM32F4' not in f and 'STM32L4' not in f:
if 'STM32F4' not in f and 'STM32L4' not in f and 'STM32H7' not in f:
continue
with open(f, 'r') as f:
chip = yaml.load(f, Loader=yaml.CSafeLoader)
@ -150,6 +150,31 @@ for chip in chips.values():
peripheral_names.append(channel)
f.write(f'impl_dma_channel!({channel}, {name}, {ch_num});')
if peri['block'] == 'sdmmc_v2/SDMMC':
f.write(f'impl_sdmmc!({name}, 0x{peri["address"]:x});')
for pin, funcs in af.items():
if pin in pins:
if func := funcs.get(f'{name}_CK'):
f.write(f'impl_sdmmc_pin!({name}, CkPin, {pin}, {func});')
if func := funcs.get(f'{name}_CMD'):
f.write(f'impl_sdmmc_pin!({name}, CmdPin, {pin}, {func});')
if func := funcs.get(f'{name}_D0'):
f.write(f'impl_sdmmc_pin!({name}, D0Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D1'):
f.write(f'impl_sdmmc_pin!({name}, D1Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D2'):
f.write(f'impl_sdmmc_pin!({name}, D2Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D3'):
f.write(f'impl_sdmmc_pin!({name}, D3Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D4'):
f.write(f'impl_sdmmc_pin!({name}, D4Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D5'):
f.write(f'impl_sdmmc_pin!({name}, D5Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D6'):
f.write(f'impl_sdmmc_pin!({name}, D6Pin, {pin}, {func});')
if func := funcs.get(f'{name}_D7'):
f.write(f'impl_sdmmc_pin!({name}, D7Pin, {pin}, {func});')
if not custom_singletons:
peripheral_names.append(name)