aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/i2s.rs2
-rw-r--r--embassy-stm32/src/rcc/f2.rs2
-rw-r--r--embassy-stm32/src/rcc/f4.rs10
-rw-r--r--embassy-stm32/src/rcc/f7.rs2
-rw-r--r--embassy-stm32/src/rcc/mod.rs17
-rw-r--r--embassy-stm32/src/sdmmc/mod.rs6
6 files changed, 22 insertions, 17 deletions
diff --git a/embassy-stm32/src/i2s.rs b/embassy-stm32/src/i2s.rs
index 8fd3a8c6a..67d40c479 100644
--- a/embassy-stm32/src/i2s.rs
+++ b/embassy-stm32/src/i2s.rs
@@ -170,7 +170,7 @@ impl<'d, T: Instance, Tx, Rx> I2S<'d, T, Tx, Rx> {
170 let spi = Spi::new_internal(peri, txdma, rxdma, spi_cfg); 170 let spi = Spi::new_internal(peri, txdma, rxdma, spi_cfg);
171 171
172 #[cfg(all(rcc_f4, not(stm32f410)))] 172 #[cfg(all(rcc_f4, not(stm32f410)))]
173 let pclk = unsafe { get_freqs() }.plli2s.unwrap(); 173 let pclk = unsafe { get_freqs() }.plli2s1_q.unwrap();
174 174
175 #[cfg(stm32f410)] 175 #[cfg(stm32f410)]
176 let pclk = T::frequency(); 176 let pclk = T::frequency();
diff --git a/embassy-stm32/src/rcc/f2.rs b/embassy-stm32/src/rcc/f2.rs
index ab588233f..34720e83e 100644
--- a/embassy-stm32/src/rcc/f2.rs
+++ b/embassy-stm32/src/rcc/f2.rs
@@ -314,7 +314,7 @@ pub(crate) unsafe fn init(config: Config) {
314 apb1_tim: apb1_tim_freq, 314 apb1_tim: apb1_tim_freq,
315 apb2: apb2_freq, 315 apb2: apb2_freq,
316 apb2_tim: apb2_tim_freq, 316 apb2_tim: apb2_tim_freq,
317 pll48: Some(pll_clocks.pll48_freq), 317 pll1_q: Some(pll_clocks.pll48_freq),
318 rtc, 318 rtc,
319 }); 319 });
320} 320}
diff --git a/embassy-stm32/src/rcc/f4.rs b/embassy-stm32/src/rcc/f4.rs
index 79c2d2f66..91ad81b28 100644
--- a/embassy-stm32/src/rcc/f4.rs
+++ b/embassy-stm32/src/rcc/f4.rs
@@ -350,13 +350,17 @@ pub(crate) unsafe fn init(config: Config) {
350 ahb2: Hertz(hclk), 350 ahb2: Hertz(hclk),
351 ahb3: Hertz(hclk), 351 ahb3: Hertz(hclk),
352 352
353 pll48: plls.pll48clk.map(Hertz), 353 pll1_q: plls.pll48clk.map(Hertz),
354 354
355 #[cfg(not(stm32f410))] 355 #[cfg(not(stm32f410))]
356 plli2s: plls.plli2sclk.map(Hertz), 356 plli2s1_q: plls.plli2sclk.map(Hertz),
357 #[cfg(not(stm32f410))]
358 plli2s1_r: None,
357 359
358 #[cfg(any(stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479))] 360 #[cfg(any(stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479))]
359 pllsai: plls.pllsaiclk.map(Hertz), 361 pllsai1_q: plls.pllsaiclk.map(Hertz),
362 #[cfg(any(stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479))]
363 pllsai1_r: None,
360 364
361 rtc, 365 rtc,
362 }); 366 });
diff --git a/embassy-stm32/src/rcc/f7.rs b/embassy-stm32/src/rcc/f7.rs
index 0a0a1cf28..f0e01149c 100644
--- a/embassy-stm32/src/rcc/f7.rs
+++ b/embassy-stm32/src/rcc/f7.rs
@@ -269,7 +269,7 @@ pub(crate) unsafe fn init(config: Config) {
269 ahb2: Hertz(hclk), 269 ahb2: Hertz(hclk),
270 ahb3: Hertz(hclk), 270 ahb3: Hertz(hclk),
271 271
272 pll48: plls.pll48clk.map(Hertz), 272 pll1_q: plls.pll48clk.map(Hertz),
273 273
274 rtc, 274 rtc,
275 }); 275 });
diff --git a/embassy-stm32/src/rcc/mod.rs b/embassy-stm32/src/rcc/mod.rs
index 1603a2c36..0cc9e6a64 100644
--- a/embassy-stm32/src/rcc/mod.rs
+++ b/embassy-stm32/src/rcc/mod.rs
@@ -104,24 +104,25 @@ pub struct Clocks {
104 #[cfg(any(rcc_h5, rcc_h50, rcc_h7, rcc_h7rm0433, rcc_h7ab, rcc_wba))] 104 #[cfg(any(rcc_h5, rcc_h50, rcc_h7, rcc_h7rm0433, rcc_h7ab, rcc_wba))]
105 pub ahb4: Hertz, 105 pub ahb4: Hertz,
106 106
107 #[cfg(any(rcc_f2, rcc_f4, rcc_f410, rcc_f7))]
108 pub pll48: Option<Hertz>,
109
110 #[cfg(all(rcc_f4, not(stm32f410)))] 107 #[cfg(all(rcc_f4, not(stm32f410)))]
111 pub plli2s: Option<Hertz>, 108 pub plli2s1_q: Option<Hertz>,
109 #[cfg(all(rcc_f4, not(stm32f410)))]
110 pub plli2s1_r: Option<Hertz>,
112 111
113 #[cfg(any(stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479))] 112 #[cfg(any(stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479))]
114 pub pllsai: Option<Hertz>, 113 pub pllsai1_q: Option<Hertz>,
114 #[cfg(any(stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479))]
115 pub pllsai1_r: Option<Hertz>,
115 116
116 #[cfg(stm32g4)] 117 #[cfg(stm32g4)]
117 pub pll1_p: Option<Hertz>, 118 pub pll1_p: Option<Hertz>,
118 #[cfg(any(stm32h5, stm32h7))] 119 #[cfg(any(stm32h5, stm32h7, rcc_f2, rcc_f4, rcc_f410, rcc_f7))]
119 pub pll1_q: Option<Hertz>, 120 pub pll1_q: Option<Hertz>,
120 #[cfg(any(stm32h5, stm32h7))] 121 #[cfg(any(stm32h5, stm32h7))]
121 pub pll2_q: Option<Hertz>,
122 #[cfg(any(stm32h5, stm32h7))]
123 pub pll2_p: Option<Hertz>, 122 pub pll2_p: Option<Hertz>,
124 #[cfg(any(stm32h5, stm32h7))] 123 #[cfg(any(stm32h5, stm32h7))]
124 pub pll2_q: Option<Hertz>,
125 #[cfg(any(stm32h5, stm32h7))]
125 pub pll2_r: Option<Hertz>, 126 pub pll2_r: Option<Hertz>,
126 #[cfg(any(stm32h5, stm32h7))] 127 #[cfg(any(stm32h5, stm32h7))]
127 pub pll3_p: Option<Hertz>, 128 pub pll3_p: Option<Hertz>,
diff --git a/embassy-stm32/src/sdmmc/mod.rs b/embassy-stm32/src/sdmmc/mod.rs
index bc29fe549..11ff24645 100644
--- a/embassy-stm32/src/sdmmc/mod.rs
+++ b/embassy-stm32/src/sdmmc/mod.rs
@@ -1457,7 +1457,7 @@ cfg_if::cfg_if! {
1457 macro_rules! kernel_clk { 1457 macro_rules! kernel_clk {
1458 ($inst:ident) => { 1458 ($inst:ident) => {
1459 critical_section::with(|_| unsafe { 1459 critical_section::with(|_| unsafe {
1460 crate::rcc::get_freqs().pll48 1460 crate::rcc::get_freqs().pll1_q
1461 }).expect("PLL48 is required for SDIO") 1461 }).expect("PLL48 is required for SDIO")
1462 } 1462 }
1463 } 1463 }
@@ -1469,7 +1469,7 @@ cfg_if::cfg_if! {
1469 if sdmmcsel == crate::pac::rcc::vals::Sdmmcsel::SYSCLK { 1469 if sdmmcsel == crate::pac::rcc::vals::Sdmmcsel::SYSCLK {
1470 crate::rcc::get_freqs().sys 1470 crate::rcc::get_freqs().sys
1471 } else { 1471 } else {
1472 crate::rcc::get_freqs().pll48.expect("PLL48 is required for SDMMC") 1472 crate::rcc::get_freqs().pll1_q.expect("PLL48 is required for SDMMC")
1473 } 1473 }
1474 }) 1474 })
1475 }; 1475 };
@@ -1479,7 +1479,7 @@ cfg_if::cfg_if! {
1479 if sdmmcsel == crate::pac::rcc::vals::Sdmmcsel::SYSCLK { 1479 if sdmmcsel == crate::pac::rcc::vals::Sdmmcsel::SYSCLK {
1480 crate::rcc::get_freqs().sys 1480 crate::rcc::get_freqs().sys
1481 } else { 1481 } else {
1482 crate::rcc::get_freqs().pll48.expect("PLL48 is required for SDMMC") 1482 crate::rcc::get_freqs().pll1_q.expect("PLL48 is required for SDMMC")
1483 } 1483 }
1484 }) 1484 })
1485 }; 1485 };