aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg V <[email protected]>2022-01-14 20:14:59 +0300
committerGreg V <[email protected]>2022-01-14 22:59:57 +0300
commit456b56d4fdf90f388c74b33e2dc9e73dff7c322d (patch)
treebeca3f34e38cf47f3022b74828d1b632dc2f6dc5
parent2310003f39c916322cd3aa38fbdb8a01cd1d9fdc (diff)
stm32l1/rcc: set required flash bits for high frequencies
As is done for lots of other families
-rw-r--r--embassy-stm32/src/rcc/l1.rs9
m---------stm32-data0
2 files changed, 8 insertions, 1 deletions
diff --git a/embassy-stm32/src/rcc/l1.rs b/embassy-stm32/src/rcc/l1.rs
index 517869ca4..e6518444b 100644
--- a/embassy-stm32/src/rcc/l1.rs
+++ b/embassy-stm32/src/rcc/l1.rs
@@ -1,5 +1,5 @@
1use crate::pac::rcc::vals::{Hpre, Msirange, Plldiv, Pllmul, Pllsrc, Ppre, Sw}; 1use crate::pac::rcc::vals::{Hpre, Msirange, Plldiv, Pllmul, Pllsrc, Ppre, Sw};
2use crate::pac::RCC; 2use crate::pac::{FLASH, RCC};
3use crate::rcc::{set_freqs, Clocks}; 3use crate::rcc::{set_freqs, Clocks};
4use crate::time::Hertz; 4use crate::time::Hertz;
5use crate::time::U32Ext; 5use crate::time::U32Ext;
@@ -274,6 +274,13 @@ pub(crate) unsafe fn init(config: Config) {
274 } 274 }
275 }; 275 };
276 276
277 // Set flash 64-bit access, prefetch and wait states
278 if sys_clk >= 16_000_000 {
279 FLASH.acr().write(|w| w.set_acc64(true));
280 FLASH.acr().modify(|w| w.set_prften(true));
281 FLASH.acr().modify(|w| w.set_latency(true));
282 }
283
277 RCC.cfgr().modify(|w| { 284 RCC.cfgr().modify(|w| {
278 w.set_sw(sw); 285 w.set_sw(sw);
279 w.set_hpre(config.ahb_pre.into()); 286 w.set_hpre(config.ahb_pre.into());
diff --git a/stm32-data b/stm32-data
Subproject c66033b9d220ce6d148a4c90f72acd1118861bb Subproject 97877b42a7b14e753dcb3153221dc1f3865070d