Go to the documentation of this file.
52 #ifndef __GR55xx_HAL_RNG_H__
53 #define __GR55xx_HAL_RNG_H__
179 #define RNG_SEED_FR0_S0 LL_RNG_SEED_FR0_S0
180 #define RNG_SEED_USER LL_RNG_SEED_USER
187 #define RNG_LFSR_MODE_59BIT LL_RNG_LFSR_MODE_59BIT
188 #define RNG_LFSR_MODE_128BIT LL_RNG_LFSR_MODE_128BIT
194 #define RNG_POST_PRO_NOT LL_RNG_POST_PRO_NOT
195 #define RNG_POST_PRO_SKIPPING LL_RNG_POST_PRO_SKIPPING
196 #define RNG_POST_PRO_COUNTING LL_RNG_POST_PRO_COUNTING
197 #define RNG_POST_PRO_NEUMANN LL_RNG_POST_PRO_NEUMANN
203 #define RNG_OUTPUT_FR0_S0 LL_RNG_OUTPUT_FR0_S0
204 #define RNG_OUTPUT_CYCLIC_PARITY LL_RNG_OUTPUT_CYCLIC_PARITY
205 #define RNG_OUTPUT_CYCLIC LL_RNG_OUTPUT_CYCLIC
206 #define RNG_OUTPUT_LFSR_RNG LL_RNG_OUTPUT_LFSR_RNG
207 #define RNG_OUTPUT_LFSR LL_RNG_OUTPUT_LFSR
struct _rng_init rng_init_t
RNG init structure definition.
hal_lock_t
HAL Lock structures definition.
hal_status_t hal_rng_generate_random_number(rng_handle_t *p_rng, uint16_t *p_seed, uint32_t *p_random32bit)
Generate a 32-bit random number.
uint32_t retention[1]
RNG important register information.
hal_status_t hal_rng_init(rng_handle_t *p_rng)
Initialize the RNG according to the specified parameters in the rng_init_t of associated handle.
uint32_t out_mode
Specifies the Output mode for the RNG.
hal_lock_t lock
RNG locking object
void hal_rng_msp_deinit(rng_handle_t *p_rng)
De-initialize the RNG MSP.
hal_status_t hal_rng_generate_random_number_it(rng_handle_t *p_rng, uint16_t *p_seed)
Generate a 32-bit random number in interrupt mode.
@ HAL_RNG_STATE_TIMEOUT
RNG timeout state
HAL_RNG Callback function definition.
void hal_rng_msp_init(rng_handle_t *p_rng)
Initialize the RNG MSP.
__IO hal_rng_state_t state
hal_rng_state_t
HAL RNG State Enumerations definition.
hal_status_t hal_rng_deinit(rng_handle_t *p_rng)
De-initialize the RNG peripheral.
struct _rng_handle rng_handle_t
RNG handle Structure definition.
struct _hal_rng_callback hal_rng_callback_t
HAL_RNG Callback function definition.
hal_status_t hal_rng_resume_reg(rng_handle_t *p_rng)
Restore some registers related to RNG configuration after sleep.
@ HAL_RNG_STATE_RESET
RNG not initialized or disabled yet.
hal_rng_state_t hal_rng_get_state(rng_handle_t *p_rng)
Return the RNG handle state.
uint32_t lfsr_mode
Specifies the configuration mode for the LFSR.
@ HAL_RNG_STATE_ERROR
RNG error state
Header file containing functions prototypes of RNG LL library.
void(* rng_msp_init)(rng_handle_t *p_rng)
RNG init MSP callback
uint32_t post_mode
Specifies post-process configuration for the RNG.
RNG handle Structure definition.
uint32_t hal_rng_read_last_random_number(rng_handle_t *p_rng)
Read the latest generated random number.
@ HAL_RNG_STATE_READY
RNG initialized and ready for use
@ HAL_RNG_STATE_BUSY
RNG internal process is ongoing
hal_status_t hal_rng_suspend_reg(rng_handle_t *p_rng)
Suspend some registers related to RNG configuration before sleep.
rng_regs_t * p_instance
Register base address
void hal_rng_irq_handler(rng_handle_t *p_rng)
Handle RNG interrupt request.
RNG init structure definition.
hal_status_t
HAL Status structures definition.
rng_init_t init
RNG required parameters
void(* rng_ready_data_callback)(rng_handle_t *p_rng, uint32_t random32bit)
RNG data ready callback
uint32_t seed_mode
Specifies the seed source for the LFSR.
void(* rng_msp_deinit)(rng_handle_t *p_rng)
RNG de-init MSP callback
This file contains HAL common definitions, enumeration, macros and structures definitions.
void hal_rng_ready_data_callback(rng_handle_t *p_rng, uint32_t random32bit)
Data Ready callback in non-blocking mode.