8#ifndef _FSL_TRNG_DRIVER_H_
9#define _FSL_TRNG_DRIVER_H_
11#include "fsl_common.h"
13#if defined(FSL_FEATURE_SOC_TRNG_COUNT) && FSL_FEATURE_SOC_TRNG_COUNT
66#define FSL_TRNG_DRIVER_VERSION (MAKE_VERSION(2, 0, 15))
70typedef enum _trng_sample_mode
72 kTRNG_SampleModeVonNeumann = 0U,
73 kTRNG_SampleModeRaw = 1U,
74 kTRNG_SampleModeVonNeumannRaw =
79typedef enum _trng_clock_mode
81 kTRNG_ClockModeRingOscillator = 0U,
82 kTRNG_ClockModeSystem = 1U
87typedef enum _trng_ring_osc_div
89 kTRNG_RingOscDiv0 = 0U,
90 kTRNG_RingOscDiv2 = 1U,
91 kTRNG_RingOscDiv4 = 2U,
92 kTRNG_RingOscDiv8 = 3U
96typedef struct _trng_statistical_check_limit
100} trng_statistical_check_limit_t;
108typedef struct _trng_user_config
111 trng_clock_mode_t clockMode;
112 trng_ring_osc_div_t ringOscDiv;
113 trng_sample_mode_t sampleMode;
119 uint16_t sparseBitLimit;
128 uint8_t longRunMaxLimit;
130 trng_statistical_check_limit_t monobitLimit;
132 trng_statistical_check_limit_t runBit1Limit;
134 trng_statistical_check_limit_t runBit2Limit;
136 trng_statistical_check_limit_t runBit3Limit;
138 trng_statistical_check_limit_t runBit4Limit;
140 trng_statistical_check_limit_t runBit5Limit;
142 trng_statistical_check_limit_t runBit6PlusLimit;
145 trng_statistical_check_limit_t
147 trng_statistical_check_limit_t frequencyCountLimit;
155#if defined(__cplusplus)
197status_t TRNG_GetDefaultConfig(trng_config_t *userConfig);
232#if defined(__cplusplus)
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:225
Definition: MIMXRT1052.h:43954