commit
6f7449303b
@ -1048,7 +1048,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: HSI48
|
- name: HSI48
|
||||||
@ -1075,6 +1075,6 @@ enum/USBSW:
|
|||||||
- name: HSI48
|
- name: HSI48
|
||||||
description: NOT ALLOWED IN F0x0 - HSI48 selected as USB clock source
|
description: NOT ALLOWED IN F0x0 - HSI48 selected as USB clock source
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLLCLK
|
- name: PLL1_P
|
||||||
description: PLL clock selected as USB clock source
|
description: PLL clock selected as USB clock source
|
||||||
value: 1
|
value: 1
|
||||||
|
@ -822,7 +822,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE selected as system clock
|
description: HSE selected as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL selected as system clock
|
description: PLL selected as system clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/USBPRE:
|
enum/USBPRE:
|
||||||
|
@ -844,6 +844,6 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE selected as system clock
|
description: HSE selected as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL selected as system clock
|
description: PLL selected as system clock
|
||||||
value: 2
|
value: 2
|
||||||
|
@ -1980,6 +1980,6 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE selected as system clock
|
description: HSE selected as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL selected as system clock
|
description: PLL selected as system clock
|
||||||
value: 2
|
value: 2
|
||||||
|
@ -1238,16 +1238,16 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/TIMSW:
|
enum/TIMSW:
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
variants:
|
variants:
|
||||||
- name: PCLK2
|
- name: PCLK2_TIM
|
||||||
description: PCLK2 clock (doubled frequency when prescaled)
|
description: PCLK2 clock (doubled frequency when prescaled)
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL vco output (running up to 144 MHz)
|
description: PLL vco output (running up to 144 MHz)
|
||||||
value: 1
|
value: 1
|
||||||
enum/USARTSW:
|
enum/USARTSW:
|
||||||
|
@ -1214,16 +1214,16 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/TIMSW:
|
enum/TIMSW:
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
variants:
|
variants:
|
||||||
- name: PCLK2
|
- name: PCLK2_TIM
|
||||||
description: PCLK2 clock (doubled frequency when prescaled)
|
description: PCLK2 clock (doubled frequency when prescaled)
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL vco output (running up to 144 MHz)
|
description: PLL vco output (running up to 144 MHz)
|
||||||
value: 1
|
value: 1
|
||||||
enum/USARTSW:
|
enum/USARTSW:
|
||||||
|
@ -3467,7 +3467,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/TIMPRE:
|
enum/TIMPRE:
|
||||||
|
@ -1926,7 +1926,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/TIMPRE:
|
enum/TIMPRE:
|
||||||
|
@ -3144,7 +3144,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/TIMPRE:
|
enum/TIMPRE:
|
||||||
|
@ -1848,7 +1848,7 @@ enum/SW:
|
|||||||
enum/TIM15SEL:
|
enum/TIM15SEL:
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
variants:
|
variants:
|
||||||
- name: TIMPCLK
|
- name: PCLK1_TIM
|
||||||
description: TIMPCLK used as TIM15 clock source
|
description: TIMPCLK used as TIM15 clock source
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL1_Q
|
- name: PLL1_Q
|
||||||
@ -1857,7 +1857,7 @@ enum/TIM15SEL:
|
|||||||
enum/TIM1SEL:
|
enum/TIM1SEL:
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
variants:
|
variants:
|
||||||
- name: TIMPCLK
|
- name: PCLK1_TIM
|
||||||
description: TIMPCLK used as TIM1 clock source
|
description: TIMPCLK used as TIM1 clock source
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL1_Q
|
- name: PLL1_Q
|
||||||
|
@ -3697,7 +3697,7 @@ enum/LPTIM2SEL:
|
|||||||
enum/LPUARTSEL:
|
enum/LPUARTSEL:
|
||||||
bit_size: 3
|
bit_size: 3
|
||||||
variants:
|
variants:
|
||||||
- name: RCC_PCLK_D3
|
- name: PCLK3
|
||||||
description: rcc_pclk_d3 selected as peripheral clock
|
description: rcc_pclk_d3 selected as peripheral clock
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL2_Q
|
- name: PLL2_Q
|
||||||
|
@ -2632,7 +2632,7 @@ enum/LPTIM2SEL:
|
|||||||
enum/LPUARTSEL:
|
enum/LPUARTSEL:
|
||||||
bit_size: 3
|
bit_size: 3
|
||||||
variants:
|
variants:
|
||||||
- name: RCC_PCLK_D3
|
- name: PCLK3
|
||||||
description: rcc_pclk_d3 selected as peripheral clock
|
description: rcc_pclk_d3 selected as peripheral clock
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL2_Q
|
- name: PLL2_Q
|
||||||
|
@ -3697,7 +3697,7 @@ enum/LPTIM2SEL:
|
|||||||
enum/LPUARTSEL:
|
enum/LPUARTSEL:
|
||||||
bit_size: 3
|
bit_size: 3
|
||||||
variants:
|
variants:
|
||||||
- name: RCC_PCLK_D3
|
- name: PCLK3
|
||||||
description: rcc_pclk_d3 selected as peripheral clock
|
description: rcc_pclk_d3 selected as peripheral clock
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLL2_Q
|
- name: PLL2_Q
|
||||||
|
@ -1201,7 +1201,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 3
|
value: 3
|
||||||
enum/UARTSEL:
|
enum/UARTSEL:
|
||||||
|
@ -1240,7 +1240,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 3
|
value: 3
|
||||||
enum/UARTSEL:
|
enum/UARTSEL:
|
||||||
|
@ -1045,6 +1045,6 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE oscillator used as system clock
|
description: HSE oscillator used as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL used as system clock
|
description: PLL used as system clock
|
||||||
value: 3
|
value: 3
|
||||||
|
@ -2267,7 +2267,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE selected as system clock
|
description: HSE selected as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: PLL
|
- name: PLL1_P
|
||||||
description: PLL selected as system clock
|
description: PLL selected as system clock
|
||||||
value: 3
|
value: 3
|
||||||
enum/SWPMI1SEL:
|
enum/SWPMI1SEL:
|
||||||
|
@ -1668,7 +1668,7 @@ enum/ADCSEL:
|
|||||||
- name: DISABLE
|
- name: DISABLE
|
||||||
description: No clock selected
|
description: No clock selected
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLLADC1CLK
|
- name: PLLSAI1_R
|
||||||
description: PLLADC1CLK clock selected
|
description: PLLADC1CLK clock selected
|
||||||
value: 1
|
value: 1
|
||||||
- name: SYS
|
- name: SYS
|
||||||
@ -1716,7 +1716,7 @@ enum/DSISEL:
|
|||||||
- name: DSIPHY
|
- name: DSIPHY
|
||||||
description: DSI-PHY is selected as DSI byte lane clock source (usual case)
|
description: DSI-PHY is selected as DSI byte lane clock source (usual case)
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLLDSICLK
|
- name: PLLSAI2_Q
|
||||||
description: PLLDSICLK is selected as DSI byte lane clock source, used in case DSI PLL and DSIPHY are off (low-power mode)
|
description: PLLDSICLK is selected as DSI byte lane clock source, used in case DSI PLL and DSIPHY are off (low-power mode)
|
||||||
value: 1
|
value: 1
|
||||||
enum/HPRE:
|
enum/HPRE:
|
||||||
@ -1971,7 +1971,7 @@ enum/OSPISEL:
|
|||||||
- name: MSI
|
- name: MSI
|
||||||
description: MSI clock selected as OctoSPI kernel clock
|
description: MSI clock selected as OctoSPI kernel clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL48M1CLK
|
- name: PLL1_Q
|
||||||
description: PLL48M1CLK clock selected as OctoSPI kernel clock
|
description: PLL48M1CLK clock selected as OctoSPI kernel clock
|
||||||
value: 2
|
value: 2
|
||||||
enum/PLLM:
|
enum/PLLM:
|
||||||
@ -2434,7 +2434,7 @@ enum/SDMMCSEL:
|
|||||||
- name: HSI48
|
- name: HSI48
|
||||||
description: 48 MHz clock is selected as SDMMC kernel clock
|
description: 48 MHz clock is selected as SDMMC kernel clock
|
||||||
value: 0
|
value: 0
|
||||||
- name: PLLSAI3CLK
|
- name: PLL1_P
|
||||||
description: PLLSAI3CLK is selected as SDMMC kernel clock, used in case higher frequency than 48MHz is needed (for SDR50 mode)
|
description: PLLSAI3CLK is selected as SDMMC kernel clock, used in case higher frequency than 48MHz is needed (for SDR50 mode)
|
||||||
value: 1
|
value: 1
|
||||||
enum/STOPWUCK:
|
enum/STOPWUCK:
|
||||||
@ -2458,7 +2458,7 @@ enum/SW:
|
|||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE selected as system clock
|
description: HSE selected as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: PLL
|
- name: PLL1_R
|
||||||
description: PLL selected as system clock
|
description: PLL selected as system clock
|
||||||
value: 3
|
value: 3
|
||||||
enum/UART4SEL:
|
enum/UART4SEL:
|
||||||
|
@ -1933,7 +1933,7 @@ enum/CLK48SEL:
|
|||||||
- name: PLLSAI1_Q
|
- name: PLLSAI1_Q
|
||||||
description: PLLSAI1_Q aka PLL48M1CLK clock selected
|
description: PLLSAI1_Q aka PLL48M1CLK clock selected
|
||||||
value: 1
|
value: 1
|
||||||
- name: PLL_Q
|
- name: PLL1_Q
|
||||||
description: PLL_Q aka PLL48M2CLK clock selected
|
description: PLL_Q aka PLL48M2CLK clock selected
|
||||||
value: 2
|
value: 2
|
||||||
- name: MSI
|
- name: MSI
|
||||||
@ -2468,7 +2468,7 @@ enum/PLLSRC:
|
|||||||
- name: MSI
|
- name: MSI
|
||||||
description: MSI selected as PLL input clock
|
description: MSI selected as PLL input clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: HSI16
|
- name: HSI
|
||||||
description: HSI selected as PLL input clock
|
description: HSI selected as PLL input clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: HSE
|
- name: HSE
|
||||||
@ -2513,7 +2513,7 @@ enum/STOPWUCK:
|
|||||||
- name: MSI
|
- name: MSI
|
||||||
description: MSI oscillator selected as wake-up from Stop clock and CSS backup clock
|
description: MSI oscillator selected as wake-up from Stop clock and CSS backup clock
|
||||||
value: 0
|
value: 0
|
||||||
- name: HSI16
|
- name: HSI
|
||||||
description: HSI oscillator selected as wake-up from stop clock and CSS backup clock
|
description: HSI oscillator selected as wake-up from stop clock and CSS backup clock
|
||||||
value: 1
|
value: 1
|
||||||
enum/SW:
|
enum/SW:
|
||||||
@ -2522,12 +2522,12 @@ enum/SW:
|
|||||||
- name: MSI
|
- name: MSI
|
||||||
description: MSI selected as system clock
|
description: MSI selected as system clock
|
||||||
value: 0
|
value: 0
|
||||||
- name: HSI16
|
- name: HSI
|
||||||
description: HSI selected as system clock
|
description: HSI selected as system clock
|
||||||
value: 1
|
value: 1
|
||||||
- name: HSE
|
- name: HSE
|
||||||
description: HSE selected as system clock
|
description: HSE selected as system clock
|
||||||
value: 2
|
value: 2
|
||||||
- name: PLL
|
- name: PLL1_R
|
||||||
description: PLL selected as system clock
|
description: PLL selected as system clock
|
||||||
value: 3
|
value: 3
|
||||||
|
@ -17,7 +17,7 @@ impl PeripheralToClock {
|
|||||||
let mut peripheral_to_clock = HashMap::new();
|
let mut peripheral_to_clock = HashMap::new();
|
||||||
let checked_rccs = HashSet::from([
|
let checked_rccs = HashSet::from([
|
||||||
"c0", "f0", "f1", "f100", "f1c1", "f2", "f3", "f3_v2", "f4", "f410", "f7", "g0", "g4", "h5", "h50", "h7",
|
"c0", "f0", "f1", "f100", "f1c1", "f2", "f3", "f3_v2", "f4", "f410", "f7", "g0", "g4", "h5", "h50", "h7",
|
||||||
"h7ab", "h7rm0433", "l0", "l0_v2", "l1", "l4",
|
"h7ab", "h7rm0433", "l0", "l0_v2", "l1", "l4", "l4plus", "l5",
|
||||||
]);
|
]);
|
||||||
let allowed_variants = HashSet::from([
|
let allowed_variants = HashSet::from([
|
||||||
"DISABLE",
|
"DISABLE",
|
||||||
@ -73,22 +73,17 @@ impl PeripheralToClock {
|
|||||||
"SAI2_EXTCLK",
|
"SAI2_EXTCLK",
|
||||||
"B_0x0",
|
"B_0x0",
|
||||||
"B_0x1",
|
"B_0x1",
|
||||||
"PLL",
|
|
||||||
"PLLCLK",
|
|
||||||
"RCC_PCLK_D3",
|
|
||||||
"I2S_CKIN",
|
"I2S_CKIN",
|
||||||
"DAC_HOLD",
|
"DAC_HOLD",
|
||||||
"DAC_HOLD_2",
|
"DAC_HOLD_2",
|
||||||
"TIMPCLK",
|
|
||||||
"RTCCLK",
|
"RTCCLK",
|
||||||
"RTC_WKUP",
|
"RTC_WKUP",
|
||||||
"DSIPHY",
|
"DSIPHY",
|
||||||
"PLLDSICLK",
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
for (rcc_name, ir) in ®isters.registers {
|
for (rcc_name, ir) in ®isters.registers {
|
||||||
if let Some(rcc_name) = rcc_name.strip_prefix("rcc_") {
|
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;
|
let rcc_blocks = &ir.blocks.get("RCC").unwrap().items;
|
||||||
|
|
||||||
rcc_blocks
|
rcc_blocks
|
||||||
@ -101,10 +96,10 @@ impl PeripheralToClock {
|
|||||||
f.fields
|
f.fields
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|f| {
|
.filter_map(|f| {
|
||||||
let enumm = f.enumm.as_ref()?;
|
let enumm_name = f.enumm.as_ref()?;
|
||||||
let enumm = ir.enums.get(enumm)?;
|
let enumm = ir.enums.get(enumm_name)?;
|
||||||
|
|
||||||
Some((&f.name, enumm))
|
Some((&f.name, (enumm_name, enumm)))
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
)
|
)
|
||||||
@ -124,7 +119,7 @@ impl PeripheralToClock {
|
|||||||
_ => return Ok(()),
|
_ => return Ok(()),
|
||||||
};
|
};
|
||||||
|
|
||||||
let enumm = match block_map.get(field) {
|
let (enumm_name, enumm) = match block_map.get(field) {
|
||||||
Some(enumm) => enumm,
|
Some(enumm) => enumm,
|
||||||
_ => return Ok(()),
|
_ => return Ok(()),
|
||||||
};
|
};
|
||||||
@ -135,15 +130,17 @@ impl PeripheralToClock {
|
|||||||
|
|
||||||
if !allowed_variants.contains(name.as_str()) {
|
if !allowed_variants.contains(name.as_str()) {
|
||||||
return Err(anyhow!(
|
return Err(anyhow!(
|
||||||
"rcc: prohibited variant name {} for rcc_{}",
|
"rcc: prohibited variant name {} in enum {} for rcc_{}",
|
||||||
v.name.as_str(),
|
v.name.as_str(),
|
||||||
|
enumm_name,
|
||||||
rcc_name
|
rcc_name
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
} else if !allowed_variants.contains(v.name.as_str()) {
|
} else if !allowed_variants.contains(v.name.as_str()) {
|
||||||
return Err(anyhow!(
|
return Err(anyhow!(
|
||||||
"rcc: prohibited variant name {} for rcc_{}",
|
"rcc: prohibited variant name {} in enum {} for rcc_{}",
|
||||||
v.name.as_str(),
|
v.name.as_str(),
|
||||||
|
enumm_name,
|
||||||
rcc_name
|
rcc_name
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user