no-OS
aducm3029_trng.h
Go to the documentation of this file.
1 /***************************************************************************/
34 #ifndef ADUCM3029_TRNG_H
35 #define ADUCM3029_TRNG_H
36 
37 /******************************************************************************/
38 /***************************** Include Files **********************************/
39 /******************************************************************************/
40 #include <drivers/rng/adi_rng.h>
41 #include "no_os_trng.h"
42 
43 /******************************************************************************/
44 /********************** Macros and Constants Definitions **********************/
45 /******************************************************************************/
46 
47 /* LenReload: 0 - 4095 */
48 #define NO_OS_TRNG_CNT_VAL 4095
49 /* Prescaler: 0 - 10 */
50 #define NO_OS_TRNG_PRESCALER 2
51 /* Aducm device ID */
52 #define NO_OS_ADUCM_TRNG_DEVICE_ID 0
53 
54 /******************************************************************************/
55 /*************************** Types Declarations *******************************/
56 /******************************************************************************/
57 
58 /* Stucture holding the TRNG descriptor. */
60  /*
61  * Memory used by the DFP
62  * At least ADI_RNG_MEMORY_SIZE bytes of 4 bytes aligned memory are
63  * needed by the DFP driver. The formula is to align memory only.
64  */
65  uint32_t dev_mem[(ADI_RNG_MEMORY_SIZE + 3) / 4];
66  /* DFP Hanler */
67  ADI_RNG_HANDLE dev;
68 };
69 
73 extern const struct no_os_trng_platform_ops aducm_trng_ops;
74 
75 #endif // ADUCM3029_TRNG_H
no_os_alloc.h
aducm3029_trng_desc::dev_mem
uint32_t dev_mem[(ADI_RNG_MEMORY_SIZE+3)/4]
Definition: aducm3029_trng.h:65
aducm3029_trng_remove
int aducm3029_trng_remove(struct no_os_trng_desc *desc)
Free resources allocated in descriptor.
Definition: aducm3029_trng.c:113
aducm3029_trng_fill_buffer
int aducm3029_trng_fill_buffer(struct no_os_trng_desc *desc, uint8_t *buff, uint32_t len)
Fill buffer with random numbers.
Definition: aducm3029_trng.c:135
no_os_trng_platform_ops::init
int(* init)(struct no_os_trng_desc **, const struct no_os_trng_init_param *)
Definition: no_os_trng.h:86
aducm_trng_ops
const struct no_os_trng_platform_ops aducm_trng_ops
ADuCM3029 specific TRNG platform ops structure.
Definition: aducm3029_trng.c:167
aducm_trng_ops
const struct no_os_trng_platform_ops aducm_trng_ops
ADuCM3029 platform specific TRNG platform ops structure.
Definition: aducm3029_trng.c:167
NO_OS_TRNG_CNT_VAL
#define NO_OS_TRNG_CNT_VAL
Definition: aducm3029_trng.h:48
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
aducm3029_trng_init
int aducm3029_trng_init(struct no_os_trng_desc **desc, struct no_os_trng_init_param *param)
Initialize descriptor.
Definition: aducm3029_trng.c:84
no_os_trng_desc
TRNG Descriptor.
Definition: no_os_trng.h:59
no_os_error.h
Error codes definition.
no_os_trng.h
Header file of true random number generator.
aducm3029_trng.h
ADuCM302x specific header for TRNG driver.
no_os_trng_init_param
Init parameter for TRNG.
Definition: no_os_trng.h:70
NO_OS_UNUSED_PARAM
#define NO_OS_UNUSED_PARAM(x)
Definition: no_os_util.h:117
NO_OS_ADUCM_TRNG_DEVICE_ID
#define NO_OS_ADUCM_TRNG_DEVICE_ID
Definition: aducm3029_trng.h:52
NO_OS_TRNG_PRESCALER
#define NO_OS_TRNG_PRESCALER
Definition: aducm3029_trng.h:50
no_os_free
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
aducm3029_trng_desc
Definition: aducm3029_trng.h:59
no_os_trng_desc::extra
void * extra
Definition: no_os_trng.h:63
no_os_util.h
Header file of utility functions.
no_os_trng_platform_ops
Structure holding TRNG function pointers that point to the platform specific function.
Definition: no_os_trng.h:84
aducm3029_trng_desc::dev
ADI_RNG_HANDLE dev
Definition: aducm3029_trng.h:67