rcc: more cleanup

This commit is contained in:
xoviat 2023-10-17 16:57:33 -05:00
parent c20cbde88f
commit c61495fd4e
18 changed files with 30 additions and 33 deletions

View File

@ -1048,7 +1048,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 2
- name: HSI48
@ -1075,6 +1075,6 @@ enum/USBSW:
- name: HSI48
description: NOT ALLOWED IN F0x0 - HSI48 selected as USB clock source
value: 0
- name: PLLCLK
- name: PLL1_P
description: PLL clock selected as USB clock source
value: 1

View File

@ -822,7 +822,7 @@ enum/SW:
- name: HSE
description: HSE selected as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL selected as system clock
value: 2
enum/USBPRE:

View File

@ -844,6 +844,6 @@ enum/SW:
- name: HSE
description: HSE selected as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL selected as system clock
value: 2

View File

@ -1980,6 +1980,6 @@ enum/SW:
- name: HSE
description: HSE selected as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL selected as system clock
value: 2

View File

@ -1238,7 +1238,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 2
enum/TIMSW:
@ -1247,7 +1247,7 @@ enum/TIMSW:
- name: PCLK2
description: PCLK2 clock (doubled frequency when prescaled)
value: 0
- name: PLL
- name: PLL1_P
description: PLL vco output (running up to 144 MHz)
value: 1
enum/USARTSW:

View File

@ -1214,7 +1214,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 2
enum/TIMSW:
@ -1223,7 +1223,7 @@ enum/TIMSW:
- name: PCLK2
description: PCLK2 clock (doubled frequency when prescaled)
value: 0
- name: PLL
- name: PLL1_P
description: PLL vco output (running up to 144 MHz)
value: 1
enum/USARTSW:

View File

@ -3467,7 +3467,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 2
enum/TIMPRE:

View File

@ -1926,7 +1926,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 2
enum/TIMPRE:

View File

@ -3144,7 +3144,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 1
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 2
enum/TIMPRE:

View File

@ -1848,7 +1848,7 @@ enum/SW:
enum/TIM15SEL:
bit_size: 1
variants:
- name: TIMPCLK
- name: PCLK1_TIM
description: TIMPCLK used as TIM15 clock source
value: 0
- name: PLL1_Q
@ -1857,7 +1857,7 @@ enum/TIM15SEL:
enum/TIM1SEL:
bit_size: 1
variants:
- name: TIMPCLK
- name: PCLK1_TIM
description: TIMPCLK used as TIM1 clock source
value: 0
- name: PLL1_Q

View File

@ -3697,7 +3697,7 @@ enum/LPTIM2SEL:
enum/LPUARTSEL:
bit_size: 3
variants:
- name: RCC_PCLK_D3
- name: PCLK3
description: rcc_pclk_d3 selected as peripheral clock
value: 0
- name: PLL2_Q

View File

@ -2632,7 +2632,7 @@ enum/LPTIM2SEL:
enum/LPUARTSEL:
bit_size: 3
variants:
- name: RCC_PCLK_D3
- name: PCLK3
description: rcc_pclk_d3 selected as peripheral clock
value: 0
- name: PLL2_Q

View File

@ -3697,7 +3697,7 @@ enum/LPTIM2SEL:
enum/LPUARTSEL:
bit_size: 3
variants:
- name: RCC_PCLK_D3
- name: PCLK3
description: rcc_pclk_d3 selected as peripheral clock
value: 0
- name: PLL2_Q

View File

@ -1201,7 +1201,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 2
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 3
enum/UARTSEL:

View File

@ -1240,7 +1240,7 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 2
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 3
enum/UARTSEL:

View File

@ -1045,6 +1045,6 @@ enum/SW:
- name: HSE
description: HSE oscillator used as system clock
value: 2
- name: PLL
- name: PLL1_P
description: PLL used as system clock
value: 3

View File

@ -2267,7 +2267,7 @@ enum/SW:
- name: HSE
description: HSE selected as system clock
value: 2
- name: PLL
- name: PLL1_P
description: PLL selected as system clock
value: 3
enum/SWPMI1SEL:

View File

@ -73,22 +73,17 @@ impl PeripheralToClock {
"SAI2_EXTCLK",
"B_0x0",
"B_0x1",
"PLL",
"PLLCLK",
"RCC_PCLK_D3",
"I2S_CKIN",
"DAC_HOLD",
"DAC_HOLD_2",
"TIMPCLK",
"RTCCLK",
"RTC_WKUP",
"DSIPHY",
"PLLDSICLK",
]);
for (rcc_name, ir) in &registers.registers {
if let Some(rcc_name) = rcc_name.strip_prefix("rcc_") {
let rcc_enum_map: HashMap<&String, HashMap<&String, &Enum>> = {
let rcc_enum_map: HashMap<&String, HashMap<&String, (&String, &Enum)>> = {
let rcc_blocks = &ir.blocks.get("RCC").unwrap().items;
rcc_blocks
@ -101,10 +96,10 @@ impl PeripheralToClock {
f.fields
.iter()
.filter_map(|f| {
let enumm = f.enumm.as_ref()?;
let enumm = ir.enums.get(enumm)?;
let enumm_name = f.enumm.as_ref()?;
let enumm = ir.enums.get(enumm_name)?;
Some((&f.name, enumm))
Some((&f.name, (enumm_name, enumm)))
})
.collect(),
)
@ -124,7 +119,7 @@ impl PeripheralToClock {
_ => return Ok(()),
};
let enumm = match block_map.get(field) {
let (enumm_name, enumm) = match block_map.get(field) {
Some(enumm) => enumm,
_ => return Ok(()),
};
@ -135,15 +130,17 @@ impl PeripheralToClock {
if !allowed_variants.contains(name.as_str()) {
return Err(anyhow!(
"rcc: prohibited variant name {} for rcc_{}",
"rcc: prohibited variant name {} in enum {} for rcc_{}",
v.name.as_str(),
enumm_name,
rcc_name
));
}
} else if !allowed_variants.contains(v.name.as_str()) {
return Err(anyhow!(
"rcc: prohibited variant name {} for rcc_{}",
"rcc: prohibited variant name {} in enum {} for rcc_{}",
v.name.as_str(),
enumm_name,
rcc_name
));
}