MTB CAT1 Peripheral driver library

General Description

Functions

cy_en_cryptolite_status_t Cy_Cryptolite_Trng (CRYPTOLITE_Type *base, uint32_t *randomNum)
 Generates a True Random Number. More...
 
cy_en_cryptolite_status_t Cy_Cryptolite_Trng_Init (CRYPTOLITE_Type *base, cy_stc_cryptolite_trng_config_t *config)
 Initialize the TRNG hardware submodule. More...
 
cy_en_cryptolite_status_t Cy_Cryptolite_Trng_Enable (CRYPTOLITE_Type *base)
 Starts a random number generation. More...
 
cy_en_cryptolite_status_t Cy_Cryptolite_Trng_Disable (CRYPTOLITE_Type *base)
 Stops the random number generation. More...
 
cy_en_cryptolite_status_t Cy_Cryptolite_Trng_ReadData (CRYPTOLITE_Type *base, uint32_t *randomData)
 Reads in blocking mode a generated random number. More...
 
cy_en_cryptolite_status_t Cy_Cryptolite_Trng_DeInit (CRYPTOLITE_Type *base)
 Clears all TRNG registers by set to hardware default values. More...
 
bool Cy_Cryptolite_Trng_IsEnabled (CRYPTOLITE_Type *base)
 Checks if Trng is enabled. More...
 

Function Documentation

◆ Cy_Cryptolite_Trng()

cy_en_cryptolite_status_t Cy_Cryptolite_Trng ( CRYPTOLITE_Type *  base,
uint32_t *  randomNum 
)

Generates a True Random Number.

Parameters
baseThe pointer to the cryptolite instance.
randomNumThe pointer to a generated true random number.
Returns
cy_en_cryptolite_status_t
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */

◆ Cy_Cryptolite_Trng_Init()

cy_en_cryptolite_status_t Cy_Cryptolite_Trng_Init ( CRYPTOLITE_Type *  base,
cy_stc_cryptolite_trng_config_t config 
)

Initialize the TRNG hardware submodule.

Parameters
baseThe pointer to the CRYPTOLITE instance.
configThe pointer to the configuration structure. If NULL default config is used.
Returns
cy_en_cryptolite_status_t
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */

◆ Cy_Cryptolite_Trng_Enable()

cy_en_cryptolite_status_t Cy_Cryptolite_Trng_Enable ( CRYPTOLITE_Type *  base)

Starts a random number generation.

Parameters
baseThe pointer to the CRYPTOLITE instance.
Returns
The error / status code. See cy_en_cryptolite_status_t.
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng_Enable(CRYPTOLITE);
/* ... check for errors... */
{
status = Cy_Cryptolite_Trng_ReadData(CRYPTOLITE, &randomNum);
}
/* ... check for errors... */
status = Cy_Cryptolite_Trng_Disable(CRYPTOLITE);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */

◆ Cy_Cryptolite_Trng_Disable()

cy_en_cryptolite_status_t Cy_Cryptolite_Trng_Disable ( CRYPTOLITE_Type *  base)

Stops the random number generation.

Parameters
baseThe pointer to the CRYPTOLITE instance.
Returns
The error / status code. See cy_en_cryptolite_status_t.
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng_Enable(CRYPTOLITE);
/* ... check for errors... */
{
status = Cy_Cryptolite_Trng_ReadData(CRYPTOLITE, &randomNum);
}
/* ... check for errors... */
status = Cy_Cryptolite_Trng_Disable(CRYPTOLITE);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */

◆ Cy_Cryptolite_Trng_ReadData()

cy_en_cryptolite_status_t Cy_Cryptolite_Trng_ReadData ( CRYPTOLITE_Type *  base,
uint32_t *  randomData 
)

Reads in blocking mode a generated random number.

Note
Call this API only after Cy_Cryptolite_Trng_Enable() is successful.
Parameters
baseThe pointer to the CRYPTO instance.
randomDataThe pointer to a generated true random number.
Returns
The error / status code. See cy_en_cryptolite_status_t.
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */

◆ Cy_Cryptolite_Trng_DeInit()

cy_en_cryptolite_status_t Cy_Cryptolite_Trng_DeInit ( CRYPTOLITE_Type *  base)

Clears all TRNG registers by set to hardware default values.

Parameters
baseThe pointer to the CRYPTOLITE instance.
Returns
The error / status code. See cy_en_cryptolite_status_t.
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */

◆ Cy_Cryptolite_Trng_IsEnabled()

bool Cy_Cryptolite_Trng_IsEnabled ( CRYPTOLITE_Type *  base)

Checks if Trng is enabled.

Parameters
baseThe pointer to the CRYPTOLITE instance.
Returns
The 'true' if Trng enabled 'false' otherwise.
Function Usage
uint32_t random_val;
/*Init TRNG with default config*/
status = Cy_Cryptolite_Trng_Init(CRYPTOLITE, NULL);
/* ... check for errors... */
status = Cy_Cryptolite_Trng_Enable(CRYPTOLITE);
/* ... check for errors... */
{
status = Cy_Cryptolite_Trng_ReadData(CRYPTOLITE, &randomNum);
}
/* ... check for errors... */
status = Cy_Cryptolite_Trng_Disable(CRYPTOLITE);
/* ... check for errors... */
status = Cy_Cryptolite_Trng(CRYPTOLITE, &random_val);
/* ... check for errors... */
status =Cy_Cryptolite_Trng_DeInit(CRYPTOLITE);
/* ... check for errors... */