From 64baacfbbf74b679288240ae522f5e2063fda2e2 Mon Sep 17 00:00:00 2001 From: Guillaume Revaillot Date: Tue, 5 Feb 2019 14:34:08 +0100 Subject: [PATCH] rng: add irq enable/disable helper. --- include/libopencm3/stm32/common/rng_common_v1.h | 2 ++ lib/stm32/common/rng_common_v1.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/libopencm3/stm32/common/rng_common_v1.h b/include/libopencm3/stm32/common/rng_common_v1.h index 1f226d77..66f725a0 100644 --- a/include/libopencm3/stm32/common/rng_common_v1.h +++ b/include/libopencm3/stm32/common/rng_common_v1.h @@ -75,6 +75,8 @@ BEGIN_DECLS void rng_enable(void); void rng_disable(void); +void rng_interrupt_enable(void); +void rng_interrupt_disable(void); bool rng_get_random(uint32_t *rand_nr); uint32_t rng_get_random_blocking(void); diff --git a/lib/stm32/common/rng_common_v1.c b/lib/stm32/common/rng_common_v1.c index e26b6880..d9955c20 100644 --- a/lib/stm32/common/rng_common_v1.c +++ b/lib/stm32/common/rng_common_v1.c @@ -44,6 +44,20 @@ void rng_enable(void) RNG_CR |= RNG_CR_RNGEN; } +/** Enable the Random Number Generator error interrupt. +*/ +void rng_interrupt_enable(void) +{ + RNG_CR |= RNG_CR_IE; +} + +/** Disable the Random Number Generator error interrupt. +*/ +void rng_interrupt_disable(void) +{ + RNG_CR &= ~RNG_CR_IE; +} + /** Randomizes a number (non-blocking). * Can fail if a clock error or seed error is detected. Consult the Reference * Manual, but "try again", potentially after resetting the peripheral