Software APIs
entropy_src_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for entropy_src
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 _ENTROPY_SRC_REG_DEFS_
14#define _ENTROPY_SRC_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Number of 32-bit entries in the observe FIFO.
20#define ENTROPY_SRC_PARAM_OBSERVE_FIFO_DEPTH 32
21
22// Number of alerts
23#define ENTROPY_SRC_PARAM_NUM_ALERTS 2
24
25// Register width
26#define ENTROPY_SRC_PARAM_REG_WIDTH 32
27
28// Common Interrupt Offsets
29#define ENTROPY_SRC_INTR_COMMON_ES_ENTROPY_VALID_BIT 0
30#define ENTROPY_SRC_INTR_COMMON_ES_HEALTH_TEST_FAILED_BIT 1
31#define ENTROPY_SRC_INTR_COMMON_ES_OBSERVE_FIFO_READY_BIT 2
32#define ENTROPY_SRC_INTR_COMMON_ES_FATAL_ERR_BIT 3
33
34// Interrupt State Register
35#define ENTROPY_SRC_INTR_STATE_REG_OFFSET 0x0
36#define ENTROPY_SRC_INTR_STATE_REG_RESVAL 0x0u
37#define ENTROPY_SRC_INTR_STATE_ES_ENTROPY_VALID_BIT 0
38#define ENTROPY_SRC_INTR_STATE_ES_HEALTH_TEST_FAILED_BIT 1
39#define ENTROPY_SRC_INTR_STATE_ES_OBSERVE_FIFO_READY_BIT 2
40#define ENTROPY_SRC_INTR_STATE_ES_FATAL_ERR_BIT 3
41
42// Interrupt Enable Register
43#define ENTROPY_SRC_INTR_ENABLE_REG_OFFSET 0x4
44#define ENTROPY_SRC_INTR_ENABLE_REG_RESVAL 0x0u
45#define ENTROPY_SRC_INTR_ENABLE_ES_ENTROPY_VALID_BIT 0
46#define ENTROPY_SRC_INTR_ENABLE_ES_HEALTH_TEST_FAILED_BIT 1
47#define ENTROPY_SRC_INTR_ENABLE_ES_OBSERVE_FIFO_READY_BIT 2
48#define ENTROPY_SRC_INTR_ENABLE_ES_FATAL_ERR_BIT 3
49
50// Interrupt Test Register
51#define ENTROPY_SRC_INTR_TEST_REG_OFFSET 0x8
52#define ENTROPY_SRC_INTR_TEST_REG_RESVAL 0x0u
53#define ENTROPY_SRC_INTR_TEST_ES_ENTROPY_VALID_BIT 0
54#define ENTROPY_SRC_INTR_TEST_ES_HEALTH_TEST_FAILED_BIT 1
55#define ENTROPY_SRC_INTR_TEST_ES_OBSERVE_FIFO_READY_BIT 2
56#define ENTROPY_SRC_INTR_TEST_ES_FATAL_ERR_BIT 3
57
58// Alert Test Register
59#define ENTROPY_SRC_ALERT_TEST_REG_OFFSET 0xc
60#define ENTROPY_SRC_ALERT_TEST_REG_RESVAL 0x0u
61#define ENTROPY_SRC_ALERT_TEST_RECOV_ALERT_BIT 0
62#define ENTROPY_SRC_ALERT_TEST_FATAL_ALERT_BIT 1
63
64// Register write enable for module enable register
65#define ENTROPY_SRC_ME_REGWEN_REG_OFFSET 0x10
66#define ENTROPY_SRC_ME_REGWEN_REG_RESVAL 0x1u
67#define ENTROPY_SRC_ME_REGWEN_ME_REGWEN_BIT 0
68
69// Register write enable for control and threshold registers
70#define ENTROPY_SRC_SW_REGUPD_REG_OFFSET 0x14
71#define ENTROPY_SRC_SW_REGUPD_REG_RESVAL 0x1u
72#define ENTROPY_SRC_SW_REGUPD_SW_REGUPD_BIT 0
73
74// Register write enable for all control registers
75#define ENTROPY_SRC_REGWEN_REG_OFFSET 0x18
76#define ENTROPY_SRC_REGWEN_REG_RESVAL 0x1u
77#define ENTROPY_SRC_REGWEN_REGWEN_BIT 0
78
79// Revision register
80#define ENTROPY_SRC_REV_REG_OFFSET 0x1c
81#define ENTROPY_SRC_REV_REG_RESVAL 0x10303u
82#define ENTROPY_SRC_REV_ABI_REVISION_MASK 0xffu
83#define ENTROPY_SRC_REV_ABI_REVISION_OFFSET 0
84#define ENTROPY_SRC_REV_ABI_REVISION_FIELD \
85 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REV_ABI_REVISION_MASK, .index = ENTROPY_SRC_REV_ABI_REVISION_OFFSET })
86#define ENTROPY_SRC_REV_HW_REVISION_MASK 0xffu
87#define ENTROPY_SRC_REV_HW_REVISION_OFFSET 8
88#define ENTROPY_SRC_REV_HW_REVISION_FIELD \
89 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REV_HW_REVISION_MASK, .index = ENTROPY_SRC_REV_HW_REVISION_OFFSET })
90#define ENTROPY_SRC_REV_CHIP_TYPE_MASK 0xffu
91#define ENTROPY_SRC_REV_CHIP_TYPE_OFFSET 16
92#define ENTROPY_SRC_REV_CHIP_TYPE_FIELD \
93 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REV_CHIP_TYPE_MASK, .index = ENTROPY_SRC_REV_CHIP_TYPE_OFFSET })
94
95// Module enable register
96#define ENTROPY_SRC_MODULE_ENABLE_REG_OFFSET 0x20
97#define ENTROPY_SRC_MODULE_ENABLE_REG_RESVAL 0x9u
98#define ENTROPY_SRC_MODULE_ENABLE_MODULE_ENABLE_MASK 0xfu
99#define ENTROPY_SRC_MODULE_ENABLE_MODULE_ENABLE_OFFSET 0
100#define ENTROPY_SRC_MODULE_ENABLE_MODULE_ENABLE_FIELD \
101 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MODULE_ENABLE_MODULE_ENABLE_MASK, .index = ENTROPY_SRC_MODULE_ENABLE_MODULE_ENABLE_OFFSET })
102
103// Configuration register
104#define ENTROPY_SRC_CONF_REG_OFFSET 0x24
105#define ENTROPY_SRC_CONF_REG_RESVAL 0x999999u
106#define ENTROPY_SRC_CONF_FIPS_ENABLE_MASK 0xfu
107#define ENTROPY_SRC_CONF_FIPS_ENABLE_OFFSET 0
108#define ENTROPY_SRC_CONF_FIPS_ENABLE_FIELD \
109 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_FIPS_ENABLE_MASK, .index = ENTROPY_SRC_CONF_FIPS_ENABLE_OFFSET })
110#define ENTROPY_SRC_CONF_FIPS_FLAG_MASK 0xfu
111#define ENTROPY_SRC_CONF_FIPS_FLAG_OFFSET 4
112#define ENTROPY_SRC_CONF_FIPS_FLAG_FIELD \
113 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_FIPS_FLAG_MASK, .index = ENTROPY_SRC_CONF_FIPS_FLAG_OFFSET })
114#define ENTROPY_SRC_CONF_RNG_FIPS_MASK 0xfu
115#define ENTROPY_SRC_CONF_RNG_FIPS_OFFSET 8
116#define ENTROPY_SRC_CONF_RNG_FIPS_FIELD \
117 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_RNG_FIPS_MASK, .index = ENTROPY_SRC_CONF_RNG_FIPS_OFFSET })
118#define ENTROPY_SRC_CONF_RNG_BIT_ENABLE_MASK 0xfu
119#define ENTROPY_SRC_CONF_RNG_BIT_ENABLE_OFFSET 12
120#define ENTROPY_SRC_CONF_RNG_BIT_ENABLE_FIELD \
121 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_RNG_BIT_ENABLE_MASK, .index = ENTROPY_SRC_CONF_RNG_BIT_ENABLE_OFFSET })
122#define ENTROPY_SRC_CONF_THRESHOLD_SCOPE_MASK 0xfu
123#define ENTROPY_SRC_CONF_THRESHOLD_SCOPE_OFFSET 16
124#define ENTROPY_SRC_CONF_THRESHOLD_SCOPE_FIELD \
125 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_THRESHOLD_SCOPE_MASK, .index = ENTROPY_SRC_CONF_THRESHOLD_SCOPE_OFFSET })
126#define ENTROPY_SRC_CONF_ENTROPY_DATA_REG_ENABLE_MASK 0xfu
127#define ENTROPY_SRC_CONF_ENTROPY_DATA_REG_ENABLE_OFFSET 20
128#define ENTROPY_SRC_CONF_ENTROPY_DATA_REG_ENABLE_FIELD \
129 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_ENTROPY_DATA_REG_ENABLE_MASK, .index = ENTROPY_SRC_CONF_ENTROPY_DATA_REG_ENABLE_OFFSET })
130#define ENTROPY_SRC_CONF_RNG_BIT_SEL_MASK 0xffu
131#define ENTROPY_SRC_CONF_RNG_BIT_SEL_OFFSET 24
132#define ENTROPY_SRC_CONF_RNG_BIT_SEL_FIELD \
133 ((bitfield_field32_t) { .mask = ENTROPY_SRC_CONF_RNG_BIT_SEL_MASK, .index = ENTROPY_SRC_CONF_RNG_BIT_SEL_OFFSET })
134
135// Entropy control register
136#define ENTROPY_SRC_ENTROPY_CONTROL_REG_OFFSET 0x28
137#define ENTROPY_SRC_ENTROPY_CONTROL_REG_RESVAL 0x99u
138#define ENTROPY_SRC_ENTROPY_CONTROL_ES_ROUTE_MASK 0xfu
139#define ENTROPY_SRC_ENTROPY_CONTROL_ES_ROUTE_OFFSET 0
140#define ENTROPY_SRC_ENTROPY_CONTROL_ES_ROUTE_FIELD \
141 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ENTROPY_CONTROL_ES_ROUTE_MASK, .index = ENTROPY_SRC_ENTROPY_CONTROL_ES_ROUTE_OFFSET })
142#define ENTROPY_SRC_ENTROPY_CONTROL_ES_TYPE_MASK 0xfu
143#define ENTROPY_SRC_ENTROPY_CONTROL_ES_TYPE_OFFSET 4
144#define ENTROPY_SRC_ENTROPY_CONTROL_ES_TYPE_FIELD \
145 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ENTROPY_CONTROL_ES_TYPE_MASK, .index = ENTROPY_SRC_ENTROPY_CONTROL_ES_TYPE_OFFSET })
146
147// Entropy data bits
148#define ENTROPY_SRC_ENTROPY_DATA_REG_OFFSET 0x2c
149#define ENTROPY_SRC_ENTROPY_DATA_REG_RESVAL 0x0u
150
151// Health test windows register
152#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_REG_OFFSET 0x30
153#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_REG_RESVAL 0x600200u
154#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_FIPS_WINDOW_MASK 0xffffu
155#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_FIPS_WINDOW_OFFSET 0
156#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_FIPS_WINDOW_FIELD \
157 ((bitfield_field32_t) { .mask = ENTROPY_SRC_HEALTH_TEST_WINDOWS_FIPS_WINDOW_MASK, .index = ENTROPY_SRC_HEALTH_TEST_WINDOWS_FIPS_WINDOW_OFFSET })
158#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_BYPASS_WINDOW_MASK 0xffffu
159#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_BYPASS_WINDOW_OFFSET 16
160#define ENTROPY_SRC_HEALTH_TEST_WINDOWS_BYPASS_WINDOW_FIELD \
161 ((bitfield_field32_t) { .mask = ENTROPY_SRC_HEALTH_TEST_WINDOWS_BYPASS_WINDOW_MASK, .index = ENTROPY_SRC_HEALTH_TEST_WINDOWS_BYPASS_WINDOW_OFFSET })
162
163// Repetition count test thresholds register
164#define ENTROPY_SRC_REPCNT_THRESHOLDS_REG_OFFSET 0x34
165#define ENTROPY_SRC_REPCNT_THRESHOLDS_REG_RESVAL 0xffffffffu
166#define ENTROPY_SRC_REPCNT_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
167#define ENTROPY_SRC_REPCNT_THRESHOLDS_FIPS_THRESH_OFFSET 0
168#define ENTROPY_SRC_REPCNT_THRESHOLDS_FIPS_THRESH_FIELD \
169 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNT_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_REPCNT_THRESHOLDS_FIPS_THRESH_OFFSET })
170#define ENTROPY_SRC_REPCNT_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
171#define ENTROPY_SRC_REPCNT_THRESHOLDS_BYPASS_THRESH_OFFSET 16
172#define ENTROPY_SRC_REPCNT_THRESHOLDS_BYPASS_THRESH_FIELD \
173 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNT_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_REPCNT_THRESHOLDS_BYPASS_THRESH_OFFSET })
174
175// Repetition count symbol test thresholds register
176#define ENTROPY_SRC_REPCNTS_THRESHOLDS_REG_OFFSET 0x38
177#define ENTROPY_SRC_REPCNTS_THRESHOLDS_REG_RESVAL 0xffffffffu
178#define ENTROPY_SRC_REPCNTS_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
179#define ENTROPY_SRC_REPCNTS_THRESHOLDS_FIPS_THRESH_OFFSET 0
180#define ENTROPY_SRC_REPCNTS_THRESHOLDS_FIPS_THRESH_FIELD \
181 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNTS_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_REPCNTS_THRESHOLDS_FIPS_THRESH_OFFSET })
182#define ENTROPY_SRC_REPCNTS_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
183#define ENTROPY_SRC_REPCNTS_THRESHOLDS_BYPASS_THRESH_OFFSET 16
184#define ENTROPY_SRC_REPCNTS_THRESHOLDS_BYPASS_THRESH_FIELD \
185 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNTS_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_REPCNTS_THRESHOLDS_BYPASS_THRESH_OFFSET })
186
187// Adaptive proportion test high thresholds register
188#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_REG_OFFSET 0x3c
189#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_REG_RESVAL 0xffffffffu
190#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
191#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_FIPS_THRESH_OFFSET 0
192#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_FIPS_THRESH_FIELD \
193 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_FIPS_THRESH_OFFSET })
194#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
195#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_BYPASS_THRESH_OFFSET 16
196#define ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_BYPASS_THRESH_FIELD \
197 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_ADAPTP_HI_THRESHOLDS_BYPASS_THRESH_OFFSET })
198
199// Adaptive proportion test low thresholds register
200#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_REG_OFFSET 0x40
201#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_REG_RESVAL 0x0u
202#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
203#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_FIPS_THRESH_OFFSET 0
204#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_FIPS_THRESH_FIELD \
205 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_FIPS_THRESH_OFFSET })
206#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
207#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_BYPASS_THRESH_OFFSET 16
208#define ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_BYPASS_THRESH_FIELD \
209 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_ADAPTP_LO_THRESHOLDS_BYPASS_THRESH_OFFSET })
210
211// Bucket test thresholds register
212#define ENTROPY_SRC_BUCKET_THRESHOLDS_REG_OFFSET 0x44
213#define ENTROPY_SRC_BUCKET_THRESHOLDS_REG_RESVAL 0xffffffffu
214#define ENTROPY_SRC_BUCKET_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
215#define ENTROPY_SRC_BUCKET_THRESHOLDS_FIPS_THRESH_OFFSET 0
216#define ENTROPY_SRC_BUCKET_THRESHOLDS_FIPS_THRESH_FIELD \
217 ((bitfield_field32_t) { .mask = ENTROPY_SRC_BUCKET_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_BUCKET_THRESHOLDS_FIPS_THRESH_OFFSET })
218#define ENTROPY_SRC_BUCKET_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
219#define ENTROPY_SRC_BUCKET_THRESHOLDS_BYPASS_THRESH_OFFSET 16
220#define ENTROPY_SRC_BUCKET_THRESHOLDS_BYPASS_THRESH_FIELD \
221 ((bitfield_field32_t) { .mask = ENTROPY_SRC_BUCKET_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_BUCKET_THRESHOLDS_BYPASS_THRESH_OFFSET })
222
223// Markov test high thresholds register
224#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_REG_OFFSET 0x48
225#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_REG_RESVAL 0xffffffffu
226#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
227#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_FIPS_THRESH_OFFSET 0
228#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_FIPS_THRESH_FIELD \
229 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_HI_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_MARKOV_HI_THRESHOLDS_FIPS_THRESH_OFFSET })
230#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
231#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_BYPASS_THRESH_OFFSET 16
232#define ENTROPY_SRC_MARKOV_HI_THRESHOLDS_BYPASS_THRESH_FIELD \
233 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_HI_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_MARKOV_HI_THRESHOLDS_BYPASS_THRESH_OFFSET })
234
235// Markov test low thresholds register
236#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_REG_OFFSET 0x4c
237#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_REG_RESVAL 0x0u
238#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
239#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_FIPS_THRESH_OFFSET 0
240#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_FIPS_THRESH_FIELD \
241 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_LO_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_MARKOV_LO_THRESHOLDS_FIPS_THRESH_OFFSET })
242#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
243#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_BYPASS_THRESH_OFFSET 16
244#define ENTROPY_SRC_MARKOV_LO_THRESHOLDS_BYPASS_THRESH_FIELD \
245 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_LO_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_MARKOV_LO_THRESHOLDS_BYPASS_THRESH_OFFSET })
246
247// External health test high thresholds register
248#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_REG_OFFSET 0x50
249#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_REG_RESVAL 0xffffffffu
250#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
251#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_FIPS_THRESH_OFFSET 0
252#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_FIPS_THRESH_FIELD \
253 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_HI_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_EXTHT_HI_THRESHOLDS_FIPS_THRESH_OFFSET })
254#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
255#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_BYPASS_THRESH_OFFSET 16
256#define ENTROPY_SRC_EXTHT_HI_THRESHOLDS_BYPASS_THRESH_FIELD \
257 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_HI_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_EXTHT_HI_THRESHOLDS_BYPASS_THRESH_OFFSET })
258
259// External health test low thresholds register
260#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_REG_OFFSET 0x54
261#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_REG_RESVAL 0x0u
262#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_FIPS_THRESH_MASK 0xffffu
263#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_FIPS_THRESH_OFFSET 0
264#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_FIPS_THRESH_FIELD \
265 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_LO_THRESHOLDS_FIPS_THRESH_MASK, .index = ENTROPY_SRC_EXTHT_LO_THRESHOLDS_FIPS_THRESH_OFFSET })
266#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_BYPASS_THRESH_MASK 0xffffu
267#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_BYPASS_THRESH_OFFSET 16
268#define ENTROPY_SRC_EXTHT_LO_THRESHOLDS_BYPASS_THRESH_FIELD \
269 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_LO_THRESHOLDS_BYPASS_THRESH_MASK, .index = ENTROPY_SRC_EXTHT_LO_THRESHOLDS_BYPASS_THRESH_OFFSET })
270
271// Repetition count test high watermarks register
272#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_REG_OFFSET 0x58
273#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_REG_RESVAL 0x0u
274#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
275#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_FIPS_WATERMARK_OFFSET 0
276#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_FIPS_WATERMARK_FIELD \
277 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNT_HI_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_REPCNT_HI_WATERMARKS_FIPS_WATERMARK_OFFSET })
278#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
279#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
280#define ENTROPY_SRC_REPCNT_HI_WATERMARKS_BYPASS_WATERMARK_FIELD \
281 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNT_HI_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_REPCNT_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET })
282
283// Repetition count symbol test high watermarks register
284#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_REG_OFFSET 0x5c
285#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_REG_RESVAL 0x0u
286#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
287#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_FIPS_WATERMARK_OFFSET 0
288#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_FIPS_WATERMARK_FIELD \
289 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNTS_HI_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_REPCNTS_HI_WATERMARKS_FIPS_WATERMARK_OFFSET })
290#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
291#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
292#define ENTROPY_SRC_REPCNTS_HI_WATERMARKS_BYPASS_WATERMARK_FIELD \
293 ((bitfield_field32_t) { .mask = ENTROPY_SRC_REPCNTS_HI_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_REPCNTS_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET })
294
295// Adaptive proportion test high watermarks register
296#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_REG_OFFSET 0x60
297#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_REG_RESVAL 0x0u
298#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
299#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_FIPS_WATERMARK_OFFSET 0
300#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_FIPS_WATERMARK_FIELD \
301 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_HI_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_ADAPTP_HI_WATERMARKS_FIPS_WATERMARK_OFFSET })
302#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
303#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
304#define ENTROPY_SRC_ADAPTP_HI_WATERMARKS_BYPASS_WATERMARK_FIELD \
305 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_HI_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_ADAPTP_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET })
306
307// Adaptive proportion test low watermarks register
308#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_REG_OFFSET 0x64
309#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_REG_RESVAL 0xffffffffu
310#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
311#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_FIPS_WATERMARK_OFFSET 0
312#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_FIPS_WATERMARK_FIELD \
313 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_LO_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_ADAPTP_LO_WATERMARKS_FIPS_WATERMARK_OFFSET })
314#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
315#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
316#define ENTROPY_SRC_ADAPTP_LO_WATERMARKS_BYPASS_WATERMARK_FIELD \
317 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ADAPTP_LO_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_ADAPTP_LO_WATERMARKS_BYPASS_WATERMARK_OFFSET })
318
319// External health test high watermarks register
320#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_REG_OFFSET 0x68
321#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_REG_RESVAL 0x0u
322#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
323#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_FIPS_WATERMARK_OFFSET 0
324#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_FIPS_WATERMARK_FIELD \
325 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_HI_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_EXTHT_HI_WATERMARKS_FIPS_WATERMARK_OFFSET })
326#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
327#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
328#define ENTROPY_SRC_EXTHT_HI_WATERMARKS_BYPASS_WATERMARK_FIELD \
329 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_HI_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_EXTHT_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET })
330
331// External health test low watermarks register
332#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_REG_OFFSET 0x6c
333#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_REG_RESVAL 0xffffffffu
334#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
335#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_FIPS_WATERMARK_OFFSET 0
336#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_FIPS_WATERMARK_FIELD \
337 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_LO_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_EXTHT_LO_WATERMARKS_FIPS_WATERMARK_OFFSET })
338#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
339#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
340#define ENTROPY_SRC_EXTHT_LO_WATERMARKS_BYPASS_WATERMARK_FIELD \
341 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_LO_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_EXTHT_LO_WATERMARKS_BYPASS_WATERMARK_OFFSET })
342
343// Bucket test high watermarks register
344#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_REG_OFFSET 0x70
345#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_REG_RESVAL 0x0u
346#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
347#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_FIPS_WATERMARK_OFFSET 0
348#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_FIPS_WATERMARK_FIELD \
349 ((bitfield_field32_t) { .mask = ENTROPY_SRC_BUCKET_HI_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_BUCKET_HI_WATERMARKS_FIPS_WATERMARK_OFFSET })
350#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
351#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
352#define ENTROPY_SRC_BUCKET_HI_WATERMARKS_BYPASS_WATERMARK_FIELD \
353 ((bitfield_field32_t) { .mask = ENTROPY_SRC_BUCKET_HI_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_BUCKET_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET })
354
355// Markov test high watermarks register
356#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_REG_OFFSET 0x74
357#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_REG_RESVAL 0x0u
358#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
359#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_FIPS_WATERMARK_OFFSET 0
360#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_FIPS_WATERMARK_FIELD \
361 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_HI_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_MARKOV_HI_WATERMARKS_FIPS_WATERMARK_OFFSET })
362#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
363#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
364#define ENTROPY_SRC_MARKOV_HI_WATERMARKS_BYPASS_WATERMARK_FIELD \
365 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_HI_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_MARKOV_HI_WATERMARKS_BYPASS_WATERMARK_OFFSET })
366
367// Markov test low watermarks register
368#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_REG_OFFSET 0x78
369#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_REG_RESVAL 0xffffffffu
370#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_FIPS_WATERMARK_MASK 0xffffu
371#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_FIPS_WATERMARK_OFFSET 0
372#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_FIPS_WATERMARK_FIELD \
373 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_LO_WATERMARKS_FIPS_WATERMARK_MASK, .index = ENTROPY_SRC_MARKOV_LO_WATERMARKS_FIPS_WATERMARK_OFFSET })
374#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_BYPASS_WATERMARK_MASK 0xffffu
375#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_BYPASS_WATERMARK_OFFSET 16
376#define ENTROPY_SRC_MARKOV_LO_WATERMARKS_BYPASS_WATERMARK_FIELD \
377 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MARKOV_LO_WATERMARKS_BYPASS_WATERMARK_MASK, .index = ENTROPY_SRC_MARKOV_LO_WATERMARKS_BYPASS_WATERMARK_OFFSET })
378
379// Repetition count test failure counter register
380#define ENTROPY_SRC_REPCNT_TOTAL_FAILS_REG_OFFSET 0x7c
381#define ENTROPY_SRC_REPCNT_TOTAL_FAILS_REG_RESVAL 0x0u
382
383// Repetition count symbol test failure counter register
384#define ENTROPY_SRC_REPCNTS_TOTAL_FAILS_REG_OFFSET 0x80
385#define ENTROPY_SRC_REPCNTS_TOTAL_FAILS_REG_RESVAL 0x0u
386
387// Adaptive proportion high test failure counter register
388#define ENTROPY_SRC_ADAPTP_HI_TOTAL_FAILS_REG_OFFSET 0x84
389#define ENTROPY_SRC_ADAPTP_HI_TOTAL_FAILS_REG_RESVAL 0x0u
390
391// Adaptive proportion low test failure counter register
392#define ENTROPY_SRC_ADAPTP_LO_TOTAL_FAILS_REG_OFFSET 0x88
393#define ENTROPY_SRC_ADAPTP_LO_TOTAL_FAILS_REG_RESVAL 0x0u
394
395// Bucket test failure counter register
396#define ENTROPY_SRC_BUCKET_TOTAL_FAILS_REG_OFFSET 0x8c
397#define ENTROPY_SRC_BUCKET_TOTAL_FAILS_REG_RESVAL 0x0u
398
399// Markov high test failure counter register
400#define ENTROPY_SRC_MARKOV_HI_TOTAL_FAILS_REG_OFFSET 0x90
401#define ENTROPY_SRC_MARKOV_HI_TOTAL_FAILS_REG_RESVAL 0x0u
402
403// Markov low test failure counter register
404#define ENTROPY_SRC_MARKOV_LO_TOTAL_FAILS_REG_OFFSET 0x94
405#define ENTROPY_SRC_MARKOV_LO_TOTAL_FAILS_REG_RESVAL 0x0u
406
407// External health test high threshold failure counter register
408#define ENTROPY_SRC_EXTHT_HI_TOTAL_FAILS_REG_OFFSET 0x98
409#define ENTROPY_SRC_EXTHT_HI_TOTAL_FAILS_REG_RESVAL 0x0u
410
411// External health test low threshold failure counter register
412#define ENTROPY_SRC_EXTHT_LO_TOTAL_FAILS_REG_OFFSET 0x9c
413#define ENTROPY_SRC_EXTHT_LO_TOTAL_FAILS_REG_RESVAL 0x0u
414
415// Alert threshold register
416#define ENTROPY_SRC_ALERT_THRESHOLD_REG_OFFSET 0xa0
417#define ENTROPY_SRC_ALERT_THRESHOLD_REG_RESVAL 0xfffd0002u
418#define ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_MASK 0xffffu
419#define ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_OFFSET 0
420#define ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_FIELD \
421 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_MASK, .index = ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_OFFSET })
422#define ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_INV_MASK 0xffffu
423#define ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_INV_OFFSET 16
424#define ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_INV_FIELD \
425 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_INV_MASK, .index = ENTROPY_SRC_ALERT_THRESHOLD_ALERT_THRESHOLD_INV_OFFSET })
426
427// Alert summary failure counts register
428#define ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_REG_OFFSET 0xa4
429#define ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_REG_RESVAL 0x0u
430#define ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_ANY_FAIL_COUNT_MASK 0xffffu
431#define ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_ANY_FAIL_COUNT_OFFSET 0
432#define ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_ANY_FAIL_COUNT_FIELD \
433 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_ANY_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_SUMMARY_FAIL_COUNTS_ANY_FAIL_COUNT_OFFSET })
434
435// Alert failure counts register
436#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REG_OFFSET 0xa8
437#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REG_RESVAL 0x0u
438#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNT_FAIL_COUNT_MASK 0xfu
439#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNT_FAIL_COUNT_OFFSET 4
440#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNT_FAIL_COUNT_FIELD \
441 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNT_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNT_FAIL_COUNT_OFFSET })
442#define ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_HI_FAIL_COUNT_MASK 0xfu
443#define ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_HI_FAIL_COUNT_OFFSET 8
444#define ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_HI_FAIL_COUNT_FIELD \
445 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_HI_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_HI_FAIL_COUNT_OFFSET })
446#define ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_LO_FAIL_COUNT_MASK 0xfu
447#define ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_LO_FAIL_COUNT_OFFSET 12
448#define ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_LO_FAIL_COUNT_FIELD \
449 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_LO_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_ADAPTP_LO_FAIL_COUNT_OFFSET })
450#define ENTROPY_SRC_ALERT_FAIL_COUNTS_BUCKET_FAIL_COUNT_MASK 0xfu
451#define ENTROPY_SRC_ALERT_FAIL_COUNTS_BUCKET_FAIL_COUNT_OFFSET 16
452#define ENTROPY_SRC_ALERT_FAIL_COUNTS_BUCKET_FAIL_COUNT_FIELD \
453 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_BUCKET_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_BUCKET_FAIL_COUNT_OFFSET })
454#define ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_HI_FAIL_COUNT_MASK 0xfu
455#define ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_HI_FAIL_COUNT_OFFSET 20
456#define ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_HI_FAIL_COUNT_FIELD \
457 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_HI_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_HI_FAIL_COUNT_OFFSET })
458#define ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_LO_FAIL_COUNT_MASK 0xfu
459#define ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_LO_FAIL_COUNT_OFFSET 24
460#define ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_LO_FAIL_COUNT_FIELD \
461 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_LO_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_MARKOV_LO_FAIL_COUNT_OFFSET })
462#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNTS_FAIL_COUNT_MASK 0xfu
463#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNTS_FAIL_COUNT_OFFSET 28
464#define ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNTS_FAIL_COUNT_FIELD \
465 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNTS_FAIL_COUNT_MASK, .index = ENTROPY_SRC_ALERT_FAIL_COUNTS_REPCNTS_FAIL_COUNT_OFFSET })
466
467// External health test alert failure counts register
468#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_REG_OFFSET 0xac
469#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_REG_RESVAL 0x0u
470#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_HI_FAIL_COUNT_MASK 0xfu
471#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_HI_FAIL_COUNT_OFFSET 0
472#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_HI_FAIL_COUNT_FIELD \
473 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_HI_FAIL_COUNT_MASK, .index = ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_HI_FAIL_COUNT_OFFSET })
474#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_LO_FAIL_COUNT_MASK 0xfu
475#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_LO_FAIL_COUNT_OFFSET 4
476#define ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_LO_FAIL_COUNT_FIELD \
477 ((bitfield_field32_t) { .mask = ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_LO_FAIL_COUNT_MASK, .index = ENTROPY_SRC_EXTHT_FAIL_COUNTS_EXTHT_LO_FAIL_COUNT_OFFSET })
478
479// Firmware override control register
480#define ENTROPY_SRC_FW_OV_CONTROL_REG_OFFSET 0xb0
481#define ENTROPY_SRC_FW_OV_CONTROL_REG_RESVAL 0x99u
482#define ENTROPY_SRC_FW_OV_CONTROL_FW_OV_MODE_MASK 0xfu
483#define ENTROPY_SRC_FW_OV_CONTROL_FW_OV_MODE_OFFSET 0
484#define ENTROPY_SRC_FW_OV_CONTROL_FW_OV_MODE_FIELD \
485 ((bitfield_field32_t) { .mask = ENTROPY_SRC_FW_OV_CONTROL_FW_OV_MODE_MASK, .index = ENTROPY_SRC_FW_OV_CONTROL_FW_OV_MODE_OFFSET })
486#define ENTROPY_SRC_FW_OV_CONTROL_FW_OV_ENTROPY_INSERT_MASK 0xfu
487#define ENTROPY_SRC_FW_OV_CONTROL_FW_OV_ENTROPY_INSERT_OFFSET 4
488#define ENTROPY_SRC_FW_OV_CONTROL_FW_OV_ENTROPY_INSERT_FIELD \
489 ((bitfield_field32_t) { .mask = ENTROPY_SRC_FW_OV_CONTROL_FW_OV_ENTROPY_INSERT_MASK, .index = ENTROPY_SRC_FW_OV_CONTROL_FW_OV_ENTROPY_INSERT_OFFSET })
490
491// Firmware override sha3 block start control register
492#define ENTROPY_SRC_FW_OV_SHA3_START_REG_OFFSET 0xb4
493#define ENTROPY_SRC_FW_OV_SHA3_START_REG_RESVAL 0x9u
494#define ENTROPY_SRC_FW_OV_SHA3_START_FW_OV_INSERT_START_MASK 0xfu
495#define ENTROPY_SRC_FW_OV_SHA3_START_FW_OV_INSERT_START_OFFSET 0
496#define ENTROPY_SRC_FW_OV_SHA3_START_FW_OV_INSERT_START_FIELD \
497 ((bitfield_field32_t) { .mask = ENTROPY_SRC_FW_OV_SHA3_START_FW_OV_INSERT_START_MASK, .index = ENTROPY_SRC_FW_OV_SHA3_START_FW_OV_INSERT_START_OFFSET })
498
499// Firmware override FIFO write full status register
500#define ENTROPY_SRC_FW_OV_WR_FIFO_FULL_REG_OFFSET 0xb8
501#define ENTROPY_SRC_FW_OV_WR_FIFO_FULL_REG_RESVAL 0x0u
502#define ENTROPY_SRC_FW_OV_WR_FIFO_FULL_FW_OV_WR_FIFO_FULL_BIT 0
503
504// Firmware override observe FIFO overflow status
505#define ENTROPY_SRC_FW_OV_RD_FIFO_OVERFLOW_REG_OFFSET 0xbc
506#define ENTROPY_SRC_FW_OV_RD_FIFO_OVERFLOW_REG_RESVAL 0x0u
507#define ENTROPY_SRC_FW_OV_RD_FIFO_OVERFLOW_FW_OV_RD_FIFO_OVERFLOW_BIT 0
508
509// Firmware override observe FIFO read register
510#define ENTROPY_SRC_FW_OV_RD_DATA_REG_OFFSET 0xc0
511#define ENTROPY_SRC_FW_OV_RD_DATA_REG_RESVAL 0x0u
512
513// Firmware override FIFO write register
514#define ENTROPY_SRC_FW_OV_WR_DATA_REG_OFFSET 0xc4
515#define ENTROPY_SRC_FW_OV_WR_DATA_REG_RESVAL 0x0u
516
517// Observe FIFO threshold register
518#define ENTROPY_SRC_OBSERVE_FIFO_THRESH_REG_OFFSET 0xc8
519#define ENTROPY_SRC_OBSERVE_FIFO_THRESH_REG_RESVAL 0x10u
520#define ENTROPY_SRC_OBSERVE_FIFO_THRESH_OBSERVE_FIFO_THRESH_MASK 0x3fu
521#define ENTROPY_SRC_OBSERVE_FIFO_THRESH_OBSERVE_FIFO_THRESH_OFFSET 0
522#define ENTROPY_SRC_OBSERVE_FIFO_THRESH_OBSERVE_FIFO_THRESH_FIELD \
523 ((bitfield_field32_t) { .mask = ENTROPY_SRC_OBSERVE_FIFO_THRESH_OBSERVE_FIFO_THRESH_MASK, .index = ENTROPY_SRC_OBSERVE_FIFO_THRESH_OBSERVE_FIFO_THRESH_OFFSET })
524
525// Observe FIFO depth register
526#define ENTROPY_SRC_OBSERVE_FIFO_DEPTH_REG_OFFSET 0xcc
527#define ENTROPY_SRC_OBSERVE_FIFO_DEPTH_REG_RESVAL 0x0u
528#define ENTROPY_SRC_OBSERVE_FIFO_DEPTH_OBSERVE_FIFO_DEPTH_MASK 0x3fu
529#define ENTROPY_SRC_OBSERVE_FIFO_DEPTH_OBSERVE_FIFO_DEPTH_OFFSET 0
530#define ENTROPY_SRC_OBSERVE_FIFO_DEPTH_OBSERVE_FIFO_DEPTH_FIELD \
531 ((bitfield_field32_t) { .mask = ENTROPY_SRC_OBSERVE_FIFO_DEPTH_OBSERVE_FIFO_DEPTH_MASK, .index = ENTROPY_SRC_OBSERVE_FIFO_DEPTH_OBSERVE_FIFO_DEPTH_OFFSET })
532
533// Debug status register
534#define ENTROPY_SRC_DEBUG_STATUS_REG_OFFSET 0xd0
535#define ENTROPY_SRC_DEBUG_STATUS_REG_RESVAL 0x10000u
536#define ENTROPY_SRC_DEBUG_STATUS_ENTROPY_FIFO_DEPTH_MASK 0x3u
537#define ENTROPY_SRC_DEBUG_STATUS_ENTROPY_FIFO_DEPTH_OFFSET 0
538#define ENTROPY_SRC_DEBUG_STATUS_ENTROPY_FIFO_DEPTH_FIELD \
539 ((bitfield_field32_t) { .mask = ENTROPY_SRC_DEBUG_STATUS_ENTROPY_FIFO_DEPTH_MASK, .index = ENTROPY_SRC_DEBUG_STATUS_ENTROPY_FIFO_DEPTH_OFFSET })
540#define ENTROPY_SRC_DEBUG_STATUS_SHA3_FSM_MASK 0x7u
541#define ENTROPY_SRC_DEBUG_STATUS_SHA3_FSM_OFFSET 3
542#define ENTROPY_SRC_DEBUG_STATUS_SHA3_FSM_FIELD \
543 ((bitfield_field32_t) { .mask = ENTROPY_SRC_DEBUG_STATUS_SHA3_FSM_MASK, .index = ENTROPY_SRC_DEBUG_STATUS_SHA3_FSM_OFFSET })
544#define ENTROPY_SRC_DEBUG_STATUS_SHA3_BLOCK_PR_BIT 6
545#define ENTROPY_SRC_DEBUG_STATUS_SHA3_SQUEEZING_BIT 7
546#define ENTROPY_SRC_DEBUG_STATUS_SHA3_ABSORBED_BIT 8
547#define ENTROPY_SRC_DEBUG_STATUS_SHA3_ERR_BIT 9
548#define ENTROPY_SRC_DEBUG_STATUS_MAIN_SM_IDLE_BIT 16
549#define ENTROPY_SRC_DEBUG_STATUS_MAIN_SM_BOOT_DONE_BIT 17
550
551// Recoverable alert status register
552#define ENTROPY_SRC_RECOV_ALERT_STS_REG_OFFSET 0xd4
553#define ENTROPY_SRC_RECOV_ALERT_STS_REG_RESVAL 0x0u
554#define ENTROPY_SRC_RECOV_ALERT_STS_FIPS_ENABLE_FIELD_ALERT_BIT 0
555#define ENTROPY_SRC_RECOV_ALERT_STS_ENTROPY_DATA_REG_EN_FIELD_ALERT_BIT 1
556#define ENTROPY_SRC_RECOV_ALERT_STS_MODULE_ENABLE_FIELD_ALERT_BIT 2
557#define ENTROPY_SRC_RECOV_ALERT_STS_THRESHOLD_SCOPE_FIELD_ALERT_BIT 3
558#define ENTROPY_SRC_RECOV_ALERT_STS_RNG_BIT_ENABLE_FIELD_ALERT_BIT 5
559#define ENTROPY_SRC_RECOV_ALERT_STS_FW_OV_SHA3_START_FIELD_ALERT_BIT 7
560#define ENTROPY_SRC_RECOV_ALERT_STS_FW_OV_MODE_FIELD_ALERT_BIT 8
561#define ENTROPY_SRC_RECOV_ALERT_STS_FW_OV_ENTROPY_INSERT_FIELD_ALERT_BIT 9
562#define ENTROPY_SRC_RECOV_ALERT_STS_ES_ROUTE_FIELD_ALERT_BIT 10
563#define ENTROPY_SRC_RECOV_ALERT_STS_ES_TYPE_FIELD_ALERT_BIT 11
564#define ENTROPY_SRC_RECOV_ALERT_STS_ES_MAIN_SM_ALERT_BIT 12
565#define ENTROPY_SRC_RECOV_ALERT_STS_ES_BUS_CMP_ALERT_BIT 13
566#define ENTROPY_SRC_RECOV_ALERT_STS_ES_THRESH_CFG_ALERT_BIT 14
567#define ENTROPY_SRC_RECOV_ALERT_STS_ES_FW_OV_WR_ALERT_BIT 15
568#define ENTROPY_SRC_RECOV_ALERT_STS_ES_FW_OV_DISABLE_ALERT_BIT 16
569#define ENTROPY_SRC_RECOV_ALERT_STS_FIPS_FLAG_FIELD_ALERT_BIT 17
570#define ENTROPY_SRC_RECOV_ALERT_STS_RNG_FIPS_FIELD_ALERT_BIT 18
571#define ENTROPY_SRC_RECOV_ALERT_STS_POSTHT_ENTROPY_DROP_ALERT_BIT 31
572
573// Hardware detection of error conditions status register
574#define ENTROPY_SRC_ERR_CODE_REG_OFFSET 0xd8
575#define ENTROPY_SRC_ERR_CODE_REG_RESVAL 0x0u
576#define ENTROPY_SRC_ERR_CODE_SFIFO_ESRNG_ERR_BIT 0
577#define ENTROPY_SRC_ERR_CODE_SFIFO_DISTR_ERR_BIT 1
578#define ENTROPY_SRC_ERR_CODE_SFIFO_OBSERVE_ERR_BIT 2
579#define ENTROPY_SRC_ERR_CODE_SFIFO_ESFINAL_ERR_BIT 3
580#define ENTROPY_SRC_ERR_CODE_ES_ACK_SM_ERR_BIT 20
581#define ENTROPY_SRC_ERR_CODE_ES_MAIN_SM_ERR_BIT 21
582#define ENTROPY_SRC_ERR_CODE_ES_CNTR_ERR_BIT 22
583#define ENTROPY_SRC_ERR_CODE_SHA3_STATE_ERR_BIT 23
584#define ENTROPY_SRC_ERR_CODE_SHA3_RST_STORAGE_ERR_BIT 24
585#define ENTROPY_SRC_ERR_CODE_FIFO_WRITE_ERR_BIT 28
586#define ENTROPY_SRC_ERR_CODE_FIFO_READ_ERR_BIT 29
587#define ENTROPY_SRC_ERR_CODE_FIFO_STATE_ERR_BIT 30
588
589// Test error conditions register
590#define ENTROPY_SRC_ERR_CODE_TEST_REG_OFFSET 0xdc
591#define ENTROPY_SRC_ERR_CODE_TEST_REG_RESVAL 0x0u
592#define ENTROPY_SRC_ERR_CODE_TEST_ERR_CODE_TEST_MASK 0x1fu
593#define ENTROPY_SRC_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET 0
594#define ENTROPY_SRC_ERR_CODE_TEST_ERR_CODE_TEST_FIELD \
595 ((bitfield_field32_t) { .mask = ENTROPY_SRC_ERR_CODE_TEST_ERR_CODE_TEST_MASK, .index = ENTROPY_SRC_ERR_CODE_TEST_ERR_CODE_TEST_OFFSET })
596
597// Main state machine state debug register
598#define ENTROPY_SRC_MAIN_SM_STATE_REG_OFFSET 0xe0
599#define ENTROPY_SRC_MAIN_SM_STATE_REG_RESVAL 0xf5u
600#define ENTROPY_SRC_MAIN_SM_STATE_MAIN_SM_STATE_MASK 0x1ffu
601#define ENTROPY_SRC_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET 0
602#define ENTROPY_SRC_MAIN_SM_STATE_MAIN_SM_STATE_FIELD \
603 ((bitfield_field32_t) { .mask = ENTROPY_SRC_MAIN_SM_STATE_MAIN_SM_STATE_MASK, .index = ENTROPY_SRC_MAIN_SM_STATE_MAIN_SM_STATE_OFFSET })
604
605#ifdef __cplusplus
606} // extern "C"
607#endif
608#endif // _ENTROPY_SRC_REG_DEFS_
609// End generated register defines for entropy_src