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