Data Structures | Macros | Functions
TRNGCC26X4_s.h File Reference
#include <stdint.h>
#include <ti/drivers/crypto/CryptoCC26X4_s.h>
#include <ti/drivers/TRNG.h>
#include <ti/drivers/tfm/SecureCallback.h>
#include <third_party/tfm/interface/include/psa/error.h>
#include <third_party/tfm/interface/include/psa/service.h>
Include dependency graph for TRNGCC26X4_s.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  TRNG_s_CryptoKeySecureCallback
 
struct  TRNG_s_RandomBytesSecureCallback
 
struct  TRNG_s_ConstructMsg
 
struct  TRNG_s_OpenMsg
 
struct  TRNG_s_CallbackMsg
 
struct  TRNG_s_CloseMsg
 
struct  TRNG_s_GenerateKeyMsg
 
struct  TRNG_s_GetRandomBytesMsg
 
struct  TRNG_s_CancelOperationMsg
 

Macros

#define TRNG_S_MSG_TYPE_CONSTRUCT   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 0U)))
 
#define TRNG_S_MSG_TYPE_OPEN   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 1U)))
 
#define TRNG_S_MSG_TYPE_REGISTER_CALLBACKS   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 2U)))
 
#define TRNG_S_MSG_TYPE_CLOSE   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 3U)))
 
#define TRNG_S_MSG_TYPE_GENERATE_KEY   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 4U)))
 
#define TRNG_S_MSG_TYPE_GET_RANDOM_BYTES   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 5U)))
 
#define TRNG_S_MSG_TYPE_CANCEL_OPERATION   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 6U)))
 
#define CONFIG_TRNG_S_CONFIG_POOL_SIZE   1
 
#define TRNG_SECURE_CALLBACK_COUNT   (CONFIG_TI_DRIVERS_TRNG_COUNT + CONFIG_TRNG_S_CONFIG_POOL_SIZE)
 

Functions

psa_status_t TRNG_s_handlePsaMsg (psa_msg_t *msg)
 Handles PSA messages for TRNG secure driver. More...
 
void TRNG_s_init (void)
 Initializes the TRNG secure driver. More...
 
int_fast16_t TRNGCC26XX_s_setSamplesPerCycle (TRNG_Handle handle, uint32_t samplesPerCycle)
 Fast veneer to set the number of entropy generation cycles before the results are returned. More...
 

Macro Definition Documentation

§ TRNG_S_MSG_TYPE_CONSTRUCT

#define TRNG_S_MSG_TYPE_CONSTRUCT   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 0U)))

§ TRNG_S_MSG_TYPE_OPEN

#define TRNG_S_MSG_TYPE_OPEN   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 1U)))

§ TRNG_S_MSG_TYPE_REGISTER_CALLBACKS

#define TRNG_S_MSG_TYPE_REGISTER_CALLBACKS   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 2U)))

§ TRNG_S_MSG_TYPE_CLOSE

#define TRNG_S_MSG_TYPE_CLOSE   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 3U)))

§ TRNG_S_MSG_TYPE_GENERATE_KEY

#define TRNG_S_MSG_TYPE_GENERATE_KEY   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 4U)))

§ TRNG_S_MSG_TYPE_GET_RANDOM_BYTES

#define TRNG_S_MSG_TYPE_GET_RANDOM_BYTES   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 5U)))

§ TRNG_S_MSG_TYPE_CANCEL_OPERATION

#define TRNG_S_MSG_TYPE_CANCEL_OPERATION   (CRYPTO_S_MSG_TYPE_INDEX_TRNG | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 6U)))

§ CONFIG_TRNG_S_CONFIG_POOL_SIZE

#define CONFIG_TRNG_S_CONFIG_POOL_SIZE   1

§ TRNG_SECURE_CALLBACK_COUNT

#define TRNG_SECURE_CALLBACK_COUNT   (CONFIG_TI_DRIVERS_TRNG_COUNT + CONFIG_TRNG_S_CONFIG_POOL_SIZE)

Function Documentation

§ TRNG_s_handlePsaMsg()

psa_status_t TRNG_s_handlePsaMsg ( psa_msg_t *  msg)

Handles PSA messages for TRNG secure driver.

Note
This function should be called by secure partition thread only.
Parameters
[in]msgpointer to PSA message
Return values
PSA_SUCCESSif successful.
PSA_ERROR_PROGRAMMER_ERRORif any args point to secure addresses.

§ TRNG_s_init()

void TRNG_s_init ( void  )

Initializes the TRNG secure driver.

Note
This function should be called by the non-secure client and power to TRNG HW must be enabled first.

§ TRNGCC26XX_s_setSamplesPerCycle()

int_fast16_t TRNGCC26XX_s_setSamplesPerCycle ( TRNG_Handle  handle,
uint32_t  samplesPerCycle 
)

Fast veneer to set the number of entropy generation cycles before the results are returned.

Parameters
handleA valid TRNGCC26XX handle returned from TRNGCC26XX_open
samplesPerCycleNumber of 48MHz clock cycles to sample. Must be between 2^8 and 2^24.
Return values
PSA_ERROR_PROGRAMMER_ERRORif the handle is invalid.
TRNG_STATUS_SUCCESSif successful.
© Copyright 1995-2023, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale