Software APIs
edn_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for edn
4 */
5
6// Copyright information found in source file:
7// Copyright lowRISC contributors (OpenTitan project).
8
9// Licensing information found in source file:
10// Licensed under the Apache License, Version 2.0, see LICENSE for details.
11// SPDX-License-Identifier: Apache-2.0
12
13#ifndef _EDN_REG_DEFS_
14#define _EDN_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Reset value for the boot_ins_cmd register.
20#define EDN_PARAM_EDN_BOOT_INS_CMD_RESVAL 0x901
21
22// Reset value for the boot_gen_cmd register.
23#define EDN_PARAM_EDN_BOOT_GEN_CMD_RESVAL 0xfff003
24
25// Reset value for the ctrl register.
26#define EDN_PARAM_CTRL_RESVAL 0x9999
27
28// Reset value for the max_num_reqs_between_reseeds register.
29#define EDN_PARAM_MAX_NUM_REQS_BETWEEN_RESEEDS_RESVAL 0x0
30
31// Number of alerts
32#define EDN_PARAM_NUM_ALERTS 2
33
34// Register width
35#define EDN_PARAM_REG_WIDTH 32
36
37// Common Interrupt Offsets
38#define EDN_INTR_COMMON_EDN_CMD_REQ_DONE_BIT 0
39#define EDN_INTR_COMMON_EDN_FATAL_ERR_BIT 1
40
41// Interrupt State Register
42#define EDN_INTR_STATE_REG_OFFSET 0x0
43#define EDN_INTR_STATE_REG_RESVAL 0x0u
44#define EDN_INTR_STATE_EDN_CMD_REQ_DONE_BIT 0
45#define EDN_INTR_STATE_EDN_FATAL_ERR_BIT 1
46
47// Interrupt Enable Register
48#define EDN_INTR_ENABLE_REG_OFFSET 0x4
49#define EDN_INTR_ENABLE_REG_RESVAL 0x0u
50#define EDN_INTR_ENABLE_EDN_CMD_REQ_DONE_BIT 0
51#define EDN_INTR_ENABLE_EDN_FATAL_ERR_BIT 1
52
53// Interrupt Test Register
54#define EDN_INTR_TEST_REG_OFFSET 0x8
55#define EDN_INTR_TEST_REG_RESVAL 0x0u
56#define EDN_INTR_TEST_EDN_CMD_REQ_DONE_BIT 0
57#define EDN_INTR_TEST_EDN_FATAL_ERR_BIT 1
58
59// Alert Test Register
60#define EDN_ALERT_TEST_REG_OFFSET 0xc
61#define EDN_ALERT_TEST_REG_RESVAL 0x80000000u
62#define EDN_ALERT_TEST_RECOV_ALERT_BIT 0
63#define EDN_ALERT_TEST_FATAL_ALERT_BIT 1
64#define EDN_ALERT_TEST_REGWEN_BIT 31
65
66// Register write enable for all control registers
67#define EDN_REGWEN_REG_OFFSET 0x10
68#define EDN_REGWEN_REG_RESVAL 0x1u
69#define EDN_REGWEN_REGWEN_BIT 0
70
71// EDN control register
72#define EDN_CTRL_REG_OFFSET 0x14
73#define EDN_CTRL_REG_RESVAL 0x9999u
74#define EDN_CTRL_EDN_ENABLE_MASK 0xfu
75#define EDN_CTRL_EDN_ENABLE_OFFSET 0
76#define EDN_CTRL_EDN_ENABLE_FIELD \
77 ((bitfield_field32_t) { .mask = EDN_CTRL_EDN_ENABLE_MASK, .index = EDN_CTRL_EDN_ENABLE_OFFSET })
78#define EDN_CTRL_BOOT_REQ_MODE_MASK 0xfu
79#define EDN_CTRL_BOOT_REQ_MODE_OFFSET 4
80#define EDN_CTRL_BOOT_REQ_MODE_FIELD \
81 ((bitfield_field32_t) { .mask = EDN_CTRL_BOOT_REQ_MODE_MASK, .index = EDN_CTRL_BOOT_REQ_MODE_OFFSET })
82#define EDN_CTRL_AUTO_REQ_MODE_MASK 0xfu
83#define EDN_CTRL_AUTO_REQ_MODE_OFFSET 8
84#define EDN_CTRL_AUTO_REQ_MODE_FIELD \
85 ((bitfield_field32_t) { .mask = EDN_CTRL_AUTO_REQ_MODE_MASK, .index = EDN_CTRL_AUTO_REQ_MODE_OFFSET })
86#define EDN_CTRL_CMD_FIFO_RST_MASK 0xfu
87#define EDN_CTRL_CMD_FIFO_RST_OFFSET 12
88#define EDN_CTRL_CMD_FIFO_RST_FIELD \
89 ((bitfield_field32_t) { .mask = EDN_CTRL_CMD_FIFO_RST_MASK, .index = EDN_CTRL_CMD_FIFO_RST_OFFSET })
90
91// EDN boot instantiate command register
92#define EDN_BOOT_INS_CMD_REG_OFFSET 0x18
93#define EDN_BOOT_INS_CMD_REG_RESVAL 0x901u
94
95// EDN boot generate command register
96#define EDN_BOOT_GEN_CMD_REG_OFFSET 0x1c
97#define EDN_BOOT_GEN_CMD_REG_RESVAL 0xfff003u
98
99// EDN csrng app command request register
100#define EDN_SW_CMD_REQ_REG_OFFSET 0x20
101#define EDN_SW_CMD_REQ_REG_RESVAL 0x0u
102
103// EDN software command status register
104#define EDN_SW_CMD_STS_REG_OFFSET 0x24
105#define EDN_SW_CMD_STS_REG_RESVAL 0x0u
106#define EDN_SW_CMD_STS_CMD_REG_RDY_BIT 0
107#define EDN_SW_CMD_STS_CMD_RDY_BIT 1
108#define EDN_SW_CMD_STS_CMD_ACK_BIT 2
109#define EDN_SW_CMD_STS_CMD_STS_MASK 0x7u
110#define EDN_SW_CMD_STS_CMD_STS_OFFSET 3
111#define EDN_SW_CMD_STS_CMD_STS_FIELD \
112 ((bitfield_field32_t) { .mask = EDN_SW_CMD_STS_CMD_STS_MASK, .index = EDN_SW_CMD_STS_CMD_STS_OFFSET })
113
114// EDN hardware command status register
115#define EDN_HW_CMD_STS_REG_OFFSET 0x28
116#define EDN_HW_CMD_STS_REG_RESVAL 0x0u
117#define EDN_HW_CMD_STS_BOOT_MODE_BIT 0
118#define EDN_HW_CMD_STS_AUTO_MODE_BIT 1
119#define EDN_HW_CMD_STS_CMD_TYPE_MASK 0xfu
120#define EDN_HW_CMD_STS_CMD_TYPE_OFFSET 2
121#define EDN_HW_CMD_STS_CMD_TYPE_FIELD \
122 ((bitfield_field32_t) { .mask = EDN_HW_CMD_STS_CMD_TYPE_MASK, .index = EDN_HW_CMD_STS_CMD_TYPE_OFFSET })
123#define EDN_HW_CMD_STS_CMD_ACK_BIT 6
124#define EDN_HW_CMD_STS_CMD_STS_MASK 0x7u
125#define EDN_HW_CMD_STS_CMD_STS_OFFSET 7
126#define EDN_HW_CMD_STS_CMD_STS_FIELD \
127 ((bitfield_field32_t) { .mask = EDN_HW_CMD_STS_CMD_STS_MASK, .index = EDN_HW_CMD_STS_CMD_STS_OFFSET })
128
129// EDN csrng reseed command register
130#define EDN_RESEED_CMD_REG_OFFSET 0x2c
131#define EDN_RESEED_CMD_REG_RESVAL 0x0u
132
133// EDN csrng generate command register
134#define EDN_GENERATE_CMD_REG_OFFSET 0x30
135#define EDN_GENERATE_CMD_REG_RESVAL 0x0u
136
137// EDN maximum number of requests between reseeds register
138#define EDN_MAX_NUM_REQS_BETWEEN_RESEEDS_REG_OFFSET 0x34
139#define EDN_MAX_NUM_REQS_BETWEEN_RESEEDS_REG_RESVAL 0x0u
140
141// Recoverable alert status register
142#define EDN_RECOV_ALERT_STS_REG_OFFSET 0x38
143#define EDN_RECOV_ALERT_STS_REG_RESVAL 0x0u
144#define EDN_RECOV_ALERT_STS_EDN_ENABLE_FIELD_ALERT_BIT 0
145#define EDN_RECOV_ALERT_STS_BOOT_REQ_MODE_FIELD_ALERT_BIT 1
146#define EDN_RECOV_ALERT_STS_AUTO_REQ_MODE_FIELD_ALERT_BIT 2
147#define EDN_RECOV_ALERT_STS_CMD_FIFO_RST_FIELD_ALERT_BIT 3
148#define EDN_RECOV_ALERT_STS_EDN_BUS_CMP_ALERT_BIT 12
149#define EDN_RECOV_ALERT_STS_CSRNG_ACK_ERR_BIT 13
150
151// Hardware detection of fatal error conditions status register
152#define EDN_ERR_CODE_REG_OFFSET 0x3c
153#define EDN_ERR_CODE_REG_RESVAL 0x0u
154#define EDN_ERR_CODE_SFIFO_RESCMD_ERR_BIT 0
155#define EDN_ERR_CODE_SFIFO_GENCMD_ERR_BIT 1
156#define EDN_ERR_CODE_EDN_ACK_SM_ERR_BIT 20
157#define EDN_ERR_CODE_EDN_MAIN_SM_ERR_BIT 21
158#define EDN_ERR_CODE_EDN_CNTR_ERR_BIT 22
159#define EDN_ERR_CODE_FIFO_WRITE_ERR_BIT 28
160#define EDN_ERR_CODE_FIFO_READ_ERR_BIT 29
161#define EDN_ERR_CODE_FIFO_STATE_ERR_BIT 30
162
163// Test error conditions register
164#define EDN_ERR_CODE_TEST_REG_OFFSET 0x40
165#define EDN_ERR_CODE_TEST_REG_RESVAL 0x0u
166#define EDN_ERR_CODE_TEST_ERR_CODE_TEST_MASK 0x1fu
167#define EDN_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET 0
168#define EDN_ERR_CODE_TEST_ERR_CODE_TEST_FIELD \
169 ((bitfield_field32_t) { .mask = EDN_ERR_CODE_TEST_ERR_CODE_TEST_MASK, .index = EDN_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET })
170
171// Main state machine state observation register
172#define EDN_MAIN_SM_STATE_REG_OFFSET 0x44
173#define EDN_MAIN_SM_STATE_REG_RESVAL 0xc1u
174#define EDN_MAIN_SM_STATE_MAIN_SM_STATE_MASK 0x1ffu
175#define EDN_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET 0
176#define EDN_MAIN_SM_STATE_MAIN_SM_STATE_FIELD \
177 ((bitfield_field32_t) { .mask = EDN_MAIN_SM_STATE_MAIN_SM_STATE_MASK, .index = EDN_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET })
178
179#ifdef __cplusplus
180} // extern "C"
181#endif
182#endif // _EDN_REG_DEFS_
183// End generated register defines for edn