aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/qspi/mod.rs
diff options
context:
space:
mode:
authorJuliDi <[email protected]>2023-09-10 11:05:10 +0200
committerJuliDi <[email protected]>2023-10-02 09:30:58 +0200
commit6ea5aa347db40a0f50b82ff9bc39f2f2c73fb04e (patch)
tree34de3d4d40b90e79e33854e8523eb0a45273c12a /embassy-stm32/src/qspi/mod.rs
parent8c13126cff826a20268f695a7b4d0c2588c69252 (diff)
feature-gate errata workaround for h7
Diffstat (limited to 'embassy-stm32/src/qspi/mod.rs')
-rw-r--r--embassy-stm32/src/qspi/mod.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/embassy-stm32/src/qspi/mod.rs b/embassy-stm32/src/qspi/mod.rs
index 92219e018..900dfa832 100644
--- a/embassy-stm32/src/qspi/mod.rs
+++ b/embassy-stm32/src/qspi/mod.rs
@@ -183,14 +183,17 @@ impl<'d, T: Instance, Dma> Qspi<'d, T, Dma> {
183 183
184 while T::REGS.sr().read().busy() {} 184 while T::REGS.sr().read().busy() {}
185 185
186 // Apply precautionary steps according to the errata... 186 #[cfg(stm32h7)]
187 T::REGS.cr().write_value(Cr(0)); 187 {
188 while T::REGS.sr().read().busy() {} 188 // Apply precautionary steps according to the errata...
189 T::REGS.cr().write_value(Cr(0xFF000001)); 189 T::REGS.cr().write_value(Cr(0));
190 T::REGS.ccr().write(|w| w.set_frcm(true)); 190 while T::REGS.sr().read().busy() {}
191 T::REGS.ccr().write(|w| w.set_frcm(true)); 191 T::REGS.cr().write_value(Cr(0xFF000001));
192 T::REGS.cr().write_value(Cr(0)); 192 T::REGS.ccr().write(|w| w.set_frcm(true));
193 while T::REGS.sr().read().busy() {} 193 T::REGS.ccr().write(|w| w.set_frcm(true));
194 T::REGS.cr().write_value(Cr(0));
195 while T::REGS.sr().read().busy() {}
196 }
194 197
195 T::REGS.cr().modify(|w| { 198 T::REGS.cr().modify(|w| {
196 w.set_en(true); 199 w.set_en(true);