Merge pull request #60 from embassy-rs/usart1-F0
F0: Manually add usart1 clock
This commit is contained in:
commit
37e44246da
21
parse.py
21
parse.py
@ -297,7 +297,7 @@ perimap = [
|
|||||||
('.*:USART:sci3_v1_2', 'usart_v3/USART'),
|
('.*:USART:sci3_v1_2', 'usart_v3/USART'),
|
||||||
('.*:USART:sci3_v2_0', 'usart_v3/USART'),
|
('.*:USART:sci3_v2_0', 'usart_v3/USART'),
|
||||||
('.*:USART:sci3_v2_1', 'usart_v3/USART'),
|
('.*:USART:sci3_v2_1', 'usart_v3/USART'),
|
||||||
('.*:UART:sci2_v3_0', 'usart_v3/USART' ),
|
('.*:UART:sci2_v3_0', 'usart_v3/USART'),
|
||||||
('.*:RNG:rng1_v1_1', 'rng_v1/RNG'),
|
('.*:RNG:rng1_v1_1', 'rng_v1/RNG'),
|
||||||
('.*:RNG:rng1_v2_0', 'rng_v1/RNG'),
|
('.*:RNG:rng1_v2_0', 'rng_v1/RNG'),
|
||||||
('.*:RNG:rng1_v2_1', 'rng_v1/RNG'),
|
('.*:RNG:rng1_v2_1', 'rng_v1/RNG'),
|
||||||
@ -397,9 +397,11 @@ def match_rng_clock(rcc):
|
|||||||
return clock
|
return clock
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
all_mcu_files = {}
|
all_mcu_files = {}
|
||||||
per_mcu_files = {}
|
per_mcu_files = {}
|
||||||
|
|
||||||
|
|
||||||
def parse_documentations():
|
def parse_documentations():
|
||||||
print("linking files and documents")
|
print("linking files and documents")
|
||||||
with open('sources/mcufinder/files.json', 'r') as j:
|
with open('sources/mcufinder/files.json', 'r') as j:
|
||||||
@ -407,15 +409,15 @@ def parse_documentations():
|
|||||||
for file in files['Files']:
|
for file in files['Files']:
|
||||||
file_id = file['id_file']
|
file_id = file['id_file']
|
||||||
if file_id not in all_mcu_files:
|
if file_id not in all_mcu_files:
|
||||||
all_mcu_files[file_id] = OrderedDict( {
|
all_mcu_files[file_id] = OrderedDict({
|
||||||
'name': file['name'],
|
'name': file['name'],
|
||||||
'title': file['title'],
|
'title': file['title'],
|
||||||
'url': file['URL'],
|
'url': file['URL'],
|
||||||
'type': file['type'],
|
'type': file['type'],
|
||||||
} )
|
})
|
||||||
|
|
||||||
with open('sources/mcufinder/mcus.json', 'r') as j:
|
with open('sources/mcufinder/mcus.json', 'r') as j:
|
||||||
mcus = json.load(j);
|
mcus = json.load(j)
|
||||||
for mcu in mcus['MCUs']:
|
for mcu in mcus['MCUs']:
|
||||||
rpn = mcu['RPN']
|
rpn = mcu['RPN']
|
||||||
if rpn not in per_mcu_files:
|
if rpn not in per_mcu_files:
|
||||||
@ -423,13 +425,14 @@ def parse_documentations():
|
|||||||
for file in mcu['files']:
|
for file in mcu['files']:
|
||||||
per_mcu_files[rpn].append(file['file_id'])
|
per_mcu_files[rpn].append(file['file_id'])
|
||||||
|
|
||||||
|
|
||||||
def documents_for(chip_name, type):
|
def documents_for(chip_name, type):
|
||||||
docs = []
|
docs = []
|
||||||
for id in per_mcu_files[chip_name]:
|
for id in per_mcu_files[chip_name]:
|
||||||
if id in all_mcu_files:
|
if id in all_mcu_files:
|
||||||
file = all_mcu_files[id]
|
file = all_mcu_files[id]
|
||||||
if file['type'] == type:
|
if file['type'] == type:
|
||||||
docs.append( OrderedDict({
|
docs.append(OrderedDict({
|
||||||
'title': file['title'],
|
'title': file['title'],
|
||||||
'name': file['name'],
|
'name': file['name'],
|
||||||
'url': file['url'],
|
'url': file['url'],
|
||||||
@ -437,6 +440,7 @@ def documents_for(chip_name, type):
|
|||||||
|
|
||||||
return docs
|
return docs
|
||||||
|
|
||||||
|
|
||||||
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...')
|
||||||
@ -511,7 +515,6 @@ def parse_chips():
|
|||||||
rcc = removesuffix(rcc, '-rcc_v1_0')
|
rcc = removesuffix(rcc, '-rcc_v1_0')
|
||||||
rcc = removesuffix(rcc, '_rcc_v1_0')
|
rcc = removesuffix(rcc, '_rcc_v1_0')
|
||||||
|
|
||||||
|
|
||||||
core = r['Core']
|
core = r['Core']
|
||||||
family = r['@Family']
|
family = r['@Family']
|
||||||
|
|
||||||
@ -673,6 +676,8 @@ def parse_chips():
|
|||||||
p['clock'] = "APB4"
|
p['clock'] = "APB4"
|
||||||
elif chip['family'] == 'STM32H7' and pname.startswith('I2C'):
|
elif chip['family'] == 'STM32H7' and pname.startswith('I2C'):
|
||||||
p['clock'] = "APB1"
|
p['clock'] = "APB1"
|
||||||
|
elif chip['family'] == 'STM32F0' and pname == 'USART1':
|
||||||
|
p['clock'] = "APB2"
|
||||||
|
|
||||||
if block := match_peri(chip_name+':'+pname+':'+pkind):
|
if block := match_peri(chip_name+':'+pname+':'+pkind):
|
||||||
p['block'] = block
|
p['block'] = block
|
||||||
@ -944,10 +949,10 @@ def parse_dma():
|
|||||||
event_dma = peri_dma['channels'][event]
|
event_dma = peri_dma['channels'][event]
|
||||||
entry = OrderedDict({
|
entry = OrderedDict({
|
||||||
'channel': dma_peri_name + '_' + channel_name,
|
'channel': dma_peri_name + '_' + channel_name,
|
||||||
} )
|
})
|
||||||
if original_target_name in requests:
|
if original_target_name in requests:
|
||||||
entry['request'] = requests[original_target_name]
|
entry['request'] = requests[original_target_name]
|
||||||
event_dma.append( entry )
|
event_dma.append(entry)
|
||||||
dma_channels[ff] = chip_dma
|
dma_channels[ff] = chip_dma
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user