1 /* 2 * Copyright (C) 2015-2020 Alibaba Group Holding Limited 3 */ 4 #ifndef __REG_TRNG_H__ 5 #define __REG_TRNG_H__ 6 7 #include "plat_types.h" 8 9 struct TRNG_T 10 { 11 uint8 reserved1[0x100]; //0x0-0xfc 12 __IO uint32_t RNG_IMR; // 0x100 13 __I uint32_t RNG_ISR; // 0x104 14 __O uint32_t RNG_ICR; // 0x108 15 __IO uint32_t TRNG_CONFIG; // 0x10C 16 __I uint32_t TRNG_VALID; //0x110 17 __I uint32_t EHR_DATA[6]; //0x114-0x128 18 __IO uint32_t RND_SOURCE_ENABLE; //0x12c 19 __IO uint32_t SAMPLE_CNT1; //0x130 20 __IO uint32_t AUTOCORR_STATISTIC; //0x134 21 __I uint32_t TRNG_DEBUG_CONTROL; //0x138 22 uint8 reserved2[0x4]; //0x13c 23 __O uint32_t TRNG_SW_RESET; //0x140 24 uint8 reserved3[0x70]; //0x144-0x1b4 25 __I uint32_t TRNG_BUSY; //0x1b8 26 __O uint32_t RST_BITS_COUNTER; //0x1bc 27 uint8 reserved4[0x1c]; //0x1c0-0x1dc 28 __I uint32_t RNG_BIST_CNTR[3]; //0x1e0-0x1e8 29 }; 30 31 32 #define RND_SOURCE_EN (1 << 0) 33 #define TRNG_VALID_BIT (1 << 0) 34 #define TRNG_BUSY_BIT (1 << 0) 35 #define RND_SRC_SEL_MASK (0x3) 36 37 #endif 38