20#ifndef STM32H7xx_HAL_RNG_EX_H
21#define STM32H7xx_HAL_RNG_EX_H
35#if defined(RNG_CR_CONDRST)
59 uint32_t ClockDivider;
61 uint32_t NistCompliance;
80#define RNG_CLKDIV_BY_1 (0x00000000UL)
81#define RNG_CLKDIV_BY_2 (RNG_CR_CLKDIV_0)
83#define RNG_CLKDIV_BY_4 (RNG_CR_CLKDIV_1)
85#define RNG_CLKDIV_BY_8 (RNG_CR_CLKDIV_1 | RNG_CR_CLKDIV_0)
87#define RNG_CLKDIV_BY_16 (RNG_CR_CLKDIV_2)
89#define RNG_CLKDIV_BY_32 (RNG_CR_CLKDIV_2 | RNG_CR_CLKDIV_0)
91#define RNG_CLKDIV_BY_64 (RNG_CR_CLKDIV_2 | RNG_CR_CLKDIV_1)
93#define RNG_CLKDIV_BY_128 (RNG_CR_CLKDIV_2 | RNG_CR_CLKDIV_1 | RNG_CR_CLKDIV_0)
95#define RNG_CLKDIV_BY_256 (RNG_CR_CLKDIV_3)
97#define RNG_CLKDIV_BY_512 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_0)
99#define RNG_CLKDIV_BY_1024 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_1)
101#define RNG_CLKDIV_BY_2048 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_1 | RNG_CR_CLKDIV_0)
103#define RNG_CLKDIV_BY_4096 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_2)
105#define RNG_CLKDIV_BY_8192 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_2 | RNG_CR_CLKDIV_0)
107#define RNG_CLKDIV_BY_16384 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_2 | RNG_CR_CLKDIV_1)
109#define RNG_CLKDIV_BY_32768 (RNG_CR_CLKDIV_3 | RNG_CR_CLKDIV_2 | RNG_CR_CLKDIV_1 | RNG_CR_CLKDIV_0)
119#define RNG_NIST_COMPLIANT (0x00000000UL)
120#define RNG_CUSTOM_NIST (RNG_CR_NISTC)
166#define IS_RNG_CLOCK_DIVIDER(__CLOCK_DIV__) (((__CLOCK_DIV__) == RNG_CLKDIV_BY_1) || \
167 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_2) || \
168 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_4) || \
169 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_8) || \
170 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_16) || \
171 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_32) || \
172 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_64) || \
173 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_128) || \
174 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_256) || \
175 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_512) || \
176 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_1024) || \
177 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_2048) || \
178 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_4096) || \
179 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_8192) || \
180 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_16384) || \
181 ((__CLOCK_DIV__) == RNG_CLKDIV_BY_32768))
184#define IS_RNG_NIST_COMPLIANCE(__NIST_COMPLIANCE__) (((__NIST_COMPLIANCE__) == RNG_NIST_COMPLIANT) || \
185 ((__NIST_COMPLIANCE__) == RNG_CUSTOM_NIST))
187#define IS_RNG_CONFIG1(__CONFIG1__) ((__CONFIG1__) <= 0x3FUL)
189#define IS_RNG_CONFIG2(__CONFIG2__) ((__CONFIG2__) <= 0x07UL)
191#define IS_RNG_CONFIG3(__CONFIG3__) ((__CONFIG3__) <= 0xFUL)
217HAL_StatusTypeDef HAL_RNGEx_SetConfig(RNG_HandleTypeDef *hrng,
const RNG_ConfigTypeDef *pConf);
218HAL_StatusTypeDef HAL_RNGEx_GetConfig(RNG_HandleTypeDef *hrng, RNG_ConfigTypeDef *pConf);
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32h7xx_hal_def.h:47