Skip to content

Commit 153031d

Browse files
authored
Merge pull request #5669 from chemicstry/rng_freeze
embassy-stm32: Fix H7 RNG lockup
2 parents 0439aae + c50e2d8 commit 153031d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

embassy-stm32/src/rng.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,13 @@ impl<'d, T: Instance> Rng<'d, T> {
144144
reg.set_rngen(true);
145145
reg.set_condrst(false);
146146
});
147+
148+
// According to reference manual for RNGv3: SEIS must be cleared manually.
149+
// RNGv2 does not say anything about SEIS clearing, but ST Cube HAL clears it.
150+
T::regs().sr().modify(|reg| {
151+
reg.set_seis(false);
152+
});
153+
147154
// According to reference manual: after software reset, wait for random number to be ready
148155
// The next_u32() call will wait for DRDY, completing the initialization
149156
let _ = self.next_u32();

0 commit comments

Comments
 (0)