1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 21:48:13 +00:00
trezor-firmware/micropython/trezorhal/rng.c
2017-03-07 14:50:09 +01:00

24 lines
433 B
C

#include STM32_HAL_H
static RNG_HandleTypeDef rng_handle = {
.State = HAL_RNG_STATE_RESET,
.Instance = RNG,
};
void rng_init(RNG_HandleTypeDef *rng) {
// Enable RNG clock
__HAL_RCC_RNG_CLK_ENABLE();
// Init RNG handle
HAL_RNG_Init(rng);
}
uint32_t rng_get(void) {
if (rng_handle.State == HAL_RNG_STATE_RESET) {
rng_init(&rng_handle);
}
return HAL_RNG_GetRandomNumber(&rng_handle);
}