aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/rcc/c0.rs10
-rw-r--r--embassy-stm32/src/rcc/g0.rs10
2 files changed, 16 insertions, 4 deletions
diff --git a/embassy-stm32/src/rcc/c0.rs b/embassy-stm32/src/rcc/c0.rs
index 04cbe83ed..0b749bcff 100644
--- a/embassy-stm32/src/rcc/c0.rs
+++ b/embassy-stm32/src/rcc/c0.rs
@@ -3,6 +3,7 @@ pub use crate::pac::rcc::vals::{
3 Hpre as AHBPrescaler, Hsidiv as HsiSysDiv, Hsikerdiv as HsiKerDiv, Ppre as APBPrescaler, Sw as Sysclk, 3 Hpre as AHBPrescaler, Hsidiv as HsiSysDiv, Hsikerdiv as HsiKerDiv, Ppre as APBPrescaler, Sw as Sysclk,
4}; 4};
5use crate::pac::{FLASH, RCC}; 5use crate::pac::{FLASH, RCC};
6use crate::rcc::LSI_FREQ;
6use crate::time::Hertz; 7use crate::time::Hertz;
7 8
8/// HSI speed 9/// HSI speed
@@ -121,9 +122,16 @@ pub(crate) unsafe fn init(config: Config) {
121 } 122 }
122 }; 123 };
123 124
125 let rtc = config.ls.init();
126
124 let sys = match config.sys { 127 let sys = match config.sys {
125 Sysclk::HSISYS => unwrap!(hsisys), 128 Sysclk::HSISYS => unwrap!(hsisys),
126 Sysclk::HSE => unwrap!(hse), 129 Sysclk::HSE => unwrap!(hse),
130 Sysclk::LSI => {
131 assert!(config.ls.lsi);
132 LSI_FREQ
133 }
134 Sysclk::LSE => unwrap!(config.ls.lse).frequency,
127 _ => unreachable!(), 135 _ => unreachable!(),
128 }; 136 };
129 137
@@ -162,8 +170,6 @@ pub(crate) unsafe fn init(config: Config) {
162 RCC.cr().modify(|w| w.set_hsion(false)); 170 RCC.cr().modify(|w| w.set_hsion(false));
163 } 171 }
164 172
165 let rtc = config.ls.init();
166
167 config.mux.init(); 173 config.mux.init();
168 174
169 set_clocks!( 175 set_clocks!(
diff --git a/embassy-stm32/src/rcc/g0.rs b/embassy-stm32/src/rcc/g0.rs
index f55b18290..2dbf62a9f 100644
--- a/embassy-stm32/src/rcc/g0.rs
+++ b/embassy-stm32/src/rcc/g0.rs
@@ -5,6 +5,7 @@ pub use crate::pac::rcc::vals::{
5 Pllr as PllRDiv, Pllsrc as PllSource, Ppre as APBPrescaler, Sw as Sysclk, 5 Pllr as PllRDiv, Pllsrc as PllSource, Ppre as APBPrescaler, Sw as Sysclk,
6}; 6};
7use crate::pac::{FLASH, PWR, RCC}; 7use crate::pac::{FLASH, PWR, RCC};
8use crate::rcc::LSI_FREQ;
8use crate::time::Hertz; 9use crate::time::Hertz;
9 10
10/// HSI speed 11/// HSI speed
@@ -234,10 +235,17 @@ pub(crate) unsafe fn init(config: Config) {
234 }) 235 })
235 .unwrap_or_default(); 236 .unwrap_or_default();
236 237
238 let rtc = config.ls.init();
239
237 let sys = match config.sys { 240 let sys = match config.sys {
238 Sysclk::HSI => unwrap!(hsisys), 241 Sysclk::HSI => unwrap!(hsisys),
239 Sysclk::HSE => unwrap!(hse), 242 Sysclk::HSE => unwrap!(hse),
240 Sysclk::PLL1_R => unwrap!(pll.pll_r), 243 Sysclk::PLL1_R => unwrap!(pll.pll_r),
244 Sysclk::LSI => {
245 assert!(config.ls.lsi);
246 LSI_FREQ
247 }
248 Sysclk::LSE => unwrap!(config.ls.lse).frequency,
241 _ => unreachable!(), 249 _ => unreachable!(),
242 }; 250 };
243 251
@@ -286,8 +294,6 @@ pub(crate) unsafe fn init(config: Config) {
286 PWR.cr1().modify(|w| w.set_lpr(true)); 294 PWR.cr1().modify(|w| w.set_lpr(true));
287 } 295 }
288 296
289 let rtc = config.ls.init();
290
291 config.mux.init(); 297 config.mux.init();
292 298
293 set_clocks!( 299 set_clocks!(