#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>
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... | |
#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) |
psa_status_t TRNG_s_handlePsaMsg | ( | psa_msg_t * | msg | ) |
Handles PSA messages for TRNG secure driver.
[in] | msg | pointer to PSA message |
PSA_SUCCESS | if successful. |
PSA_ERROR_PROGRAMMER_ERROR | if any args point to secure addresses. |
void TRNG_s_init | ( | void | ) |
Initializes the TRNG secure driver.
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.
handle | A valid TRNGCC26XX handle returned from TRNGCC26XX_open |
samplesPerCycle | Number of 48MHz clock cycles to sample. Must be between 2^8 and 2^24. |
PSA_ERROR_PROGRAMMER_ERROR | if the handle is invalid. |
TRNG_STATUS_SUCCESS | if successful. |