Adding RP2350 SDK and target framework (#13988)
[betaflight.git] / lib / main / pico-sdk / rp2350 / hardware_regs / include / hardware / regs / trng.h
blobc84c715b3d2d0e44bc7335925604f88651ed0b9a
1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
3 /**
4 * Copyright (c) 2024 Raspberry Pi Ltd.
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8 // =============================================================================
9 // Register block : TRNG
10 // Version : 1
11 // Bus type : apb
12 // Description : ARM TrustZone RNG register block
13 // =============================================================================
14 #ifndef _HARDWARE_REGS_TRNG_H
15 #define _HARDWARE_REGS_TRNG_H
16 // =============================================================================
17 // Register : TRNG_RNG_IMR
18 // Description : Interrupt masking.
19 #define TRNG_RNG_IMR_OFFSET _u(0x00000100)
20 #define TRNG_RNG_IMR_BITS _u(0xffffffff)
21 #define TRNG_RNG_IMR_RESET _u(0x0000000f)
22 // -----------------------------------------------------------------------------
23 // Field : TRNG_RNG_IMR_RESERVED
24 // Description : RESERVED
25 #define TRNG_RNG_IMR_RESERVED_RESET _u(0x0000000)
26 #define TRNG_RNG_IMR_RESERVED_BITS _u(0xfffffff0)
27 #define TRNG_RNG_IMR_RESERVED_MSB _u(31)
28 #define TRNG_RNG_IMR_RESERVED_LSB _u(4)
29 #define TRNG_RNG_IMR_RESERVED_ACCESS "RO"
30 // -----------------------------------------------------------------------------
31 // Field : TRNG_RNG_IMR_VN_ERR_INT_MASK
32 // Description : 1'b1-mask interrupt, no interrupt will be generated. See
33 // RNG_ISR for an explanation on this interrupt.
34 #define TRNG_RNG_IMR_VN_ERR_INT_MASK_RESET _u(0x1)
35 #define TRNG_RNG_IMR_VN_ERR_INT_MASK_BITS _u(0x00000008)
36 #define TRNG_RNG_IMR_VN_ERR_INT_MASK_MSB _u(3)
37 #define TRNG_RNG_IMR_VN_ERR_INT_MASK_LSB _u(3)
38 #define TRNG_RNG_IMR_VN_ERR_INT_MASK_ACCESS "RW"
39 // -----------------------------------------------------------------------------
40 // Field : TRNG_RNG_IMR_CRNGT_ERR_INT_MASK
41 // Description : 1'b1-mask interrupt, no interrupt will be generated. See
42 // RNG_ISR for an explanation on this interrupt.
43 #define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_RESET _u(0x1)
44 #define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_BITS _u(0x00000004)
45 #define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_MSB _u(2)
46 #define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_LSB _u(2)
47 #define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_ACCESS "RW"
48 // -----------------------------------------------------------------------------
49 // Field : TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK
50 // Description : 1'b1-mask interrupt, no interrupt will be generated. See
51 // RNG_ISR for an explanation on this interrupt.
52 #define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_RESET _u(0x1)
53 #define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_BITS _u(0x00000002)
54 #define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_MSB _u(1)
55 #define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_LSB _u(1)
56 #define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_ACCESS "RW"
57 // -----------------------------------------------------------------------------
58 // Field : TRNG_RNG_IMR_EHR_VALID_INT_MASK
59 // Description : 1'b1-mask interrupt, no interrupt will be generated. See
60 // RNG_ISR for an explanation on this interrupt.
61 #define TRNG_RNG_IMR_EHR_VALID_INT_MASK_RESET _u(0x1)
62 #define TRNG_RNG_IMR_EHR_VALID_INT_MASK_BITS _u(0x00000001)
63 #define TRNG_RNG_IMR_EHR_VALID_INT_MASK_MSB _u(0)
64 #define TRNG_RNG_IMR_EHR_VALID_INT_MASK_LSB _u(0)
65 #define TRNG_RNG_IMR_EHR_VALID_INT_MASK_ACCESS "RW"
66 // =============================================================================
67 // Register : TRNG_RNG_ISR
68 // Description : RNG status register. If corresponding RNG_IMR bit is unmasked,
69 // an interrupt will be generated.
70 #define TRNG_RNG_ISR_OFFSET _u(0x00000104)
71 #define TRNG_RNG_ISR_BITS _u(0xffffffff)
72 #define TRNG_RNG_ISR_RESET _u(0x00000000)
73 // -----------------------------------------------------------------------------
74 // Field : TRNG_RNG_ISR_RESERVED
75 // Description : RESERVED
76 #define TRNG_RNG_ISR_RESERVED_RESET _u(0x0000000)
77 #define TRNG_RNG_ISR_RESERVED_BITS _u(0xfffffff0)
78 #define TRNG_RNG_ISR_RESERVED_MSB _u(31)
79 #define TRNG_RNG_ISR_RESERVED_LSB _u(4)
80 #define TRNG_RNG_ISR_RESERVED_ACCESS "RO"
81 // -----------------------------------------------------------------------------
82 // Field : TRNG_RNG_ISR_VN_ERR
83 // Description : 1'b1 indicates Von Neuman error. Error in von Neuman occurs if
84 // 32 consecutive collected bits are identical, ZERO or ONE.
85 #define TRNG_RNG_ISR_VN_ERR_RESET _u(0x0)
86 #define TRNG_RNG_ISR_VN_ERR_BITS _u(0x00000008)
87 #define TRNG_RNG_ISR_VN_ERR_MSB _u(3)
88 #define TRNG_RNG_ISR_VN_ERR_LSB _u(3)
89 #define TRNG_RNG_ISR_VN_ERR_ACCESS "RO"
90 // -----------------------------------------------------------------------------
91 // Field : TRNG_RNG_ISR_CRNGT_ERR
92 // Description : 1'b1 indicates CRNGT in the RNG test failed. Failure occurs
93 // when two consecutive blocks of 16 collected bits are equal.
94 #define TRNG_RNG_ISR_CRNGT_ERR_RESET _u(0x0)
95 #define TRNG_RNG_ISR_CRNGT_ERR_BITS _u(0x00000004)
96 #define TRNG_RNG_ISR_CRNGT_ERR_MSB _u(2)
97 #define TRNG_RNG_ISR_CRNGT_ERR_LSB _u(2)
98 #define TRNG_RNG_ISR_CRNGT_ERR_ACCESS "RO"
99 // -----------------------------------------------------------------------------
100 // Field : TRNG_RNG_ISR_AUTOCORR_ERR
101 // Description : 1'b1 indicates Autocorrelation test failed four times in a row.
102 // When set, RNG cease from functioning until next reset.
103 #define TRNG_RNG_ISR_AUTOCORR_ERR_RESET _u(0x0)
104 #define TRNG_RNG_ISR_AUTOCORR_ERR_BITS _u(0x00000002)
105 #define TRNG_RNG_ISR_AUTOCORR_ERR_MSB _u(1)
106 #define TRNG_RNG_ISR_AUTOCORR_ERR_LSB _u(1)
107 #define TRNG_RNG_ISR_AUTOCORR_ERR_ACCESS "RO"
108 // -----------------------------------------------------------------------------
109 // Field : TRNG_RNG_ISR_EHR_VALID
110 // Description : 1'b1 indicates that 192 bits have been collected in the RNG,
111 // and are ready to be read.
112 #define TRNG_RNG_ISR_EHR_VALID_RESET _u(0x0)
113 #define TRNG_RNG_ISR_EHR_VALID_BITS _u(0x00000001)
114 #define TRNG_RNG_ISR_EHR_VALID_MSB _u(0)
115 #define TRNG_RNG_ISR_EHR_VALID_LSB _u(0)
116 #define TRNG_RNG_ISR_EHR_VALID_ACCESS "RO"
117 // =============================================================================
118 // Register : TRNG_RNG_ICR
119 // Description : Interrupt/status bit clear Register.
120 #define TRNG_RNG_ICR_OFFSET _u(0x00000108)
121 #define TRNG_RNG_ICR_BITS _u(0xffffffff)
122 #define TRNG_RNG_ICR_RESET _u(0x00000000)
123 // -----------------------------------------------------------------------------
124 // Field : TRNG_RNG_ICR_RESERVED
125 // Description : RESERVED
126 #define TRNG_RNG_ICR_RESERVED_RESET _u(0x0000000)
127 #define TRNG_RNG_ICR_RESERVED_BITS _u(0xfffffff0)
128 #define TRNG_RNG_ICR_RESERVED_MSB _u(31)
129 #define TRNG_RNG_ICR_RESERVED_LSB _u(4)
130 #define TRNG_RNG_ICR_RESERVED_ACCESS "RO"
131 // -----------------------------------------------------------------------------
132 // Field : TRNG_RNG_ICR_VN_ERR
133 // Description : Write 1'b1 - clear corresponding bit in RNG_ISR.
134 #define TRNG_RNG_ICR_VN_ERR_RESET _u(0x0)
135 #define TRNG_RNG_ICR_VN_ERR_BITS _u(0x00000008)
136 #define TRNG_RNG_ICR_VN_ERR_MSB _u(3)
137 #define TRNG_RNG_ICR_VN_ERR_LSB _u(3)
138 #define TRNG_RNG_ICR_VN_ERR_ACCESS "RW"
139 // -----------------------------------------------------------------------------
140 // Field : TRNG_RNG_ICR_CRNGT_ERR
141 // Description : Write 1'b1 - clear corresponding bit in RNG_ISR.
142 #define TRNG_RNG_ICR_CRNGT_ERR_RESET _u(0x0)
143 #define TRNG_RNG_ICR_CRNGT_ERR_BITS _u(0x00000004)
144 #define TRNG_RNG_ICR_CRNGT_ERR_MSB _u(2)
145 #define TRNG_RNG_ICR_CRNGT_ERR_LSB _u(2)
146 #define TRNG_RNG_ICR_CRNGT_ERR_ACCESS "RW"
147 // -----------------------------------------------------------------------------
148 // Field : TRNG_RNG_ICR_AUTOCORR_ERR
149 // Description : Cannot be cleared by SW! Only RNG reset clears this bit.
150 #define TRNG_RNG_ICR_AUTOCORR_ERR_RESET _u(0x0)
151 #define TRNG_RNG_ICR_AUTOCORR_ERR_BITS _u(0x00000002)
152 #define TRNG_RNG_ICR_AUTOCORR_ERR_MSB _u(1)
153 #define TRNG_RNG_ICR_AUTOCORR_ERR_LSB _u(1)
154 #define TRNG_RNG_ICR_AUTOCORR_ERR_ACCESS "RW"
155 // -----------------------------------------------------------------------------
156 // Field : TRNG_RNG_ICR_EHR_VALID
157 // Description : Write 1'b1 - clear corresponding bit in RNG_ISR.
158 #define TRNG_RNG_ICR_EHR_VALID_RESET _u(0x0)
159 #define TRNG_RNG_ICR_EHR_VALID_BITS _u(0x00000001)
160 #define TRNG_RNG_ICR_EHR_VALID_MSB _u(0)
161 #define TRNG_RNG_ICR_EHR_VALID_LSB _u(0)
162 #define TRNG_RNG_ICR_EHR_VALID_ACCESS "RW"
163 // =============================================================================
164 // Register : TRNG_TRNG_CONFIG
165 // Description : Selecting the inverter-chain length.
166 #define TRNG_TRNG_CONFIG_OFFSET _u(0x0000010c)
167 #define TRNG_TRNG_CONFIG_BITS _u(0xffffffff)
168 #define TRNG_TRNG_CONFIG_RESET _u(0x00000000)
169 // -----------------------------------------------------------------------------
170 // Field : TRNG_TRNG_CONFIG_RESERVED
171 // Description : RESERVED
172 #define TRNG_TRNG_CONFIG_RESERVED_RESET _u(0x00000000)
173 #define TRNG_TRNG_CONFIG_RESERVED_BITS _u(0xfffffffc)
174 #define TRNG_TRNG_CONFIG_RESERVED_MSB _u(31)
175 #define TRNG_TRNG_CONFIG_RESERVED_LSB _u(2)
176 #define TRNG_TRNG_CONFIG_RESERVED_ACCESS "RO"
177 // -----------------------------------------------------------------------------
178 // Field : TRNG_TRNG_CONFIG_RND_SRC_SEL
179 // Description : Selects the number of inverters (out of four possible
180 // selections) in the ring oscillator (the entropy source).
181 #define TRNG_TRNG_CONFIG_RND_SRC_SEL_RESET _u(0x0)
182 #define TRNG_TRNG_CONFIG_RND_SRC_SEL_BITS _u(0x00000003)
183 #define TRNG_TRNG_CONFIG_RND_SRC_SEL_MSB _u(1)
184 #define TRNG_TRNG_CONFIG_RND_SRC_SEL_LSB _u(0)
185 #define TRNG_TRNG_CONFIG_RND_SRC_SEL_ACCESS "RW"
186 // =============================================================================
187 // Register : TRNG_TRNG_VALID
188 // Description : 192 bit collection indication.
189 #define TRNG_TRNG_VALID_OFFSET _u(0x00000110)
190 #define TRNG_TRNG_VALID_BITS _u(0xffffffff)
191 #define TRNG_TRNG_VALID_RESET _u(0x00000000)
192 // -----------------------------------------------------------------------------
193 // Field : TRNG_TRNG_VALID_RESERVED
194 // Description : RESERVED
195 #define TRNG_TRNG_VALID_RESERVED_RESET _u(0x00000000)
196 #define TRNG_TRNG_VALID_RESERVED_BITS _u(0xfffffffe)
197 #define TRNG_TRNG_VALID_RESERVED_MSB _u(31)
198 #define TRNG_TRNG_VALID_RESERVED_LSB _u(1)
199 #define TRNG_TRNG_VALID_RESERVED_ACCESS "RO"
200 // -----------------------------------------------------------------------------
201 // Field : TRNG_TRNG_VALID_EHR_VALID
202 // Description : 1'b1 indicates that collection of bits in the RNG is completed,
203 // and data can be read from EHR_DATA register.
204 #define TRNG_TRNG_VALID_EHR_VALID_RESET _u(0x0)
205 #define TRNG_TRNG_VALID_EHR_VALID_BITS _u(0x00000001)
206 #define TRNG_TRNG_VALID_EHR_VALID_MSB _u(0)
207 #define TRNG_TRNG_VALID_EHR_VALID_LSB _u(0)
208 #define TRNG_TRNG_VALID_EHR_VALID_ACCESS "RO"
209 // =============================================================================
210 // Register : TRNG_EHR_DATA0
211 // Description : RNG collected bits.
212 // Bits [31:0] of Entropy Holding Register (EHR) - RNG output
213 // register
214 #define TRNG_EHR_DATA0_OFFSET _u(0x00000114)
215 #define TRNG_EHR_DATA0_BITS _u(0xffffffff)
216 #define TRNG_EHR_DATA0_RESET _u(0x00000000)
217 #define TRNG_EHR_DATA0_MSB _u(31)
218 #define TRNG_EHR_DATA0_LSB _u(0)
219 #define TRNG_EHR_DATA0_ACCESS "RO"
220 // =============================================================================
221 // Register : TRNG_EHR_DATA1
222 // Description : RNG collected bits.
223 // Bits [63:32] of Entropy Holding Register (EHR) - RNG output
224 // register
225 #define TRNG_EHR_DATA1_OFFSET _u(0x00000118)
226 #define TRNG_EHR_DATA1_BITS _u(0xffffffff)
227 #define TRNG_EHR_DATA1_RESET _u(0x00000000)
228 #define TRNG_EHR_DATA1_MSB _u(31)
229 #define TRNG_EHR_DATA1_LSB _u(0)
230 #define TRNG_EHR_DATA1_ACCESS "RO"
231 // =============================================================================
232 // Register : TRNG_EHR_DATA2
233 // Description : RNG collected bits.
234 // Bits [95:64] of Entropy Holding Register (EHR) - RNG output
235 // register
236 #define TRNG_EHR_DATA2_OFFSET _u(0x0000011c)
237 #define TRNG_EHR_DATA2_BITS _u(0xffffffff)
238 #define TRNG_EHR_DATA2_RESET _u(0x00000000)
239 #define TRNG_EHR_DATA2_MSB _u(31)
240 #define TRNG_EHR_DATA2_LSB _u(0)
241 #define TRNG_EHR_DATA2_ACCESS "RO"
242 // =============================================================================
243 // Register : TRNG_EHR_DATA3
244 // Description : RNG collected bits.
245 // Bits [127:96] of Entropy Holding Register (EHR) - RNG output
246 // register
247 #define TRNG_EHR_DATA3_OFFSET _u(0x00000120)
248 #define TRNG_EHR_DATA3_BITS _u(0xffffffff)
249 #define TRNG_EHR_DATA3_RESET _u(0x00000000)
250 #define TRNG_EHR_DATA3_MSB _u(31)
251 #define TRNG_EHR_DATA3_LSB _u(0)
252 #define TRNG_EHR_DATA3_ACCESS "RO"
253 // =============================================================================
254 // Register : TRNG_EHR_DATA4
255 // Description : RNG collected bits.
256 // Bits [159:128] of Entropy Holding Register (EHR) - RNG output
257 // register
258 #define TRNG_EHR_DATA4_OFFSET _u(0x00000124)
259 #define TRNG_EHR_DATA4_BITS _u(0xffffffff)
260 #define TRNG_EHR_DATA4_RESET _u(0x00000000)
261 #define TRNG_EHR_DATA4_MSB _u(31)
262 #define TRNG_EHR_DATA4_LSB _u(0)
263 #define TRNG_EHR_DATA4_ACCESS "RO"
264 // =============================================================================
265 // Register : TRNG_EHR_DATA5
266 // Description : RNG collected bits.
267 // Bits [191:160] of Entropy Holding Register (EHR) - RNG output
268 // register
269 #define TRNG_EHR_DATA5_OFFSET _u(0x00000128)
270 #define TRNG_EHR_DATA5_BITS _u(0xffffffff)
271 #define TRNG_EHR_DATA5_RESET _u(0x00000000)
272 #define TRNG_EHR_DATA5_MSB _u(31)
273 #define TRNG_EHR_DATA5_LSB _u(0)
274 #define TRNG_EHR_DATA5_ACCESS "RO"
275 // =============================================================================
276 // Register : TRNG_RND_SOURCE_ENABLE
277 // Description : Enable signal for the random source.
278 #define TRNG_RND_SOURCE_ENABLE_OFFSET _u(0x0000012c)
279 #define TRNG_RND_SOURCE_ENABLE_BITS _u(0xffffffff)
280 #define TRNG_RND_SOURCE_ENABLE_RESET _u(0x00000000)
281 // -----------------------------------------------------------------------------
282 // Field : TRNG_RND_SOURCE_ENABLE_RESERVED
283 // Description : RESERVED
284 #define TRNG_RND_SOURCE_ENABLE_RESERVED_RESET _u(0x00000000)
285 #define TRNG_RND_SOURCE_ENABLE_RESERVED_BITS _u(0xfffffffe)
286 #define TRNG_RND_SOURCE_ENABLE_RESERVED_MSB _u(31)
287 #define TRNG_RND_SOURCE_ENABLE_RESERVED_LSB _u(1)
288 #define TRNG_RND_SOURCE_ENABLE_RESERVED_ACCESS "RO"
289 // -----------------------------------------------------------------------------
290 // Field : TRNG_RND_SOURCE_ENABLE_RND_SRC_EN
291 // Description : * 1'b1 - entropy source is enabled. *1'b0 - entropy source is
292 // disabled
293 #define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_RESET _u(0x0)
294 #define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_BITS _u(0x00000001)
295 #define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_MSB _u(0)
296 #define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_LSB _u(0)
297 #define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_ACCESS "RW"
298 // =============================================================================
299 // Register : TRNG_SAMPLE_CNT1
300 // Description : Counts clocks between sampling of random bit.
301 #define TRNG_SAMPLE_CNT1_OFFSET _u(0x00000130)
302 #define TRNG_SAMPLE_CNT1_BITS _u(0xffffffff)
303 #define TRNG_SAMPLE_CNT1_RESET _u(0x0000ffff)
304 // -----------------------------------------------------------------------------
305 // Field : TRNG_SAMPLE_CNT1_SAMPLE_CNTR1
306 // Description : Sets the number of rng_clk cycles between two consecutive ring
307 // oscillator samples. Note! If the Von-Neuman is bypassed, the
308 // minimum value for sample counter must not be less then decimal
309 // seventeen
310 #define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_RESET _u(0x0000ffff)
311 #define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_BITS _u(0xffffffff)
312 #define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_MSB _u(31)
313 #define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_LSB _u(0)
314 #define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_ACCESS "RW"
315 // =============================================================================
316 // Register : TRNG_AUTOCORR_STATISTIC
317 // Description : Statistic about Autocorrelation test activations.
318 #define TRNG_AUTOCORR_STATISTIC_OFFSET _u(0x00000134)
319 #define TRNG_AUTOCORR_STATISTIC_BITS _u(0xffffffff)
320 #define TRNG_AUTOCORR_STATISTIC_RESET _u(0x00000000)
321 // -----------------------------------------------------------------------------
322 // Field : TRNG_AUTOCORR_STATISTIC_RESERVED
323 // Description : RESERVED
324 #define TRNG_AUTOCORR_STATISTIC_RESERVED_RESET _u(0x000)
325 #define TRNG_AUTOCORR_STATISTIC_RESERVED_BITS _u(0xffc00000)
326 #define TRNG_AUTOCORR_STATISTIC_RESERVED_MSB _u(31)
327 #define TRNG_AUTOCORR_STATISTIC_RESERVED_LSB _u(22)
328 #define TRNG_AUTOCORR_STATISTIC_RESERVED_ACCESS "RO"
329 // -----------------------------------------------------------------------------
330 // Field : TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS
331 // Description : Count each time an autocorrelation test fails. Any write to the
332 // register reset the counter. Stop collecting statistic if one of
333 // the counters reached the limit.
334 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_RESET _u(0x00)
335 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_BITS _u(0x003fc000)
336 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_MSB _u(21)
337 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_LSB _u(14)
338 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_ACCESS "RW"
339 // -----------------------------------------------------------------------------
340 // Field : TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS
341 // Description : Count each time an autocorrelation test starts. Any write to
342 // the register reset the counter. Stop collecting statistic if
343 // one of the counters reached the limit.
344 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_RESET _u(0x0000)
345 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_BITS _u(0x00003fff)
346 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_MSB _u(13)
347 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_LSB _u(0)
348 #define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_ACCESS "RW"
349 // =============================================================================
350 // Register : TRNG_TRNG_DEBUG_CONTROL
351 // Description : Debug register.
352 #define TRNG_TRNG_DEBUG_CONTROL_OFFSET _u(0x00000138)
353 #define TRNG_TRNG_DEBUG_CONTROL_BITS _u(0x0000000f)
354 #define TRNG_TRNG_DEBUG_CONTROL_RESET _u(0x00000000)
355 // -----------------------------------------------------------------------------
356 // Field : TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS
357 // Description : When set, the autocorrelation test in the TRNG module is
358 // bypassed.
359 #define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_RESET _u(0x0)
360 #define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_BITS _u(0x00000008)
361 #define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_MSB _u(3)
362 #define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_LSB _u(3)
363 #define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_ACCESS "RW"
364 // -----------------------------------------------------------------------------
365 // Field : TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS
366 // Description : When set, the CRNGT test in the RNG is bypassed.
367 #define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_RESET _u(0x0)
368 #define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_BITS _u(0x00000004)
369 #define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_MSB _u(2)
370 #define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_LSB _u(2)
371 #define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_ACCESS "RW"
372 // -----------------------------------------------------------------------------
373 // Field : TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS
374 // Description : When set, the Von-Neuman balancer is bypassed (including the 32
375 // consecutive bits test).
376 #define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_RESET _u(0x0)
377 #define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_BITS _u(0x00000002)
378 #define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_MSB _u(1)
379 #define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_LSB _u(1)
380 #define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_ACCESS "RW"
381 // -----------------------------------------------------------------------------
382 // Field : TRNG_TRNG_DEBUG_CONTROL_RESERVED
383 // Description : N/A
384 #define TRNG_TRNG_DEBUG_CONTROL_RESERVED_RESET _u(0x0)
385 #define TRNG_TRNG_DEBUG_CONTROL_RESERVED_BITS _u(0x00000001)
386 #define TRNG_TRNG_DEBUG_CONTROL_RESERVED_MSB _u(0)
387 #define TRNG_TRNG_DEBUG_CONTROL_RESERVED_LSB _u(0)
388 #define TRNG_TRNG_DEBUG_CONTROL_RESERVED_ACCESS "RO"
389 // =============================================================================
390 // Register : TRNG_TRNG_SW_RESET
391 // Description : Generate internal SW reset within the RNG block.
392 #define TRNG_TRNG_SW_RESET_OFFSET _u(0x00000140)
393 #define TRNG_TRNG_SW_RESET_BITS _u(0xffffffff)
394 #define TRNG_TRNG_SW_RESET_RESET _u(0x00000000)
395 // -----------------------------------------------------------------------------
396 // Field : TRNG_TRNG_SW_RESET_RESERVED
397 // Description : RESERVED
398 #define TRNG_TRNG_SW_RESET_RESERVED_RESET _u(0x00000000)
399 #define TRNG_TRNG_SW_RESET_RESERVED_BITS _u(0xfffffffe)
400 #define TRNG_TRNG_SW_RESET_RESERVED_MSB _u(31)
401 #define TRNG_TRNG_SW_RESET_RESERVED_LSB _u(1)
402 #define TRNG_TRNG_SW_RESET_RESERVED_ACCESS "RO"
403 // -----------------------------------------------------------------------------
404 // Field : TRNG_TRNG_SW_RESET_TRNG_SW_RESET
405 // Description : Writing 1'b1 to this register causes an internal RNG reset.
406 #define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_RESET _u(0x0)
407 #define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_BITS _u(0x00000001)
408 #define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_MSB _u(0)
409 #define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_LSB _u(0)
410 #define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_ACCESS "RW"
411 // =============================================================================
412 // Register : TRNG_RNG_DEBUG_EN_INPUT
413 // Description : Enable the RNG debug mode
414 #define TRNG_RNG_DEBUG_EN_INPUT_OFFSET _u(0x000001b4)
415 #define TRNG_RNG_DEBUG_EN_INPUT_BITS _u(0xffffffff)
416 #define TRNG_RNG_DEBUG_EN_INPUT_RESET _u(0x00000000)
417 // -----------------------------------------------------------------------------
418 // Field : TRNG_RNG_DEBUG_EN_INPUT_RESERVED
419 // Description : RESERVED
420 #define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_RESET _u(0x00000000)
421 #define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_BITS _u(0xfffffffe)
422 #define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_MSB _u(31)
423 #define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_LSB _u(1)
424 #define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_ACCESS "RO"
425 // -----------------------------------------------------------------------------
426 // Field : TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN
427 // Description : * 1'b1 - debug mode is enabled. *1'b0 - debug mode is disabled
428 #define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_RESET _u(0x0)
429 #define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_BITS _u(0x00000001)
430 #define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_MSB _u(0)
431 #define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_LSB _u(0)
432 #define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_ACCESS "RW"
433 // =============================================================================
434 // Register : TRNG_TRNG_BUSY
435 // Description : RNG Busy indication.
436 #define TRNG_TRNG_BUSY_OFFSET _u(0x000001b8)
437 #define TRNG_TRNG_BUSY_BITS _u(0xffffffff)
438 #define TRNG_TRNG_BUSY_RESET _u(0x00000000)
439 // -----------------------------------------------------------------------------
440 // Field : TRNG_TRNG_BUSY_RESERVED
441 // Description : RESERVED
442 #define TRNG_TRNG_BUSY_RESERVED_RESET _u(0x00000000)
443 #define TRNG_TRNG_BUSY_RESERVED_BITS _u(0xfffffffe)
444 #define TRNG_TRNG_BUSY_RESERVED_MSB _u(31)
445 #define TRNG_TRNG_BUSY_RESERVED_LSB _u(1)
446 #define TRNG_TRNG_BUSY_RESERVED_ACCESS "RO"
447 // -----------------------------------------------------------------------------
448 // Field : TRNG_TRNG_BUSY_TRNG_BUSY
449 // Description : Reflects rng_busy status.
450 #define TRNG_TRNG_BUSY_TRNG_BUSY_RESET _u(0x0)
451 #define TRNG_TRNG_BUSY_TRNG_BUSY_BITS _u(0x00000001)
452 #define TRNG_TRNG_BUSY_TRNG_BUSY_MSB _u(0)
453 #define TRNG_TRNG_BUSY_TRNG_BUSY_LSB _u(0)
454 #define TRNG_TRNG_BUSY_TRNG_BUSY_ACCESS "RO"
455 // =============================================================================
456 // Register : TRNG_RST_BITS_COUNTER
457 // Description : Reset the counter of collected bits in the RNG.
458 #define TRNG_RST_BITS_COUNTER_OFFSET _u(0x000001bc)
459 #define TRNG_RST_BITS_COUNTER_BITS _u(0xffffffff)
460 #define TRNG_RST_BITS_COUNTER_RESET _u(0x00000000)
461 // -----------------------------------------------------------------------------
462 // Field : TRNG_RST_BITS_COUNTER_RESERVED
463 // Description : RESERVED
464 #define TRNG_RST_BITS_COUNTER_RESERVED_RESET _u(0x00000000)
465 #define TRNG_RST_BITS_COUNTER_RESERVED_BITS _u(0xfffffffe)
466 #define TRNG_RST_BITS_COUNTER_RESERVED_MSB _u(31)
467 #define TRNG_RST_BITS_COUNTER_RESERVED_LSB _u(1)
468 #define TRNG_RST_BITS_COUNTER_RESERVED_ACCESS "RO"
469 // -----------------------------------------------------------------------------
470 // Field : TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER
471 // Description : Writing any value to this address will reset the bits counter
472 // and RNG valid registers. RND_SORCE_ENABLE register must be
473 // unset in order for the reset to take place.
474 #define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_RESET _u(0x0)
475 #define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_BITS _u(0x00000001)
476 #define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_MSB _u(0)
477 #define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_LSB _u(0)
478 #define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_ACCESS "RW"
479 // =============================================================================
480 // Register : TRNG_RNG_VERSION
481 // Description : Displays the version settings of the TRNG.
482 #define TRNG_RNG_VERSION_OFFSET _u(0x000001c0)
483 #define TRNG_RNG_VERSION_BITS _u(0xffffffff)
484 #define TRNG_RNG_VERSION_RESET _u(0x00000000)
485 // -----------------------------------------------------------------------------
486 // Field : TRNG_RNG_VERSION_RESERVED
487 // Description : RESERVED
488 #define TRNG_RNG_VERSION_RESERVED_RESET _u(0x000000)
489 #define TRNG_RNG_VERSION_RESERVED_BITS _u(0xffffff00)
490 #define TRNG_RNG_VERSION_RESERVED_MSB _u(31)
491 #define TRNG_RNG_VERSION_RESERVED_LSB _u(8)
492 #define TRNG_RNG_VERSION_RESERVED_ACCESS "RO"
493 // -----------------------------------------------------------------------------
494 // Field : TRNG_RNG_VERSION_RNG_USE_5_SBOXES
495 // Description : * 1'b1 - 5 SBOX AES. *1'b0 - 20 SBOX AES
496 #define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_RESET _u(0x0)
497 #define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_BITS _u(0x00000080)
498 #define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_MSB _u(7)
499 #define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_LSB _u(7)
500 #define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_ACCESS "RO"
501 // -----------------------------------------------------------------------------
502 // Field : TRNG_RNG_VERSION_RESEEDING_EXISTS
503 // Description : * 1'b1 - Exists. *1'b0 - Does not exist
504 #define TRNG_RNG_VERSION_RESEEDING_EXISTS_RESET _u(0x0)
505 #define TRNG_RNG_VERSION_RESEEDING_EXISTS_BITS _u(0x00000040)
506 #define TRNG_RNG_VERSION_RESEEDING_EXISTS_MSB _u(6)
507 #define TRNG_RNG_VERSION_RESEEDING_EXISTS_LSB _u(6)
508 #define TRNG_RNG_VERSION_RESEEDING_EXISTS_ACCESS "RO"
509 // -----------------------------------------------------------------------------
510 // Field : TRNG_RNG_VERSION_KAT_EXISTS
511 // Description : * 1'b1 - Exists. *1'b0 - Does not exist
512 #define TRNG_RNG_VERSION_KAT_EXISTS_RESET _u(0x0)
513 #define TRNG_RNG_VERSION_KAT_EXISTS_BITS _u(0x00000020)
514 #define TRNG_RNG_VERSION_KAT_EXISTS_MSB _u(5)
515 #define TRNG_RNG_VERSION_KAT_EXISTS_LSB _u(5)
516 #define TRNG_RNG_VERSION_KAT_EXISTS_ACCESS "RO"
517 // -----------------------------------------------------------------------------
518 // Field : TRNG_RNG_VERSION_PRNG_EXISTS
519 // Description : * 1'b1 - Exists. *1'b0 - Does not exist
520 #define TRNG_RNG_VERSION_PRNG_EXISTS_RESET _u(0x0)
521 #define TRNG_RNG_VERSION_PRNG_EXISTS_BITS _u(0x00000010)
522 #define TRNG_RNG_VERSION_PRNG_EXISTS_MSB _u(4)
523 #define TRNG_RNG_VERSION_PRNG_EXISTS_LSB _u(4)
524 #define TRNG_RNG_VERSION_PRNG_EXISTS_ACCESS "RO"
525 // -----------------------------------------------------------------------------
526 // Field : TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN
527 // Description : * 1'b1 - Exists. *1'b0 - Does not exist
528 #define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_RESET _u(0x0)
529 #define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_BITS _u(0x00000008)
530 #define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_MSB _u(3)
531 #define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_LSB _u(3)
532 #define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_ACCESS "RO"
533 // -----------------------------------------------------------------------------
534 // Field : TRNG_RNG_VERSION_AUTOCORR_EXISTS
535 // Description : * 1'b1 - Exists. *1'b0 - Does not exist
536 #define TRNG_RNG_VERSION_AUTOCORR_EXISTS_RESET _u(0x0)
537 #define TRNG_RNG_VERSION_AUTOCORR_EXISTS_BITS _u(0x00000004)
538 #define TRNG_RNG_VERSION_AUTOCORR_EXISTS_MSB _u(2)
539 #define TRNG_RNG_VERSION_AUTOCORR_EXISTS_LSB _u(2)
540 #define TRNG_RNG_VERSION_AUTOCORR_EXISTS_ACCESS "RO"
541 // -----------------------------------------------------------------------------
542 // Field : TRNG_RNG_VERSION_CRNGT_EXISTS
543 // Description : * 1'b1 - Exists. *1'b0 - Does not exist
544 #define TRNG_RNG_VERSION_CRNGT_EXISTS_RESET _u(0x0)
545 #define TRNG_RNG_VERSION_CRNGT_EXISTS_BITS _u(0x00000002)
546 #define TRNG_RNG_VERSION_CRNGT_EXISTS_MSB _u(1)
547 #define TRNG_RNG_VERSION_CRNGT_EXISTS_LSB _u(1)
548 #define TRNG_RNG_VERSION_CRNGT_EXISTS_ACCESS "RO"
549 // -----------------------------------------------------------------------------
550 // Field : TRNG_RNG_VERSION_EHR_WIDTH_192
551 // Description : * 1'b1 - 192-bit EHR. *1'b0 - 128-bit EHR
552 #define TRNG_RNG_VERSION_EHR_WIDTH_192_RESET _u(0x0)
553 #define TRNG_RNG_VERSION_EHR_WIDTH_192_BITS _u(0x00000001)
554 #define TRNG_RNG_VERSION_EHR_WIDTH_192_MSB _u(0)
555 #define TRNG_RNG_VERSION_EHR_WIDTH_192_LSB _u(0)
556 #define TRNG_RNG_VERSION_EHR_WIDTH_192_ACCESS "RO"
557 // =============================================================================
558 // Register : TRNG_RNG_BIST_CNTR_0
559 // Description : Collected BIST results.
560 #define TRNG_RNG_BIST_CNTR_0_OFFSET _u(0x000001e0)
561 #define TRNG_RNG_BIST_CNTR_0_BITS _u(0xffffffff)
562 #define TRNG_RNG_BIST_CNTR_0_RESET _u(0x00000000)
563 // -----------------------------------------------------------------------------
564 // Field : TRNG_RNG_BIST_CNTR_0_RESERVED
565 // Description : RESERVED
566 #define TRNG_RNG_BIST_CNTR_0_RESERVED_RESET _u(0x000)
567 #define TRNG_RNG_BIST_CNTR_0_RESERVED_BITS _u(0xffc00000)
568 #define TRNG_RNG_BIST_CNTR_0_RESERVED_MSB _u(31)
569 #define TRNG_RNG_BIST_CNTR_0_RESERVED_LSB _u(22)
570 #define TRNG_RNG_BIST_CNTR_0_RESERVED_ACCESS "RO"
571 // -----------------------------------------------------------------------------
572 // Field : TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL
573 // Description : Reflects the results of RNG BIST counter.
574 #define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_RESET _u(0x000000)
575 #define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_BITS _u(0x003fffff)
576 #define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_MSB _u(21)
577 #define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_LSB _u(0)
578 #define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_ACCESS "RO"
579 // =============================================================================
580 // Register : TRNG_RNG_BIST_CNTR_1
581 // Description : Collected BIST results.
582 #define TRNG_RNG_BIST_CNTR_1_OFFSET _u(0x000001e4)
583 #define TRNG_RNG_BIST_CNTR_1_BITS _u(0xffffffff)
584 #define TRNG_RNG_BIST_CNTR_1_RESET _u(0x00000000)
585 // -----------------------------------------------------------------------------
586 // Field : TRNG_RNG_BIST_CNTR_1_RESERVED
587 // Description : RESERVED
588 #define TRNG_RNG_BIST_CNTR_1_RESERVED_RESET _u(0x000)
589 #define TRNG_RNG_BIST_CNTR_1_RESERVED_BITS _u(0xffc00000)
590 #define TRNG_RNG_BIST_CNTR_1_RESERVED_MSB _u(31)
591 #define TRNG_RNG_BIST_CNTR_1_RESERVED_LSB _u(22)
592 #define TRNG_RNG_BIST_CNTR_1_RESERVED_ACCESS "RO"
593 // -----------------------------------------------------------------------------
594 // Field : TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL
595 // Description : Reflects the results of RNG BIST counter.
596 #define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_RESET _u(0x000000)
597 #define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_BITS _u(0x003fffff)
598 #define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_MSB _u(21)
599 #define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_LSB _u(0)
600 #define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_ACCESS "RO"
601 // =============================================================================
602 // Register : TRNG_RNG_BIST_CNTR_2
603 // Description : Collected BIST results.
604 #define TRNG_RNG_BIST_CNTR_2_OFFSET _u(0x000001e8)
605 #define TRNG_RNG_BIST_CNTR_2_BITS _u(0xffffffff)
606 #define TRNG_RNG_BIST_CNTR_2_RESET _u(0x00000000)
607 // -----------------------------------------------------------------------------
608 // Field : TRNG_RNG_BIST_CNTR_2_RESERVED
609 // Description : RESERVED
610 #define TRNG_RNG_BIST_CNTR_2_RESERVED_RESET _u(0x000)
611 #define TRNG_RNG_BIST_CNTR_2_RESERVED_BITS _u(0xffc00000)
612 #define TRNG_RNG_BIST_CNTR_2_RESERVED_MSB _u(31)
613 #define TRNG_RNG_BIST_CNTR_2_RESERVED_LSB _u(22)
614 #define TRNG_RNG_BIST_CNTR_2_RESERVED_ACCESS "RO"
615 // -----------------------------------------------------------------------------
616 // Field : TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL
617 // Description : Reflects the results of RNG BIST counter.
618 #define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_RESET _u(0x000000)
619 #define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_BITS _u(0x003fffff)
620 #define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_MSB _u(21)
621 #define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_LSB _u(0)
622 #define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_ACCESS "RO"
623 // =============================================================================
624 #endif // _HARDWARE_REGS_TRNG_H