TRNG driver implementation for the CC26X0 family.
============================================================================
This file should only be included in the board file to fill the TRNG_config struct.
The CC26X0 family has a dedicated hardware TRNG based on sampling multiple free running oscillators. With all FROs enabled, the TRNG hardware generates 64 bits of entropy approximately every 5ms. The driver implementation chains multiple 64-bit entropy generation operations together to generate an arbitrary amount of entropy.
The driver implementation does not perform runtime checks for most input parameters. Only values that are likely to have a stochastic element to them are checked (such as whether a driver is already open). Higher input paramter validation coverage is achieved by turning on assertions when compiling the driver.
#include <stdint.h>
#include <stdbool.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/TRNG.h>
#include <ti/drivers/cryptoutils/cryptokey/CryptoKey.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/dpl/SwiP.h>
#include <ti/drivers/dpl/SemaphoreP.h>
Go to the source code of this file.
Data Structures | |
struct | TRNGCC26X0_HWAttrs |
TRNGCC26X0 Hardware Attributes. More... | |
struct | TRNGCC26X0_Object |
TRNGCC26XX Object. More... | |
Typedefs | |
typedef struct TRNGCC26X0_HWAttrs | TRNGCC26X0_HWAttrs |
TRNGCC26X0 Hardware Attributes. More... | |
typedef struct TRNGCC26X0_Object | TRNGCC26X0_Object |
TRNGCC26XX Object. More... | |
typedef struct TRNGCC26X0_HWAttrs TRNGCC26X0_HWAttrs |
TRNGCC26X0 Hardware Attributes.
TRNG26X0 hardware attributes should be included in the board file and pointed to by the TRNG_config struct.
typedef struct TRNGCC26X0_Object TRNGCC26X0_Object |
TRNGCC26XX Object.
The application must not access any member variables of this structure!