 |
Software APIs
|
Go to the documentation of this file.
13#ifndef _CSRNG_REG_DEFS_
14#define _CSRNG_REG_DEFS_
20#define CSRNG_PARAM_NUM_APPS 3
23#define CSRNG_PARAM_NUM_ALERTS 2
26#define CSRNG_PARAM_REG_WIDTH 32
29#define CSRNG_INTR_COMMON_CS_CMD_REQ_DONE_BIT 0
30#define CSRNG_INTR_COMMON_CS_ENTROPY_REQ_BIT 1
31#define CSRNG_INTR_COMMON_CS_HW_INST_EXC_BIT 2
32#define CSRNG_INTR_COMMON_CS_FATAL_ERR_BIT 3
35#define CSRNG_INTR_STATE_REG_OFFSET 0x0
36#define CSRNG_INTR_STATE_REG_RESVAL 0x0u
37#define CSRNG_INTR_STATE_CS_CMD_REQ_DONE_BIT 0
38#define CSRNG_INTR_STATE_CS_ENTROPY_REQ_BIT 1
39#define CSRNG_INTR_STATE_CS_HW_INST_EXC_BIT 2
40#define CSRNG_INTR_STATE_CS_FATAL_ERR_BIT 3
43#define CSRNG_INTR_ENABLE_REG_OFFSET 0x4
44#define CSRNG_INTR_ENABLE_REG_RESVAL 0x0u
45#define CSRNG_INTR_ENABLE_CS_CMD_REQ_DONE_BIT 0
46#define CSRNG_INTR_ENABLE_CS_ENTROPY_REQ_BIT 1
47#define CSRNG_INTR_ENABLE_CS_HW_INST_EXC_BIT 2
48#define CSRNG_INTR_ENABLE_CS_FATAL_ERR_BIT 3
51#define CSRNG_INTR_TEST_REG_OFFSET 0x8
52#define CSRNG_INTR_TEST_REG_RESVAL 0x0u
53#define CSRNG_INTR_TEST_CS_CMD_REQ_DONE_BIT 0
54#define CSRNG_INTR_TEST_CS_ENTROPY_REQ_BIT 1
55#define CSRNG_INTR_TEST_CS_HW_INST_EXC_BIT 2
56#define CSRNG_INTR_TEST_CS_FATAL_ERR_BIT 3
59#define CSRNG_ALERT_TEST_REG_OFFSET 0xc
60#define CSRNG_ALERT_TEST_REG_RESVAL 0x0u
61#define CSRNG_ALERT_TEST_RECOV_ALERT_BIT 0
62#define CSRNG_ALERT_TEST_FATAL_ALERT_BIT 1
65#define CSRNG_REGWEN_REG_OFFSET 0x10
66#define CSRNG_REGWEN_REG_RESVAL 0x1u
67#define CSRNG_REGWEN_REGWEN_BIT 0
70#define CSRNG_CTRL_REG_OFFSET 0x14
71#define CSRNG_CTRL_REG_RESVAL 0x9999u
72#define CSRNG_CTRL_ENABLE_MASK 0xfu
73#define CSRNG_CTRL_ENABLE_OFFSET 0
74#define CSRNG_CTRL_ENABLE_FIELD \
75 ((bitfield_field32_t) { .mask = CSRNG_CTRL_ENABLE_MASK, .index = CSRNG_CTRL_ENABLE_OFFSET })
76#define CSRNG_CTRL_SW_APP_ENABLE_MASK 0xfu
77#define CSRNG_CTRL_SW_APP_ENABLE_OFFSET 4
78#define CSRNG_CTRL_SW_APP_ENABLE_FIELD \
79 ((bitfield_field32_t) { .mask = CSRNG_CTRL_SW_APP_ENABLE_MASK, .index = CSRNG_CTRL_SW_APP_ENABLE_OFFSET })
80#define CSRNG_CTRL_READ_INT_STATE_MASK 0xfu
81#define CSRNG_CTRL_READ_INT_STATE_OFFSET 8
82#define CSRNG_CTRL_READ_INT_STATE_FIELD \
83 ((bitfield_field32_t) { .mask = CSRNG_CTRL_READ_INT_STATE_MASK, .index = CSRNG_CTRL_READ_INT_STATE_OFFSET })
84#define CSRNG_CTRL_FIPS_FORCE_ENABLE_MASK 0xfu
85#define CSRNG_CTRL_FIPS_FORCE_ENABLE_OFFSET 12
86#define CSRNG_CTRL_FIPS_FORCE_ENABLE_FIELD \
87 ((bitfield_field32_t) { .mask = CSRNG_CTRL_FIPS_FORCE_ENABLE_MASK, .index = CSRNG_CTRL_FIPS_FORCE_ENABLE_OFFSET })
90#define CSRNG_CMD_REQ_REG_OFFSET 0x18
91#define CSRNG_CMD_REQ_REG_RESVAL 0x0u
94#define CSRNG_RESEED_INTERVAL_REG_OFFSET 0x1c
95#define CSRNG_RESEED_INTERVAL_REG_RESVAL 0xffffffffu
98#define CSRNG_RESEED_COUNTER_RESEED_COUNTER_FIELD_WIDTH 32
99#define CSRNG_RESEED_COUNTER_MULTIREG_COUNT 3
102#define CSRNG_RESEED_COUNTER_0_REG_OFFSET 0x20
103#define CSRNG_RESEED_COUNTER_0_REG_RESVAL 0x0u
106#define CSRNG_RESEED_COUNTER_1_REG_OFFSET 0x24
107#define CSRNG_RESEED_COUNTER_1_REG_RESVAL 0x0u
110#define CSRNG_RESEED_COUNTER_2_REG_OFFSET 0x28
111#define CSRNG_RESEED_COUNTER_2_REG_RESVAL 0x0u
114#define CSRNG_SW_CMD_STS_REG_OFFSET 0x2c
115#define CSRNG_SW_CMD_STS_REG_RESVAL 0x0u
116#define CSRNG_SW_CMD_STS_CMD_RDY_BIT 1
117#define CSRNG_SW_CMD_STS_CMD_ACK_BIT 2
118#define CSRNG_SW_CMD_STS_CMD_STS_MASK 0x7u
119#define CSRNG_SW_CMD_STS_CMD_STS_OFFSET 3
120#define CSRNG_SW_CMD_STS_CMD_STS_FIELD \
121 ((bitfield_field32_t) { .mask = CSRNG_SW_CMD_STS_CMD_STS_MASK, .index = CSRNG_SW_CMD_STS_CMD_STS_OFFSET })
122#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_SUCCESS 0x0
123#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_INVALID_ACMD 0x1
124#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_INVALID_GEN_CMD 0x2
125#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_INVALID_CMD_SEQ 0x3
126#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_RESEED_CNT_EXCEEDED 0x4
129#define CSRNG_GENBITS_VLD_REG_OFFSET 0x30
130#define CSRNG_GENBITS_VLD_REG_RESVAL 0x0u
131#define CSRNG_GENBITS_VLD_GENBITS_VLD_BIT 0
132#define CSRNG_GENBITS_VLD_GENBITS_FIPS_BIT 1
135#define CSRNG_GENBITS_REG_OFFSET 0x34
136#define CSRNG_GENBITS_REG_RESVAL 0x0u
139#define CSRNG_INT_STATE_READ_ENABLE_REG_OFFSET 0x38
140#define CSRNG_INT_STATE_READ_ENABLE_REG_RESVAL 0x7u
141#define CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_MASK 0x7u
142#define CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_OFFSET 0
143#define CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_FIELD \
144 ((bitfield_field32_t) { .mask = CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_MASK, .index = CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_OFFSET })
147#define CSRNG_INT_STATE_READ_ENABLE_REGWEN_REG_OFFSET 0x3c
148#define CSRNG_INT_STATE_READ_ENABLE_REGWEN_REG_RESVAL 0x1u
149#define CSRNG_INT_STATE_READ_ENABLE_REGWEN_INT_STATE_READ_ENABLE_REGWEN_BIT 0
152#define CSRNG_INT_STATE_NUM_REG_OFFSET 0x40
153#define CSRNG_INT_STATE_NUM_REG_RESVAL 0x0u
154#define CSRNG_INT_STATE_NUM_INT_STATE_NUM_MASK 0xfu
155#define CSRNG_INT_STATE_NUM_INT_STATE_NUM_OFFSET 0
156#define CSRNG_INT_STATE_NUM_INT_STATE_NUM_FIELD \
157 ((bitfield_field32_t) { .mask = CSRNG_INT_STATE_NUM_INT_STATE_NUM_MASK, .index = CSRNG_INT_STATE_NUM_INT_STATE_NUM_OFFSET })
160#define CSRNG_INT_STATE_VAL_REG_OFFSET 0x44
161#define CSRNG_INT_STATE_VAL_REG_RESVAL 0x0u
164#define CSRNG_FIPS_FORCE_REG_OFFSET 0x48
165#define CSRNG_FIPS_FORCE_REG_RESVAL 0x0u
166#define CSRNG_FIPS_FORCE_FIPS_FORCE_MASK 0x7u
167#define CSRNG_FIPS_FORCE_FIPS_FORCE_OFFSET 0
168#define CSRNG_FIPS_FORCE_FIPS_FORCE_FIELD \
169 ((bitfield_field32_t) { .mask = CSRNG_FIPS_FORCE_FIPS_FORCE_MASK, .index = CSRNG_FIPS_FORCE_FIPS_FORCE_OFFSET })
172#define CSRNG_HW_EXC_STS_REG_OFFSET 0x4c
173#define CSRNG_HW_EXC_STS_REG_RESVAL 0x0u
174#define CSRNG_HW_EXC_STS_HW_EXC_STS_MASK 0xffffu
175#define CSRNG_HW_EXC_STS_HW_EXC_STS_OFFSET 0
176#define CSRNG_HW_EXC_STS_HW_EXC_STS_FIELD \
177 ((bitfield_field32_t) { .mask = CSRNG_HW_EXC_STS_HW_EXC_STS_MASK, .index = CSRNG_HW_EXC_STS_HW_EXC_STS_OFFSET })
180#define CSRNG_RECOV_ALERT_STS_REG_OFFSET 0x50
181#define CSRNG_RECOV_ALERT_STS_REG_RESVAL 0x0u
182#define CSRNG_RECOV_ALERT_STS_ENABLE_FIELD_ALERT_BIT 0
183#define CSRNG_RECOV_ALERT_STS_SW_APP_ENABLE_FIELD_ALERT_BIT 1
184#define CSRNG_RECOV_ALERT_STS_READ_INT_STATE_FIELD_ALERT_BIT 2
185#define CSRNG_RECOV_ALERT_STS_FIPS_FORCE_ENABLE_FIELD_ALERT_BIT 3
186#define CSRNG_RECOV_ALERT_STS_ACMD_FLAG0_FIELD_ALERT_BIT 4
187#define CSRNG_RECOV_ALERT_STS_CS_BUS_CMP_ALERT_BIT 12
188#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_INVALID_ACMD_ALERT_BIT 13
189#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_INVALID_CMD_SEQ_ALERT_BIT 14
190#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_RESEED_CNT_ALERT_BIT 15
193#define CSRNG_ERR_CODE_REG_OFFSET 0x54
194#define CSRNG_ERR_CODE_REG_RESVAL 0x0u
195#define CSRNG_ERR_CODE_SFIFO_CMD_ERR_BIT 0
196#define CSRNG_ERR_CODE_SFIFO_GENBITS_ERR_BIT 1
197#define CSRNG_ERR_CODE_SFIFO_CMDREQ_ERR_BIT 2
198#define CSRNG_ERR_CODE_SFIFO_RCSTAGE_ERR_BIT 3
199#define CSRNG_ERR_CODE_SFIFO_KEYVRC_ERR_BIT 4
200#define CSRNG_ERR_CODE_SFIFO_UPDREQ_ERR_BIT 5
201#define CSRNG_ERR_CODE_SFIFO_BENCREQ_ERR_BIT 6
202#define CSRNG_ERR_CODE_SFIFO_BENCACK_ERR_BIT 7
203#define CSRNG_ERR_CODE_SFIFO_PDATA_ERR_BIT 8
204#define CSRNG_ERR_CODE_SFIFO_FINAL_ERR_BIT 9
205#define CSRNG_ERR_CODE_SFIFO_GBENCACK_ERR_BIT 10
206#define CSRNG_ERR_CODE_SFIFO_GRCSTAGE_ERR_BIT 11
207#define CSRNG_ERR_CODE_SFIFO_GGENREQ_ERR_BIT 12
208#define CSRNG_ERR_CODE_SFIFO_GADSTAGE_ERR_BIT 13
209#define CSRNG_ERR_CODE_SFIFO_GGENBITS_ERR_BIT 14
210#define CSRNG_ERR_CODE_SFIFO_BLKENC_ERR_BIT 15
211#define CSRNG_ERR_CODE_CMD_STAGE_SM_ERR_BIT 20
212#define CSRNG_ERR_CODE_MAIN_SM_ERR_BIT 21
213#define CSRNG_ERR_CODE_DRBG_GEN_SM_ERR_BIT 22
214#define CSRNG_ERR_CODE_DRBG_UPDBE_SM_ERR_BIT 23
215#define CSRNG_ERR_CODE_DRBG_UPDOB_SM_ERR_BIT 24
216#define CSRNG_ERR_CODE_AES_CIPHER_SM_ERR_BIT 25
217#define CSRNG_ERR_CODE_CMD_GEN_CNT_ERR_BIT 26
218#define CSRNG_ERR_CODE_FIFO_WRITE_ERR_BIT 28
219#define CSRNG_ERR_CODE_FIFO_READ_ERR_BIT 29
220#define CSRNG_ERR_CODE_FIFO_STATE_ERR_BIT 30
223#define CSRNG_ERR_CODE_TEST_REG_OFFSET 0x58
224#define CSRNG_ERR_CODE_TEST_REG_RESVAL 0x0u
225#define CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_MASK 0x1fu
226#define CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET 0
227#define CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_FIELD \
228 ((bitfield_field32_t) { .mask = CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_MASK, .index = CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET })
231#define CSRNG_MAIN_SM_STATE_REG_OFFSET 0x5c
232#define CSRNG_MAIN_SM_STATE_REG_RESVAL 0x4eu
233#define CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_MASK 0xffu
234#define CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET 0
235#define CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_FIELD \
236 ((bitfield_field32_t) { .mask = CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_MASK, .index = CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET })