aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-04-14 16:30:36 -0500
committerxoviat <[email protected]>2023-04-14 16:30:36 -0500
commit650589ab3f030ed63c129245c89e3056bc5f31e5 (patch)
tree7c10f011f9c77912b2a1b85058e5b4d626f81af4
parentc1d5f868714accd6780913e652d8a884368c60d3 (diff)
stm32/rcc: add plli2s to Clocks and cfg directives
-rw-r--r--embassy-stm32/src/rcc/f4.rs8
-rw-r--r--embassy-stm32/src/rcc/mod.rs3
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