diff options
| author | xoviat <[email protected]> | 2023-04-14 16:30:36 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-04-14 16:30:36 -0500 |
| commit | 650589ab3f030ed63c129245c89e3056bc5f31e5 (patch) | |
| tree | 7c10f011f9c77912b2a1b85058e5b4d626f81af4 | |
| parent | c1d5f868714accd6780913e652d8a884368c60d3 (diff) | |
stm32/rcc: add plli2s to Clocks and cfg directives
| -rw-r--r-- | embassy-stm32/src/rcc/f4.rs | 8 | ||||
| -rw-r--r-- | embassy-stm32/src/rcc/mod.rs | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/embassy-stm32/src/rcc/f4.rs b/embassy-stm32/src/rcc/f4.rs index e8dfba011..5427d2fb4 100644 --- a/embassy-stm32/src/rcc/f4.rs +++ b/embassy-stm32/src/rcc/f4.rs | |||
| @@ -28,6 +28,8 @@ pub struct Config { | |||
| 28 | pub sys_ck: Option<Hertz>, | 28 | pub sys_ck: Option<Hertz>, |
| 29 | pub pclk1: Option<Hertz>, | 29 | pub pclk1: Option<Hertz>, |
| 30 | pub pclk2: Option<Hertz>, | 30 | pub pclk2: Option<Hertz>, |
| 31 | |||
| 32 | #[cfg(not(any(stm32f410, stm32f411, stm32f412, stm32f413, stm32f423, stm32f446)))] | ||
| 31 | pub plli2s: Option<Hertz>, | 33 | pub plli2s: Option<Hertz>, |
| 32 | 34 | ||
| 33 | pub pll48: bool, | 35 | pub pll48: bool, |
| @@ -342,7 +344,10 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 342 | pllsrcclk, | 344 | pllsrcclk, |
| 343 | config.hse.is_some(), | 345 | config.hse.is_some(), |
| 344 | if sysclk_on_pll { Some(sysclk) } else { None }, | 346 | if sysclk_on_pll { Some(sysclk) } else { None }, |
| 347 | #[cfg(not(any(stm32f410, stm32f411, stm32f412, stm32f413, stm32f423, stm32f446)))] | ||
| 345 | config.plli2s.map(|i2s| i2s.0), | 348 | config.plli2s.map(|i2s| i2s.0), |
| 349 | #[cfg(any(stm32f410, stm32f411, stm32f412, stm32f413, stm32f423, stm32f446))] | ||
| 350 | None, | ||
| 346 | config.pll48, | 351 | config.pll48, |
| 347 | ); | 352 | ); |
| 348 | 353 | ||
| @@ -473,6 +478,9 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 473 | ahb3: Hertz(hclk), | 478 | ahb3: Hertz(hclk), |
| 474 | 479 | ||
| 475 | pll48: plls.pll48clk.map(Hertz), | 480 | pll48: plls.pll48clk.map(Hertz), |
| 481 | |||
| 482 | #[cfg(not(any(stm32f410, stm32f411, stm32f412, stm32f413, stm32f423, stm32f446)))] | ||
| 483 | plli2s: plls.plli2sclk.map(Hertz), | ||
| 476 | }); | 484 | }); |
| 477 | } | 485 | } |
| 478 | 486 | ||
diff --git a/embassy-stm32/src/rcc/mod.rs b/embassy-stm32/src/rcc/mod.rs index d6a31f17b..7c1e416fe 100644 --- a/embassy-stm32/src/rcc/mod.rs +++ b/embassy-stm32/src/rcc/mod.rs | |||
| @@ -60,6 +60,9 @@ pub struct Clocks { | |||
| 60 | #[cfg(any(rcc_f2, rcc_f4, rcc_f410, rcc_f7))] | 60 | #[cfg(any(rcc_f2, rcc_f4, rcc_f410, rcc_f7))] |
| 61 | pub pll48: Option<Hertz>, | 61 | pub pll48: Option<Hertz>, |
| 62 | 62 | ||
| 63 | #[cfg(all(stm32f4, not(any(stm32f410, stm32f411, stm32f412, stm32f413, stm32f423, stm32f446))))] | ||
| 64 | pub plli2s: Option<Hertz>, | ||
| 65 | |||
| 63 | #[cfg(stm32f1)] | 66 | #[cfg(stm32f1)] |
| 64 | pub adc: Hertz, | 67 | pub adc: Hertz, |
| 65 | 68 | ||
