summaryrefslogtreecommitdiff
path: root/SamsungPlatformPkg/ExynosPkg/Exynos5250/Drivers/RngDxe/RngDxe.h
blob: 6a1ab107e2fb5ea5cf8ef4e25a75956b61e3a44c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef __CRYPTRAND_H__
#define __CRYPTRAND_H__

/*
 * TRNG SFR Address
 */
#define SSS_TRNG_OFFSET		(0x600)

#define TRNG_CLKDIV		(SSS_TRNG_OFFSET + 0x00)
#define TRNG_CTRL		(SSS_TRNG_OFFSET + 0x20)
#define TRNG_POST_CTRL		(SSS_TRNG_OFFSET + 0x30)
#define TRNG_ONLINE_CTRL	(SSS_TRNG_OFFSET + 0x40)
#define TRNG_ONLINE_STAT	(SSS_TRNG_OFFSET + 0x44)
#define TRNG_ONLINE_MAXCHI2	(SSS_TRNG_OFFSET + 0x48)

#define TRNG_FIFO_CTRL		(SSS_TRNG_OFFSET + 0x50)
#define TRNG_FIFO_0		(SSS_TRNG_OFFSET + 0x80)
#define TRNG_FIFO_1		(SSS_TRNG_OFFSET + 0x84)
#define TRNG_FIFO_2		(SSS_TRNG_OFFSET + 0x88)
#define TRNG_FIFO_3		(SSS_TRNG_OFFSET + 0x8C)
#define TRNG_FIFO_4		(SSS_TRNG_OFFSET + 0x90)
#define TRNG_FIFO_5		(SSS_TRNG_OFFSET + 0x94)
#define TRNG_FIFO_6		(SSS_TRNG_OFFSET + 0x98)
#define TRNG_FIFO_7		(SSS_TRNG_OFFSET + 0x9C)

/* TRNG CTRL */
#define TRNG_ENABLE		(0x1 << 31)
#define TRNG_MANUAL_ENABLE	(0x1 << 30)

/* TRNG POST CTRL */
#define TRNG_POST_ENABLE	(0x1 << 31)
#define TRNG_POST_SEL_BYPASS	(0x0 << 0)
#define TRNG_POST_SEL_LFSR	(0x1 << 0)
#define TRNG_POST_SEL_VON	(0x2 << 0)
#define TRNG_POST_SEL_XOR	(0x3 << 0)

/* TRNG ONLINE CTRL */
#define TRNG_ONLINE_TESTER_ENABLE	(0x1 << 31)
#endif