MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | trng_statistical_check_limit_t |
Data structure for definition of statistical check limits. More... | |
struct | trng_config_t |
Data structure for the TRNG initialization. More... | |
Enumerations | |
enum | trng_sample_mode_t { kTRNG_SampleModeVonNeumann = 0U, kTRNG_SampleModeRaw = 1U, kTRNG_SampleModeVonNeumannRaw } |
TRNG sample mode. More... | |
enum | trng_clock_mode_t { kTRNG_ClockModeRingOscillator = 0U, kTRNG_ClockModeSystem = 1U } |
TRNG clock mode. More... | |
enum | trng_ring_osc_div_t { kTRNG_RingOscDiv0 = 0U, kTRNG_RingOscDiv2 = 1U, kTRNG_RingOscDiv4 = 2U, kTRNG_RingOscDiv8 = 3U } |
TRNG ring oscillator divide. More... | |
Functions | |
status_t | TRNG_GetDefaultConfig (trng_config_t *userConfig) |
Initializes the user configuration structure to default values. More... | |
status_t | TRNG_Init (TRNG_Type *base, const trng_config_t *userConfig) |
Initializes the TRNG. More... | |
void | TRNG_Deinit (TRNG_Type *base) |
Shuts down the TRNG. More... | |
status_t | TRNG_GetRandomData (TRNG_Type *base, void *data, size_t dataSize) |
Gets random data. More... | |
Driver version | |
#define | FSL_TRNG_DRIVER_VERSION (MAKE_VERSION(2, 0, 1)) |
TRNG driver version 2.0.1. More... | |
struct trng_statistical_check_limit_t |
Used by trng_config_t.
Data Fields | |
uint32_t | maximum |
Maximum limit. More... | |
uint32_t | minimum |
Minimum limit. More... | |
uint32_t trng_statistical_check_limit_t::maximum |
uint32_t trng_statistical_check_limit_t::minimum |
struct trng_config_t |
This structure initializes the TRNG by calling the the TRNG_Init() function. It contains all TRNG configurations.
Data Fields | |
bool | lock |
Disable programmability of TRNG registers. More... | |
trng_clock_mode_t | clockMode |
Clock mode used to operate TRNG. More... | |
trng_ring_osc_div_t | ringOscDiv |
Ring oscillator divide used by TRNG. More... | |
trng_sample_mode_t | sampleMode |
Sample mode of the TRNG ring oscillator. More... | |
uint16_t | entropyDelay |
Entropy Delay. More... | |
uint16_t | sampleSize |
Sample Size. More... | |
uint16_t | sparseBitLimit |
Sparse Bit Limit which defines the maximum number of consecutive samples that may be discarded before an error is generated. More... | |
uint8_t | retryCount |
Retry count. More... | |
uint8_t | longRunMaxLimit |
Largest allowable number of consecutive samples of all 1, or all 0, that is allowed during the Entropy generation. More... | |
trng_statistical_check_limit_t | monobitLimit |
Maximum and minimum limits for statistical check of number of ones/zero detected during entropy generation. More... | |
trng_statistical_check_limit_t | runBit1Limit |
Maximum and minimum limits for statistical check of number of runs of length 1 detected during entropy generation. More... | |
trng_statistical_check_limit_t | runBit2Limit |
Maximum and minimum limits for statistical check of number of runs of length 2 detected during entropy generation. More... | |
trng_statistical_check_limit_t | runBit3Limit |
Maximum and minimum limits for statistical check of number of runs of length 3 detected during entropy generation. More... | |
trng_statistical_check_limit_t | runBit4Limit |
Maximum and minimum limits for statistical check of number of runs of length 4 detected during entropy generation. More... | |
trng_statistical_check_limit_t | runBit5Limit |
Maximum and minimum limits for statistical check of number of runs of length 5 detected during entropy generation. More... | |
trng_statistical_check_limit_t | runBit6PlusLimit |
Maximum and minimum limits for statistical check of number of runs of length 6 or more detected during entropy generation. More... | |
trng_statistical_check_limit_t | pokerLimit |
Maximum and minimum limits for statistical check of "Poker Test". More... | |
trng_statistical_check_limit_t | frequencyCountLimit |
Maximum and minimum limits for statistical check of entropy sample frequency count. More... | |
bool trng_config_t::lock |
trng_clock_mode_t trng_config_t::clockMode |
trng_ring_osc_div_t trng_config_t::ringOscDiv |
trng_sample_mode_t trng_config_t::sampleMode |
uint16_t trng_config_t::entropyDelay |
Defines the length (in system clocks) of each Entropy sample taken.
uint16_t trng_config_t::sampleSize |
Defines the total number of Entropy samples that will be taken during Entropy generation.
uint16_t trng_config_t::sparseBitLimit |
This limit is used only for during von Neumann sampling (enabled by TRNG_HAL_SetSampleMode()). Samples are discarded if two consecutive raw samples are both 0 or both 1. If this discarding occurs for a long period of time, it indicates that there is insufficient Entropy.
uint8_t trng_config_t::retryCount |
It defines the number of times a statistical check may fails during the TRNG Entropy Generation before generating an error.
uint8_t trng_config_t::longRunMaxLimit |
trng_statistical_check_limit_t trng_config_t::monobitLimit |
trng_statistical_check_limit_t trng_config_t::runBit1Limit |
trng_statistical_check_limit_t trng_config_t::runBit2Limit |
trng_statistical_check_limit_t trng_config_t::runBit3Limit |
trng_statistical_check_limit_t trng_config_t::runBit4Limit |
trng_statistical_check_limit_t trng_config_t::runBit5Limit |
trng_statistical_check_limit_t trng_config_t::runBit6PlusLimit |
trng_statistical_check_limit_t trng_config_t::pokerLimit |
trng_statistical_check_limit_t trng_config_t::frequencyCountLimit |
#define FSL_TRNG_DRIVER_VERSION (MAKE_VERSION(2, 0, 1)) |
Current version: 2.0.1
Change log:
enum trng_sample_mode_t |
Used by trng_config_t.
enum trng_clock_mode_t |
Used by trng_config_t.
enum trng_ring_osc_div_t |
Used by trng_config_t.
status_t TRNG_GetDefaultConfig | ( | trng_config_t * | userConfig | ) |
This function initializes the configuration structure to default values. The default values are as follows.
user_config | User configuration structure. |
status_t TRNG_Init | ( | TRNG_Type * | base, |
const trng_config_t * | userConfig | ||
) |
This function initializes the TRNG. When called, the TRNG entropy generation starts immediately.
base | TRNG base address |
userConfig | Pointer to the initialization configuration structure. |
void TRNG_Deinit | ( | TRNG_Type * | base | ) |
This function shuts down the TRNG.
base | TRNG base address. |
status_t TRNG_GetRandomData | ( | TRNG_Type * | base, |
void * | data, | ||
size_t | dataSize | ||
) |
This function gets random data from the TRNG.
base | TRNG base address. |
data | Pointer address used to store random data. |
dataSize | Size of the buffer pointed by the data parameter. |