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 0x0u
62#define EDN_ALERT_TEST_RECOV_ALERT_BIT 0
63#define EDN_ALERT_TEST_FATAL_ALERT_BIT 1
64
65// Register write enable for all control registers
66#define EDN_REGWEN_REG_OFFSET 0x10
67#define EDN_REGWEN_REG_RESVAL 0x1u
68#define EDN_REGWEN_REGWEN_BIT 0
69
70// EDN control register
71#define EDN_CTRL_REG_OFFSET 0x14
72#define EDN_CTRL_REG_RESVAL 0x9999u
73#define EDN_CTRL_EDN_ENABLE_MASK 0xfu
74#define EDN_CTRL_EDN_ENABLE_OFFSET 0
75#define EDN_CTRL_EDN_ENABLE_FIELD \
76 ((bitfield_field32_t) { .mask = EDN_CTRL_EDN_ENABLE_MASK, .index = EDN_CTRL_EDN_ENABLE_OFFSET })
77#define EDN_CTRL_BOOT_REQ_MODE_MASK 0xfu
78#define EDN_CTRL_BOOT_REQ_MODE_OFFSET 4
79#define EDN_CTRL_BOOT_REQ_MODE_FIELD \
80 ((bitfield_field32_t) { .mask = EDN_CTRL_BOOT_REQ_MODE_MASK, .index = EDN_CTRL_BOOT_REQ_MODE_OFFSET })
81#define EDN_CTRL_AUTO_REQ_MODE_MASK 0xfu
82#define EDN_CTRL_AUTO_REQ_MODE_OFFSET 8
83#define EDN_CTRL_AUTO_REQ_MODE_FIELD \
84 ((bitfield_field32_t) { .mask = EDN_CTRL_AUTO_REQ_MODE_MASK, .index = EDN_CTRL_AUTO_REQ_MODE_OFFSET })
85#define EDN_CTRL_CMD_FIFO_RST_MASK 0xfu
86#define EDN_CTRL_CMD_FIFO_RST_OFFSET 12
87#define EDN_CTRL_CMD_FIFO_RST_FIELD \
88 ((bitfield_field32_t) { .mask = EDN_CTRL_CMD_FIFO_RST_MASK, .index = EDN_CTRL_CMD_FIFO_RST_OFFSET })
89
90// EDN boot instantiate command register
91#define EDN_BOOT_INS_CMD_REG_OFFSET 0x18
92#define EDN_BOOT_INS_CMD_REG_RESVAL 0x901u
93
94// EDN boot generate command register
95#define EDN_BOOT_GEN_CMD_REG_OFFSET 0x1c
96#define EDN_BOOT_GEN_CMD_REG_RESVAL 0xfff003u
97
98// EDN csrng app command request register
99#define EDN_SW_CMD_REQ_REG_OFFSET 0x20
100#define EDN_SW_CMD_REQ_REG_RESVAL 0x0u
101
102// EDN software command status register
103#define EDN_SW_CMD_STS_REG_OFFSET 0x24
104#define EDN_SW_CMD_STS_REG_RESVAL 0x0u
105#define EDN_SW_CMD_STS_CMD_REG_RDY_BIT 0
106#define EDN_SW_CMD_STS_CMD_RDY_BIT 1
107#define EDN_SW_CMD_STS_CMD_ACK_BIT 2
108#define EDN_SW_CMD_STS_CMD_STS_MASK 0x7u
109#define EDN_SW_CMD_STS_CMD_STS_OFFSET 3
110#define EDN_SW_CMD_STS_CMD_STS_FIELD \
111 ((bitfield_field32_t) { .mask = EDN_SW_CMD_STS_CMD_STS_MASK, .index = EDN_SW_CMD_STS_CMD_STS_OFFSET })
112
113// EDN hardware command status register
114#define EDN_HW_CMD_STS_REG_OFFSET 0x28
115#define EDN_HW_CMD_STS_REG_RESVAL 0x0u
116#define EDN_HW_CMD_STS_BOOT_MODE_BIT 0
117#define EDN_HW_CMD_STS_AUTO_MODE_BIT 1
118#define EDN_HW_CMD_STS_CMD_TYPE_MASK 0xfu
119#define EDN_HW_CMD_STS_CMD_TYPE_OFFSET 2
120#define EDN_HW_CMD_STS_CMD_TYPE_FIELD \
121 ((bitfield_field32_t) { .mask = EDN_HW_CMD_STS_CMD_TYPE_MASK, .index = EDN_HW_CMD_STS_CMD_TYPE_OFFSET })
122#define EDN_HW_CMD_STS_CMD_ACK_BIT 6
123#define EDN_HW_CMD_STS_CMD_STS_MASK 0x7u
124#define EDN_HW_CMD_STS_CMD_STS_OFFSET 7
125#define EDN_HW_CMD_STS_CMD_STS_FIELD \
126 ((bitfield_field32_t) { .mask = EDN_HW_CMD_STS_CMD_STS_MASK, .index = EDN_HW_CMD_STS_CMD_STS_OFFSET })
127
128// EDN csrng reseed command register
129#define EDN_RESEED_CMD_REG_OFFSET 0x2c
130#define EDN_RESEED_CMD_REG_RESVAL 0x0u
131
132// EDN csrng generate command register
133#define EDN_GENERATE_CMD_REG_OFFSET 0x30
134#define EDN_GENERATE_CMD_REG_RESVAL 0x0u
135
136// EDN maximum number of requests between reseeds register
137#define EDN_MAX_NUM_REQS_BETWEEN_RESEEDS_REG_OFFSET 0x34
138#define EDN_MAX_NUM_REQS_BETWEEN_RESEEDS_REG_RESVAL 0x0u
139
140// Recoverable alert status register
141#define EDN_RECOV_ALERT_STS_REG_OFFSET 0x38
142#define EDN_RECOV_ALERT_STS_REG_RESVAL 0x0u
143#define EDN_RECOV_ALERT_STS_EDN_ENABLE_FIELD_ALERT_BIT 0
144#define EDN_RECOV_ALERT_STS_BOOT_REQ_MODE_FIELD_ALERT_BIT 1
145#define EDN_RECOV_ALERT_STS_AUTO_REQ_MODE_FIELD_ALERT_BIT 2
146#define EDN_RECOV_ALERT_STS_CMD_FIFO_RST_FIELD_ALERT_BIT 3
147#define EDN_RECOV_ALERT_STS_EDN_BUS_CMP_ALERT_BIT 12
148#define EDN_RECOV_ALERT_STS_CSRNG_ACK_ERR_BIT 13
149
150// Hardware detection of fatal error conditions status register
151#define EDN_ERR_CODE_REG_OFFSET 0x3c
152#define EDN_ERR_CODE_REG_RESVAL 0x0u
153#define EDN_ERR_CODE_SFIFO_RESCMD_ERR_BIT 0
154#define EDN_ERR_CODE_SFIFO_GENCMD_ERR_BIT 1
155#define EDN_ERR_CODE_EDN_ACK_SM_ERR_BIT 20
156#define EDN_ERR_CODE_EDN_MAIN_SM_ERR_BIT 21
157#define EDN_ERR_CODE_EDN_CNTR_ERR_BIT 22
158#define EDN_ERR_CODE_FIFO_WRITE_ERR_BIT 28
159#define EDN_ERR_CODE_FIFO_READ_ERR_BIT 29
160#define EDN_ERR_CODE_FIFO_STATE_ERR_BIT 30
161
162// Test error conditions register
163#define EDN_ERR_CODE_TEST_REG_OFFSET 0x40
164#define EDN_ERR_CODE_TEST_REG_RESVAL 0x0u
165#define EDN_ERR_CODE_TEST_ERR_CODE_TEST_MASK 0x1fu
166#define EDN_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET 0
167#define EDN_ERR_CODE_TEST_ERR_CODE_TEST_FIELD \
168 ((bitfield_field32_t) { .mask = EDN_ERR_CODE_TEST_ERR_CODE_TEST_MASK, .index = EDN_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET })
169
170// Main state machine state observation register
171#define EDN_MAIN_SM_STATE_REG_OFFSET 0x44
172#define EDN_MAIN_SM_STATE_REG_RESVAL 0xc1u
173#define EDN_MAIN_SM_STATE_MAIN_SM_STATE_MASK 0x1ffu
174#define EDN_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET 0
175#define EDN_MAIN_SM_STATE_MAIN_SM_STATE_FIELD \
176 ((bitfield_field32_t) { .mask = EDN_MAIN_SM_STATE_MAIN_SM_STATE_MASK, .index = EDN_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET })
177
178#ifdef __cplusplus
179} // extern "C"
180#endif
181#endif // _EDN_REG_DEFS_
182// End generated register defines for edn