diff options
| author | Greg V <[email protected]> | 2022-01-14 20:14:59 +0300 |
|---|---|---|
| committer | Greg V <[email protected]> | 2022-01-14 22:59:57 +0300 |
| commit | 456b56d4fdf90f388c74b33e2dc9e73dff7c322d (patch) | |
| tree | beca3f34e38cf47f3022b74828d1b632dc2f6dc5 | |
| parent | 2310003f39c916322cd3aa38fbdb8a01cd1d9fdc (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.rs | 9 | ||||
| m--------- | stm32-data | 0 |
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 @@ | |||
| 1 | use crate::pac::rcc::vals::{Hpre, Msirange, Plldiv, Pllmul, Pllsrc, Ppre, Sw}; | 1 | use crate::pac::rcc::vals::{Hpre, Msirange, Plldiv, Pllmul, Pllsrc, Ppre, Sw}; |
| 2 | use crate::pac::RCC; | 2 | use crate::pac::{FLASH, RCC}; |
| 3 | use crate::rcc::{set_freqs, Clocks}; | 3 | use crate::rcc::{set_freqs, Clocks}; |
| 4 | use crate::time::Hertz; | 4 | use crate::time::Hertz; |
| 5 | use crate::time::U32Ext; | 5 | use 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 | ||
