diff options
| author | xoviat <[email protected]> | 2023-10-16 00:52:47 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-10-16 00:52:47 +0000 |
| commit | f54753beaade16a5c56c27c70b51adaac175e0ae (patch) | |
| tree | e953c09c0a5fa93c098516e0f16175857c506096 | |
| parent | cd92bc3145f1cc7e0182a45dd898bc737e5587b6 (diff) | |
| parent | b24520579a9fc8ec46c10d066c24231de0e124c1 (diff) | |
Merge pull request #2067 from xoviat/rcc
rcc: update pll clock naming
26 files changed, 167 insertions, 156 deletions
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index 0629bc095..290bcf6aa 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml | |||
| @@ -58,7 +58,7 @@ rand_core = "0.6.3" | |||
| 58 | sdio-host = "0.5.0" | 58 | sdio-host = "0.5.0" |
| 59 | embedded-sdmmc = { git = "https://github.com/embassy-rs/embedded-sdmmc-rs", rev = "a4f293d3a6f72158385f79c98634cb8a14d0d2fc", optional = true } | 59 | embedded-sdmmc = { git = "https://github.com/embassy-rs/embedded-sdmmc-rs", rev = "a4f293d3a6f72158385f79c98634cb8a14d0d2fc", optional = true } |
| 60 | critical-section = "1.1" | 60 | critical-section = "1.1" |
| 61 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-7dafe9d8bbc739be48199185f0caa1582b1da3f7" } | 61 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-01a757e40df688efcda23607185640e1c2396ba9" } |
| 62 | vcell = "0.1.3" | 62 | vcell = "0.1.3" |
| 63 | bxcan = "0.7.0" | 63 | bxcan = "0.7.0" |
| 64 | nb = "1.0.0" | 64 | nb = "1.0.0" |
| @@ -76,7 +76,7 @@ critical-section = { version = "1.1", features = ["std"] } | |||
| 76 | [build-dependencies] | 76 | [build-dependencies] |
| 77 | proc-macro2 = "1.0.36" | 77 | proc-macro2 = "1.0.36" |
| 78 | quote = "1.0.15" | 78 | quote = "1.0.15" |
| 79 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-7dafe9d8bbc739be48199185f0caa1582b1da3f7", default-features = false, features = ["metadata"]} | 79 | stm32-metapac = { git = "https://github.com/embassy-rs/stm32-data-generated", tag = "stm32-data-01a757e40df688efcda23607185640e1c2396ba9", default-features = false, features = ["metadata"]} |
| 80 | 80 | ||
| 81 | 81 | ||
| 82 | [features] | 82 | [features] |
diff --git a/embassy-stm32/build.rs b/embassy-stm32/build.rs index 45aad027d..d118b851e 100644 --- a/embassy-stm32/build.rs +++ b/embassy-stm32/build.rs | |||
| @@ -466,7 +466,13 @@ fn main() { | |||
| 466 | 466 | ||
| 467 | let ptype = if let Some(reg) = &p.registers { reg.kind } else { "" }; | 467 | let ptype = if let Some(reg) = &p.registers { reg.kind } else { "" }; |
| 468 | let pname = format_ident!("{}", p.name); | 468 | let pname = format_ident!("{}", p.name); |
| 469 | let clk = format_ident!("{}", rcc.clock.to_ascii_lowercase()); | 469 | let clk = format_ident!( |
| 470 | "{}", | ||
| 471 | rcc.clock | ||
| 472 | .to_ascii_lowercase() | ||
| 473 | .replace("ahb", "hclk") | ||
| 474 | .replace("apb", "pclk") | ||
| 475 | ); | ||
| 470 | let en_reg = format_ident!("{}", en.register.to_ascii_lowercase()); | 476 | let en_reg = format_ident!("{}", en.register.to_ascii_lowercase()); |
| 471 | let set_en_field = format_ident!("set_{}", en.field.to_ascii_lowercase()); | 477 | let set_en_field = format_ident!("set_{}", en.field.to_ascii_lowercase()); |
| 472 | 478 | ||
| @@ -523,7 +529,7 @@ fn main() { | |||
| 523 | let variant_name = format_ident!("{}", v.name); | 529 | let variant_name = format_ident!("{}", v.name); |
| 524 | let clock_name = format_ident!("{}", v.name.to_ascii_lowercase()); | 530 | let clock_name = format_ident!("{}", v.name.to_ascii_lowercase()); |
| 525 | 531 | ||
| 526 | if v.name.starts_with("AHB") || v.name.starts_with("APB") || v.name == "SYS" { | 532 | if v.name.starts_with("HCLK") || v.name.starts_with("PCLK") || v.name == "SYS" { |
| 527 | quote! { | 533 | quote! { |
| 528 | #enum_name::#variant_name => unsafe { crate::rcc::get_freqs().#clock_name }, | 534 | #enum_name::#variant_name => unsafe { crate::rcc::get_freqs().#clock_name }, |
| 529 | } | 535 | } |
diff --git a/embassy-stm32/src/dac/mod.rs b/embassy-stm32/src/dac/mod.rs index a3c7823cf..3d1a820ed 100644 --- a/embassy-stm32/src/dac/mod.rs +++ b/embassy-stm32/src/dac/mod.rs | |||
| @@ -564,7 +564,7 @@ foreach_peripheral!( | |||
| 564 | #[cfg(any(rcc_h7, rcc_h7rm0433))] | 564 | #[cfg(any(rcc_h7, rcc_h7rm0433))] |
| 565 | impl crate::rcc::sealed::RccPeripheral for peripherals::$inst { | 565 | impl crate::rcc::sealed::RccPeripheral for peripherals::$inst { |
| 566 | fn frequency() -> crate::time::Hertz { | 566 | fn frequency() -> crate::time::Hertz { |
| 567 | critical_section::with(|_| unsafe { crate::rcc::get_freqs().apb1 }) | 567 | critical_section::with(|_| unsafe { crate::rcc::get_freqs().pclk1 }) |
| 568 | } | 568 | } |
| 569 | 569 | ||
| 570 | fn enable_and_reset_with_cs(_cs: critical_section::CriticalSection) { | 570 | fn enable_and_reset_with_cs(_cs: critical_section::CriticalSection) { |
diff --git a/embassy-stm32/src/eth/v1/mod.rs b/embassy-stm32/src/eth/v1/mod.rs index 631a9377f..13e53f687 100644 --- a/embassy-stm32/src/eth/v1/mod.rs +++ b/embassy-stm32/src/eth/v1/mod.rs | |||
| @@ -191,7 +191,7 @@ impl<'d, T: Instance, P: PHY> Ethernet<'d, T, P> { | |||
| 191 | // TODO MTU size setting not found for v1 ethernet, check if correct | 191 | // TODO MTU size setting not found for v1 ethernet, check if correct |
| 192 | 192 | ||
| 193 | // NOTE(unsafe) We got the peripheral singleton, which means that `rcc::init` was called | 193 | // NOTE(unsafe) We got the peripheral singleton, which means that `rcc::init` was called |
| 194 | let hclk = unsafe { crate::rcc::get_freqs() }.ahb1; | 194 | let hclk = unsafe { crate::rcc::get_freqs() }.hclk1; |
| 195 | let hclk_mhz = hclk.0 / 1_000_000; | 195 | let hclk_mhz = hclk.0 / 1_000_000; |
| 196 | 196 | ||
| 197 | // Set the MDC clock frequency in the range 1MHz - 2.5MHz | 197 | // Set the MDC clock frequency in the range 1MHz - 2.5MHz |
diff --git a/embassy-stm32/src/eth/v2/mod.rs b/embassy-stm32/src/eth/v2/mod.rs index 12cf618aa..c77155fea 100644 --- a/embassy-stm32/src/eth/v2/mod.rs +++ b/embassy-stm32/src/eth/v2/mod.rs | |||
| @@ -164,7 +164,7 @@ impl<'d, T: Instance, P: PHY> Ethernet<'d, T, P> { | |||
| 164 | }); | 164 | }); |
| 165 | 165 | ||
| 166 | // NOTE(unsafe) We got the peripheral singleton, which means that `rcc::init` was called | 166 | // NOTE(unsafe) We got the peripheral singleton, which means that `rcc::init` was called |
| 167 | let hclk = unsafe { crate::rcc::get_freqs() }.ahb1; | 167 | let hclk = unsafe { crate::rcc::get_freqs() }.hclk1; |
| 168 | let hclk_mhz = hclk.0 / 1_000_000; | 168 | let hclk_mhz = hclk.0 / 1_000_000; |
| 169 | 169 | ||
| 170 | // Set the MDC clock frequency in the range 1MHz - 2.5MHz | 170 | // Set the MDC clock frequency in the range 1MHz - 2.5MHz |
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/bd.rs b/embassy-stm32/src/rcc/bd.rs index a7c4b4f95..d20f58185 100644 --- a/embassy-stm32/src/rcc/bd.rs +++ b/embassy-stm32/src/rcc/bd.rs | |||
| @@ -106,7 +106,7 @@ impl LsConfig { | |||
| 106 | 106 | ||
| 107 | pub const fn off() -> Self { | 107 | pub const fn off() -> Self { |
| 108 | Self { | 108 | Self { |
| 109 | rtc: RtcClockSource::NOCLOCK, | 109 | rtc: RtcClockSource::DISABLE, |
| 110 | lsi: false, | 110 | lsi: false, |
| 111 | lse: None, | 111 | lse: None, |
| 112 | } | 112 | } |
| @@ -133,7 +133,7 @@ impl LsConfig { | |||
| 133 | Some(LSI_FREQ) | 133 | Some(LSI_FREQ) |
| 134 | } | 134 | } |
| 135 | RtcClockSource::LSE => Some(self.lse.as_ref().unwrap().frequency), | 135 | RtcClockSource::LSE => Some(self.lse.as_ref().unwrap().frequency), |
| 136 | RtcClockSource::NOCLOCK => None, | 136 | RtcClockSource::DISABLE => None, |
| 137 | _ => todo!(), | 137 | _ => todo!(), |
| 138 | }; | 138 | }; |
| 139 | 139 | ||
| @@ -180,7 +180,7 @@ impl LsConfig { | |||
| 180 | ok &= reg.rtcsel() == self.rtc; | 180 | ok &= reg.rtcsel() == self.rtc; |
| 181 | #[cfg(not(rcc_wba))] | 181 | #[cfg(not(rcc_wba))] |
| 182 | { | 182 | { |
| 183 | ok &= reg.rtcen() == (self.rtc != RtcClockSource::NOCLOCK); | 183 | ok &= reg.rtcen() == (self.rtc != RtcClockSource::DISABLE); |
| 184 | } | 184 | } |
| 185 | ok &= reg.lseon() == lse_en; | 185 | ok &= reg.lseon() == lse_en; |
| 186 | ok &= reg.lsebyp() == lse_byp; | 186 | ok &= reg.lsebyp() == lse_byp; |
| @@ -225,7 +225,7 @@ impl LsConfig { | |||
| 225 | while !bdcr().read().lserdy() {} | 225 | while !bdcr().read().lserdy() {} |
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | if self.rtc != RtcClockSource::NOCLOCK { | 228 | if self.rtc != RtcClockSource::DISABLE { |
| 229 | bdcr().modify(|w| { | 229 | bdcr().modify(|w| { |
| 230 | #[cfg(any(rtc_v2h7, rtc_v2l4, rtc_v2wb, rtc_v3, rtc_v3u5))] | 230 | #[cfg(any(rtc_v2h7, rtc_v2l4, rtc_v2wb, rtc_v3, rtc_v3u5))] |
| 231 | assert!(!w.lsecsson(), "RTC is not compatible with LSE CSS, yet."); | 231 | assert!(!w.lsecsson(), "RTC is not compatible with LSE CSS, yet."); |
diff --git a/embassy-stm32/src/rcc/c0.rs b/embassy-stm32/src/rcc/c0.rs index eeb6418ae..e357f0675 100644 --- a/embassy-stm32/src/rcc/c0.rs +++ b/embassy-stm32/src/rcc/c0.rs | |||
| @@ -135,9 +135,9 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 135 | 135 | ||
| 136 | set_freqs(Clocks { | 136 | set_freqs(Clocks { |
| 137 | sys: sys_clk, | 137 | sys: sys_clk, |
| 138 | ahb1: ahb_freq, | 138 | hclk1: ahb_freq, |
| 139 | apb1: apb_freq, | 139 | pclk1: apb_freq, |
| 140 | apb1_tim: apb_tim_freq, | 140 | pclk1_tim: apb_tim_freq, |
| 141 | rtc, | 141 | rtc, |
| 142 | }); | 142 | }); |
| 143 | } | 143 | } |
diff --git a/embassy-stm32/src/rcc/f0.rs b/embassy-stm32/src/rcc/f0.rs index cc712e87a..f7d605fd5 100644 --- a/embassy-stm32/src/rcc/f0.rs +++ b/embassy-stm32/src/rcc/f0.rs | |||
| @@ -162,11 +162,11 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 162 | 162 | ||
| 163 | set_freqs(Clocks { | 163 | set_freqs(Clocks { |
| 164 | sys: Hertz(real_sysclk), | 164 | sys: Hertz(real_sysclk), |
| 165 | apb1: Hertz(pclk), | 165 | pclk1: Hertz(pclk), |
| 166 | apb2: Hertz(pclk), | 166 | pclk2: Hertz(pclk), |
| 167 | apb1_tim: Hertz(pclk * timer_mul), | 167 | pclk1_tim: Hertz(pclk * timer_mul), |
| 168 | apb2_tim: Hertz(pclk * timer_mul), | 168 | pclk2_tim: Hertz(pclk * timer_mul), |
| 169 | ahb1: Hertz(hclk), | 169 | hclk1: Hertz(hclk), |
| 170 | rtc, | 170 | rtc, |
| 171 | }); | 171 | }); |
| 172 | } | 172 | } |
diff --git a/embassy-stm32/src/rcc/f1.rs b/embassy-stm32/src/rcc/f1.rs index 56c49cd8e..b2ae56dbf 100644 --- a/embassy-stm32/src/rcc/f1.rs +++ b/embassy-stm32/src/rcc/f1.rs | |||
| @@ -180,11 +180,11 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 180 | 180 | ||
| 181 | set_freqs(Clocks { | 181 | set_freqs(Clocks { |
| 182 | sys: Hertz(real_sysclk), | 182 | sys: Hertz(real_sysclk), |
| 183 | apb1: Hertz(pclk1), | 183 | pclk1: Hertz(pclk1), |
| 184 | apb2: Hertz(pclk2), | 184 | pclk2: Hertz(pclk2), |
| 185 | apb1_tim: Hertz(pclk1 * timer_mul1), | 185 | pclk1_tim: Hertz(pclk1 * timer_mul1), |
| 186 | apb2_tim: Hertz(pclk2 * timer_mul2), | 186 | pclk2_tim: Hertz(pclk2 * timer_mul2), |
| 187 | ahb1: Hertz(hclk), | 187 | hclk1: Hertz(hclk), |
| 188 | adc: Some(Hertz(adcclk)), | 188 | adc: Some(Hertz(adcclk)), |
| 189 | rtc, | 189 | rtc, |
| 190 | }); | 190 | }); |
diff --git a/embassy-stm32/src/rcc/f2.rs b/embassy-stm32/src/rcc/f2.rs index ab588233f..06ea7e4f0 100644 --- a/embassy-stm32/src/rcc/f2.rs +++ b/embassy-stm32/src/rcc/f2.rs | |||
| @@ -307,14 +307,14 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 307 | 307 | ||
| 308 | set_freqs(Clocks { | 308 | set_freqs(Clocks { |
| 309 | sys: sys_clk, | 309 | sys: sys_clk, |
| 310 | ahb1: ahb_freq, | 310 | hclk1: ahb_freq, |
| 311 | ahb2: ahb_freq, | 311 | hclk2: ahb_freq, |
| 312 | ahb3: ahb_freq, | 312 | hclk3: ahb_freq, |
| 313 | apb1: apb1_freq, | 313 | pclk1: apb1_freq, |
| 314 | apb1_tim: apb1_tim_freq, | 314 | pclk1_tim: apb1_tim_freq, |
| 315 | apb2: apb2_freq, | 315 | pclk2: apb2_freq, |
| 316 | apb2_tim: apb2_tim_freq, | 316 | pclk2_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/f3.rs b/embassy-stm32/src/rcc/f3.rs index 2aa79cec7..3a314009d 100644 --- a/embassy-stm32/src/rcc/f3.rs +++ b/embassy-stm32/src/rcc/f3.rs | |||
| @@ -281,11 +281,11 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 281 | 281 | ||
| 282 | set_freqs(Clocks { | 282 | set_freqs(Clocks { |
| 283 | sys: sysclk, | 283 | sys: sysclk, |
| 284 | apb1: pclk1, | 284 | pclk1: pclk1, |
| 285 | apb2: pclk2, | 285 | pclk2: pclk2, |
| 286 | apb1_tim: pclk1 * timer_mul1, | 286 | pclk1_tim: pclk1 * timer_mul1, |
| 287 | apb2_tim: pclk2 * timer_mul2, | 287 | pclk2_tim: pclk2 * timer_mul2, |
| 288 | ahb1: hclk, | 288 | hclk1: hclk, |
| 289 | #[cfg(rcc_f3)] | 289 | #[cfg(rcc_f3)] |
| 290 | adc: adc, | 290 | adc: adc, |
| 291 | #[cfg(all(rcc_f3, adc3_common))] | 291 | #[cfg(all(rcc_f3, adc3_common))] |
diff --git a/embassy-stm32/src/rcc/f4.rs b/embassy-stm32/src/rcc/f4.rs index 79c2d2f66..b0585153e 100644 --- a/embassy-stm32/src/rcc/f4.rs +++ b/embassy-stm32/src/rcc/f4.rs | |||
| @@ -340,23 +340,27 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 340 | 340 | ||
| 341 | set_freqs(Clocks { | 341 | set_freqs(Clocks { |
| 342 | sys: Hertz(sysclk), | 342 | sys: Hertz(sysclk), |
| 343 | apb1: Hertz(pclk1), | 343 | pclk1: Hertz(pclk1), |
| 344 | apb2: Hertz(pclk2), | 344 | pclk2: Hertz(pclk2), |
| 345 | 345 | ||
| 346 | apb1_tim: Hertz(pclk1 * timer_mul1), | 346 | pclk1_tim: Hertz(pclk1 * timer_mul1), |
| 347 | apb2_tim: Hertz(pclk2 * timer_mul2), | 347 | pclk2_tim: Hertz(pclk2 * timer_mul2), |
| 348 | 348 | ||
| 349 | ahb1: Hertz(hclk), | 349 | hclk1: Hertz(hclk), |
| 350 | ahb2: Hertz(hclk), | 350 | hclk2: Hertz(hclk), |
| 351 | ahb3: Hertz(hclk), | 351 | hclk3: 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..5ed74fe9f 100644 --- a/embassy-stm32/src/rcc/f7.rs +++ b/embassy-stm32/src/rcc/f7.rs | |||
| @@ -259,17 +259,17 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 259 | 259 | ||
| 260 | set_freqs(Clocks { | 260 | set_freqs(Clocks { |
| 261 | sys: Hertz(sysclk), | 261 | sys: Hertz(sysclk), |
| 262 | apb1: Hertz(pclk1), | 262 | pclk1: Hertz(pclk1), |
| 263 | apb2: Hertz(pclk2), | 263 | pclk2: Hertz(pclk2), |
| 264 | 264 | ||
| 265 | apb1_tim: Hertz(pclk1 * timer_mul1), | 265 | pclk1_tim: Hertz(pclk1 * timer_mul1), |
| 266 | apb2_tim: Hertz(pclk2 * timer_mul2), | 266 | pclk2_tim: Hertz(pclk2 * timer_mul2), |
| 267 | 267 | ||
| 268 | ahb1: Hertz(hclk), | 268 | hclk1: Hertz(hclk), |
| 269 | ahb2: Hertz(hclk), | 269 | hclk2: Hertz(hclk), |
| 270 | ahb3: Hertz(hclk), | 270 | hclk3: 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/g0.rs b/embassy-stm32/src/rcc/g0.rs index 962b1dc0d..85ebd32e1 100644 --- a/embassy-stm32/src/rcc/g0.rs +++ b/embassy-stm32/src/rcc/g0.rs | |||
| @@ -89,7 +89,7 @@ impl Default for Config { | |||
| 89 | impl PllConfig { | 89 | impl PllConfig { |
| 90 | pub(crate) fn init(self) -> Hertz { | 90 | pub(crate) fn init(self) -> Hertz { |
| 91 | let (src, input_freq) = match self.source { | 91 | let (src, input_freq) = match self.source { |
| 92 | PllSrc::HSI16 => (vals::Pllsrc::HSI16, HSI_FREQ), | 92 | PllSrc::HSI16 => (vals::Pllsrc::HSI, HSI_FREQ), |
| 93 | PllSrc::HSE(freq) => (vals::Pllsrc::HSE, freq), | 93 | PllSrc::HSE(freq) => (vals::Pllsrc::HSE, freq), |
| 94 | }; | 94 | }; |
| 95 | 95 | ||
| @@ -186,7 +186,7 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 186 | } | 186 | } |
| 187 | ClockSrc::PLL(pll) => { | 187 | ClockSrc::PLL(pll) => { |
| 188 | let freq = pll.init(); | 188 | let freq = pll.init(); |
| 189 | (freq, Sw::PLLRCLK) | 189 | (freq, Sw::PLL1_R) |
| 190 | } | 190 | } |
| 191 | ClockSrc::LSI => { | 191 | ClockSrc::LSI => { |
| 192 | // Enable LSI | 192 | // Enable LSI |
| @@ -275,9 +275,9 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 275 | 275 | ||
| 276 | set_freqs(Clocks { | 276 | set_freqs(Clocks { |
| 277 | sys: sys_clk, | 277 | sys: sys_clk, |
| 278 | ahb1: ahb_freq, | 278 | hclk1: ahb_freq, |
| 279 | apb1: apb_freq, | 279 | pclk1: apb_freq, |
| 280 | apb1_tim: apb_tim_freq, | 280 | pclk1_tim: apb_tim_freq, |
| 281 | rtc, | 281 | rtc, |
| 282 | }); | 282 | }); |
| 283 | } | 283 | } |
diff --git a/embassy-stm32/src/rcc/g4.rs b/embassy-stm32/src/rcc/g4.rs index 581bf9e0e..32d14d2fe 100644 --- a/embassy-stm32/src/rcc/g4.rs +++ b/embassy-stm32/src/rcc/g4.rs | |||
| @@ -33,7 +33,7 @@ impl Into<Pllsrc> for PllSrc { | |||
| 33 | fn into(self) -> Pllsrc { | 33 | fn into(self) -> Pllsrc { |
| 34 | match self { | 34 | match self { |
| 35 | PllSrc::HSE(..) => Pllsrc::HSE, | 35 | PllSrc::HSE(..) => Pllsrc::HSE, |
| 36 | PllSrc::HSI16 => Pllsrc::HSI16, | 36 | PllSrc::HSI16 => Pllsrc::HSI, |
| 37 | } | 37 | } |
| 38 | } | 38 | } |
| 39 | } | 39 | } |
| @@ -201,7 +201,7 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 201 | RCC.cr().write(|w| w.set_hsion(true)); | 201 | RCC.cr().write(|w| w.set_hsion(true)); |
| 202 | while !RCC.cr().read().hsirdy() {} | 202 | while !RCC.cr().read().hsirdy() {} |
| 203 | 203 | ||
| 204 | (HSI_FREQ, Sw::HSI16) | 204 | (HSI_FREQ, Sw::HSI) |
| 205 | } | 205 | } |
| 206 | ClockSrc::HSE(freq) => { | 206 | ClockSrc::HSE(freq) => { |
| 207 | // Enable HSE | 207 | // Enable HSE |
| @@ -249,7 +249,7 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 249 | } | 249 | } |
| 250 | } | 250 | } |
| 251 | 251 | ||
| 252 | (Hertz(freq), Sw::PLLRCLK) | 252 | (Hertz(freq), Sw::PLL1_R) |
| 253 | } | 253 | } |
| 254 | }; | 254 | }; |
| 255 | 255 | ||
| @@ -286,7 +286,7 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 286 | let pllq_freq = pll_freq.as_ref().and_then(|f| f.pll_q); | 286 | let pllq_freq = pll_freq.as_ref().and_then(|f| f.pll_q); |
| 287 | assert!(pllq_freq.is_some() && pllq_freq.unwrap().0 == 48_000_000); | 287 | assert!(pllq_freq.is_some() && pllq_freq.unwrap().0 == 48_000_000); |
| 288 | 288 | ||
| 289 | crate::pac::rcc::vals::Clk48sel::PLLQCLK | 289 | crate::pac::rcc::vals::Clk48sel::PLL1_Q |
| 290 | } | 290 | } |
| 291 | Clock48MhzSrc::Hsi48(crs_config) => { | 291 | Clock48MhzSrc::Hsi48(crs_config) => { |
| 292 | // Enable HSI48 | 292 | // Enable HSI48 |
| @@ -348,12 +348,12 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 348 | 348 | ||
| 349 | set_freqs(Clocks { | 349 | set_freqs(Clocks { |
| 350 | sys: sys_clk, | 350 | sys: sys_clk, |
| 351 | ahb1: ahb_freq, | 351 | hclk1: ahb_freq, |
| 352 | ahb2: ahb_freq, | 352 | hclk2: ahb_freq, |
| 353 | apb1: apb1_freq, | 353 | pclk1: apb1_freq, |
| 354 | apb1_tim: apb1_tim_freq, | 354 | pclk1_tim: apb1_tim_freq, |
| 355 | apb2: apb2_freq, | 355 | pclk2: apb2_freq, |
| 356 | apb2_tim: apb2_tim_freq, | 356 | pclk2_tim: apb2_tim_freq, |
| 357 | adc: adc12_ck, | 357 | adc: adc12_ck, |
| 358 | adc34: adc345_ck, | 358 | adc34: adc345_ck, |
| 359 | pll1_p: None, | 359 | pll1_p: None, |
diff --git a/embassy-stm32/src/rcc/h.rs b/embassy-stm32/src/rcc/h.rs index bbbbc9c1c..86136d438 100644 --- a/embassy-stm32/src/rcc/h.rs +++ b/embassy-stm32/src/rcc/h.rs | |||
| @@ -387,7 +387,7 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 387 | Sysclk::HSI => (unwrap!(hsi), Sw::HSI), | 387 | Sysclk::HSI => (unwrap!(hsi), Sw::HSI), |
| 388 | Sysclk::HSE => (unwrap!(hse), Sw::HSE), | 388 | Sysclk::HSE => (unwrap!(hse), Sw::HSE), |
| 389 | Sysclk::CSI => (unwrap!(csi), Sw::CSI), | 389 | Sysclk::CSI => (unwrap!(csi), Sw::CSI), |
| 390 | Sysclk::Pll1P => (unwrap!(pll1.p), Sw::PLL1), | 390 | Sysclk::Pll1P => (unwrap!(pll1.p), Sw::PLL1_P), |
| 391 | }; | 391 | }; |
| 392 | 392 | ||
| 393 | // Check limits. | 393 | // Check limits. |
| @@ -445,7 +445,7 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 445 | }; | 445 | }; |
| 446 | #[cfg(stm32h5)] | 446 | #[cfg(stm32h5)] |
| 447 | let adc = match config.adc_clock_source { | 447 | let adc = match config.adc_clock_source { |
| 448 | AdcClockSource::HCLK => Some(hclk), | 448 | AdcClockSource::HCLK1 => Some(hclk), |
| 449 | AdcClockSource::SYS => Some(sys), | 449 | AdcClockSource::SYS => Some(sys), |
| 450 | AdcClockSource::PLL2_R => pll2.r, | 450 | AdcClockSource::PLL2_R => pll2.r, |
| 451 | AdcClockSource::HSE => hse, | 451 | AdcClockSource::HSE => hse, |
| @@ -524,19 +524,19 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 524 | 524 | ||
| 525 | set_freqs(Clocks { | 525 | set_freqs(Clocks { |
| 526 | sys, | 526 | sys, |
| 527 | ahb1: hclk, | 527 | hclk1: hclk, |
| 528 | ahb2: hclk, | 528 | hclk2: hclk, |
| 529 | ahb3: hclk, | 529 | hclk3: hclk, |
| 530 | ahb4: hclk, | 530 | hclk4: hclk, |
| 531 | apb1, | 531 | pclk1: apb1, |
| 532 | apb2, | 532 | pclk2: apb2, |
| 533 | apb3, | 533 | pclk3: apb3, |
| 534 | #[cfg(stm32h7)] | 534 | #[cfg(stm32h7)] |
| 535 | apb4, | 535 | pclk4: apb4, |
| 536 | #[cfg(stm32h5)] | 536 | #[cfg(stm32h5)] |
| 537 | apb4: Hertz(1), | 537 | pclk4: Hertz(1), |
| 538 | apb1_tim, | 538 | pclk1_tim: apb1_tim, |
| 539 | apb2_tim, | 539 | pclk2_tim: apb2_tim, |
| 540 | adc, | 540 | adc, |
| 541 | rtc, | 541 | rtc, |
| 542 | 542 | ||
diff --git a/embassy-stm32/src/rcc/l0l1.rs b/embassy-stm32/src/rcc/l0l1.rs index d8a1fc10c..308b75aec 100644 --- a/embassy-stm32/src/rcc/l0l1.rs +++ b/embassy-stm32/src/rcc/l0l1.rs | |||
| @@ -209,11 +209,11 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 209 | 209 | ||
| 210 | set_freqs(Clocks { | 210 | set_freqs(Clocks { |
| 211 | sys: sys_clk, | 211 | sys: sys_clk, |
| 212 | ahb1: ahb_freq, | 212 | hclk1: ahb_freq, |
| 213 | apb1: apb1_freq, | 213 | pclk1: apb1_freq, |
| 214 | apb2: apb2_freq, | 214 | pclk2: apb2_freq, |
| 215 | apb1_tim: apb1_tim_freq, | 215 | pclk1_tim: apb1_tim_freq, |
| 216 | apb2_tim: apb2_tim_freq, | 216 | pclk2_tim: apb2_tim_freq, |
| 217 | rtc, | 217 | rtc, |
| 218 | }); | 218 | }); |
| 219 | } | 219 | } |
diff --git a/embassy-stm32/src/rcc/l4.rs b/embassy-stm32/src/rcc/l4.rs index 020f4e200..43c29281e 100644 --- a/embassy-stm32/src/rcc/l4.rs +++ b/embassy-stm32/src/rcc/l4.rs | |||
| @@ -329,13 +329,13 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 329 | 329 | ||
| 330 | set_freqs(Clocks { | 330 | set_freqs(Clocks { |
| 331 | sys: sys_clk, | 331 | sys: sys_clk, |
| 332 | ahb1: ahb_freq, | 332 | hclk1: ahb_freq, |
| 333 | ahb2: ahb_freq, | 333 | hclk2: ahb_freq, |
| 334 | ahb3: ahb_freq, | 334 | hclk3: ahb_freq, |
| 335 | apb1: apb1_freq, | 335 | pclk1: apb1_freq, |
| 336 | apb2: apb2_freq, | 336 | pclk2: apb2_freq, |
| 337 | apb1_tim: apb1_tim_freq, | 337 | pclk1_tim: apb1_tim_freq, |
| 338 | apb2_tim: apb2_tim_freq, | 338 | pclk2_tim: apb2_tim_freq, |
| 339 | rtc, | 339 | rtc, |
| 340 | }); | 340 | }); |
| 341 | } | 341 | } |
diff --git a/embassy-stm32/src/rcc/l5.rs b/embassy-stm32/src/rcc/l5.rs index 1f4e00344..289217b19 100644 --- a/embassy-stm32/src/rcc/l5.rs +++ b/embassy-stm32/src/rcc/l5.rs | |||
| @@ -261,13 +261,13 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 261 | 261 | ||
| 262 | set_freqs(Clocks { | 262 | set_freqs(Clocks { |
| 263 | sys: sys_clk, | 263 | sys: sys_clk, |
| 264 | ahb1: ahb_freq, | 264 | hclk1: ahb_freq, |
| 265 | ahb2: ahb_freq, | 265 | hclk2: ahb_freq, |
| 266 | ahb3: ahb_freq, | 266 | hclk3: ahb_freq, |
| 267 | apb1: apb1_freq, | 267 | pclk1: apb1_freq, |
| 268 | apb2: apb2_freq, | 268 | pclk2: apb2_freq, |
| 269 | apb1_tim: apb1_tim_freq, | 269 | pclk1_tim: apb1_tim_freq, |
| 270 | apb2_tim: apb2_tim_freq, | 270 | pclk2_tim: apb2_tim_freq, |
| 271 | rtc, | 271 | rtc, |
| 272 | }); | 272 | }); |
| 273 | } | 273 | } |
diff --git a/embassy-stm32/src/rcc/mod.rs b/embassy-stm32/src/rcc/mod.rs index 1603a2c36..9df40baac 100644 --- a/embassy-stm32/src/rcc/mod.rs +++ b/embassy-stm32/src/rcc/mod.rs | |||
| @@ -48,21 +48,21 @@ pub struct Clocks { | |||
| 48 | pub sys: Hertz, | 48 | pub sys: Hertz, |
| 49 | 49 | ||
| 50 | // APB | 50 | // APB |
| 51 | pub apb1: Hertz, | 51 | pub pclk1: Hertz, |
| 52 | pub apb1_tim: Hertz, | 52 | pub pclk1_tim: Hertz, |
| 53 | #[cfg(not(any(rcc_c0, rcc_g0)))] | 53 | #[cfg(not(any(rcc_c0, rcc_g0)))] |
| 54 | pub apb2: Hertz, | 54 | pub pclk2: Hertz, |
| 55 | #[cfg(not(any(rcc_c0, rcc_g0)))] | 55 | #[cfg(not(any(rcc_c0, rcc_g0)))] |
| 56 | pub apb2_tim: Hertz, | 56 | pub pclk2_tim: Hertz, |
| 57 | #[cfg(any(rcc_wl5, rcc_wle, rcc_h5, rcc_h50, rcc_h7, rcc_h7rm0433, rcc_h7ab, rcc_u5))] | 57 | #[cfg(any(rcc_wl5, rcc_wle, rcc_h5, rcc_h50, rcc_h7, rcc_h7rm0433, rcc_h7ab, rcc_u5))] |
| 58 | pub apb3: Hertz, | 58 | pub pclk3: Hertz, |
| 59 | #[cfg(any(rcc_h7, rcc_h7rm0433, rcc_h7ab, stm32h5))] | 59 | #[cfg(any(rcc_h7, rcc_h7rm0433, rcc_h7ab, stm32h5))] |
| 60 | pub apb4: Hertz, | 60 | pub pclk4: Hertz, |
| 61 | #[cfg(any(rcc_wba))] | 61 | #[cfg(any(rcc_wba))] |
| 62 | pub apb7: Hertz, | 62 | pub pclk7: Hertz, |
| 63 | 63 | ||
| 64 | // AHB | 64 | // AHB |
| 65 | pub ahb1: Hertz, | 65 | pub hclk1: Hertz, |
| 66 | #[cfg(any( | 66 | #[cfg(any( |
| 67 | rcc_l4, | 67 | rcc_l4, |
| 68 | rcc_l5, | 68 | rcc_l5, |
| @@ -82,7 +82,7 @@ pub struct Clocks { | |||
| 82 | rcc_wl5, | 82 | rcc_wl5, |
| 83 | rcc_wle | 83 | rcc_wle |
| 84 | ))] | 84 | ))] |
| 85 | pub ahb2: Hertz, | 85 | pub hclk2: Hertz, |
| 86 | #[cfg(any( | 86 | #[cfg(any( |
| 87 | rcc_l4, | 87 | rcc_l4, |
| 88 | rcc_l5, | 88 | rcc_l5, |
| @@ -100,28 +100,29 @@ pub struct Clocks { | |||
| 100 | rcc_wl5, | 100 | rcc_wl5, |
| 101 | rcc_wle | 101 | rcc_wle |
| 102 | ))] | 102 | ))] |
| 103 | pub ahb3: Hertz, | 103 | pub hclk3: Hertz, |
| 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 hclk4: Hertz, |
| 106 | |||
| 107 | #[cfg(any(rcc_f2, rcc_f4, rcc_f410, rcc_f7))] | ||
| 108 | pub pll48: Option<Hertz>, | ||
| 109 | 106 | ||
| 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/rcc/u5.rs b/embassy-stm32/src/rcc/u5.rs index 68a8d3a35..fb9c163ee 100644 --- a/embassy-stm32/src/rcc/u5.rs +++ b/embassy-stm32/src/rcc/u5.rs | |||
| @@ -436,14 +436,14 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 436 | 436 | ||
| 437 | set_freqs(Clocks { | 437 | set_freqs(Clocks { |
| 438 | sys: sys_clk, | 438 | sys: sys_clk, |
| 439 | ahb1: ahb_freq, | 439 | hclk1: ahb_freq, |
| 440 | ahb2: ahb_freq, | 440 | hclk2: ahb_freq, |
| 441 | ahb3: ahb_freq, | 441 | hclk3: ahb_freq, |
| 442 | apb1: apb1_freq, | 442 | pclk1: apb1_freq, |
| 443 | apb2: apb2_freq, | 443 | pclk2: apb2_freq, |
| 444 | apb3: apb3_freq, | 444 | pclk3: apb3_freq, |
| 445 | apb1_tim: apb1_tim_freq, | 445 | pclk1_tim: apb1_tim_freq, |
| 446 | apb2_tim: apb2_tim_freq, | 446 | pclk2_tim: apb2_tim_freq, |
| 447 | rtc, | 447 | rtc, |
| 448 | }); | 448 | }); |
| 449 | } | 449 | } |
diff --git a/embassy-stm32/src/rcc/wb.rs b/embassy-stm32/src/rcc/wb.rs index 181e6bb5b..a6cf118a8 100644 --- a/embassy-stm32/src/rcc/wb.rs +++ b/embassy-stm32/src/rcc/wb.rs | |||
| @@ -236,13 +236,13 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 236 | 236 | ||
| 237 | set_freqs(Clocks { | 237 | set_freqs(Clocks { |
| 238 | sys: sys_clk, | 238 | sys: sys_clk, |
| 239 | ahb1: ahb1_clk, | 239 | hclk1: ahb1_clk, |
| 240 | ahb2: ahb2_clk, | 240 | hclk2: ahb2_clk, |
| 241 | ahb3: ahb3_clk, | 241 | hclk3: ahb3_clk, |
| 242 | apb1: apb1_clk, | 242 | pclk1: apb1_clk, |
| 243 | apb2: apb2_clk, | 243 | pclk2: apb2_clk, |
| 244 | apb1_tim: apb1_tim_clk, | 244 | pclk1_tim: apb1_tim_clk, |
| 245 | apb2_tim: apb2_tim_clk, | 245 | pclk2_tim: apb2_tim_clk, |
| 246 | rtc, | 246 | rtc, |
| 247 | }) | 247 | }) |
| 248 | } | 248 | } |
diff --git a/embassy-stm32/src/rcc/wba.rs b/embassy-stm32/src/rcc/wba.rs index ff5669ec5..72f653617 100644 --- a/embassy-stm32/src/rcc/wba.rs +++ b/embassy-stm32/src/rcc/wba.rs | |||
| @@ -142,14 +142,14 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 142 | 142 | ||
| 143 | set_freqs(Clocks { | 143 | set_freqs(Clocks { |
| 144 | sys: sys_clk, | 144 | sys: sys_clk, |
| 145 | ahb1: ahb_freq, | 145 | hclk1: ahb_freq, |
| 146 | ahb2: ahb_freq, | 146 | hclk2: ahb_freq, |
| 147 | ahb4: ahb_freq, | 147 | hclk4: ahb_freq, |
| 148 | apb1: apb1_freq, | 148 | pclk1: apb1_freq, |
| 149 | apb2: apb2_freq, | 149 | pclk2: apb2_freq, |
| 150 | apb7: apb7_freq, | 150 | pclk7: apb7_freq, |
| 151 | apb1_tim: apb1_tim_freq, | 151 | pclk1_tim: apb1_tim_freq, |
| 152 | apb2_tim: apb2_tim_freq, | 152 | pclk2_tim: apb2_tim_freq, |
| 153 | rtc, | 153 | rtc, |
| 154 | }); | 154 | }); |
| 155 | } | 155 | } |
diff --git a/embassy-stm32/src/rcc/wl.rs b/embassy-stm32/src/rcc/wl.rs index 366ca1369..c1f6a6b1e 100644 --- a/embassy-stm32/src/rcc/wl.rs +++ b/embassy-stm32/src/rcc/wl.rs | |||
| @@ -145,14 +145,14 @@ pub(crate) unsafe fn init(config: Config) { | |||
| 145 | 145 | ||
| 146 | set_freqs(Clocks { | 146 | set_freqs(Clocks { |
| 147 | sys: sys_clk, | 147 | sys: sys_clk, |
| 148 | ahb1: ahb_freq, | 148 | hclk1: ahb_freq, |
| 149 | ahb2: ahb_freq, | 149 | hclk2: ahb_freq, |
| 150 | ahb3: shd_ahb_freq, | 150 | hclk3: shd_ahb_freq, |
| 151 | apb1: apb1_freq, | 151 | pclk1: apb1_freq, |
| 152 | apb2: apb2_freq, | 152 | pclk2: apb2_freq, |
| 153 | apb3: shd_ahb_freq, | 153 | pclk3: shd_ahb_freq, |
| 154 | apb1_tim: apb1_tim_freq, | 154 | pclk1_tim: apb1_tim_freq, |
| 155 | apb2_tim: apb2_tim_freq, | 155 | pclk2_tim: apb2_tim_freq, |
| 156 | rtc, | 156 | rtc, |
| 157 | }); | 157 | }); |
| 158 | } | 158 | } |
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 | }; |
