This repository has been archived on 2024-05-28. You can view files and clone it, but cannot push or open issues or pull requests.
stm32u5_cargo/stm32u5/includes/u575xx/reg_sec_rng_gen.h
2023-11-14 16:25:09 -05:00

47 lines
1.7 KiB
C
Executable File

#include <stdint.h>
typedef struct {
uint32_t reserve0 : 2; // 0 Reserve
uint32_t rngen : 1; // 2 True random number generator enable
uint32_t ie : 1; // 3 Interrupt Enable
uint32_t reserve1 : 1; // 4 Reserve
uint32_t ced : 1; // 5 Clock error detection
uint32_t reserve2 : 1; // 6 Reserve
uint32_t ardis : 1; // 7 Auto reset disable
uint32_t rng_config3: 4; // 8 RNG configuration 3
uint32_t nistc : 1; // 12 Non NIST compliant
uint32_t rng_config2: 3; // 13 RNG configuration 2
uint32_t clkdiv : 4; // 16 Clock divider factor
uint32_t rng_config1: 6; // 20 RNG configuration 1
uint32_t reserve3 : 4; // 26 Reserve
uint32_t condrst : 1; // 30 Conditioning soft reset
uint32_t configlock: 1; // 31 RNG Config Lock
} reg_sec_rng_cr_t;
typedef struct {
uint32_t drdy : 1; // 0 Data ready
uint32_t cecs : 1; // 1 Clock error current status
uint32_t secs : 1; // 2 Seed error current status
uint32_t reserve0 : 2; // 3 Reserve
uint32_t ceis : 1; // 5 Clock error interrupt status
uint32_t seis : 1; // 6 Seed error interrupt status
uint32_t reserve1 : 25; // 7 Reserve
} reg_sec_rng_sr_t;
typedef struct {
uint32_t rndata : 32; // 0 Random data
} reg_sec_rng_dr_t;
typedef struct {
uint32_t htcfg : 32; // 0 health test configuration
} reg_sec_rng_htcr_t;
typedef struct {
volatile reg_sec_rng_cr_t cr;
volatile reg_sec_rng_sr_t sr;
volatile reg_sec_rng_dr_t dr;
volatile uint32_t reserve0[1];
volatile reg_sec_rng_htcr_t htcr;
} reg_sec_rng_t;