76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/*
 | 
						|
    Trng driver header file
 | 
						|
 | 
						|
    Trng driver header file.
 | 
						|
 | 
						|
    @file       trng.h
 | 
						|
    @ingroup    mIDrvMisc_Trng
 | 
						|
    @note       Nothing
 | 
						|
 | 
						|
    Copyright   Novatek Microelectronics Corp. 2017.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef _TRNG_H
 | 
						|
#define _TRNG_H
 | 
						|
 | 
						|
#include <kwrap/nvt_type.h>
 | 
						|
 | 
						|
/**
 | 
						|
    SEED
 | 
						|
*/
 | 
						|
typedef enum {
 | 
						|
	TRNG_SEED_LOW,           ///< TRNG SEED LOW
 | 
						|
	TRNG_SEED_HIGH,          ///< TRNG SEED HIGH
 | 
						|
 | 
						|
	ENUM_DUMMY4WORD(TRNG_SEED)
 | 
						|
} TRNG_SEED;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
 | 
						|
	TRNG_CONFIG_CLKSRC,
 | 
						|
	///< Context can be one of the following:
 | 
						|
	///< - @b 160   : 160 MHz (Default value)
 | 
						|
	///< - @b 240   : 240 MHz
 | 
						|
	TRNG_CONFIG_ROSC_CLKSRC,
 | 
						|
	TRNG_CONFIG_RO_DELAY,
 | 
						|
	TRNG_CONFIG_RO_CLKDIV,
 | 
						|
    TRNG_CONFIG_CLKDIV,
 | 
						|
 | 
						|
	ENUM_DUMMY4WORD(TRNG_CONFIG_ID)
 | 
						|
} TRNG_CONFIG_ID;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
 | 
						|
	TRNGRO_CLKSRC_RO,
 | 
						|
	TRNGRO_CLKSRC_PLL4,
 | 
						|
 | 
						|
	ENUM_DUMMY4WORD(TRNGRO_CLKSRC)
 | 
						|
} TRNGRO_CLKSRC;
 | 
						|
 | 
						|
extern ER trng_open(void);
 | 
						|
extern ER trng_close(void);
 | 
						|
extern ER trng_setConfig(TRNG_CONFIG_ID ConfigID, UINT32 uiConfig);
 | 
						|
extern void trng_set_casr(BOOL b_en);
 | 
						|
extern void trng_set_postproc(BOOL b_en);
 | 
						|
extern void trng_set_lock(BOOL b_lock);
 | 
						|
extern void trng_update_seed(BOOL b_update);
 | 
						|
extern void trng_set_seed(TRNG_SEED seedhl, UINT32 data);
 | 
						|
extern UINT32 trng_get_Control(void);
 | 
						|
extern UINT32 trng_get_seed(TRNG_SEED seedhl);
 | 
						|
extern BOOL trng_get_tdes_status(void);
 | 
						|
extern UINT32 trng_get_randnum(void);
 | 
						|
extern UINT32 randomUINT32(void);
 | 
						|
 | 
						|
 | 
						|
#if defined(_NVT_EMULATION_)
 | 
						|
BOOL trng_resetvalue_check(void);
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
#endif // _TRNG_H
 | 
						|
 | 
						|
 | 
						|
 |