 |
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 0x80000000u
61#define CSRNG_ALERT_TEST_RECOV_ALERT_BIT 0
62#define CSRNG_ALERT_TEST_FATAL_ALERT_BIT 1
63#define CSRNG_ALERT_TEST_REGWEN_BIT 31
66#define CSRNG_REGWEN_REG_OFFSET 0x10
67#define CSRNG_REGWEN_REG_RESVAL 0x1u
68#define CSRNG_REGWEN_REGWEN_BIT 0
71#define CSRNG_CTRL_REG_OFFSET 0x14
72#define CSRNG_CTRL_REG_RESVAL 0x99999u
73#define CSRNG_CTRL_ENABLE_MASK 0xfu
74#define CSRNG_CTRL_ENABLE_OFFSET 0
75#define CSRNG_CTRL_ENABLE_FIELD \
76 ((bitfield_field32_t) { .mask = CSRNG_CTRL_ENABLE_MASK, .index = CSRNG_CTRL_ENABLE_OFFSET })
77#define CSRNG_CTRL_SW_APP_ENABLE_MASK 0xfu
78#define CSRNG_CTRL_SW_APP_ENABLE_OFFSET 4
79#define CSRNG_CTRL_SW_APP_ENABLE_FIELD \
80 ((bitfield_field32_t) { .mask = CSRNG_CTRL_SW_APP_ENABLE_MASK, .index = CSRNG_CTRL_SW_APP_ENABLE_OFFSET })
81#define CSRNG_CTRL_READ_INT_STATE_MASK 0xfu
82#define CSRNG_CTRL_READ_INT_STATE_OFFSET 8
83#define CSRNG_CTRL_READ_INT_STATE_FIELD \
84 ((bitfield_field32_t) { .mask = CSRNG_CTRL_READ_INT_STATE_MASK, .index = CSRNG_CTRL_READ_INT_STATE_OFFSET })
85#define CSRNG_CTRL_WRITE_INT_STATE_MASK 0xfu
86#define CSRNG_CTRL_WRITE_INT_STATE_OFFSET 12
87#define CSRNG_CTRL_WRITE_INT_STATE_FIELD \
88 ((bitfield_field32_t) { .mask = CSRNG_CTRL_WRITE_INT_STATE_MASK, .index = CSRNG_CTRL_WRITE_INT_STATE_OFFSET })
89#define CSRNG_CTRL_FIPS_FORCE_ENABLE_MASK 0xfu
90#define CSRNG_CTRL_FIPS_FORCE_ENABLE_OFFSET 16
91#define CSRNG_CTRL_FIPS_FORCE_ENABLE_FIELD \
92 ((bitfield_field32_t) { .mask = CSRNG_CTRL_FIPS_FORCE_ENABLE_MASK, .index = CSRNG_CTRL_FIPS_FORCE_ENABLE_OFFSET })
95#define CSRNG_CMD_REQ_REG_OFFSET 0x18
96#define CSRNG_CMD_REQ_REG_RESVAL 0x0u
99#define CSRNG_RESEED_INTERVAL_REG_OFFSET 0x1c
100#define CSRNG_RESEED_INTERVAL_REG_RESVAL 0xffffffffu
103#define CSRNG_RESEED_COUNTER_RESEED_COUNTER_FIELD_WIDTH 32
104#define CSRNG_RESEED_COUNTER_MULTIREG_COUNT 3
107#define CSRNG_RESEED_COUNTER_0_REG_OFFSET 0x20
108#define CSRNG_RESEED_COUNTER_0_REG_RESVAL 0x0u
111#define CSRNG_RESEED_COUNTER_1_REG_OFFSET 0x24
112#define CSRNG_RESEED_COUNTER_1_REG_RESVAL 0x0u
115#define CSRNG_RESEED_COUNTER_2_REG_OFFSET 0x28
116#define CSRNG_RESEED_COUNTER_2_REG_RESVAL 0x0u
119#define CSRNG_SW_CMD_STS_REG_OFFSET 0x2c
120#define CSRNG_SW_CMD_STS_REG_RESVAL 0x0u
121#define CSRNG_SW_CMD_STS_CMD_RDY_BIT 1
122#define CSRNG_SW_CMD_STS_CMD_ACK_BIT 2
123#define CSRNG_SW_CMD_STS_CMD_STS_MASK 0x7u
124#define CSRNG_SW_CMD_STS_CMD_STS_OFFSET 3
125#define CSRNG_SW_CMD_STS_CMD_STS_FIELD \
126 ((bitfield_field32_t) { .mask = CSRNG_SW_CMD_STS_CMD_STS_MASK, .index = CSRNG_SW_CMD_STS_CMD_STS_OFFSET })
127#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_SUCCESS 0x0
128#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_INVALID_ACMD 0x1
129#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_INVALID_GEN_CMD 0x2
130#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_INVALID_CMD_SEQ 0x3
131#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_RESEED_CNT_EXCEEDED 0x4
132#define CSRNG_SW_CMD_STS_CMD_STS_VALUE_GEN_ABORTED 0x5
135#define CSRNG_GENBITS_VLD_REG_OFFSET 0x30
136#define CSRNG_GENBITS_VLD_REG_RESVAL 0x0u
137#define CSRNG_GENBITS_VLD_GENBITS_VLD_BIT 0
138#define CSRNG_GENBITS_VLD_GENBITS_FIPS_BIT 1
141#define CSRNG_GENBITS_REG_OFFSET 0x34
142#define CSRNG_GENBITS_REG_RESVAL 0x0u
145#define CSRNG_INT_STATE_READ_ENABLE_REGWEN_REG_OFFSET 0x38
146#define CSRNG_INT_STATE_READ_ENABLE_REGWEN_REG_RESVAL 0x1u
147#define CSRNG_INT_STATE_READ_ENABLE_REGWEN_INT_STATE_READ_ENABLE_REGWEN_BIT 0
150#define CSRNG_INT_STATE_READ_ENABLE_REG_OFFSET 0x3c
151#define CSRNG_INT_STATE_READ_ENABLE_REG_RESVAL 0x7u
152#define CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_MASK 0x7u
153#define CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_OFFSET 0
154#define CSRNG_INT_STATE_READ_ENABLE_INT_STATE_READ_ENABLE_FIELD \
155 ((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 })
158#define CSRNG_INT_STATE_NUM_REG_OFFSET 0x40
159#define CSRNG_INT_STATE_NUM_REG_RESVAL 0x0u
160#define CSRNG_INT_STATE_NUM_INT_STATE_NUM_MASK 0xfu
161#define CSRNG_INT_STATE_NUM_INT_STATE_NUM_OFFSET 0
162#define CSRNG_INT_STATE_NUM_INT_STATE_NUM_FIELD \
163 ((bitfield_field32_t) { .mask = CSRNG_INT_STATE_NUM_INT_STATE_NUM_MASK, .index = CSRNG_INT_STATE_NUM_INT_STATE_NUM_OFFSET })
166#define CSRNG_INT_STATE_VAL_REG_OFFSET 0x44
167#define CSRNG_INT_STATE_VAL_REG_RESVAL 0x0u
170#define CSRNG_FIPS_FORCE_REG_OFFSET 0x48
171#define CSRNG_FIPS_FORCE_REG_RESVAL 0x0u
172#define CSRNG_FIPS_FORCE_FIPS_FORCE_MASK 0x7u
173#define CSRNG_FIPS_FORCE_FIPS_FORCE_OFFSET 0
174#define CSRNG_FIPS_FORCE_FIPS_FORCE_FIELD \
175 ((bitfield_field32_t) { .mask = CSRNG_FIPS_FORCE_FIPS_FORCE_MASK, .index = CSRNG_FIPS_FORCE_FIPS_FORCE_OFFSET })
178#define CSRNG_GEN_ABORT_REGWEN_REG_OFFSET 0x4c
179#define CSRNG_GEN_ABORT_REGWEN_REG_RESVAL 0x1u
180#define CSRNG_GEN_ABORT_REGWEN_GEN_ABORT_REGWEN_BIT 0
183#define CSRNG_GEN_ABORT_GEN_ABORT_FIELD_WIDTH 4
184#define CSRNG_GEN_ABORT_MULTIREG_COUNT 3
187#define CSRNG_GEN_ABORT_0_REG_OFFSET 0x50
188#define CSRNG_GEN_ABORT_0_REG_RESVAL 0x9u
189#define CSRNG_GEN_ABORT_0_GEN_ABORT_0_MASK 0xfu
190#define CSRNG_GEN_ABORT_0_GEN_ABORT_0_OFFSET 0
191#define CSRNG_GEN_ABORT_0_GEN_ABORT_0_FIELD \
192 ((bitfield_field32_t) { .mask = CSRNG_GEN_ABORT_0_GEN_ABORT_0_MASK, .index = CSRNG_GEN_ABORT_0_GEN_ABORT_0_OFFSET })
195#define CSRNG_GEN_ABORT_1_REG_OFFSET 0x54
196#define CSRNG_GEN_ABORT_1_REG_RESVAL 0x9u
197#define CSRNG_GEN_ABORT_1_GEN_ABORT_1_MASK 0xfu
198#define CSRNG_GEN_ABORT_1_GEN_ABORT_1_OFFSET 0
199#define CSRNG_GEN_ABORT_1_GEN_ABORT_1_FIELD \
200 ((bitfield_field32_t) { .mask = CSRNG_GEN_ABORT_1_GEN_ABORT_1_MASK, .index = CSRNG_GEN_ABORT_1_GEN_ABORT_1_OFFSET })
203#define CSRNG_GEN_ABORT_2_REG_OFFSET 0x58
204#define CSRNG_GEN_ABORT_2_REG_RESVAL 0x9u
205#define CSRNG_GEN_ABORT_2_GEN_ABORT_2_MASK 0xfu
206#define CSRNG_GEN_ABORT_2_GEN_ABORT_2_OFFSET 0
207#define CSRNG_GEN_ABORT_2_GEN_ABORT_2_FIELD \
208 ((bitfield_field32_t) { .mask = CSRNG_GEN_ABORT_2_GEN_ABORT_2_MASK, .index = CSRNG_GEN_ABORT_2_GEN_ABORT_2_OFFSET })
211#define CSRNG_GEN_ABORT_STATUS_GEN_ABORT_STATUS_FIELD_WIDTH 1
212#define CSRNG_GEN_ABORT_STATUS_MULTIREG_COUNT 3
215#define CSRNG_GEN_ABORT_STATUS_0_REG_OFFSET 0x5c
216#define CSRNG_GEN_ABORT_STATUS_0_REG_RESVAL 0x0u
217#define CSRNG_GEN_ABORT_STATUS_0_GEN_ABORT_STATUS_0_BIT 0
220#define CSRNG_GEN_ABORT_STATUS_1_REG_OFFSET 0x60
221#define CSRNG_GEN_ABORT_STATUS_1_REG_RESVAL 0x0u
222#define CSRNG_GEN_ABORT_STATUS_1_GEN_ABORT_STATUS_1_BIT 0
225#define CSRNG_GEN_ABORT_STATUS_2_REG_OFFSET 0x64
226#define CSRNG_GEN_ABORT_STATUS_2_REG_RESVAL 0x0u
227#define CSRNG_GEN_ABORT_STATUS_2_GEN_ABORT_STATUS_2_BIT 0
230#define CSRNG_HW_EXC_STS_REG_OFFSET 0x68
231#define CSRNG_HW_EXC_STS_REG_RESVAL 0x0u
232#define CSRNG_HW_EXC_STS_HW_EXC_STS_MASK 0xffffu
233#define CSRNG_HW_EXC_STS_HW_EXC_STS_OFFSET 0
234#define CSRNG_HW_EXC_STS_HW_EXC_STS_FIELD \
235 ((bitfield_field32_t) { .mask = CSRNG_HW_EXC_STS_HW_EXC_STS_MASK, .index = CSRNG_HW_EXC_STS_HW_EXC_STS_OFFSET })
238#define CSRNG_RECOV_ALERT_STS_REG_OFFSET 0x6c
239#define CSRNG_RECOV_ALERT_STS_REG_RESVAL 0x0u
240#define CSRNG_RECOV_ALERT_STS_ENABLE_FIELD_ALERT_BIT 0
241#define CSRNG_RECOV_ALERT_STS_SW_APP_ENABLE_FIELD_ALERT_BIT 1
242#define CSRNG_RECOV_ALERT_STS_READ_INT_STATE_FIELD_ALERT_BIT 2
243#define CSRNG_RECOV_ALERT_STS_WRITE_INT_STATE_FIELD_ALERT_BIT 3
244#define CSRNG_RECOV_ALERT_STS_FIPS_FORCE_ENABLE_FIELD_ALERT_BIT 4
245#define CSRNG_RECOV_ALERT_STS_ACMD_FLAG0_FIELD_ALERT_BIT 5
246#define CSRNG_RECOV_ALERT_STS_GEN_ABORT_INVALID_ALERT_BIT 6
247#define CSRNG_RECOV_ALERT_STS_GEN_ABORT_FIELD_ALERT_BIT 7
248#define CSRNG_RECOV_ALERT_STS_INT_STATE_HALT_FIELD_ALERT_BIT 8
249#define CSRNG_RECOV_ALERT_STS_INT_STATE_OVERWRITE_ALERT_BIT 9
250#define CSRNG_RECOV_ALERT_STS_CS_BUS_CMP_ALERT_BIT 12
251#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_INVALID_ACMD_ALERT_BIT 13
252#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_INVALID_GEN_CMD_ALERT_BIT 14
253#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_INVALID_CMD_SEQ_ALERT_BIT 15
254#define CSRNG_RECOV_ALERT_STS_CMD_STAGE_RESEED_CNT_ALERT_BIT 16
257#define CSRNG_ERR_CODE_REG_OFFSET 0x70
258#define CSRNG_ERR_CODE_REG_RESVAL 0x0u
259#define CSRNG_ERR_CODE_SFIFO_CMD_ERR_BIT 0
260#define CSRNG_ERR_CODE_SFIFO_GENBITS_ERR_BIT 1
261#define CSRNG_ERR_CODE_CMD_STAGE_SM_ERR_BIT 20
262#define CSRNG_ERR_CODE_MAIN_SM_ERR_BIT 21
263#define CSRNG_ERR_CODE_CTR_DRBG_SM_ERR_BIT 22
264#define CSRNG_ERR_CODE_AES_CIPHER_SM_ERR_BIT 25
265#define CSRNG_ERR_CODE_CTR_ERR_BIT 26
266#define CSRNG_ERR_CODE_FIFO_WRITE_ERR_BIT 28
267#define CSRNG_ERR_CODE_FIFO_READ_ERR_BIT 29
268#define CSRNG_ERR_CODE_FIFO_STATE_ERR_BIT 30
271#define CSRNG_ERR_CODE_TEST_REG_OFFSET 0x74
272#define CSRNG_ERR_CODE_TEST_REG_RESVAL 0x0u
273#define CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_MASK 0x1fu
274#define CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET 0
275#define CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_FIELD \
276 ((bitfield_field32_t) { .mask = CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_MASK, .index = CSRNG_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET })
279#define CSRNG_MAIN_SM_STATE_REG_OFFSET 0x78
280#define CSRNG_MAIN_SM_STATE_REG_RESVAL 0x37u
281#define CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_MASK 0x3fu
282#define CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET 0
283#define CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_FIELD \
284 ((bitfield_field32_t) { .mask = CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_MASK, .index = CSRNG_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET })
287#define CSRNG_INT_STATE_WRITE_ENABLE_REGWEN_REG_OFFSET 0x7c
288#define CSRNG_INT_STATE_WRITE_ENABLE_REGWEN_REG_RESVAL 0x1u
289#define CSRNG_INT_STATE_WRITE_ENABLE_REGWEN_INT_STATE_WRITE_ENABLE_REGWEN_BIT 0
292#define CSRNG_INT_STATE_WRITE_ENABLE_REG_OFFSET 0x80
293#define CSRNG_INT_STATE_WRITE_ENABLE_REG_RESVAL 0x7u
294#define CSRNG_INT_STATE_WRITE_ENABLE_INT_STATE_WRITE_ENABLE_MASK 0x7u
295#define CSRNG_INT_STATE_WRITE_ENABLE_INT_STATE_WRITE_ENABLE_OFFSET 0
296#define CSRNG_INT_STATE_WRITE_ENABLE_INT_STATE_WRITE_ENABLE_FIELD \
297 ((bitfield_field32_t) { .mask = CSRNG_INT_STATE_WRITE_ENABLE_INT_STATE_WRITE_ENABLE_MASK, .index = CSRNG_INT_STATE_WRITE_ENABLE_INT_STATE_WRITE_ENABLE_OFFSET })
300#define CSRNG_INT_STATE_HALT_ENABLE_REGWEN_REG_OFFSET 0x84
301#define CSRNG_INT_STATE_HALT_ENABLE_REGWEN_REG_RESVAL 0x1u
302#define CSRNG_INT_STATE_HALT_ENABLE_REGWEN_INT_STATE_HALT_ENABLE_REGWEN_BIT 0
305#define CSRNG_INT_STATE_HALT_ENABLE_REG_OFFSET 0x88
306#define CSRNG_INT_STATE_HALT_ENABLE_REG_RESVAL 0x7u
307#define CSRNG_INT_STATE_HALT_ENABLE_INT_STATE_HALT_ENABLE_MASK 0x7u
308#define CSRNG_INT_STATE_HALT_ENABLE_INT_STATE_HALT_ENABLE_OFFSET 0
309#define CSRNG_INT_STATE_HALT_ENABLE_INT_STATE_HALT_ENABLE_FIELD \
310 ((bitfield_field32_t) { .mask = CSRNG_INT_STATE_HALT_ENABLE_INT_STATE_HALT_ENABLE_MASK, .index = CSRNG_INT_STATE_HALT_ENABLE_INT_STATE_HALT_ENABLE_OFFSET })
313#define CSRNG_INT_STATE_HALT_REG_OFFSET 0x8c
314#define CSRNG_INT_STATE_HALT_REG_RESVAL 0x9u
315#define CSRNG_INT_STATE_HALT_INT_STATE_HALT_MASK 0xfu
316#define CSRNG_INT_STATE_HALT_INT_STATE_HALT_OFFSET 0
317#define CSRNG_INT_STATE_HALT_INT_STATE_HALT_FIELD \
318 ((bitfield_field32_t) { .mask = CSRNG_INT_STATE_HALT_INT_STATE_HALT_MASK, .index = CSRNG_INT_STATE_HALT_INT_STATE_HALT_OFFSET })
321#define CSRNG_INT_STATE_STS_REG_OFFSET 0x90
322#define CSRNG_INT_STATE_STS_REG_RESVAL 0x0u
323#define CSRNG_INT_STATE_STS_HALTED_BIT 0