1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
2 
3 /**
4  * Copyright (c) 2024 Raspberry Pi Ltd.
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  */
8 // =============================================================================
9 // Register block : OTP_DATA
10 // Version        : 1
11 // Bus type       : apb
12 // Description    : Predefined OTP data layout for RP2350
13 // =============================================================================
14 #ifndef _HARDWARE_REGS_OTP_DATA_H
15 #define _HARDWARE_REGS_OTP_DATA_H
16 // =============================================================================
17 // Register    : OTP_DATA_CHIPID0
18 // Description : Bits 15:0 of public device ID. (ECC)
19 //
20 //               The CHIPID0..3 rows contain a 64-bit random identifier for this
21 //               chip, which can be read from the USB bootloader PICOBOOT
22 //               interface or from the get_sys_info ROM API.
23 //
24 //               The number of random bits makes the occurrence of twins
25 //               exceedingly unlikely: for example, a fleet of a hundred million
26 //               devices has a 99.97% probability of no twinned IDs. This is
27 //               estimated to be lower than the occurrence of process errors in
28 //               the assignment of sequential random IDs, and for practical
29 //               purposes CHIPID may be treated as unique.
30 #define OTP_DATA_CHIPID0_ROW _u(0x00000000)
31 #define OTP_DATA_CHIPID0_BITS   _u(0x0000ffff)
32 #define OTP_DATA_CHIPID0_RESET  "-"
33 #define OTP_DATA_CHIPID0_WIDTH  _u(16)
34 #define OTP_DATA_CHIPID0_MSB    _u(15)
35 #define OTP_DATA_CHIPID0_LSB    _u(0)
36 #define OTP_DATA_CHIPID0_ACCESS "RO"
37 // =============================================================================
38 // Register    : OTP_DATA_CHIPID1
39 // Description : Bits 31:16 of public device ID (ECC)
40 #define OTP_DATA_CHIPID1_ROW _u(0x00000001)
41 #define OTP_DATA_CHIPID1_BITS   _u(0x0000ffff)
42 #define OTP_DATA_CHIPID1_RESET  "-"
43 #define OTP_DATA_CHIPID1_WIDTH  _u(16)
44 #define OTP_DATA_CHIPID1_MSB    _u(15)
45 #define OTP_DATA_CHIPID1_LSB    _u(0)
46 #define OTP_DATA_CHIPID1_ACCESS "RO"
47 // =============================================================================
48 // Register    : OTP_DATA_CHIPID2
49 // Description : Bits 47:32 of public device ID (ECC)
50 #define OTP_DATA_CHIPID2_ROW _u(0x00000002)
51 #define OTP_DATA_CHIPID2_BITS   _u(0x0000ffff)
52 #define OTP_DATA_CHIPID2_RESET  "-"
53 #define OTP_DATA_CHIPID2_WIDTH  _u(16)
54 #define OTP_DATA_CHIPID2_MSB    _u(15)
55 #define OTP_DATA_CHIPID2_LSB    _u(0)
56 #define OTP_DATA_CHIPID2_ACCESS "RO"
57 // =============================================================================
58 // Register    : OTP_DATA_CHIPID3
59 // Description : Bits 63:48 of public device ID (ECC)
60 #define OTP_DATA_CHIPID3_ROW _u(0x00000003)
61 #define OTP_DATA_CHIPID3_BITS   _u(0x0000ffff)
62 #define OTP_DATA_CHIPID3_RESET  "-"
63 #define OTP_DATA_CHIPID3_WIDTH  _u(16)
64 #define OTP_DATA_CHIPID3_MSB    _u(15)
65 #define OTP_DATA_CHIPID3_LSB    _u(0)
66 #define OTP_DATA_CHIPID3_ACCESS "RO"
67 // =============================================================================
68 // Register    : OTP_DATA_RANDID0
69 // Description : Bits 15:0 of private per-device random number (ECC)
70 //
71 //               The RANDID0..7 rows form a 128-bit random number generated
72 //               during device test.
73 //
74 //               This ID is not exposed through the USB PICOBOOT GET_INFO
75 //               command or the ROM `get_sys_info()` API. However note that the
76 //               USB PICOBOOT OTP access point can read the entirety of page 0,
77 //               so this value is not meaningfully private unless the USB
78 //               PICOBOOT interface is disabled via the
79 //               DISABLE_BOOTSEL_USB_PICOBOOT_IFC flag in BOOT_FLAGS0.
80 #define OTP_DATA_RANDID0_ROW _u(0x00000004)
81 #define OTP_DATA_RANDID0_BITS   _u(0x0000ffff)
82 #define OTP_DATA_RANDID0_RESET  "-"
83 #define OTP_DATA_RANDID0_WIDTH  _u(16)
84 #define OTP_DATA_RANDID0_MSB    _u(15)
85 #define OTP_DATA_RANDID0_LSB    _u(0)
86 #define OTP_DATA_RANDID0_ACCESS "RO"
87 // =============================================================================
88 // Register    : OTP_DATA_RANDID1
89 // Description : Bits 31:16 of private per-device random number (ECC)
90 #define OTP_DATA_RANDID1_ROW _u(0x00000005)
91 #define OTP_DATA_RANDID1_BITS   _u(0x0000ffff)
92 #define OTP_DATA_RANDID1_RESET  "-"
93 #define OTP_DATA_RANDID1_WIDTH  _u(16)
94 #define OTP_DATA_RANDID1_MSB    _u(15)
95 #define OTP_DATA_RANDID1_LSB    _u(0)
96 #define OTP_DATA_RANDID1_ACCESS "RO"
97 // =============================================================================
98 // Register    : OTP_DATA_RANDID2
99 // Description : Bits 47:32 of private per-device random number (ECC)
100 #define OTP_DATA_RANDID2_ROW _u(0x00000006)
101 #define OTP_DATA_RANDID2_BITS   _u(0x0000ffff)
102 #define OTP_DATA_RANDID2_RESET  "-"
103 #define OTP_DATA_RANDID2_WIDTH  _u(16)
104 #define OTP_DATA_RANDID2_MSB    _u(15)
105 #define OTP_DATA_RANDID2_LSB    _u(0)
106 #define OTP_DATA_RANDID2_ACCESS "RO"
107 // =============================================================================
108 // Register    : OTP_DATA_RANDID3
109 // Description : Bits 63:48 of private per-device random number (ECC)
110 #define OTP_DATA_RANDID3_ROW _u(0x00000007)
111 #define OTP_DATA_RANDID3_BITS   _u(0x0000ffff)
112 #define OTP_DATA_RANDID3_RESET  "-"
113 #define OTP_DATA_RANDID3_WIDTH  _u(16)
114 #define OTP_DATA_RANDID3_MSB    _u(15)
115 #define OTP_DATA_RANDID3_LSB    _u(0)
116 #define OTP_DATA_RANDID3_ACCESS "RO"
117 // =============================================================================
118 // Register    : OTP_DATA_RANDID4
119 // Description : Bits 79:64 of private per-device random number (ECC)
120 #define OTP_DATA_RANDID4_ROW _u(0x00000008)
121 #define OTP_DATA_RANDID4_BITS   _u(0x0000ffff)
122 #define OTP_DATA_RANDID4_RESET  "-"
123 #define OTP_DATA_RANDID4_WIDTH  _u(16)
124 #define OTP_DATA_RANDID4_MSB    _u(15)
125 #define OTP_DATA_RANDID4_LSB    _u(0)
126 #define OTP_DATA_RANDID4_ACCESS "RO"
127 // =============================================================================
128 // Register    : OTP_DATA_RANDID5
129 // Description : Bits 95:80 of private per-device random number (ECC)
130 #define OTP_DATA_RANDID5_ROW _u(0x00000009)
131 #define OTP_DATA_RANDID5_BITS   _u(0x0000ffff)
132 #define OTP_DATA_RANDID5_RESET  "-"
133 #define OTP_DATA_RANDID5_WIDTH  _u(16)
134 #define OTP_DATA_RANDID5_MSB    _u(15)
135 #define OTP_DATA_RANDID5_LSB    _u(0)
136 #define OTP_DATA_RANDID5_ACCESS "RO"
137 // =============================================================================
138 // Register    : OTP_DATA_RANDID6
139 // Description : Bits 111:96 of private per-device random number (ECC)
140 #define OTP_DATA_RANDID6_ROW _u(0x0000000a)
141 #define OTP_DATA_RANDID6_BITS   _u(0x0000ffff)
142 #define OTP_DATA_RANDID6_RESET  "-"
143 #define OTP_DATA_RANDID6_WIDTH  _u(16)
144 #define OTP_DATA_RANDID6_MSB    _u(15)
145 #define OTP_DATA_RANDID6_LSB    _u(0)
146 #define OTP_DATA_RANDID6_ACCESS "RO"
147 // =============================================================================
148 // Register    : OTP_DATA_RANDID7
149 // Description : Bits 127:112 of private per-device random number (ECC)
150 #define OTP_DATA_RANDID7_ROW _u(0x0000000b)
151 #define OTP_DATA_RANDID7_BITS   _u(0x0000ffff)
152 #define OTP_DATA_RANDID7_RESET  "-"
153 #define OTP_DATA_RANDID7_WIDTH  _u(16)
154 #define OTP_DATA_RANDID7_MSB    _u(15)
155 #define OTP_DATA_RANDID7_LSB    _u(0)
156 #define OTP_DATA_RANDID7_ACCESS "RO"
157 // =============================================================================
158 // Register    : OTP_DATA_ROSC_CALIB
159 // Description : Ring oscillator frequency in kHz, measured during manufacturing
160 //               (ECC)
161 //
162 //               This is measured at 1.1 V, at room temperature, with the ROSC
163 //               configuration registers in their reset state.
164 #define OTP_DATA_ROSC_CALIB_ROW _u(0x00000010)
165 #define OTP_DATA_ROSC_CALIB_BITS   _u(0x0000ffff)
166 #define OTP_DATA_ROSC_CALIB_RESET  "-"
167 #define OTP_DATA_ROSC_CALIB_WIDTH  _u(16)
168 #define OTP_DATA_ROSC_CALIB_MSB    _u(15)
169 #define OTP_DATA_ROSC_CALIB_LSB    _u(0)
170 #define OTP_DATA_ROSC_CALIB_ACCESS "RO"
171 // =============================================================================
172 // Register    : OTP_DATA_LPOSC_CALIB
173 // Description : Low-power oscillator frequency in Hz, measured during
174 //               manufacturing (ECC)
175 //
176 //               This is measured at 1.1V, at room temperature, with the LPOSC
177 //               trim register in its reset state.
178 #define OTP_DATA_LPOSC_CALIB_ROW _u(0x00000011)
179 #define OTP_DATA_LPOSC_CALIB_BITS   _u(0x0000ffff)
180 #define OTP_DATA_LPOSC_CALIB_RESET  "-"
181 #define OTP_DATA_LPOSC_CALIB_WIDTH  _u(16)
182 #define OTP_DATA_LPOSC_CALIB_MSB    _u(15)
183 #define OTP_DATA_LPOSC_CALIB_LSB    _u(0)
184 #define OTP_DATA_LPOSC_CALIB_ACCESS "RO"
185 // =============================================================================
186 // Register    : OTP_DATA_NUM_GPIOS
187 // Description : The number of main user GPIOs (bank 0). Should read 48 in the
188 //               QFN80 package, and 30 in the QFN60 package. (ECC)
189 #define OTP_DATA_NUM_GPIOS_ROW _u(0x00000018)
190 #define OTP_DATA_NUM_GPIOS_BITS   _u(0x000000ff)
191 #define OTP_DATA_NUM_GPIOS_RESET  "-"
192 #define OTP_DATA_NUM_GPIOS_WIDTH  _u(16)
193 #define OTP_DATA_NUM_GPIOS_MSB    _u(7)
194 #define OTP_DATA_NUM_GPIOS_LSB    _u(0)
195 #define OTP_DATA_NUM_GPIOS_ACCESS "RO"
196 // =============================================================================
197 // Register    : OTP_DATA_INFO_CRC0
198 // Description : Lower 16 bits of CRC32 of OTP addresses 0x00 through 0x6b
199 //               (polynomial 0x4c11db7, input reflected, output reflected, seed
200 //               all-ones, final XOR all-ones) (ECC)
201 #define OTP_DATA_INFO_CRC0_ROW _u(0x00000036)
202 #define OTP_DATA_INFO_CRC0_BITS   _u(0x0000ffff)
203 #define OTP_DATA_INFO_CRC0_RESET  "-"
204 #define OTP_DATA_INFO_CRC0_WIDTH  _u(16)
205 #define OTP_DATA_INFO_CRC0_MSB    _u(15)
206 #define OTP_DATA_INFO_CRC0_LSB    _u(0)
207 #define OTP_DATA_INFO_CRC0_ACCESS "RO"
208 // =============================================================================
209 // Register    : OTP_DATA_INFO_CRC1
210 // Description : Upper 16 bits of CRC32 of OTP addresses 0x00 through 0x6b (ECC)
211 #define OTP_DATA_INFO_CRC1_ROW _u(0x00000037)
212 #define OTP_DATA_INFO_CRC1_BITS   _u(0x0000ffff)
213 #define OTP_DATA_INFO_CRC1_RESET  "-"
214 #define OTP_DATA_INFO_CRC1_WIDTH  _u(16)
215 #define OTP_DATA_INFO_CRC1_MSB    _u(15)
216 #define OTP_DATA_INFO_CRC1_LSB    _u(0)
217 #define OTP_DATA_INFO_CRC1_ACCESS "RO"
218 // =============================================================================
219 // Register    : OTP_DATA_CRIT0
220 // Description : Page 0 critical boot flags (RBIT-8)
221 #define OTP_DATA_CRIT0_ROW _u(0x00000038)
222 #define OTP_DATA_CRIT0_BITS   _u(0x00000003)
223 #define OTP_DATA_CRIT0_RESET  _u(0x00000000)
224 #define OTP_DATA_CRIT0_WIDTH  _u(24)
225 // -----------------------------------------------------------------------------
226 // Field       : OTP_DATA_CRIT0_RISCV_DISABLE
227 // Description : Permanently disable RISC-V processors (Hazard3)
228 #define OTP_DATA_CRIT0_RISCV_DISABLE_RESET  "-"
229 #define OTP_DATA_CRIT0_RISCV_DISABLE_BITS   _u(0x00000002)
230 #define OTP_DATA_CRIT0_RISCV_DISABLE_MSB    _u(1)
231 #define OTP_DATA_CRIT0_RISCV_DISABLE_LSB    _u(1)
232 #define OTP_DATA_CRIT0_RISCV_DISABLE_ACCESS "RO"
233 // -----------------------------------------------------------------------------
234 // Field       : OTP_DATA_CRIT0_ARM_DISABLE
235 // Description : Permanently disable ARM processors (Cortex-M33)
236 #define OTP_DATA_CRIT0_ARM_DISABLE_RESET  "-"
237 #define OTP_DATA_CRIT0_ARM_DISABLE_BITS   _u(0x00000001)
238 #define OTP_DATA_CRIT0_ARM_DISABLE_MSB    _u(0)
239 #define OTP_DATA_CRIT0_ARM_DISABLE_LSB    _u(0)
240 #define OTP_DATA_CRIT0_ARM_DISABLE_ACCESS "RO"
241 // =============================================================================
242 // Register    : OTP_DATA_CRIT0_R1
243 // Description : Redundant copy of CRIT0
244 #define OTP_DATA_CRIT0_R1_ROW _u(0x00000039)
245 #define OTP_DATA_CRIT0_R1_BITS   _u(0x00ffffff)
246 #define OTP_DATA_CRIT0_R1_RESET  "-"
247 #define OTP_DATA_CRIT0_R1_WIDTH  _u(24)
248 #define OTP_DATA_CRIT0_R1_MSB    _u(23)
249 #define OTP_DATA_CRIT0_R1_LSB    _u(0)
250 #define OTP_DATA_CRIT0_R1_ACCESS "RO"
251 // =============================================================================
252 // Register    : OTP_DATA_CRIT0_R2
253 // Description : Redundant copy of CRIT0
254 #define OTP_DATA_CRIT0_R2_ROW _u(0x0000003a)
255 #define OTP_DATA_CRIT0_R2_BITS   _u(0x00ffffff)
256 #define OTP_DATA_CRIT0_R2_RESET  "-"
257 #define OTP_DATA_CRIT0_R2_WIDTH  _u(24)
258 #define OTP_DATA_CRIT0_R2_MSB    _u(23)
259 #define OTP_DATA_CRIT0_R2_LSB    _u(0)
260 #define OTP_DATA_CRIT0_R2_ACCESS "RO"
261 // =============================================================================
262 // Register    : OTP_DATA_CRIT0_R3
263 // Description : Redundant copy of CRIT0
264 #define OTP_DATA_CRIT0_R3_ROW _u(0x0000003b)
265 #define OTP_DATA_CRIT0_R3_BITS   _u(0x00ffffff)
266 #define OTP_DATA_CRIT0_R3_RESET  "-"
267 #define OTP_DATA_CRIT0_R3_WIDTH  _u(24)
268 #define OTP_DATA_CRIT0_R3_MSB    _u(23)
269 #define OTP_DATA_CRIT0_R3_LSB    _u(0)
270 #define OTP_DATA_CRIT0_R3_ACCESS "RO"
271 // =============================================================================
272 // Register    : OTP_DATA_CRIT0_R4
273 // Description : Redundant copy of CRIT0
274 #define OTP_DATA_CRIT0_R4_ROW _u(0x0000003c)
275 #define OTP_DATA_CRIT0_R4_BITS   _u(0x00ffffff)
276 #define OTP_DATA_CRIT0_R4_RESET  "-"
277 #define OTP_DATA_CRIT0_R4_WIDTH  _u(24)
278 #define OTP_DATA_CRIT0_R4_MSB    _u(23)
279 #define OTP_DATA_CRIT0_R4_LSB    _u(0)
280 #define OTP_DATA_CRIT0_R4_ACCESS "RO"
281 // =============================================================================
282 // Register    : OTP_DATA_CRIT0_R5
283 // Description : Redundant copy of CRIT0
284 #define OTP_DATA_CRIT0_R5_ROW _u(0x0000003d)
285 #define OTP_DATA_CRIT0_R5_BITS   _u(0x00ffffff)
286 #define OTP_DATA_CRIT0_R5_RESET  "-"
287 #define OTP_DATA_CRIT0_R5_WIDTH  _u(24)
288 #define OTP_DATA_CRIT0_R5_MSB    _u(23)
289 #define OTP_DATA_CRIT0_R5_LSB    _u(0)
290 #define OTP_DATA_CRIT0_R5_ACCESS "RO"
291 // =============================================================================
292 // Register    : OTP_DATA_CRIT0_R6
293 // Description : Redundant copy of CRIT0
294 #define OTP_DATA_CRIT0_R6_ROW _u(0x0000003e)
295 #define OTP_DATA_CRIT0_R6_BITS   _u(0x00ffffff)
296 #define OTP_DATA_CRIT0_R6_RESET  "-"
297 #define OTP_DATA_CRIT0_R6_WIDTH  _u(24)
298 #define OTP_DATA_CRIT0_R6_MSB    _u(23)
299 #define OTP_DATA_CRIT0_R6_LSB    _u(0)
300 #define OTP_DATA_CRIT0_R6_ACCESS "RO"
301 // =============================================================================
302 // Register    : OTP_DATA_CRIT0_R7
303 // Description : Redundant copy of CRIT0
304 #define OTP_DATA_CRIT0_R7_ROW _u(0x0000003f)
305 #define OTP_DATA_CRIT0_R7_BITS   _u(0x00ffffff)
306 #define OTP_DATA_CRIT0_R7_RESET  "-"
307 #define OTP_DATA_CRIT0_R7_WIDTH  _u(24)
308 #define OTP_DATA_CRIT0_R7_MSB    _u(23)
309 #define OTP_DATA_CRIT0_R7_LSB    _u(0)
310 #define OTP_DATA_CRIT0_R7_ACCESS "RO"
311 // =============================================================================
312 // Register    : OTP_DATA_CRIT1
313 // Description : Page 1 critical boot flags (RBIT-8)
314 #define OTP_DATA_CRIT1_ROW _u(0x00000040)
315 #define OTP_DATA_CRIT1_BITS   _u(0x0000007f)
316 #define OTP_DATA_CRIT1_RESET  _u(0x00000000)
317 #define OTP_DATA_CRIT1_WIDTH  _u(24)
318 // -----------------------------------------------------------------------------
319 // Field       : OTP_DATA_CRIT1_GLITCH_DETECTOR_SENS
320 // Description : Increase the sensitivity of the glitch detectors from their
321 //               default.
322 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_SENS_RESET  "-"
323 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_SENS_BITS   _u(0x00000060)
324 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_SENS_MSB    _u(6)
325 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_SENS_LSB    _u(5)
326 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_SENS_ACCESS "RO"
327 // -----------------------------------------------------------------------------
328 // Field       : OTP_DATA_CRIT1_GLITCH_DETECTOR_ENABLE
329 // Description : Arm the glitch detectors to reset the system if an abnormal
330 //               clock/power event is observed.
331 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_ENABLE_RESET  "-"
332 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_ENABLE_BITS   _u(0x00000010)
333 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_ENABLE_MSB    _u(4)
334 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_ENABLE_LSB    _u(4)
335 #define OTP_DATA_CRIT1_GLITCH_DETECTOR_ENABLE_ACCESS "RO"
336 // -----------------------------------------------------------------------------
337 // Field       : OTP_DATA_CRIT1_BOOT_ARCH
338 // Description : Set the default boot architecture, 0=ARM 1=RISC-V. Ignored if
339 //               ARM_DISABLE, RISCV_DISABLE or SECURE_BOOT_ENABLE is set.
340 #define OTP_DATA_CRIT1_BOOT_ARCH_RESET  "-"
341 #define OTP_DATA_CRIT1_BOOT_ARCH_BITS   _u(0x00000008)
342 #define OTP_DATA_CRIT1_BOOT_ARCH_MSB    _u(3)
343 #define OTP_DATA_CRIT1_BOOT_ARCH_LSB    _u(3)
344 #define OTP_DATA_CRIT1_BOOT_ARCH_ACCESS "RO"
345 // -----------------------------------------------------------------------------
346 // Field       : OTP_DATA_CRIT1_DEBUG_DISABLE
347 // Description : Disable all debug access
348 #define OTP_DATA_CRIT1_DEBUG_DISABLE_RESET  "-"
349 #define OTP_DATA_CRIT1_DEBUG_DISABLE_BITS   _u(0x00000004)
350 #define OTP_DATA_CRIT1_DEBUG_DISABLE_MSB    _u(2)
351 #define OTP_DATA_CRIT1_DEBUG_DISABLE_LSB    _u(2)
352 #define OTP_DATA_CRIT1_DEBUG_DISABLE_ACCESS "RO"
353 // -----------------------------------------------------------------------------
354 // Field       : OTP_DATA_CRIT1_SECURE_DEBUG_DISABLE
355 // Description : Disable Secure debug access
356 #define OTP_DATA_CRIT1_SECURE_DEBUG_DISABLE_RESET  "-"
357 #define OTP_DATA_CRIT1_SECURE_DEBUG_DISABLE_BITS   _u(0x00000002)
358 #define OTP_DATA_CRIT1_SECURE_DEBUG_DISABLE_MSB    _u(1)
359 #define OTP_DATA_CRIT1_SECURE_DEBUG_DISABLE_LSB    _u(1)
360 #define OTP_DATA_CRIT1_SECURE_DEBUG_DISABLE_ACCESS "RO"
361 // -----------------------------------------------------------------------------
362 // Field       : OTP_DATA_CRIT1_SECURE_BOOT_ENABLE
363 // Description : Enable boot signature enforcement, and permanently disable the
364 //               RISC-V cores.
365 #define OTP_DATA_CRIT1_SECURE_BOOT_ENABLE_RESET  "-"
366 #define OTP_DATA_CRIT1_SECURE_BOOT_ENABLE_BITS   _u(0x00000001)
367 #define OTP_DATA_CRIT1_SECURE_BOOT_ENABLE_MSB    _u(0)
368 #define OTP_DATA_CRIT1_SECURE_BOOT_ENABLE_LSB    _u(0)
369 #define OTP_DATA_CRIT1_SECURE_BOOT_ENABLE_ACCESS "RO"
370 // =============================================================================
371 // Register    : OTP_DATA_CRIT1_R1
372 // Description : Redundant copy of CRIT1
373 #define OTP_DATA_CRIT1_R1_ROW _u(0x00000041)
374 #define OTP_DATA_CRIT1_R1_BITS   _u(0x00ffffff)
375 #define OTP_DATA_CRIT1_R1_RESET  "-"
376 #define OTP_DATA_CRIT1_R1_WIDTH  _u(24)
377 #define OTP_DATA_CRIT1_R1_MSB    _u(23)
378 #define OTP_DATA_CRIT1_R1_LSB    _u(0)
379 #define OTP_DATA_CRIT1_R1_ACCESS "RO"
380 // =============================================================================
381 // Register    : OTP_DATA_CRIT1_R2
382 // Description : Redundant copy of CRIT1
383 #define OTP_DATA_CRIT1_R2_ROW _u(0x00000042)
384 #define OTP_DATA_CRIT1_R2_BITS   _u(0x00ffffff)
385 #define OTP_DATA_CRIT1_R2_RESET  "-"
386 #define OTP_DATA_CRIT1_R2_WIDTH  _u(24)
387 #define OTP_DATA_CRIT1_R2_MSB    _u(23)
388 #define OTP_DATA_CRIT1_R2_LSB    _u(0)
389 #define OTP_DATA_CRIT1_R2_ACCESS "RO"
390 // =============================================================================
391 // Register    : OTP_DATA_CRIT1_R3
392 // Description : Redundant copy of CRIT1
393 #define OTP_DATA_CRIT1_R3_ROW _u(0x00000043)
394 #define OTP_DATA_CRIT1_R3_BITS   _u(0x00ffffff)
395 #define OTP_DATA_CRIT1_R3_RESET  "-"
396 #define OTP_DATA_CRIT1_R3_WIDTH  _u(24)
397 #define OTP_DATA_CRIT1_R3_MSB    _u(23)
398 #define OTP_DATA_CRIT1_R3_LSB    _u(0)
399 #define OTP_DATA_CRIT1_R3_ACCESS "RO"
400 // =============================================================================
401 // Register    : OTP_DATA_CRIT1_R4
402 // Description : Redundant copy of CRIT1
403 #define OTP_DATA_CRIT1_R4_ROW _u(0x00000044)
404 #define OTP_DATA_CRIT1_R4_BITS   _u(0x00ffffff)
405 #define OTP_DATA_CRIT1_R4_RESET  "-"
406 #define OTP_DATA_CRIT1_R4_WIDTH  _u(24)
407 #define OTP_DATA_CRIT1_R4_MSB    _u(23)
408 #define OTP_DATA_CRIT1_R4_LSB    _u(0)
409 #define OTP_DATA_CRIT1_R4_ACCESS "RO"
410 // =============================================================================
411 // Register    : OTP_DATA_CRIT1_R5
412 // Description : Redundant copy of CRIT1
413 #define OTP_DATA_CRIT1_R5_ROW _u(0x00000045)
414 #define OTP_DATA_CRIT1_R5_BITS   _u(0x00ffffff)
415 #define OTP_DATA_CRIT1_R5_RESET  "-"
416 #define OTP_DATA_CRIT1_R5_WIDTH  _u(24)
417 #define OTP_DATA_CRIT1_R5_MSB    _u(23)
418 #define OTP_DATA_CRIT1_R5_LSB    _u(0)
419 #define OTP_DATA_CRIT1_R5_ACCESS "RO"
420 // =============================================================================
421 // Register    : OTP_DATA_CRIT1_R6
422 // Description : Redundant copy of CRIT1
423 #define OTP_DATA_CRIT1_R6_ROW _u(0x00000046)
424 #define OTP_DATA_CRIT1_R6_BITS   _u(0x00ffffff)
425 #define OTP_DATA_CRIT1_R6_RESET  "-"
426 #define OTP_DATA_CRIT1_R6_WIDTH  _u(24)
427 #define OTP_DATA_CRIT1_R6_MSB    _u(23)
428 #define OTP_DATA_CRIT1_R6_LSB    _u(0)
429 #define OTP_DATA_CRIT1_R6_ACCESS "RO"
430 // =============================================================================
431 // Register    : OTP_DATA_CRIT1_R7
432 // Description : Redundant copy of CRIT1
433 #define OTP_DATA_CRIT1_R7_ROW _u(0x00000047)
434 #define OTP_DATA_CRIT1_R7_BITS   _u(0x00ffffff)
435 #define OTP_DATA_CRIT1_R7_RESET  "-"
436 #define OTP_DATA_CRIT1_R7_WIDTH  _u(24)
437 #define OTP_DATA_CRIT1_R7_MSB    _u(23)
438 #define OTP_DATA_CRIT1_R7_LSB    _u(0)
439 #define OTP_DATA_CRIT1_R7_ACCESS "RO"
440 // =============================================================================
441 // Register    : OTP_DATA_BOOT_FLAGS0
442 // Description : Disable/Enable boot paths/features in the RP2350 mask ROM.
443 //               Disables always supersede enables. Enables are provided where
444 //               there are other configurations in OTP that must be valid.
445 //               (RBIT-3)
446 #define OTP_DATA_BOOT_FLAGS0_ROW _u(0x00000048)
447 #define OTP_DATA_BOOT_FLAGS0_BITS   _u(0x003fffff)
448 #define OTP_DATA_BOOT_FLAGS0_RESET  _u(0x00000000)
449 #define OTP_DATA_BOOT_FLAGS0_WIDTH  _u(24)
450 // -----------------------------------------------------------------------------
451 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_SRAM_WINDOW_BOOT
452 #define OTP_DATA_BOOT_FLAGS0_DISABLE_SRAM_WINDOW_BOOT_RESET  "-"
453 #define OTP_DATA_BOOT_FLAGS0_DISABLE_SRAM_WINDOW_BOOT_BITS   _u(0x00200000)
454 #define OTP_DATA_BOOT_FLAGS0_DISABLE_SRAM_WINDOW_BOOT_MSB    _u(21)
455 #define OTP_DATA_BOOT_FLAGS0_DISABLE_SRAM_WINDOW_BOOT_LSB    _u(21)
456 #define OTP_DATA_BOOT_FLAGS0_DISABLE_SRAM_WINDOW_BOOT_ACCESS "RO"
457 // -----------------------------------------------------------------------------
458 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_XIP_ACCESS_ON_SRAM_ENTRY
459 // Description : Disable all access to XIP after entering an SRAM binary.
460 //
461 //               Note that this will cause bootrom APIs that access XIP to fail,
462 //               including APIs that interact with the partition table.
463 #define OTP_DATA_BOOT_FLAGS0_DISABLE_XIP_ACCESS_ON_SRAM_ENTRY_RESET  "-"
464 #define OTP_DATA_BOOT_FLAGS0_DISABLE_XIP_ACCESS_ON_SRAM_ENTRY_BITS   _u(0x00100000)
465 #define OTP_DATA_BOOT_FLAGS0_DISABLE_XIP_ACCESS_ON_SRAM_ENTRY_MSB    _u(20)
466 #define OTP_DATA_BOOT_FLAGS0_DISABLE_XIP_ACCESS_ON_SRAM_ENTRY_LSB    _u(20)
467 #define OTP_DATA_BOOT_FLAGS0_DISABLE_XIP_ACCESS_ON_SRAM_ENTRY_ACCESS "RO"
468 // -----------------------------------------------------------------------------
469 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_UART_BOOT
470 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_UART_BOOT_RESET  "-"
471 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_UART_BOOT_BITS   _u(0x00080000)
472 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_UART_BOOT_MSB    _u(19)
473 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_UART_BOOT_LSB    _u(19)
474 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_UART_BOOT_ACCESS "RO"
475 // -----------------------------------------------------------------------------
476 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_PICOBOOT_IFC
477 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_PICOBOOT_IFC_RESET  "-"
478 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_PICOBOOT_IFC_BITS   _u(0x00040000)
479 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_PICOBOOT_IFC_MSB    _u(18)
480 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_PICOBOOT_IFC_LSB    _u(18)
481 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_PICOBOOT_IFC_ACCESS "RO"
482 // -----------------------------------------------------------------------------
483 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_MSD_IFC
484 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_MSD_IFC_RESET  "-"
485 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_MSD_IFC_BITS   _u(0x00020000)
486 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_MSD_IFC_MSB    _u(17)
487 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_MSD_IFC_LSB    _u(17)
488 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_USB_MSD_IFC_ACCESS "RO"
489 // -----------------------------------------------------------------------------
490 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_WATCHDOG_SCRATCH
491 #define OTP_DATA_BOOT_FLAGS0_DISABLE_WATCHDOG_SCRATCH_RESET  "-"
492 #define OTP_DATA_BOOT_FLAGS0_DISABLE_WATCHDOG_SCRATCH_BITS   _u(0x00010000)
493 #define OTP_DATA_BOOT_FLAGS0_DISABLE_WATCHDOG_SCRATCH_MSB    _u(16)
494 #define OTP_DATA_BOOT_FLAGS0_DISABLE_WATCHDOG_SCRATCH_LSB    _u(16)
495 #define OTP_DATA_BOOT_FLAGS0_DISABLE_WATCHDOG_SCRATCH_ACCESS "RO"
496 // -----------------------------------------------------------------------------
497 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_POWER_SCRATCH
498 #define OTP_DATA_BOOT_FLAGS0_DISABLE_POWER_SCRATCH_RESET  "-"
499 #define OTP_DATA_BOOT_FLAGS0_DISABLE_POWER_SCRATCH_BITS   _u(0x00008000)
500 #define OTP_DATA_BOOT_FLAGS0_DISABLE_POWER_SCRATCH_MSB    _u(15)
501 #define OTP_DATA_BOOT_FLAGS0_DISABLE_POWER_SCRATCH_LSB    _u(15)
502 #define OTP_DATA_BOOT_FLAGS0_DISABLE_POWER_SCRATCH_ACCESS "RO"
503 // -----------------------------------------------------------------------------
504 // Field       : OTP_DATA_BOOT_FLAGS0_ENABLE_OTP_BOOT
505 // Description : Enable OTP boot. A number of OTP rows specified by OTPBOOT_LEN
506 //               will be loaded, starting from OTPBOOT_SRC, into the SRAM
507 //               location specified by OTPBOOT_DST1 and OTPBOOT_DST0.
508 //
509 //               The loaded program image is stored with ECC, 16 bits per row,
510 //               and must contain a valid IMAGE_DEF. Do not set this bit without
511 //               first programming an image into OTP and configuring
512 //               OTPBOOT_LEN, OTPBOOT_SRC, OTPBOOT_DST0 and OTPBOOT_DST1.
513 //
514 //               Note that OTPBOOT_LEN and OTPBOOT_SRC must be even numbers of
515 //               OTP rows. Equivalently, the image must be a multiple of 32 bits
516 //               in size, and must start at a 32-bit-aligned address in the ECC
517 //               read data address window.
518 #define OTP_DATA_BOOT_FLAGS0_ENABLE_OTP_BOOT_RESET  "-"
519 #define OTP_DATA_BOOT_FLAGS0_ENABLE_OTP_BOOT_BITS   _u(0x00004000)
520 #define OTP_DATA_BOOT_FLAGS0_ENABLE_OTP_BOOT_MSB    _u(14)
521 #define OTP_DATA_BOOT_FLAGS0_ENABLE_OTP_BOOT_LSB    _u(14)
522 #define OTP_DATA_BOOT_FLAGS0_ENABLE_OTP_BOOT_ACCESS "RO"
523 // -----------------------------------------------------------------------------
524 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_OTP_BOOT
525 // Description : Takes precedence over ENABLE_OTP_BOOT.
526 #define OTP_DATA_BOOT_FLAGS0_DISABLE_OTP_BOOT_RESET  "-"
527 #define OTP_DATA_BOOT_FLAGS0_DISABLE_OTP_BOOT_BITS   _u(0x00002000)
528 #define OTP_DATA_BOOT_FLAGS0_DISABLE_OTP_BOOT_MSB    _u(13)
529 #define OTP_DATA_BOOT_FLAGS0_DISABLE_OTP_BOOT_LSB    _u(13)
530 #define OTP_DATA_BOOT_FLAGS0_DISABLE_OTP_BOOT_ACCESS "RO"
531 // -----------------------------------------------------------------------------
532 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_FLASH_BOOT
533 #define OTP_DATA_BOOT_FLAGS0_DISABLE_FLASH_BOOT_RESET  "-"
534 #define OTP_DATA_BOOT_FLAGS0_DISABLE_FLASH_BOOT_BITS   _u(0x00001000)
535 #define OTP_DATA_BOOT_FLAGS0_DISABLE_FLASH_BOOT_MSB    _u(12)
536 #define OTP_DATA_BOOT_FLAGS0_DISABLE_FLASH_BOOT_LSB    _u(12)
537 #define OTP_DATA_BOOT_FLAGS0_DISABLE_FLASH_BOOT_ACCESS "RO"
538 // -----------------------------------------------------------------------------
539 // Field       : OTP_DATA_BOOT_FLAGS0_ROLLBACK_REQUIRED
540 // Description : Require binaries to have a rollback version. Set automatically
541 //               the first time a binary with a rollback version is booted.
542 #define OTP_DATA_BOOT_FLAGS0_ROLLBACK_REQUIRED_RESET  "-"
543 #define OTP_DATA_BOOT_FLAGS0_ROLLBACK_REQUIRED_BITS   _u(0x00000800)
544 #define OTP_DATA_BOOT_FLAGS0_ROLLBACK_REQUIRED_MSB    _u(11)
545 #define OTP_DATA_BOOT_FLAGS0_ROLLBACK_REQUIRED_LSB    _u(11)
546 #define OTP_DATA_BOOT_FLAGS0_ROLLBACK_REQUIRED_ACCESS "RO"
547 // -----------------------------------------------------------------------------
548 // Field       : OTP_DATA_BOOT_FLAGS0_HASHED_PARTITION_TABLE
549 // Description : Require a partition table to be hashed (if not signed)
550 #define OTP_DATA_BOOT_FLAGS0_HASHED_PARTITION_TABLE_RESET  "-"
551 #define OTP_DATA_BOOT_FLAGS0_HASHED_PARTITION_TABLE_BITS   _u(0x00000400)
552 #define OTP_DATA_BOOT_FLAGS0_HASHED_PARTITION_TABLE_MSB    _u(10)
553 #define OTP_DATA_BOOT_FLAGS0_HASHED_PARTITION_TABLE_LSB    _u(10)
554 #define OTP_DATA_BOOT_FLAGS0_HASHED_PARTITION_TABLE_ACCESS "RO"
555 // -----------------------------------------------------------------------------
556 // Field       : OTP_DATA_BOOT_FLAGS0_SECURE_PARTITION_TABLE
557 // Description : Require a partition table to be signed
558 #define OTP_DATA_BOOT_FLAGS0_SECURE_PARTITION_TABLE_RESET  "-"
559 #define OTP_DATA_BOOT_FLAGS0_SECURE_PARTITION_TABLE_BITS   _u(0x00000200)
560 #define OTP_DATA_BOOT_FLAGS0_SECURE_PARTITION_TABLE_MSB    _u(9)
561 #define OTP_DATA_BOOT_FLAGS0_SECURE_PARTITION_TABLE_LSB    _u(9)
562 #define OTP_DATA_BOOT_FLAGS0_SECURE_PARTITION_TABLE_ACCESS "RO"
563 // -----------------------------------------------------------------------------
564 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_AUTO_SWITCH_ARCH
565 // Description : Disable auto-switch of CPU architecture on boot when the (only)
566 //               binary to be booted is for the other Arm/RISC-V architecture
567 //               and both architectures are enabled
568 #define OTP_DATA_BOOT_FLAGS0_DISABLE_AUTO_SWITCH_ARCH_RESET  "-"
569 #define OTP_DATA_BOOT_FLAGS0_DISABLE_AUTO_SWITCH_ARCH_BITS   _u(0x00000100)
570 #define OTP_DATA_BOOT_FLAGS0_DISABLE_AUTO_SWITCH_ARCH_MSB    _u(8)
571 #define OTP_DATA_BOOT_FLAGS0_DISABLE_AUTO_SWITCH_ARCH_LSB    _u(8)
572 #define OTP_DATA_BOOT_FLAGS0_DISABLE_AUTO_SWITCH_ARCH_ACCESS "RO"
573 // -----------------------------------------------------------------------------
574 // Field       : OTP_DATA_BOOT_FLAGS0_SINGLE_FLASH_BINARY
575 // Description : Restrict flash boot path to use of a single binary at the start
576 //               of flash
577 #define OTP_DATA_BOOT_FLAGS0_SINGLE_FLASH_BINARY_RESET  "-"
578 #define OTP_DATA_BOOT_FLAGS0_SINGLE_FLASH_BINARY_BITS   _u(0x00000080)
579 #define OTP_DATA_BOOT_FLAGS0_SINGLE_FLASH_BINARY_MSB    _u(7)
580 #define OTP_DATA_BOOT_FLAGS0_SINGLE_FLASH_BINARY_LSB    _u(7)
581 #define OTP_DATA_BOOT_FLAGS0_SINGLE_FLASH_BINARY_ACCESS "RO"
582 // -----------------------------------------------------------------------------
583 // Field       : OTP_DATA_BOOT_FLAGS0_OVERRIDE_FLASH_PARTITION_SLOT_SIZE
584 // Description : Override the limit for default flash metadata scanning.
585 //
586 //               The value is specified in FLASH_PARTITION_SLOT_SIZE. Make sure
587 //               FLASH_PARTITION_SLOT_SIZE is valid before setting this bit
588 #define OTP_DATA_BOOT_FLAGS0_OVERRIDE_FLASH_PARTITION_SLOT_SIZE_RESET  "-"
589 #define OTP_DATA_BOOT_FLAGS0_OVERRIDE_FLASH_PARTITION_SLOT_SIZE_BITS   _u(0x00000040)
590 #define OTP_DATA_BOOT_FLAGS0_OVERRIDE_FLASH_PARTITION_SLOT_SIZE_MSB    _u(6)
591 #define OTP_DATA_BOOT_FLAGS0_OVERRIDE_FLASH_PARTITION_SLOT_SIZE_LSB    _u(6)
592 #define OTP_DATA_BOOT_FLAGS0_OVERRIDE_FLASH_PARTITION_SLOT_SIZE_ACCESS "RO"
593 // -----------------------------------------------------------------------------
594 // Field       : OTP_DATA_BOOT_FLAGS0_FLASH_DEVINFO_ENABLE
595 // Description : Mark FLASH_DEVINFO as containing valid, ECC'd data which
596 //               describes external flash devices.
597 #define OTP_DATA_BOOT_FLAGS0_FLASH_DEVINFO_ENABLE_RESET  "-"
598 #define OTP_DATA_BOOT_FLAGS0_FLASH_DEVINFO_ENABLE_BITS   _u(0x00000020)
599 #define OTP_DATA_BOOT_FLAGS0_FLASH_DEVINFO_ENABLE_MSB    _u(5)
600 #define OTP_DATA_BOOT_FLAGS0_FLASH_DEVINFO_ENABLE_LSB    _u(5)
601 #define OTP_DATA_BOOT_FLAGS0_FLASH_DEVINFO_ENABLE_ACCESS "RO"
602 // -----------------------------------------------------------------------------
603 // Field       : OTP_DATA_BOOT_FLAGS0_FAST_SIGCHECK_ROSC_DIV
604 // Description : Enable quartering of ROSC divisor during signature check, to
605 //               reduce secure boot time
606 #define OTP_DATA_BOOT_FLAGS0_FAST_SIGCHECK_ROSC_DIV_RESET  "-"
607 #define OTP_DATA_BOOT_FLAGS0_FAST_SIGCHECK_ROSC_DIV_BITS   _u(0x00000010)
608 #define OTP_DATA_BOOT_FLAGS0_FAST_SIGCHECK_ROSC_DIV_MSB    _u(4)
609 #define OTP_DATA_BOOT_FLAGS0_FAST_SIGCHECK_ROSC_DIV_LSB    _u(4)
610 #define OTP_DATA_BOOT_FLAGS0_FAST_SIGCHECK_ROSC_DIV_ACCESS "RO"
611 // -----------------------------------------------------------------------------
612 // Field       : OTP_DATA_BOOT_FLAGS0_FLASH_IO_VOLTAGE_1V8
613 // Description : If 1, configure the QSPI pads for 1.8 V operation when
614 //               accessing flash for the first time from the bootrom, using the
615 //               VOLTAGE_SELECT register for the QSPI pads bank. This slightly
616 //               improves the input timing of the pads at low voltages, but does
617 //               not affect their output characteristics.
618 //
619 //               If 0, leave VOLTAGE_SELECT in its reset state (suitable for
620 //               operation at and above 2.5 V)
621 #define OTP_DATA_BOOT_FLAGS0_FLASH_IO_VOLTAGE_1V8_RESET  "-"
622 #define OTP_DATA_BOOT_FLAGS0_FLASH_IO_VOLTAGE_1V8_BITS   _u(0x00000008)
623 #define OTP_DATA_BOOT_FLAGS0_FLASH_IO_VOLTAGE_1V8_MSB    _u(3)
624 #define OTP_DATA_BOOT_FLAGS0_FLASH_IO_VOLTAGE_1V8_LSB    _u(3)
625 #define OTP_DATA_BOOT_FLAGS0_FLASH_IO_VOLTAGE_1V8_ACCESS "RO"
626 // -----------------------------------------------------------------------------
627 // Field       : OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG
628 // Description : Enable loading of the non-default XOSC and PLL configuration
629 //               before entering BOOTSEL mode.
630 //
631 //               Ensure that BOOTSEL_XOSC_CFG and BOOTSEL_PLL_CFG are correctly
632 //               programmed before setting this bit.
633 //
634 //               If this bit is set, user software may use the contents of
635 //               BOOTSEL_PLL_CFG to calculated the expected XOSC frequency based
636 //               on the fixed USB boot frequency of 48 MHz.
637 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG_RESET  "-"
638 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG_BITS   _u(0x00000004)
639 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG_MSB    _u(2)
640 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG_LSB    _u(2)
641 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG_ACCESS "RO"
642 // -----------------------------------------------------------------------------
643 // Field       : OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_LED
644 // Description : Enable bootloader activity LED. If set, bootsel_led_cfg is
645 //               assumed to be valid
646 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_LED_RESET  "-"
647 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_LED_BITS   _u(0x00000002)
648 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_LED_MSB    _u(1)
649 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_LED_LSB    _u(1)
650 #define OTP_DATA_BOOT_FLAGS0_ENABLE_BOOTSEL_LED_ACCESS "RO"
651 // -----------------------------------------------------------------------------
652 // Field       : OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_EXEC2
653 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_EXEC2_RESET  "-"
654 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_EXEC2_BITS   _u(0x00000001)
655 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_EXEC2_MSB    _u(0)
656 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_EXEC2_LSB    _u(0)
657 #define OTP_DATA_BOOT_FLAGS0_DISABLE_BOOTSEL_EXEC2_ACCESS "RO"
658 // =============================================================================
659 // Register    : OTP_DATA_BOOT_FLAGS0_R1
660 // Description : Redundant copy of BOOT_FLAGS0
661 #define OTP_DATA_BOOT_FLAGS0_R1_ROW _u(0x00000049)
662 #define OTP_DATA_BOOT_FLAGS0_R1_BITS   _u(0x00ffffff)
663 #define OTP_DATA_BOOT_FLAGS0_R1_RESET  "-"
664 #define OTP_DATA_BOOT_FLAGS0_R1_WIDTH  _u(24)
665 #define OTP_DATA_BOOT_FLAGS0_R1_MSB    _u(23)
666 #define OTP_DATA_BOOT_FLAGS0_R1_LSB    _u(0)
667 #define OTP_DATA_BOOT_FLAGS0_R1_ACCESS "RO"
668 // =============================================================================
669 // Register    : OTP_DATA_BOOT_FLAGS0_R2
670 // Description : Redundant copy of BOOT_FLAGS0
671 #define OTP_DATA_BOOT_FLAGS0_R2_ROW _u(0x0000004a)
672 #define OTP_DATA_BOOT_FLAGS0_R2_BITS   _u(0x00ffffff)
673 #define OTP_DATA_BOOT_FLAGS0_R2_RESET  "-"
674 #define OTP_DATA_BOOT_FLAGS0_R2_WIDTH  _u(24)
675 #define OTP_DATA_BOOT_FLAGS0_R2_MSB    _u(23)
676 #define OTP_DATA_BOOT_FLAGS0_R2_LSB    _u(0)
677 #define OTP_DATA_BOOT_FLAGS0_R2_ACCESS "RO"
678 // =============================================================================
679 // Register    : OTP_DATA_BOOT_FLAGS1
680 // Description : Disable/Enable boot paths/features in the RP2350 mask ROM.
681 //               Disables always supersede enables. Enables are provided where
682 //               there are other configurations in OTP that must be valid.
683 //               (RBIT-3)
684 #define OTP_DATA_BOOT_FLAGS1_ROW _u(0x0000004b)
685 #define OTP_DATA_BOOT_FLAGS1_BITS   _u(0x000f0f0f)
686 #define OTP_DATA_BOOT_FLAGS1_RESET  _u(0x00000000)
687 #define OTP_DATA_BOOT_FLAGS1_WIDTH  _u(24)
688 // -----------------------------------------------------------------------------
689 // Field       : OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP
690 // Description : Enable entering BOOTSEL mode via double-tap of the RUN/RSTn
691 //               pin. Adds a significant delay to boot time, as configured by
692 //               DOUBLE_TAP_DELAY.
693 //
694 //               This functions by waiting at startup (i.e. following a reset)
695 //               to see if a second reset is applied soon afterward. The second
696 //               reset is detected by the bootrom with help of the
697 //               POWMAN_CHIP_RESET_DOUBLE_TAP flag, which is not reset by the
698 //               external reset pin, and the bootrom enters BOOTSEL mode
699 //               (NSBOOT) to await further instruction over USB or UART.
700 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_RESET  "-"
701 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_BITS   _u(0x00080000)
702 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_MSB    _u(19)
703 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_LSB    _u(19)
704 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_ACCESS "RO"
705 // -----------------------------------------------------------------------------
706 // Field       : OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_DELAY
707 // Description : Adjust how long to wait for a second reset when double tap
708 //               BOOTSEL mode is enabled via DOUBLE_TAP. The minimum is 50
709 //               milliseconds, and each unit of this field adds an additional 50
710 //               milliseconds.
711 //
712 //               For example, settings this field to its maximum value of 7 will
713 //               cause the chip to wait for 400 milliseconds at boot to check
714 //               for a second reset which requests entry to BOOTSEL mode.
715 //
716 //               200 milliseconds (DOUBLE_TAP_DELAY=3) is a good intermediate
717 //               value.
718 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_DELAY_RESET  "-"
719 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_DELAY_BITS   _u(0x00070000)
720 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_DELAY_MSB    _u(18)
721 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_DELAY_LSB    _u(16)
722 #define OTP_DATA_BOOT_FLAGS1_DOUBLE_TAP_DELAY_ACCESS "RO"
723 // -----------------------------------------------------------------------------
724 // Field       : OTP_DATA_BOOT_FLAGS1_KEY_INVALID
725 // Description : Mark a boot key as invalid, or prevent it from ever becoming
726 //               valid. The bootrom will ignore any boot key marked as invalid
727 //               during secure boot signature checks.
728 //
729 //               Each bit in this field corresponds to one of the four 256-bit
730 //               boot key hashes that may be stored in page 2 of the OTP.
731 //
732 //               When provisioning boot keys, it's recommended to mark any boot
733 //               key slots you don't intend to use as KEY_INVALID, so that
734 //               spurious keys can not be installed at a later time.
735 #define OTP_DATA_BOOT_FLAGS1_KEY_INVALID_RESET  "-"
736 #define OTP_DATA_BOOT_FLAGS1_KEY_INVALID_BITS   _u(0x00000f00)
737 #define OTP_DATA_BOOT_FLAGS1_KEY_INVALID_MSB    _u(11)
738 #define OTP_DATA_BOOT_FLAGS1_KEY_INVALID_LSB    _u(8)
739 #define OTP_DATA_BOOT_FLAGS1_KEY_INVALID_ACCESS "RO"
740 // -----------------------------------------------------------------------------
741 // Field       : OTP_DATA_BOOT_FLAGS1_KEY_VALID
742 // Description : Mark each of the possible boot keys as valid. The bootrom will
743 //               check signatures against all valid boot keys, and ignore
744 //               invalid boot keys.
745 //
746 //               Each bit in this field corresponds to one of the four 256-bit
747 //               boot key hashes that may be stored in page 2 of the OTP.
748 //
749 //               A KEY_VALID bit is ignored if the corresponding KEY_INVALID bit
750 //               is set. Boot keys are considered valid only when KEY_VALID is
751 //               set and KEY_INVALID is clear.
752 //
753 //               Do not mark a boot key as KEY_VALID if it does not contain a
754 //               valid SHA-256 hash of your secp256k1 public key. Verify keys
755 //               after programming, before setting the KEY_VALID bits -- a boot
756 //               key with uncorrectable ECC faults will render your device
757 //               unbootable if secure boot is enabled.
758 //
759 //               Do not enable secure boot without first installing a valid key.
760 //               This will render your device unbootable.
761 #define OTP_DATA_BOOT_FLAGS1_KEY_VALID_RESET  "-"
762 #define OTP_DATA_BOOT_FLAGS1_KEY_VALID_BITS   _u(0x0000000f)
763 #define OTP_DATA_BOOT_FLAGS1_KEY_VALID_MSB    _u(3)
764 #define OTP_DATA_BOOT_FLAGS1_KEY_VALID_LSB    _u(0)
765 #define OTP_DATA_BOOT_FLAGS1_KEY_VALID_ACCESS "RO"
766 // =============================================================================
767 // Register    : OTP_DATA_BOOT_FLAGS1_R1
768 // Description : Redundant copy of BOOT_FLAGS1
769 #define OTP_DATA_BOOT_FLAGS1_R1_ROW _u(0x0000004c)
770 #define OTP_DATA_BOOT_FLAGS1_R1_BITS   _u(0x00ffffff)
771 #define OTP_DATA_BOOT_FLAGS1_R1_RESET  "-"
772 #define OTP_DATA_BOOT_FLAGS1_R1_WIDTH  _u(24)
773 #define OTP_DATA_BOOT_FLAGS1_R1_MSB    _u(23)
774 #define OTP_DATA_BOOT_FLAGS1_R1_LSB    _u(0)
775 #define OTP_DATA_BOOT_FLAGS1_R1_ACCESS "RO"
776 // =============================================================================
777 // Register    : OTP_DATA_BOOT_FLAGS1_R2
778 // Description : Redundant copy of BOOT_FLAGS1
779 #define OTP_DATA_BOOT_FLAGS1_R2_ROW _u(0x0000004d)
780 #define OTP_DATA_BOOT_FLAGS1_R2_BITS   _u(0x00ffffff)
781 #define OTP_DATA_BOOT_FLAGS1_R2_RESET  "-"
782 #define OTP_DATA_BOOT_FLAGS1_R2_WIDTH  _u(24)
783 #define OTP_DATA_BOOT_FLAGS1_R2_MSB    _u(23)
784 #define OTP_DATA_BOOT_FLAGS1_R2_LSB    _u(0)
785 #define OTP_DATA_BOOT_FLAGS1_R2_ACCESS "RO"
786 // =============================================================================
787 // Register    : OTP_DATA_DEFAULT_BOOT_VERSION0
788 // Description : Default boot version thermometer counter, bits 23:0 (RBIT-3)
789 #define OTP_DATA_DEFAULT_BOOT_VERSION0_ROW _u(0x0000004e)
790 #define OTP_DATA_DEFAULT_BOOT_VERSION0_BITS   _u(0x00ffffff)
791 #define OTP_DATA_DEFAULT_BOOT_VERSION0_RESET  "-"
792 #define OTP_DATA_DEFAULT_BOOT_VERSION0_WIDTH  _u(24)
793 #define OTP_DATA_DEFAULT_BOOT_VERSION0_MSB    _u(23)
794 #define OTP_DATA_DEFAULT_BOOT_VERSION0_LSB    _u(0)
795 #define OTP_DATA_DEFAULT_BOOT_VERSION0_ACCESS "RO"
796 // =============================================================================
797 // Register    : OTP_DATA_DEFAULT_BOOT_VERSION0_R1
798 // Description : Redundant copy of DEFAULT_BOOT_VERSION0
799 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_ROW _u(0x0000004f)
800 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_BITS   _u(0x00ffffff)
801 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_RESET  "-"
802 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_WIDTH  _u(24)
803 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_MSB    _u(23)
804 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_LSB    _u(0)
805 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R1_ACCESS "RO"
806 // =============================================================================
807 // Register    : OTP_DATA_DEFAULT_BOOT_VERSION0_R2
808 // Description : Redundant copy of DEFAULT_BOOT_VERSION0
809 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_ROW _u(0x00000050)
810 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_BITS   _u(0x00ffffff)
811 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_RESET  "-"
812 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_WIDTH  _u(24)
813 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_MSB    _u(23)
814 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_LSB    _u(0)
815 #define OTP_DATA_DEFAULT_BOOT_VERSION0_R2_ACCESS "RO"
816 // =============================================================================
817 // Register    : OTP_DATA_DEFAULT_BOOT_VERSION1
818 // Description : Default boot version thermometer counter, bits 47:24 (RBIT-3)
819 #define OTP_DATA_DEFAULT_BOOT_VERSION1_ROW _u(0x00000051)
820 #define OTP_DATA_DEFAULT_BOOT_VERSION1_BITS   _u(0x00ffffff)
821 #define OTP_DATA_DEFAULT_BOOT_VERSION1_RESET  "-"
822 #define OTP_DATA_DEFAULT_BOOT_VERSION1_WIDTH  _u(24)
823 #define OTP_DATA_DEFAULT_BOOT_VERSION1_MSB    _u(23)
824 #define OTP_DATA_DEFAULT_BOOT_VERSION1_LSB    _u(0)
825 #define OTP_DATA_DEFAULT_BOOT_VERSION1_ACCESS "RO"
826 // =============================================================================
827 // Register    : OTP_DATA_DEFAULT_BOOT_VERSION1_R1
828 // Description : Redundant copy of DEFAULT_BOOT_VERSION1
829 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_ROW _u(0x00000052)
830 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_BITS   _u(0x00ffffff)
831 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_RESET  "-"
832 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_WIDTH  _u(24)
833 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_MSB    _u(23)
834 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_LSB    _u(0)
835 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R1_ACCESS "RO"
836 // =============================================================================
837 // Register    : OTP_DATA_DEFAULT_BOOT_VERSION1_R2
838 // Description : Redundant copy of DEFAULT_BOOT_VERSION1
839 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_ROW _u(0x00000053)
840 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_BITS   _u(0x00ffffff)
841 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_RESET  "-"
842 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_WIDTH  _u(24)
843 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_MSB    _u(23)
844 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_LSB    _u(0)
845 #define OTP_DATA_DEFAULT_BOOT_VERSION1_R2_ACCESS "RO"
846 // =============================================================================
847 // Register    : OTP_DATA_FLASH_DEVINFO
848 // Description : Stores information about external flash device(s). (ECC)
849 //
850 //               Assumed to be valid if BOOT_FLAGS0_FLASH_DEVINFO_ENABLE is set.
851 #define OTP_DATA_FLASH_DEVINFO_ROW _u(0x00000054)
852 #define OTP_DATA_FLASH_DEVINFO_BITS   _u(0x0000ffbf)
853 #define OTP_DATA_FLASH_DEVINFO_RESET  _u(0x00000000)
854 #define OTP_DATA_FLASH_DEVINFO_WIDTH  _u(16)
855 // -----------------------------------------------------------------------------
856 // Field       : OTP_DATA_FLASH_DEVINFO_CS1_SIZE
857 // Description : The size of the flash/PSRAM device on chip select 1
858 //               (addressable at 0x11000000 through 0x11ffffff).
859 //
860 //               A value of zero is decoded as a size of zero (no device).
861 //               Nonzero values are decoded as 4kiB << CS1_SIZE. For example,
862 //               four megabytes is encoded with a CS1_SIZE value of 10, and 16
863 //               megabytes is encoded with a CS1_SIZE value of 12.
864 //
865 //               When BOOT_FLAGS0_FLASH_DEVINFO_ENABLE is not set, a default of
866 //               zero is used.
867 //               0x0 -> NONE
868 //               0x1 -> 8K
869 //               0x2 -> 16K
870 //               0x3 -> 32K
871 //               0x4 -> 64k
872 //               0x5 -> 128K
873 //               0x6 -> 256K
874 //               0x7 -> 512K
875 //               0x8 -> 1M
876 //               0x9 -> 2M
877 //               0xa -> 4M
878 //               0xb -> 8M
879 //               0xc -> 16M
880 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_RESET  "-"
881 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_BITS   _u(0x0000f000)
882 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_MSB    _u(15)
883 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_LSB    _u(12)
884 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_ACCESS "RO"
885 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_NONE _u(0x0)
886 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_8K _u(0x1)
887 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_16K _u(0x2)
888 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_32K _u(0x3)
889 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_64K _u(0x4)
890 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_128K _u(0x5)
891 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_256K _u(0x6)
892 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_512K _u(0x7)
893 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_1M _u(0x8)
894 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_2M _u(0x9)
895 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_4M _u(0xa)
896 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_8M _u(0xb)
897 #define OTP_DATA_FLASH_DEVINFO_CS1_SIZE_VALUE_16M _u(0xc)
898 // -----------------------------------------------------------------------------
899 // Field       : OTP_DATA_FLASH_DEVINFO_CS0_SIZE
900 // Description : The size of the flash/PSRAM device on chip select 0
901 //               (addressable at 0x10000000 through 0x10ffffff).
902 //
903 //               A value of zero is decoded as a size of zero (no device).
904 //               Nonzero values are decoded as 4kiB << CS0_SIZE. For example,
905 //               four megabytes is encoded with a CS0_SIZE value of 10, and 16
906 //               megabytes is encoded with a CS0_SIZE value of 12.
907 //
908 //               When BOOT_FLAGS0_FLASH_DEVINFO_ENABLE is not set, a default of
909 //               12 (16 MiB) is used.
910 //               0x0 -> NONE
911 //               0x1 -> 8K
912 //               0x2 -> 16K
913 //               0x3 -> 32K
914 //               0x4 -> 64k
915 //               0x5 -> 128K
916 //               0x6 -> 256K
917 //               0x7 -> 512K
918 //               0x8 -> 1M
919 //               0x9 -> 2M
920 //               0xa -> 4M
921 //               0xb -> 8M
922 //               0xc -> 16M
923 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_RESET  "-"
924 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_BITS   _u(0x00000f00)
925 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_MSB    _u(11)
926 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_LSB    _u(8)
927 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_ACCESS "RO"
928 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_NONE _u(0x0)
929 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_8K _u(0x1)
930 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_16K _u(0x2)
931 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_32K _u(0x3)
932 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_64K _u(0x4)
933 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_128K _u(0x5)
934 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_256K _u(0x6)
935 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_512K _u(0x7)
936 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_1M _u(0x8)
937 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_2M _u(0x9)
938 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_4M _u(0xa)
939 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_8M _u(0xb)
940 #define OTP_DATA_FLASH_DEVINFO_CS0_SIZE_VALUE_16M _u(0xc)
941 // -----------------------------------------------------------------------------
942 // Field       : OTP_DATA_FLASH_DEVINFO_D8H_ERASE_SUPPORTED
943 // Description : If true, all attached devices are assumed to support (or
944 //               ignore, in the case of PSRAM) a block erase command with a
945 //               command prefix of D8h, an erase size of 64 kiB, and a 24-bit
946 //               address. Almost all 25-series flash devices support this
947 //               command.
948 //
949 //               If set, the bootrom will use the D8h erase command where it is
950 //               able, to accelerate bulk erase operations. This makes flash
951 //               programming faster.
952 //
953 //               When BOOT_FLAGS0_FLASH_DEVINFO_ENABLE is not set, this field
954 //               defaults to false.
955 #define OTP_DATA_FLASH_DEVINFO_D8H_ERASE_SUPPORTED_RESET  "-"
956 #define OTP_DATA_FLASH_DEVINFO_D8H_ERASE_SUPPORTED_BITS   _u(0x00000080)
957 #define OTP_DATA_FLASH_DEVINFO_D8H_ERASE_SUPPORTED_MSB    _u(7)
958 #define OTP_DATA_FLASH_DEVINFO_D8H_ERASE_SUPPORTED_LSB    _u(7)
959 #define OTP_DATA_FLASH_DEVINFO_D8H_ERASE_SUPPORTED_ACCESS "RO"
960 // -----------------------------------------------------------------------------
961 // Field       : OTP_DATA_FLASH_DEVINFO_CS1_GPIO
962 // Description : Indicate a GPIO number to be used for the secondary flash chip
963 //               select (CS1), which selects the external QSPI device mapped at
964 //               system addresses 0x11000000 through 0x11ffffff. There is no
965 //               such configuration for CS0, as the primary chip select has a
966 //               dedicated pin.
967 //
968 //               On RP2350 the permissible GPIO numbers are 0, 8, 19 and 47.
969 //
970 //               Ignored if CS1_size is zero. If CS1_SIZE is nonzero, the
971 //               bootrom will automatically configure this GPIO as a second chip
972 //               select upon entering the flash boot path, or entering any other
973 //               path that may use the QSPI flash interface, such as BOOTSEL
974 //               mode (nsboot).
975 #define OTP_DATA_FLASH_DEVINFO_CS1_GPIO_RESET  "-"
976 #define OTP_DATA_FLASH_DEVINFO_CS1_GPIO_BITS   _u(0x0000003f)
977 #define OTP_DATA_FLASH_DEVINFO_CS1_GPIO_MSB    _u(5)
978 #define OTP_DATA_FLASH_DEVINFO_CS1_GPIO_LSB    _u(0)
979 #define OTP_DATA_FLASH_DEVINFO_CS1_GPIO_ACCESS "RO"
980 // =============================================================================
981 // Register    : OTP_DATA_FLASH_PARTITION_SLOT_SIZE
982 // Description : Gap between partition table slot 0 and slot 1 at the start of
983 //               flash (the default size is 4096 bytes) (ECC) Enabled by the
984 //               OVERRIDE_FLASH_PARTITION_SLOT_SIZE bit in BOOT_FLAGS, the size
985 //               is 4096 * (value + 1)
986 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_ROW _u(0x00000055)
987 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_BITS   _u(0x0000ffff)
988 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_RESET  "-"
989 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_WIDTH  _u(16)
990 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_MSB    _u(15)
991 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_LSB    _u(0)
992 #define OTP_DATA_FLASH_PARTITION_SLOT_SIZE_ACCESS "RO"
993 // =============================================================================
994 // Register    : OTP_DATA_BOOTSEL_LED_CFG
995 // Description : Pin configuration for LED status, used by USB bootloader. (ECC)
996 //               Must be valid if BOOT_FLAGS0_ENABLE_BOOTSEL_LED is set.
997 #define OTP_DATA_BOOTSEL_LED_CFG_ROW _u(0x00000056)
998 #define OTP_DATA_BOOTSEL_LED_CFG_BITS   _u(0x0000013f)
999 #define OTP_DATA_BOOTSEL_LED_CFG_RESET  _u(0x00000000)
1000 #define OTP_DATA_BOOTSEL_LED_CFG_WIDTH  _u(16)
1001 // -----------------------------------------------------------------------------
1002 // Field       : OTP_DATA_BOOTSEL_LED_CFG_ACTIVELOW
1003 // Description : LED is active-low. (Default: active-high.)
1004 #define OTP_DATA_BOOTSEL_LED_CFG_ACTIVELOW_RESET  "-"
1005 #define OTP_DATA_BOOTSEL_LED_CFG_ACTIVELOW_BITS   _u(0x00000100)
1006 #define OTP_DATA_BOOTSEL_LED_CFG_ACTIVELOW_MSB    _u(8)
1007 #define OTP_DATA_BOOTSEL_LED_CFG_ACTIVELOW_LSB    _u(8)
1008 #define OTP_DATA_BOOTSEL_LED_CFG_ACTIVELOW_ACCESS "RO"
1009 // -----------------------------------------------------------------------------
1010 // Field       : OTP_DATA_BOOTSEL_LED_CFG_PIN
1011 // Description : GPIO index to use for bootloader activity LED.
1012 #define OTP_DATA_BOOTSEL_LED_CFG_PIN_RESET  "-"
1013 #define OTP_DATA_BOOTSEL_LED_CFG_PIN_BITS   _u(0x0000003f)
1014 #define OTP_DATA_BOOTSEL_LED_CFG_PIN_MSB    _u(5)
1015 #define OTP_DATA_BOOTSEL_LED_CFG_PIN_LSB    _u(0)
1016 #define OTP_DATA_BOOTSEL_LED_CFG_PIN_ACCESS "RO"
1017 // =============================================================================
1018 // Register    : OTP_DATA_BOOTSEL_PLL_CFG
1019 // Description : Optional PLL configuration for BOOTSEL mode. (ECC)
1020 //
1021 //               This should be configured to produce an exact 48 MHz based on
1022 //               the crystal oscillator frequency. User mode software may also
1023 //               use this value to calculate the expected crystal frequency
1024 //               based on an assumed 48 MHz PLL output.
1025 //
1026 //               If no configuration is given, the crystal is assumed to be 12
1027 //               MHz.
1028 //
1029 //               The PLL frequency can be calculated as:
1030 //
1031 //               PLL out = (XOSC frequency / (REFDIV+1)) x FBDIV / (POSTDIV1 x
1032 //               POSTDIV2)
1033 //
1034 //               Conversely the crystal frequency can be calculated as:
1035 //
1036 //               XOSC frequency = 48 MHz x (REFDIV+1) x (POSTDIV1 x POSTDIV2) /
1037 //               FBDIV
1038 //
1039 //               (Note the  +1 on REFDIV is because the value stored in this OTP
1040 //               location is the actual divisor value minus one.)
1041 //
1042 //               Used if and only if ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG is
1043 //               set in BOOT_FLAGS0. That bit should be set only after this row
1044 //               and BOOTSEL_XOSC_CFG are both correctly programmed.
1045 #define OTP_DATA_BOOTSEL_PLL_CFG_ROW _u(0x00000057)
1046 #define OTP_DATA_BOOTSEL_PLL_CFG_BITS   _u(0x0000ffff)
1047 #define OTP_DATA_BOOTSEL_PLL_CFG_RESET  _u(0x00000000)
1048 #define OTP_DATA_BOOTSEL_PLL_CFG_WIDTH  _u(16)
1049 // -----------------------------------------------------------------------------
1050 // Field       : OTP_DATA_BOOTSEL_PLL_CFG_REFDIV
1051 // Description : PLL reference divisor, minus one.
1052 //
1053 //               Programming a value of 0 means a reference divisor of 1.
1054 //               Programming a value of 1 means a reference divisor of 2 (for
1055 //               exceptionally fast XIN inputs)
1056 #define OTP_DATA_BOOTSEL_PLL_CFG_REFDIV_RESET  "-"
1057 #define OTP_DATA_BOOTSEL_PLL_CFG_REFDIV_BITS   _u(0x00008000)
1058 #define OTP_DATA_BOOTSEL_PLL_CFG_REFDIV_MSB    _u(15)
1059 #define OTP_DATA_BOOTSEL_PLL_CFG_REFDIV_LSB    _u(15)
1060 #define OTP_DATA_BOOTSEL_PLL_CFG_REFDIV_ACCESS "RO"
1061 // -----------------------------------------------------------------------------
1062 // Field       : OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV2
1063 // Description : PLL post-divide 2 divisor, in the range 1..7 inclusive.
1064 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV2_RESET  "-"
1065 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV2_BITS   _u(0x00007000)
1066 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV2_MSB    _u(14)
1067 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV2_LSB    _u(12)
1068 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV2_ACCESS "RO"
1069 // -----------------------------------------------------------------------------
1070 // Field       : OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV1
1071 // Description : PLL post-divide 1 divisor, in the range 1..7 inclusive.
1072 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV1_RESET  "-"
1073 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV1_BITS   _u(0x00000e00)
1074 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV1_MSB    _u(11)
1075 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV1_LSB    _u(9)
1076 #define OTP_DATA_BOOTSEL_PLL_CFG_POSTDIV1_ACCESS "RO"
1077 // -----------------------------------------------------------------------------
1078 // Field       : OTP_DATA_BOOTSEL_PLL_CFG_FBDIV
1079 // Description : PLL feedback divisor, in the range 16..320 inclusive.
1080 #define OTP_DATA_BOOTSEL_PLL_CFG_FBDIV_RESET  "-"
1081 #define OTP_DATA_BOOTSEL_PLL_CFG_FBDIV_BITS   _u(0x000001ff)
1082 #define OTP_DATA_BOOTSEL_PLL_CFG_FBDIV_MSB    _u(8)
1083 #define OTP_DATA_BOOTSEL_PLL_CFG_FBDIV_LSB    _u(0)
1084 #define OTP_DATA_BOOTSEL_PLL_CFG_FBDIV_ACCESS "RO"
1085 // =============================================================================
1086 // Register    : OTP_DATA_BOOTSEL_XOSC_CFG
1087 // Description : Non-default crystal oscillator configuration for the USB
1088 //               bootloader. (ECC)
1089 //
1090 //               These values may also be used by user code configuring the
1091 //               crystal oscillator.
1092 //
1093 //               Used if and only if ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG is
1094 //               set in BOOT_FLAGS0. That bit should be set only after this row
1095 //               and BOOTSEL_PLL_CFG are both correctly programmed.
1096 #define OTP_DATA_BOOTSEL_XOSC_CFG_ROW _u(0x00000058)
1097 #define OTP_DATA_BOOTSEL_XOSC_CFG_BITS   _u(0x0000ffff)
1098 #define OTP_DATA_BOOTSEL_XOSC_CFG_RESET  _u(0x00000000)
1099 #define OTP_DATA_BOOTSEL_XOSC_CFG_WIDTH  _u(16)
1100 // -----------------------------------------------------------------------------
1101 // Field       : OTP_DATA_BOOTSEL_XOSC_CFG_RANGE
1102 // Description : Value of the XOSC_CTRL_FREQ_RANGE register.
1103 //               0x0 -> 1_15MHZ
1104 //               0x1 -> 10_30MHZ
1105 //               0x2 -> 25_60MHZ
1106 //               0x3 -> 40_100MHZ
1107 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_RESET  "-"
1108 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_BITS   _u(0x0000c000)
1109 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_MSB    _u(15)
1110 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_LSB    _u(14)
1111 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_ACCESS "RO"
1112 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_VALUE_1_15MHZ _u(0x0)
1113 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_VALUE_10_30MHZ _u(0x1)
1114 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_VALUE_25_60MHZ _u(0x2)
1115 #define OTP_DATA_BOOTSEL_XOSC_CFG_RANGE_VALUE_40_100MHZ _u(0x3)
1116 // -----------------------------------------------------------------------------
1117 // Field       : OTP_DATA_BOOTSEL_XOSC_CFG_STARTUP
1118 // Description : Value of the XOSC_STARTUP register
1119 #define OTP_DATA_BOOTSEL_XOSC_CFG_STARTUP_RESET  "-"
1120 #define OTP_DATA_BOOTSEL_XOSC_CFG_STARTUP_BITS   _u(0x00003fff)
1121 #define OTP_DATA_BOOTSEL_XOSC_CFG_STARTUP_MSB    _u(13)
1122 #define OTP_DATA_BOOTSEL_XOSC_CFG_STARTUP_LSB    _u(0)
1123 #define OTP_DATA_BOOTSEL_XOSC_CFG_STARTUP_ACCESS "RO"
1124 // =============================================================================
1125 // Register    : OTP_DATA_USB_BOOT_FLAGS
1126 // Description : USB boot specific feature flags (RBIT-3)
1127 #define OTP_DATA_USB_BOOT_FLAGS_ROW _u(0x00000059)
1128 #define OTP_DATA_USB_BOOT_FLAGS_BITS   _u(0x00c0ffff)
1129 #define OTP_DATA_USB_BOOT_FLAGS_RESET  _u(0x00000000)
1130 #define OTP_DATA_USB_BOOT_FLAGS_WIDTH  _u(24)
1131 // -----------------------------------------------------------------------------
1132 // Field       : OTP_DATA_USB_BOOT_FLAGS_DP_DM_SWAP
1133 // Description : Swap DM/DP during USB boot, to support board layouts with
1134 //               mirrored USB routing (deliberate or accidental).
1135 #define OTP_DATA_USB_BOOT_FLAGS_DP_DM_SWAP_RESET  "-"
1136 #define OTP_DATA_USB_BOOT_FLAGS_DP_DM_SWAP_BITS   _u(0x00800000)
1137 #define OTP_DATA_USB_BOOT_FLAGS_DP_DM_SWAP_MSB    _u(23)
1138 #define OTP_DATA_USB_BOOT_FLAGS_DP_DM_SWAP_LSB    _u(23)
1139 #define OTP_DATA_USB_BOOT_FLAGS_DP_DM_SWAP_ACCESS "RO"
1140 // -----------------------------------------------------------------------------
1141 // Field       : OTP_DATA_USB_BOOT_FLAGS_WHITE_LABEL_ADDR_VALID
1142 // Description : valid flag for INFO_UF2_TXT_BOARD_ID_STRDEF entry of the
1143 //               USB_WHITE_LABEL struct (index 15)
1144 #define OTP_DATA_USB_BOOT_FLAGS_WHITE_LABEL_ADDR_VALID_RESET  "-"
1145 #define OTP_DATA_USB_BOOT_FLAGS_WHITE_LABEL_ADDR_VALID_BITS   _u(0x00400000)
1146 #define OTP_DATA_USB_BOOT_FLAGS_WHITE_LABEL_ADDR_VALID_MSB    _u(22)
1147 #define OTP_DATA_USB_BOOT_FLAGS_WHITE_LABEL_ADDR_VALID_LSB    _u(22)
1148 #define OTP_DATA_USB_BOOT_FLAGS_WHITE_LABEL_ADDR_VALID_ACCESS "RO"
1149 // -----------------------------------------------------------------------------
1150 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_BOARD_ID_STRDEF_VALID
1151 // Description : valid flag for the USB_WHITE_LABEL_ADDR field
1152 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_BOARD_ID_STRDEF_VALID_RESET  "-"
1153 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_BOARD_ID_STRDEF_VALID_BITS   _u(0x00008000)
1154 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_BOARD_ID_STRDEF_VALID_MSB    _u(15)
1155 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_BOARD_ID_STRDEF_VALID_LSB    _u(15)
1156 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_BOARD_ID_STRDEF_VALID_ACCESS "RO"
1157 // -----------------------------------------------------------------------------
1158 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_MODEL_STRDEF_VALID
1159 // Description : valid flag for INFO_UF2_TXT_MODEL_STRDEF entry of the
1160 //               USB_WHITE_LABEL struct (index 14)
1161 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_MODEL_STRDEF_VALID_RESET  "-"
1162 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_MODEL_STRDEF_VALID_BITS   _u(0x00004000)
1163 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_MODEL_STRDEF_VALID_MSB    _u(14)
1164 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_MODEL_STRDEF_VALID_LSB    _u(14)
1165 #define OTP_DATA_USB_BOOT_FLAGS_WL_INFO_UF2_TXT_MODEL_STRDEF_VALID_ACCESS "RO"
1166 // -----------------------------------------------------------------------------
1167 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_NAME_STRDEF_VALID
1168 // Description : valid flag for INDEX_HTM_REDIRECT_NAME_STRDEF entry of the
1169 //               USB_WHITE_LABEL struct (index 13)
1170 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_NAME_STRDEF_VALID_RESET  "-"
1171 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_NAME_STRDEF_VALID_BITS   _u(0x00002000)
1172 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_NAME_STRDEF_VALID_MSB    _u(13)
1173 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_NAME_STRDEF_VALID_LSB    _u(13)
1174 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_NAME_STRDEF_VALID_ACCESS "RO"
1175 // -----------------------------------------------------------------------------
1176 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_URL_STRDEF_VALID
1177 // Description : valid flag for INDEX_HTM_REDIRECT_URL_STRDEF entry of the
1178 //               USB_WHITE_LABEL struct (index 12)
1179 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_URL_STRDEF_VALID_RESET  "-"
1180 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_URL_STRDEF_VALID_BITS   _u(0x00001000)
1181 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_URL_STRDEF_VALID_MSB    _u(12)
1182 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_URL_STRDEF_VALID_LSB    _u(12)
1183 #define OTP_DATA_USB_BOOT_FLAGS_WL_INDEX_HTM_REDIRECT_URL_STRDEF_VALID_ACCESS "RO"
1184 // -----------------------------------------------------------------------------
1185 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VERSION_STRDEF_VALID
1186 // Description : valid flag for SCSI_INQUIRY_VERSION_STRDEF entry of the
1187 //               USB_WHITE_LABEL struct (index 11)
1188 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VERSION_STRDEF_VALID_RESET  "-"
1189 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VERSION_STRDEF_VALID_BITS   _u(0x00000800)
1190 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VERSION_STRDEF_VALID_MSB    _u(11)
1191 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VERSION_STRDEF_VALID_LSB    _u(11)
1192 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VERSION_STRDEF_VALID_ACCESS "RO"
1193 // -----------------------------------------------------------------------------
1194 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_PRODUCT_STRDEF_VALID
1195 // Description : valid flag for SCSI_INQUIRY_PRODUCT_STRDEF entry of the
1196 //               USB_WHITE_LABEL struct (index 10)
1197 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_PRODUCT_STRDEF_VALID_RESET  "-"
1198 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_PRODUCT_STRDEF_VALID_BITS   _u(0x00000400)
1199 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_PRODUCT_STRDEF_VALID_MSB    _u(10)
1200 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_PRODUCT_STRDEF_VALID_LSB    _u(10)
1201 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_PRODUCT_STRDEF_VALID_ACCESS "RO"
1202 // -----------------------------------------------------------------------------
1203 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VENDOR_STRDEF_VALID
1204 // Description : valid flag for SCSI_INQUIRY_VENDOR_STRDEF entry of the
1205 //               USB_WHITE_LABEL struct (index 9)
1206 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VENDOR_STRDEF_VALID_RESET  "-"
1207 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VENDOR_STRDEF_VALID_BITS   _u(0x00000200)
1208 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VENDOR_STRDEF_VALID_MSB    _u(9)
1209 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VENDOR_STRDEF_VALID_LSB    _u(9)
1210 #define OTP_DATA_USB_BOOT_FLAGS_WL_SCSI_INQUIRY_VENDOR_STRDEF_VALID_ACCESS "RO"
1211 // -----------------------------------------------------------------------------
1212 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_VOLUME_LABEL_STRDEF_VALID
1213 // Description : valid flag for VOLUME_LABEL_STRDEF entry of the USB_WHITE_LABEL
1214 //               struct (index 8)
1215 #define OTP_DATA_USB_BOOT_FLAGS_WL_VOLUME_LABEL_STRDEF_VALID_RESET  "-"
1216 #define OTP_DATA_USB_BOOT_FLAGS_WL_VOLUME_LABEL_STRDEF_VALID_BITS   _u(0x00000100)
1217 #define OTP_DATA_USB_BOOT_FLAGS_WL_VOLUME_LABEL_STRDEF_VALID_MSB    _u(8)
1218 #define OTP_DATA_USB_BOOT_FLAGS_WL_VOLUME_LABEL_STRDEF_VALID_LSB    _u(8)
1219 #define OTP_DATA_USB_BOOT_FLAGS_WL_VOLUME_LABEL_STRDEF_VALID_ACCESS "RO"
1220 // -----------------------------------------------------------------------------
1221 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES_VALID
1222 // Description : valid flag for USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES entry of
1223 //               the USB_WHITE_LABEL struct (index 7)
1224 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES_VALID_RESET  "-"
1225 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES_VALID_BITS   _u(0x00000080)
1226 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES_VALID_MSB    _u(7)
1227 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES_VALID_LSB    _u(7)
1228 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES_VALID_ACCESS "RO"
1229 // -----------------------------------------------------------------------------
1230 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_STRDEF_VALID
1231 // Description : valid flag for USB_DEVICE_SERIAL_NUMBER_STRDEF entry of the
1232 //               USB_WHITE_LABEL struct (index 6)
1233 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_STRDEF_VALID_RESET  "-"
1234 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_STRDEF_VALID_BITS   _u(0x00000040)
1235 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_STRDEF_VALID_MSB    _u(6)
1236 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_STRDEF_VALID_LSB    _u(6)
1237 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_STRDEF_VALID_ACCESS "RO"
1238 // -----------------------------------------------------------------------------
1239 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PRODUCT_STRDEF_VALID
1240 // Description : valid flag for USB_DEVICE_PRODUCT_STRDEF entry of the
1241 //               USB_WHITE_LABEL struct (index 5)
1242 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PRODUCT_STRDEF_VALID_RESET  "-"
1243 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PRODUCT_STRDEF_VALID_BITS   _u(0x00000020)
1244 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PRODUCT_STRDEF_VALID_MSB    _u(5)
1245 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PRODUCT_STRDEF_VALID_LSB    _u(5)
1246 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PRODUCT_STRDEF_VALID_ACCESS "RO"
1247 // -----------------------------------------------------------------------------
1248 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_MANUFACTURER_STRDEF_VALID
1249 // Description : valid flag for USB_DEVICE_MANUFACTURER_STRDEF entry of the
1250 //               USB_WHITE_LABEL struct (index 4)
1251 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_MANUFACTURER_STRDEF_VALID_RESET  "-"
1252 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_MANUFACTURER_STRDEF_VALID_BITS   _u(0x00000010)
1253 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_MANUFACTURER_STRDEF_VALID_MSB    _u(4)
1254 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_MANUFACTURER_STRDEF_VALID_LSB    _u(4)
1255 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_MANUFACTURER_STRDEF_VALID_ACCESS "RO"
1256 // -----------------------------------------------------------------------------
1257 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_LANG_ID_VALUE_VALID
1258 // Description : valid flag for USB_DEVICE_LANG_ID_VALUE entry of the
1259 //               USB_WHITE_LABEL struct (index 3)
1260 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_LANG_ID_VALUE_VALID_RESET  "-"
1261 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_LANG_ID_VALUE_VALID_BITS   _u(0x00000008)
1262 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_LANG_ID_VALUE_VALID_MSB    _u(3)
1263 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_LANG_ID_VALUE_VALID_LSB    _u(3)
1264 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_LANG_ID_VALUE_VALID_ACCESS "RO"
1265 // -----------------------------------------------------------------------------
1266 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_VALUE_VALID
1267 // Description : valid flag for USB_DEVICE_BCD_DEVICEVALUE entry of the
1268 //               USB_WHITE_LABEL struct (index 2)
1269 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_VALUE_VALID_RESET  "-"
1270 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_VALUE_VALID_BITS   _u(0x00000004)
1271 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_VALUE_VALID_MSB    _u(2)
1272 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_VALUE_VALID_LSB    _u(2)
1273 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_SERIAL_NUMBER_VALUE_VALID_ACCESS "RO"
1274 // -----------------------------------------------------------------------------
1275 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PID_VALUE_VALID
1276 // Description : valid flag for USB_DEVICE_PID_VALUE entry of the
1277 //               USB_WHITE_LABEL struct (index 1)
1278 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PID_VALUE_VALID_RESET  "-"
1279 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PID_VALUE_VALID_BITS   _u(0x00000002)
1280 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PID_VALUE_VALID_MSB    _u(1)
1281 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PID_VALUE_VALID_LSB    _u(1)
1282 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_PID_VALUE_VALID_ACCESS "RO"
1283 // -----------------------------------------------------------------------------
1284 // Field       : OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_VID_VALUE_VALID
1285 // Description : valid flag for USB_DEVICE_VID_VALUE entry of the
1286 //               USB_WHITE_LABEL struct (index 0)
1287 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_VID_VALUE_VALID_RESET  "-"
1288 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_VID_VALUE_VALID_BITS   _u(0x00000001)
1289 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_VID_VALUE_VALID_MSB    _u(0)
1290 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_VID_VALUE_VALID_LSB    _u(0)
1291 #define OTP_DATA_USB_BOOT_FLAGS_WL_USB_DEVICE_VID_VALUE_VALID_ACCESS "RO"
1292 // =============================================================================
1293 // Register    : OTP_DATA_USB_BOOT_FLAGS_R1
1294 // Description : Redundant copy of USB_BOOT_FLAGS
1295 #define OTP_DATA_USB_BOOT_FLAGS_R1_ROW _u(0x0000005a)
1296 #define OTP_DATA_USB_BOOT_FLAGS_R1_BITS   _u(0x00ffffff)
1297 #define OTP_DATA_USB_BOOT_FLAGS_R1_RESET  "-"
1298 #define OTP_DATA_USB_BOOT_FLAGS_R1_WIDTH  _u(24)
1299 #define OTP_DATA_USB_BOOT_FLAGS_R1_MSB    _u(23)
1300 #define OTP_DATA_USB_BOOT_FLAGS_R1_LSB    _u(0)
1301 #define OTP_DATA_USB_BOOT_FLAGS_R1_ACCESS "RO"
1302 // =============================================================================
1303 // Register    : OTP_DATA_USB_BOOT_FLAGS_R2
1304 // Description : Redundant copy of USB_BOOT_FLAGS
1305 #define OTP_DATA_USB_BOOT_FLAGS_R2_ROW _u(0x0000005b)
1306 #define OTP_DATA_USB_BOOT_FLAGS_R2_BITS   _u(0x00ffffff)
1307 #define OTP_DATA_USB_BOOT_FLAGS_R2_RESET  "-"
1308 #define OTP_DATA_USB_BOOT_FLAGS_R2_WIDTH  _u(24)
1309 #define OTP_DATA_USB_BOOT_FLAGS_R2_MSB    _u(23)
1310 #define OTP_DATA_USB_BOOT_FLAGS_R2_LSB    _u(0)
1311 #define OTP_DATA_USB_BOOT_FLAGS_R2_ACCESS "RO"
1312 // =============================================================================
1313 // Register    : OTP_DATA_USB_WHITE_LABEL_ADDR
1314 // Description : Row index of the USB_WHITE_LABEL structure within OTP (ECC)
1315 //
1316 //               The table has 16 rows, each of which are also ECC and marked
1317 //               valid by the corresponding valid bit in USB_BOOT_FLAGS (ECC).
1318 //
1319 //               The entries are either _VALUEs where the 16 bit value is used
1320 //               as is, or _STRDEFs which acts as a pointers to a string value.
1321 //
1322 //               The value stored in a _STRDEF is two separate bytes: The low
1323 //               seven bits of the first (LSB) byte indicates the number of
1324 //               characters in the string, and the top bit of the first (LSB)
1325 //               byte if set to indicate that each character in the string is
1326 //               two bytes (Unicode) versus one byte if unset. The second (MSB)
1327 //               byte represents the location of the string data, and is encoded
1328 //               as the number of rows from this USB_WHITE_LABEL_ADDR; i.e. the
1329 //               row of the start of the string is USB_WHITE_LABEL_ADDR value +
1330 //               msb_byte.
1331 //
1332 //               In each case, the corresponding valid bit enables replacing the
1333 //               default value for the corresponding item provided by the boot
1334 //               rom.
1335 //
1336 //               Note that Unicode _STRDEFs are only supported for
1337 //               USB_DEVICE_PRODUCT_STRDEF, USB_DEVICE_SERIAL_NUMBER_STRDEF and
1338 //               USB_DEVICE_MANUFACTURER_STRDEF. Unicode values will be ignored
1339 //               if specified for other fields, and non-unicode values for these
1340 //               three items will be converted to Unicode characters by setting
1341 //               the upper 8 bits to zero.
1342 //
1343 //               Note that if the USB_WHITE_LABEL structure or the corresponding
1344 //               strings are not readable by BOOTSEL mode based on OTP
1345 //               permissions, or if alignment requirements are not met, then the
1346 //               corresponding default values are used.
1347 //
1348 //               The index values indicate where each field is located (row
1349 //               USB_WHITE_LABEL_ADDR value + index):
1350 //               0x0000 -> INDEX_USB_DEVICE_VID_VALUE
1351 //               0x0001 -> INDEX_USB_DEVICE_PID_VALUE
1352 //               0x0002 -> INDEX_USB_DEVICE_BCD_DEVICE_VALUE
1353 //               0x0003 -> INDEX_USB_DEVICE_LANG_ID_VALUE
1354 //               0x0004 -> INDEX_USB_DEVICE_MANUFACTURER_STRDEF
1355 //               0x0005 -> INDEX_USB_DEVICE_PRODUCT_STRDEF
1356 //               0x0006 -> INDEX_USB_DEVICE_SERIAL_NUMBER_STRDEF
1357 //               0x0007 -> INDEX_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES
1358 //               0x0008 -> INDEX_VOLUME_LABEL_STRDEF
1359 //               0x0009 -> INDEX_SCSI_INQUIRY_VENDOR_STRDEF
1360 //               0x000a -> INDEX_SCSI_INQUIRY_PRODUCT_STRDEF
1361 //               0x000b -> INDEX_SCSI_INQUIRY_VERSION_STRDEF
1362 //               0x000c -> INDEX_INDEX_HTM_REDIRECT_URL_STRDEF
1363 //               0x000d -> INDEX_INDEX_HTM_REDIRECT_NAME_STRDEF
1364 //               0x000e -> INDEX_INFO_UF2_TXT_MODEL_STRDEF
1365 //               0x000f -> INDEX_INFO_UF2_TXT_BOARD_ID_STRDEF
1366 #define OTP_DATA_USB_WHITE_LABEL_ADDR_ROW _u(0x0000005c)
1367 #define OTP_DATA_USB_WHITE_LABEL_ADDR_BITS   _u(0x0000ffff)
1368 #define OTP_DATA_USB_WHITE_LABEL_ADDR_RESET  "-"
1369 #define OTP_DATA_USB_WHITE_LABEL_ADDR_WIDTH  _u(16)
1370 #define OTP_DATA_USB_WHITE_LABEL_ADDR_MSB    _u(15)
1371 #define OTP_DATA_USB_WHITE_LABEL_ADDR_LSB    _u(0)
1372 #define OTP_DATA_USB_WHITE_LABEL_ADDR_ACCESS "RO"
1373 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_VID_VALUE _u(0x0000)
1374 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_PID_VALUE _u(0x0001)
1375 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_BCD_DEVICE_VALUE _u(0x0002)
1376 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_LANG_ID_VALUE _u(0x0003)
1377 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_MANUFACTURER_STRDEF _u(0x0004)
1378 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_PRODUCT_STRDEF _u(0x0005)
1379 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_DEVICE_SERIAL_NUMBER_STRDEF _u(0x0006)
1380 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_USB_CONFIG_ATTRIBUTES_MAX_POWER_VALUES _u(0x0007)
1381 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_VOLUME_LABEL_STRDEF _u(0x0008)
1382 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_SCSI_INQUIRY_VENDOR_STRDEF _u(0x0009)
1383 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_SCSI_INQUIRY_PRODUCT_STRDEF _u(0x000a)
1384 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_SCSI_INQUIRY_VERSION_STRDEF _u(0x000b)
1385 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_INDEX_HTM_REDIRECT_URL_STRDEF _u(0x000c)
1386 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_INDEX_HTM_REDIRECT_NAME_STRDEF _u(0x000d)
1387 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_INFO_UF2_TXT_MODEL_STRDEF _u(0x000e)
1388 #define OTP_DATA_USB_WHITE_LABEL_ADDR_VALUE_INDEX_INFO_UF2_TXT_BOARD_ID_STRDEF _u(0x000f)
1389 // =============================================================================
1390 // Register    : OTP_DATA_OTPBOOT_SRC
1391 // Description : OTP start row for the OTP boot image. (ECC)
1392 //
1393 //               If OTP boot is enabled, the bootrom will load from this
1394 //               location into SRAM and then directly enter the loaded image.
1395 //               Note that the image must be signed if SECURE_BOOT_ENABLE is
1396 //               set. The image itself is assumed to be ECC-protected.
1397 //
1398 //               This must be an even number. Equivalently, the OTP boot image
1399 //               must start at a word-aligned location in the ECC read data
1400 //               address window.
1401 #define OTP_DATA_OTPBOOT_SRC_ROW _u(0x0000005e)
1402 #define OTP_DATA_OTPBOOT_SRC_BITS   _u(0x0000ffff)
1403 #define OTP_DATA_OTPBOOT_SRC_RESET  "-"
1404 #define OTP_DATA_OTPBOOT_SRC_WIDTH  _u(16)
1405 #define OTP_DATA_OTPBOOT_SRC_MSB    _u(15)
1406 #define OTP_DATA_OTPBOOT_SRC_LSB    _u(0)
1407 #define OTP_DATA_OTPBOOT_SRC_ACCESS "RO"
1408 // =============================================================================
1409 // Register    : OTP_DATA_OTPBOOT_LEN
1410 // Description : Length in rows of the OTP boot image. (ECC)
1411 //
1412 //               OTPBOOT_LEN must be even. The total image size must be a
1413 //               multiple of 4 bytes (32 bits).
1414 #define OTP_DATA_OTPBOOT_LEN_ROW _u(0x0000005f)
1415 #define OTP_DATA_OTPBOOT_LEN_BITS   _u(0x0000ffff)
1416 #define OTP_DATA_OTPBOOT_LEN_RESET  "-"
1417 #define OTP_DATA_OTPBOOT_LEN_WIDTH  _u(16)
1418 #define OTP_DATA_OTPBOOT_LEN_MSB    _u(15)
1419 #define OTP_DATA_OTPBOOT_LEN_LSB    _u(0)
1420 #define OTP_DATA_OTPBOOT_LEN_ACCESS "RO"
1421 // =============================================================================
1422 // Register    : OTP_DATA_OTPBOOT_DST0
1423 // Description : Bits 15:0 of the OTP boot image load destination (and entry
1424 //               point). (ECC)
1425 //
1426 //               This must be a location in main SRAM (main SRAM is addresses
1427 //               0x20000000 through 0x20082000) and must be word-aligned.
1428 #define OTP_DATA_OTPBOOT_DST0_ROW _u(0x00000060)
1429 #define OTP_DATA_OTPBOOT_DST0_BITS   _u(0x0000ffff)
1430 #define OTP_DATA_OTPBOOT_DST0_RESET  "-"
1431 #define OTP_DATA_OTPBOOT_DST0_WIDTH  _u(16)
1432 #define OTP_DATA_OTPBOOT_DST0_MSB    _u(15)
1433 #define OTP_DATA_OTPBOOT_DST0_LSB    _u(0)
1434 #define OTP_DATA_OTPBOOT_DST0_ACCESS "RO"
1435 // =============================================================================
1436 // Register    : OTP_DATA_OTPBOOT_DST1
1437 // Description : Bits 31:16 of the OTP boot image load destination (and entry
1438 //               point). (ECC)
1439 //
1440 //               This must be a location in main SRAM (main SRAM is addresses
1441 //               0x20000000 through 0x20082000) and must be word-aligned.
1442 #define OTP_DATA_OTPBOOT_DST1_ROW _u(0x00000061)
1443 #define OTP_DATA_OTPBOOT_DST1_BITS   _u(0x0000ffff)
1444 #define OTP_DATA_OTPBOOT_DST1_RESET  "-"
1445 #define OTP_DATA_OTPBOOT_DST1_WIDTH  _u(16)
1446 #define OTP_DATA_OTPBOOT_DST1_MSB    _u(15)
1447 #define OTP_DATA_OTPBOOT_DST1_LSB    _u(0)
1448 #define OTP_DATA_OTPBOOT_DST1_ACCESS "RO"
1449 // =============================================================================
1450 // Register    : OTP_DATA_BOOTKEY0_0
1451 // Description : Bits 15:0 of SHA-256 hash of boot key 0 (ECC)
1452 #define OTP_DATA_BOOTKEY0_0_ROW _u(0x00000080)
1453 #define OTP_DATA_BOOTKEY0_0_BITS   _u(0x0000ffff)
1454 #define OTP_DATA_BOOTKEY0_0_RESET  "-"
1455 #define OTP_DATA_BOOTKEY0_0_WIDTH  _u(16)
1456 #define OTP_DATA_BOOTKEY0_0_MSB    _u(15)
1457 #define OTP_DATA_BOOTKEY0_0_LSB    _u(0)
1458 #define OTP_DATA_BOOTKEY0_0_ACCESS "RO"
1459 // =============================================================================
1460 // Register    : OTP_DATA_BOOTKEY0_1
1461 // Description : Bits 31:16 of SHA-256 hash of boot key 0 (ECC)
1462 #define OTP_DATA_BOOTKEY0_1_ROW _u(0x00000081)
1463 #define OTP_DATA_BOOTKEY0_1_BITS   _u(0x0000ffff)
1464 #define OTP_DATA_BOOTKEY0_1_RESET  "-"
1465 #define OTP_DATA_BOOTKEY0_1_WIDTH  _u(16)
1466 #define OTP_DATA_BOOTKEY0_1_MSB    _u(15)
1467 #define OTP_DATA_BOOTKEY0_1_LSB    _u(0)
1468 #define OTP_DATA_BOOTKEY0_1_ACCESS "RO"
1469 // =============================================================================
1470 // Register    : OTP_DATA_BOOTKEY0_2
1471 // Description : Bits 47:32 of SHA-256 hash of boot key 0 (ECC)
1472 #define OTP_DATA_BOOTKEY0_2_ROW _u(0x00000082)
1473 #define OTP_DATA_BOOTKEY0_2_BITS   _u(0x0000ffff)
1474 #define OTP_DATA_BOOTKEY0_2_RESET  "-"
1475 #define OTP_DATA_BOOTKEY0_2_WIDTH  _u(16)
1476 #define OTP_DATA_BOOTKEY0_2_MSB    _u(15)
1477 #define OTP_DATA_BOOTKEY0_2_LSB    _u(0)
1478 #define OTP_DATA_BOOTKEY0_2_ACCESS "RO"
1479 // =============================================================================
1480 // Register    : OTP_DATA_BOOTKEY0_3
1481 // Description : Bits 63:48 of SHA-256 hash of boot key 0 (ECC)
1482 #define OTP_DATA_BOOTKEY0_3_ROW _u(0x00000083)
1483 #define OTP_DATA_BOOTKEY0_3_BITS   _u(0x0000ffff)
1484 #define OTP_DATA_BOOTKEY0_3_RESET  "-"
1485 #define OTP_DATA_BOOTKEY0_3_WIDTH  _u(16)
1486 #define OTP_DATA_BOOTKEY0_3_MSB    _u(15)
1487 #define OTP_DATA_BOOTKEY0_3_LSB    _u(0)
1488 #define OTP_DATA_BOOTKEY0_3_ACCESS "RO"
1489 // =============================================================================
1490 // Register    : OTP_DATA_BOOTKEY0_4
1491 // Description : Bits 79:64 of SHA-256 hash of boot key 0 (ECC)
1492 #define OTP_DATA_BOOTKEY0_4_ROW _u(0x00000084)
1493 #define OTP_DATA_BOOTKEY0_4_BITS   _u(0x0000ffff)
1494 #define OTP_DATA_BOOTKEY0_4_RESET  "-"
1495 #define OTP_DATA_BOOTKEY0_4_WIDTH  _u(16)
1496 #define OTP_DATA_BOOTKEY0_4_MSB    _u(15)
1497 #define OTP_DATA_BOOTKEY0_4_LSB    _u(0)
1498 #define OTP_DATA_BOOTKEY0_4_ACCESS "RO"
1499 // =============================================================================
1500 // Register    : OTP_DATA_BOOTKEY0_5
1501 // Description : Bits 95:80 of SHA-256 hash of boot key 0 (ECC)
1502 #define OTP_DATA_BOOTKEY0_5_ROW _u(0x00000085)
1503 #define OTP_DATA_BOOTKEY0_5_BITS   _u(0x0000ffff)
1504 #define OTP_DATA_BOOTKEY0_5_RESET  "-"
1505 #define OTP_DATA_BOOTKEY0_5_WIDTH  _u(16)
1506 #define OTP_DATA_BOOTKEY0_5_MSB    _u(15)
1507 #define OTP_DATA_BOOTKEY0_5_LSB    _u(0)
1508 #define OTP_DATA_BOOTKEY0_5_ACCESS "RO"
1509 // =============================================================================
1510 // Register    : OTP_DATA_BOOTKEY0_6
1511 // Description : Bits 111:96 of SHA-256 hash of boot key 0 (ECC)
1512 #define OTP_DATA_BOOTKEY0_6_ROW _u(0x00000086)
1513 #define OTP_DATA_BOOTKEY0_6_BITS   _u(0x0000ffff)
1514 #define OTP_DATA_BOOTKEY0_6_RESET  "-"
1515 #define OTP_DATA_BOOTKEY0_6_WIDTH  _u(16)
1516 #define OTP_DATA_BOOTKEY0_6_MSB    _u(15)
1517 #define OTP_DATA_BOOTKEY0_6_LSB    _u(0)
1518 #define OTP_DATA_BOOTKEY0_6_ACCESS "RO"
1519 // =============================================================================
1520 // Register    : OTP_DATA_BOOTKEY0_7
1521 // Description : Bits 127:112 of SHA-256 hash of boot key 0 (ECC)
1522 #define OTP_DATA_BOOTKEY0_7_ROW _u(0x00000087)
1523 #define OTP_DATA_BOOTKEY0_7_BITS   _u(0x0000ffff)
1524 #define OTP_DATA_BOOTKEY0_7_RESET  "-"
1525 #define OTP_DATA_BOOTKEY0_7_WIDTH  _u(16)
1526 #define OTP_DATA_BOOTKEY0_7_MSB    _u(15)
1527 #define OTP_DATA_BOOTKEY0_7_LSB    _u(0)
1528 #define OTP_DATA_BOOTKEY0_7_ACCESS "RO"
1529 // =============================================================================
1530 // Register    : OTP_DATA_BOOTKEY0_8
1531 // Description : Bits 143:128 of SHA-256 hash of boot key 0 (ECC)
1532 #define OTP_DATA_BOOTKEY0_8_ROW _u(0x00000088)
1533 #define OTP_DATA_BOOTKEY0_8_BITS   _u(0x0000ffff)
1534 #define OTP_DATA_BOOTKEY0_8_RESET  "-"
1535 #define OTP_DATA_BOOTKEY0_8_WIDTH  _u(16)
1536 #define OTP_DATA_BOOTKEY0_8_MSB    _u(15)
1537 #define OTP_DATA_BOOTKEY0_8_LSB    _u(0)
1538 #define OTP_DATA_BOOTKEY0_8_ACCESS "RO"
1539 // =============================================================================
1540 // Register    : OTP_DATA_BOOTKEY0_9
1541 // Description : Bits 159:144 of SHA-256 hash of boot key 0 (ECC)
1542 #define OTP_DATA_BOOTKEY0_9_ROW _u(0x00000089)
1543 #define OTP_DATA_BOOTKEY0_9_BITS   _u(0x0000ffff)
1544 #define OTP_DATA_BOOTKEY0_9_RESET  "-"
1545 #define OTP_DATA_BOOTKEY0_9_WIDTH  _u(16)
1546 #define OTP_DATA_BOOTKEY0_9_MSB    _u(15)
1547 #define OTP_DATA_BOOTKEY0_9_LSB    _u(0)
1548 #define OTP_DATA_BOOTKEY0_9_ACCESS "RO"
1549 // =============================================================================
1550 // Register    : OTP_DATA_BOOTKEY0_10
1551 // Description : Bits 175:160 of SHA-256 hash of boot key 0 (ECC)
1552 #define OTP_DATA_BOOTKEY0_10_ROW _u(0x0000008a)
1553 #define OTP_DATA_BOOTKEY0_10_BITS   _u(0x0000ffff)
1554 #define OTP_DATA_BOOTKEY0_10_RESET  "-"
1555 #define OTP_DATA_BOOTKEY0_10_WIDTH  _u(16)
1556 #define OTP_DATA_BOOTKEY0_10_MSB    _u(15)
1557 #define OTP_DATA_BOOTKEY0_10_LSB    _u(0)
1558 #define OTP_DATA_BOOTKEY0_10_ACCESS "RO"
1559 // =============================================================================
1560 // Register    : OTP_DATA_BOOTKEY0_11
1561 // Description : Bits 191:176 of SHA-256 hash of boot key 0 (ECC)
1562 #define OTP_DATA_BOOTKEY0_11_ROW _u(0x0000008b)
1563 #define OTP_DATA_BOOTKEY0_11_BITS   _u(0x0000ffff)
1564 #define OTP_DATA_BOOTKEY0_11_RESET  "-"
1565 #define OTP_DATA_BOOTKEY0_11_WIDTH  _u(16)
1566 #define OTP_DATA_BOOTKEY0_11_MSB    _u(15)
1567 #define OTP_DATA_BOOTKEY0_11_LSB    _u(0)
1568 #define OTP_DATA_BOOTKEY0_11_ACCESS "RO"
1569 // =============================================================================
1570 // Register    : OTP_DATA_BOOTKEY0_12
1571 // Description : Bits 207:192 of SHA-256 hash of boot key 0 (ECC)
1572 #define OTP_DATA_BOOTKEY0_12_ROW _u(0x0000008c)
1573 #define OTP_DATA_BOOTKEY0_12_BITS   _u(0x0000ffff)
1574 #define OTP_DATA_BOOTKEY0_12_RESET  "-"
1575 #define OTP_DATA_BOOTKEY0_12_WIDTH  _u(16)
1576 #define OTP_DATA_BOOTKEY0_12_MSB    _u(15)
1577 #define OTP_DATA_BOOTKEY0_12_LSB    _u(0)
1578 #define OTP_DATA_BOOTKEY0_12_ACCESS "RO"
1579 // =============================================================================
1580 // Register    : OTP_DATA_BOOTKEY0_13
1581 // Description : Bits 223:208 of SHA-256 hash of boot key 0 (ECC)
1582 #define OTP_DATA_BOOTKEY0_13_ROW _u(0x0000008d)
1583 #define OTP_DATA_BOOTKEY0_13_BITS   _u(0x0000ffff)
1584 #define OTP_DATA_BOOTKEY0_13_RESET  "-"
1585 #define OTP_DATA_BOOTKEY0_13_WIDTH  _u(16)
1586 #define OTP_DATA_BOOTKEY0_13_MSB    _u(15)
1587 #define OTP_DATA_BOOTKEY0_13_LSB    _u(0)
1588 #define OTP_DATA_BOOTKEY0_13_ACCESS "RO"
1589 // =============================================================================
1590 // Register    : OTP_DATA_BOOTKEY0_14
1591 // Description : Bits 239:224 of SHA-256 hash of boot key 0 (ECC)
1592 #define OTP_DATA_BOOTKEY0_14_ROW _u(0x0000008e)
1593 #define OTP_DATA_BOOTKEY0_14_BITS   _u(0x0000ffff)
1594 #define OTP_DATA_BOOTKEY0_14_RESET  "-"
1595 #define OTP_DATA_BOOTKEY0_14_WIDTH  _u(16)
1596 #define OTP_DATA_BOOTKEY0_14_MSB    _u(15)
1597 #define OTP_DATA_BOOTKEY0_14_LSB    _u(0)
1598 #define OTP_DATA_BOOTKEY0_14_ACCESS "RO"
1599 // =============================================================================
1600 // Register    : OTP_DATA_BOOTKEY0_15
1601 // Description : Bits 255:240 of SHA-256 hash of boot key 0 (ECC)
1602 #define OTP_DATA_BOOTKEY0_15_ROW _u(0x0000008f)
1603 #define OTP_DATA_BOOTKEY0_15_BITS   _u(0x0000ffff)
1604 #define OTP_DATA_BOOTKEY0_15_RESET  "-"
1605 #define OTP_DATA_BOOTKEY0_15_WIDTH  _u(16)
1606 #define OTP_DATA_BOOTKEY0_15_MSB    _u(15)
1607 #define OTP_DATA_BOOTKEY0_15_LSB    _u(0)
1608 #define OTP_DATA_BOOTKEY0_15_ACCESS "RO"
1609 // =============================================================================
1610 // Register    : OTP_DATA_BOOTKEY1_0
1611 // Description : Bits 15:0 of SHA-256 hash of boot key 1 (ECC)
1612 #define OTP_DATA_BOOTKEY1_0_ROW _u(0x00000090)
1613 #define OTP_DATA_BOOTKEY1_0_BITS   _u(0x0000ffff)
1614 #define OTP_DATA_BOOTKEY1_0_RESET  "-"
1615 #define OTP_DATA_BOOTKEY1_0_WIDTH  _u(16)
1616 #define OTP_DATA_BOOTKEY1_0_MSB    _u(15)
1617 #define OTP_DATA_BOOTKEY1_0_LSB    _u(0)
1618 #define OTP_DATA_BOOTKEY1_0_ACCESS "RO"
1619 // =============================================================================
1620 // Register    : OTP_DATA_BOOTKEY1_1
1621 // Description : Bits 31:16 of SHA-256 hash of boot key 1 (ECC)
1622 #define OTP_DATA_BOOTKEY1_1_ROW _u(0x00000091)
1623 #define OTP_DATA_BOOTKEY1_1_BITS   _u(0x0000ffff)
1624 #define OTP_DATA_BOOTKEY1_1_RESET  "-"
1625 #define OTP_DATA_BOOTKEY1_1_WIDTH  _u(16)
1626 #define OTP_DATA_BOOTKEY1_1_MSB    _u(15)
1627 #define OTP_DATA_BOOTKEY1_1_LSB    _u(0)
1628 #define OTP_DATA_BOOTKEY1_1_ACCESS "RO"
1629 // =============================================================================
1630 // Register    : OTP_DATA_BOOTKEY1_2
1631 // Description : Bits 47:32 of SHA-256 hash of boot key 1 (ECC)
1632 #define OTP_DATA_BOOTKEY1_2_ROW _u(0x00000092)
1633 #define OTP_DATA_BOOTKEY1_2_BITS   _u(0x0000ffff)
1634 #define OTP_DATA_BOOTKEY1_2_RESET  "-"
1635 #define OTP_DATA_BOOTKEY1_2_WIDTH  _u(16)
1636 #define OTP_DATA_BOOTKEY1_2_MSB    _u(15)
1637 #define OTP_DATA_BOOTKEY1_2_LSB    _u(0)
1638 #define OTP_DATA_BOOTKEY1_2_ACCESS "RO"
1639 // =============================================================================
1640 // Register    : OTP_DATA_BOOTKEY1_3
1641 // Description : Bits 63:48 of SHA-256 hash of boot key 1 (ECC)
1642 #define OTP_DATA_BOOTKEY1_3_ROW _u(0x00000093)
1643 #define OTP_DATA_BOOTKEY1_3_BITS   _u(0x0000ffff)
1644 #define OTP_DATA_BOOTKEY1_3_RESET  "-"
1645 #define OTP_DATA_BOOTKEY1_3_WIDTH  _u(16)
1646 #define OTP_DATA_BOOTKEY1_3_MSB    _u(15)
1647 #define OTP_DATA_BOOTKEY1_3_LSB    _u(0)
1648 #define OTP_DATA_BOOTKEY1_3_ACCESS "RO"
1649 // =============================================================================
1650 // Register    : OTP_DATA_BOOTKEY1_4
1651 // Description : Bits 79:64 of SHA-256 hash of boot key 1 (ECC)
1652 #define OTP_DATA_BOOTKEY1_4_ROW _u(0x00000094)
1653 #define OTP_DATA_BOOTKEY1_4_BITS   _u(0x0000ffff)
1654 #define OTP_DATA_BOOTKEY1_4_RESET  "-"
1655 #define OTP_DATA_BOOTKEY1_4_WIDTH  _u(16)
1656 #define OTP_DATA_BOOTKEY1_4_MSB    _u(15)
1657 #define OTP_DATA_BOOTKEY1_4_LSB    _u(0)
1658 #define OTP_DATA_BOOTKEY1_4_ACCESS "RO"
1659 // =============================================================================
1660 // Register    : OTP_DATA_BOOTKEY1_5
1661 // Description : Bits 95:80 of SHA-256 hash of boot key 1 (ECC)
1662 #define OTP_DATA_BOOTKEY1_5_ROW _u(0x00000095)
1663 #define OTP_DATA_BOOTKEY1_5_BITS   _u(0x0000ffff)
1664 #define OTP_DATA_BOOTKEY1_5_RESET  "-"
1665 #define OTP_DATA_BOOTKEY1_5_WIDTH  _u(16)
1666 #define OTP_DATA_BOOTKEY1_5_MSB    _u(15)
1667 #define OTP_DATA_BOOTKEY1_5_LSB    _u(0)
1668 #define OTP_DATA_BOOTKEY1_5_ACCESS "RO"
1669 // =============================================================================
1670 // Register    : OTP_DATA_BOOTKEY1_6
1671 // Description : Bits 111:96 of SHA-256 hash of boot key 1 (ECC)
1672 #define OTP_DATA_BOOTKEY1_6_ROW _u(0x00000096)
1673 #define OTP_DATA_BOOTKEY1_6_BITS   _u(0x0000ffff)
1674 #define OTP_DATA_BOOTKEY1_6_RESET  "-"
1675 #define OTP_DATA_BOOTKEY1_6_WIDTH  _u(16)
1676 #define OTP_DATA_BOOTKEY1_6_MSB    _u(15)
1677 #define OTP_DATA_BOOTKEY1_6_LSB    _u(0)
1678 #define OTP_DATA_BOOTKEY1_6_ACCESS "RO"
1679 // =============================================================================
1680 // Register    : OTP_DATA_BOOTKEY1_7
1681 // Description : Bits 127:112 of SHA-256 hash of boot key 1 (ECC)
1682 #define OTP_DATA_BOOTKEY1_7_ROW _u(0x00000097)
1683 #define OTP_DATA_BOOTKEY1_7_BITS   _u(0x0000ffff)
1684 #define OTP_DATA_BOOTKEY1_7_RESET  "-"
1685 #define OTP_DATA_BOOTKEY1_7_WIDTH  _u(16)
1686 #define OTP_DATA_BOOTKEY1_7_MSB    _u(15)
1687 #define OTP_DATA_BOOTKEY1_7_LSB    _u(0)
1688 #define OTP_DATA_BOOTKEY1_7_ACCESS "RO"
1689 // =============================================================================
1690 // Register    : OTP_DATA_BOOTKEY1_8
1691 // Description : Bits 143:128 of SHA-256 hash of boot key 1 (ECC)
1692 #define OTP_DATA_BOOTKEY1_8_ROW _u(0x00000098)
1693 #define OTP_DATA_BOOTKEY1_8_BITS   _u(0x0000ffff)
1694 #define OTP_DATA_BOOTKEY1_8_RESET  "-"
1695 #define OTP_DATA_BOOTKEY1_8_WIDTH  _u(16)
1696 #define OTP_DATA_BOOTKEY1_8_MSB    _u(15)
1697 #define OTP_DATA_BOOTKEY1_8_LSB    _u(0)
1698 #define OTP_DATA_BOOTKEY1_8_ACCESS "RO"
1699 // =============================================================================
1700 // Register    : OTP_DATA_BOOTKEY1_9
1701 // Description : Bits 159:144 of SHA-256 hash of boot key 1 (ECC)
1702 #define OTP_DATA_BOOTKEY1_9_ROW _u(0x00000099)
1703 #define OTP_DATA_BOOTKEY1_9_BITS   _u(0x0000ffff)
1704 #define OTP_DATA_BOOTKEY1_9_RESET  "-"
1705 #define OTP_DATA_BOOTKEY1_9_WIDTH  _u(16)
1706 #define OTP_DATA_BOOTKEY1_9_MSB    _u(15)
1707 #define OTP_DATA_BOOTKEY1_9_LSB    _u(0)
1708 #define OTP_DATA_BOOTKEY1_9_ACCESS "RO"
1709 // =============================================================================
1710 // Register    : OTP_DATA_BOOTKEY1_10
1711 // Description : Bits 175:160 of SHA-256 hash of boot key 1 (ECC)
1712 #define OTP_DATA_BOOTKEY1_10_ROW _u(0x0000009a)
1713 #define OTP_DATA_BOOTKEY1_10_BITS   _u(0x0000ffff)
1714 #define OTP_DATA_BOOTKEY1_10_RESET  "-"
1715 #define OTP_DATA_BOOTKEY1_10_WIDTH  _u(16)
1716 #define OTP_DATA_BOOTKEY1_10_MSB    _u(15)
1717 #define OTP_DATA_BOOTKEY1_10_LSB    _u(0)
1718 #define OTP_DATA_BOOTKEY1_10_ACCESS "RO"
1719 // =============================================================================
1720 // Register    : OTP_DATA_BOOTKEY1_11
1721 // Description : Bits 191:176 of SHA-256 hash of boot key 1 (ECC)
1722 #define OTP_DATA_BOOTKEY1_11_ROW _u(0x0000009b)
1723 #define OTP_DATA_BOOTKEY1_11_BITS   _u(0x0000ffff)
1724 #define OTP_DATA_BOOTKEY1_11_RESET  "-"
1725 #define OTP_DATA_BOOTKEY1_11_WIDTH  _u(16)
1726 #define OTP_DATA_BOOTKEY1_11_MSB    _u(15)
1727 #define OTP_DATA_BOOTKEY1_11_LSB    _u(0)
1728 #define OTP_DATA_BOOTKEY1_11_ACCESS "RO"
1729 // =============================================================================
1730 // Register    : OTP_DATA_BOOTKEY1_12
1731 // Description : Bits 207:192 of SHA-256 hash of boot key 1 (ECC)
1732 #define OTP_DATA_BOOTKEY1_12_ROW _u(0x0000009c)
1733 #define OTP_DATA_BOOTKEY1_12_BITS   _u(0x0000ffff)
1734 #define OTP_DATA_BOOTKEY1_12_RESET  "-"
1735 #define OTP_DATA_BOOTKEY1_12_WIDTH  _u(16)
1736 #define OTP_DATA_BOOTKEY1_12_MSB    _u(15)
1737 #define OTP_DATA_BOOTKEY1_12_LSB    _u(0)
1738 #define OTP_DATA_BOOTKEY1_12_ACCESS "RO"
1739 // =============================================================================
1740 // Register    : OTP_DATA_BOOTKEY1_13
1741 // Description : Bits 223:208 of SHA-256 hash of boot key 1 (ECC)
1742 #define OTP_DATA_BOOTKEY1_13_ROW _u(0x0000009d)
1743 #define OTP_DATA_BOOTKEY1_13_BITS   _u(0x0000ffff)
1744 #define OTP_DATA_BOOTKEY1_13_RESET  "-"
1745 #define OTP_DATA_BOOTKEY1_13_WIDTH  _u(16)
1746 #define OTP_DATA_BOOTKEY1_13_MSB    _u(15)
1747 #define OTP_DATA_BOOTKEY1_13_LSB    _u(0)
1748 #define OTP_DATA_BOOTKEY1_13_ACCESS "RO"
1749 // =============================================================================
1750 // Register    : OTP_DATA_BOOTKEY1_14
1751 // Description : Bits 239:224 of SHA-256 hash of boot key 1 (ECC)
1752 #define OTP_DATA_BOOTKEY1_14_ROW _u(0x0000009e)
1753 #define OTP_DATA_BOOTKEY1_14_BITS   _u(0x0000ffff)
1754 #define OTP_DATA_BOOTKEY1_14_RESET  "-"
1755 #define OTP_DATA_BOOTKEY1_14_WIDTH  _u(16)
1756 #define OTP_DATA_BOOTKEY1_14_MSB    _u(15)
1757 #define OTP_DATA_BOOTKEY1_14_LSB    _u(0)
1758 #define OTP_DATA_BOOTKEY1_14_ACCESS "RO"
1759 // =============================================================================
1760 // Register    : OTP_DATA_BOOTKEY1_15
1761 // Description : Bits 255:240 of SHA-256 hash of boot key 1 (ECC)
1762 #define OTP_DATA_BOOTKEY1_15_ROW _u(0x0000009f)
1763 #define OTP_DATA_BOOTKEY1_15_BITS   _u(0x0000ffff)
1764 #define OTP_DATA_BOOTKEY1_15_RESET  "-"
1765 #define OTP_DATA_BOOTKEY1_15_WIDTH  _u(16)
1766 #define OTP_DATA_BOOTKEY1_15_MSB    _u(15)
1767 #define OTP_DATA_BOOTKEY1_15_LSB    _u(0)
1768 #define OTP_DATA_BOOTKEY1_15_ACCESS "RO"
1769 // =============================================================================
1770 // Register    : OTP_DATA_BOOTKEY2_0
1771 // Description : Bits 15:0 of SHA-256 hash of boot key 2 (ECC)
1772 #define OTP_DATA_BOOTKEY2_0_ROW _u(0x000000a0)
1773 #define OTP_DATA_BOOTKEY2_0_BITS   _u(0x0000ffff)
1774 #define OTP_DATA_BOOTKEY2_0_RESET  "-"
1775 #define OTP_DATA_BOOTKEY2_0_WIDTH  _u(16)
1776 #define OTP_DATA_BOOTKEY2_0_MSB    _u(15)
1777 #define OTP_DATA_BOOTKEY2_0_LSB    _u(0)
1778 #define OTP_DATA_BOOTKEY2_0_ACCESS "RO"
1779 // =============================================================================
1780 // Register    : OTP_DATA_BOOTKEY2_1
1781 // Description : Bits 31:16 of SHA-256 hash of boot key 2 (ECC)
1782 #define OTP_DATA_BOOTKEY2_1_ROW _u(0x000000a1)
1783 #define OTP_DATA_BOOTKEY2_1_BITS   _u(0x0000ffff)
1784 #define OTP_DATA_BOOTKEY2_1_RESET  "-"
1785 #define OTP_DATA_BOOTKEY2_1_WIDTH  _u(16)
1786 #define OTP_DATA_BOOTKEY2_1_MSB    _u(15)
1787 #define OTP_DATA_BOOTKEY2_1_LSB    _u(0)
1788 #define OTP_DATA_BOOTKEY2_1_ACCESS "RO"
1789 // =============================================================================
1790 // Register    : OTP_DATA_BOOTKEY2_2
1791 // Description : Bits 47:32 of SHA-256 hash of boot key 2 (ECC)
1792 #define OTP_DATA_BOOTKEY2_2_ROW _u(0x000000a2)
1793 #define OTP_DATA_BOOTKEY2_2_BITS   _u(0x0000ffff)
1794 #define OTP_DATA_BOOTKEY2_2_RESET  "-"
1795 #define OTP_DATA_BOOTKEY2_2_WIDTH  _u(16)
1796 #define OTP_DATA_BOOTKEY2_2_MSB    _u(15)
1797 #define OTP_DATA_BOOTKEY2_2_LSB    _u(0)
1798 #define OTP_DATA_BOOTKEY2_2_ACCESS "RO"
1799 // =============================================================================
1800 // Register    : OTP_DATA_BOOTKEY2_3
1801 // Description : Bits 63:48 of SHA-256 hash of boot key 2 (ECC)
1802 #define OTP_DATA_BOOTKEY2_3_ROW _u(0x000000a3)
1803 #define OTP_DATA_BOOTKEY2_3_BITS   _u(0x0000ffff)
1804 #define OTP_DATA_BOOTKEY2_3_RESET  "-"
1805 #define OTP_DATA_BOOTKEY2_3_WIDTH  _u(16)
1806 #define OTP_DATA_BOOTKEY2_3_MSB    _u(15)
1807 #define OTP_DATA_BOOTKEY2_3_LSB    _u(0)
1808 #define OTP_DATA_BOOTKEY2_3_ACCESS "RO"
1809 // =============================================================================
1810 // Register    : OTP_DATA_BOOTKEY2_4
1811 // Description : Bits 79:64 of SHA-256 hash of boot key 2 (ECC)
1812 #define OTP_DATA_BOOTKEY2_4_ROW _u(0x000000a4)
1813 #define OTP_DATA_BOOTKEY2_4_BITS   _u(0x0000ffff)
1814 #define OTP_DATA_BOOTKEY2_4_RESET  "-"
1815 #define OTP_DATA_BOOTKEY2_4_WIDTH  _u(16)
1816 #define OTP_DATA_BOOTKEY2_4_MSB    _u(15)
1817 #define OTP_DATA_BOOTKEY2_4_LSB    _u(0)
1818 #define OTP_DATA_BOOTKEY2_4_ACCESS "RO"
1819 // =============================================================================
1820 // Register    : OTP_DATA_BOOTKEY2_5
1821 // Description : Bits 95:80 of SHA-256 hash of boot key 2 (ECC)
1822 #define OTP_DATA_BOOTKEY2_5_ROW _u(0x000000a5)
1823 #define OTP_DATA_BOOTKEY2_5_BITS   _u(0x0000ffff)
1824 #define OTP_DATA_BOOTKEY2_5_RESET  "-"
1825 #define OTP_DATA_BOOTKEY2_5_WIDTH  _u(16)
1826 #define OTP_DATA_BOOTKEY2_5_MSB    _u(15)
1827 #define OTP_DATA_BOOTKEY2_5_LSB    _u(0)
1828 #define OTP_DATA_BOOTKEY2_5_ACCESS "RO"
1829 // =============================================================================
1830 // Register    : OTP_DATA_BOOTKEY2_6
1831 // Description : Bits 111:96 of SHA-256 hash of boot key 2 (ECC)
1832 #define OTP_DATA_BOOTKEY2_6_ROW _u(0x000000a6)
1833 #define OTP_DATA_BOOTKEY2_6_BITS   _u(0x0000ffff)
1834 #define OTP_DATA_BOOTKEY2_6_RESET  "-"
1835 #define OTP_DATA_BOOTKEY2_6_WIDTH  _u(16)
1836 #define OTP_DATA_BOOTKEY2_6_MSB    _u(15)
1837 #define OTP_DATA_BOOTKEY2_6_LSB    _u(0)
1838 #define OTP_DATA_BOOTKEY2_6_ACCESS "RO"
1839 // =============================================================================
1840 // Register    : OTP_DATA_BOOTKEY2_7
1841 // Description : Bits 127:112 of SHA-256 hash of boot key 2 (ECC)
1842 #define OTP_DATA_BOOTKEY2_7_ROW _u(0x000000a7)
1843 #define OTP_DATA_BOOTKEY2_7_BITS   _u(0x0000ffff)
1844 #define OTP_DATA_BOOTKEY2_7_RESET  "-"
1845 #define OTP_DATA_BOOTKEY2_7_WIDTH  _u(16)
1846 #define OTP_DATA_BOOTKEY2_7_MSB    _u(15)
1847 #define OTP_DATA_BOOTKEY2_7_LSB    _u(0)
1848 #define OTP_DATA_BOOTKEY2_7_ACCESS "RO"
1849 // =============================================================================
1850 // Register    : OTP_DATA_BOOTKEY2_8
1851 // Description : Bits 143:128 of SHA-256 hash of boot key 2 (ECC)
1852 #define OTP_DATA_BOOTKEY2_8_ROW _u(0x000000a8)
1853 #define OTP_DATA_BOOTKEY2_8_BITS   _u(0x0000ffff)
1854 #define OTP_DATA_BOOTKEY2_8_RESET  "-"
1855 #define OTP_DATA_BOOTKEY2_8_WIDTH  _u(16)
1856 #define OTP_DATA_BOOTKEY2_8_MSB    _u(15)
1857 #define OTP_DATA_BOOTKEY2_8_LSB    _u(0)
1858 #define OTP_DATA_BOOTKEY2_8_ACCESS "RO"
1859 // =============================================================================
1860 // Register    : OTP_DATA_BOOTKEY2_9
1861 // Description : Bits 159:144 of SHA-256 hash of boot key 2 (ECC)
1862 #define OTP_DATA_BOOTKEY2_9_ROW _u(0x000000a9)
1863 #define OTP_DATA_BOOTKEY2_9_BITS   _u(0x0000ffff)
1864 #define OTP_DATA_BOOTKEY2_9_RESET  "-"
1865 #define OTP_DATA_BOOTKEY2_9_WIDTH  _u(16)
1866 #define OTP_DATA_BOOTKEY2_9_MSB    _u(15)
1867 #define OTP_DATA_BOOTKEY2_9_LSB    _u(0)
1868 #define OTP_DATA_BOOTKEY2_9_ACCESS "RO"
1869 // =============================================================================
1870 // Register    : OTP_DATA_BOOTKEY2_10
1871 // Description : Bits 175:160 of SHA-256 hash of boot key 2 (ECC)
1872 #define OTP_DATA_BOOTKEY2_10_ROW _u(0x000000aa)
1873 #define OTP_DATA_BOOTKEY2_10_BITS   _u(0x0000ffff)
1874 #define OTP_DATA_BOOTKEY2_10_RESET  "-"
1875 #define OTP_DATA_BOOTKEY2_10_WIDTH  _u(16)
1876 #define OTP_DATA_BOOTKEY2_10_MSB    _u(15)
1877 #define OTP_DATA_BOOTKEY2_10_LSB    _u(0)
1878 #define OTP_DATA_BOOTKEY2_10_ACCESS "RO"
1879 // =============================================================================
1880 // Register    : OTP_DATA_BOOTKEY2_11
1881 // Description : Bits 191:176 of SHA-256 hash of boot key 2 (ECC)
1882 #define OTP_DATA_BOOTKEY2_11_ROW _u(0x000000ab)
1883 #define OTP_DATA_BOOTKEY2_11_BITS   _u(0x0000ffff)
1884 #define OTP_DATA_BOOTKEY2_11_RESET  "-"
1885 #define OTP_DATA_BOOTKEY2_11_WIDTH  _u(16)
1886 #define OTP_DATA_BOOTKEY2_11_MSB    _u(15)
1887 #define OTP_DATA_BOOTKEY2_11_LSB    _u(0)
1888 #define OTP_DATA_BOOTKEY2_11_ACCESS "RO"
1889 // =============================================================================
1890 // Register    : OTP_DATA_BOOTKEY2_12
1891 // Description : Bits 207:192 of SHA-256 hash of boot key 2 (ECC)
1892 #define OTP_DATA_BOOTKEY2_12_ROW _u(0x000000ac)
1893 #define OTP_DATA_BOOTKEY2_12_BITS   _u(0x0000ffff)
1894 #define OTP_DATA_BOOTKEY2_12_RESET  "-"
1895 #define OTP_DATA_BOOTKEY2_12_WIDTH  _u(16)
1896 #define OTP_DATA_BOOTKEY2_12_MSB    _u(15)
1897 #define OTP_DATA_BOOTKEY2_12_LSB    _u(0)
1898 #define OTP_DATA_BOOTKEY2_12_ACCESS "RO"
1899 // =============================================================================
1900 // Register    : OTP_DATA_BOOTKEY2_13
1901 // Description : Bits 223:208 of SHA-256 hash of boot key 2 (ECC)
1902 #define OTP_DATA_BOOTKEY2_13_ROW _u(0x000000ad)
1903 #define OTP_DATA_BOOTKEY2_13_BITS   _u(0x0000ffff)
1904 #define OTP_DATA_BOOTKEY2_13_RESET  "-"
1905 #define OTP_DATA_BOOTKEY2_13_WIDTH  _u(16)
1906 #define OTP_DATA_BOOTKEY2_13_MSB    _u(15)
1907 #define OTP_DATA_BOOTKEY2_13_LSB    _u(0)
1908 #define OTP_DATA_BOOTKEY2_13_ACCESS "RO"
1909 // =============================================================================
1910 // Register    : OTP_DATA_BOOTKEY2_14
1911 // Description : Bits 239:224 of SHA-256 hash of boot key 2 (ECC)
1912 #define OTP_DATA_BOOTKEY2_14_ROW _u(0x000000ae)
1913 #define OTP_DATA_BOOTKEY2_14_BITS   _u(0x0000ffff)
1914 #define OTP_DATA_BOOTKEY2_14_RESET  "-"
1915 #define OTP_DATA_BOOTKEY2_14_WIDTH  _u(16)
1916 #define OTP_DATA_BOOTKEY2_14_MSB    _u(15)
1917 #define OTP_DATA_BOOTKEY2_14_LSB    _u(0)
1918 #define OTP_DATA_BOOTKEY2_14_ACCESS "RO"
1919 // =============================================================================
1920 // Register    : OTP_DATA_BOOTKEY2_15
1921 // Description : Bits 255:240 of SHA-256 hash of boot key 2 (ECC)
1922 #define OTP_DATA_BOOTKEY2_15_ROW _u(0x000000af)
1923 #define OTP_DATA_BOOTKEY2_15_BITS   _u(0x0000ffff)
1924 #define OTP_DATA_BOOTKEY2_15_RESET  "-"
1925 #define OTP_DATA_BOOTKEY2_15_WIDTH  _u(16)
1926 #define OTP_DATA_BOOTKEY2_15_MSB    _u(15)
1927 #define OTP_DATA_BOOTKEY2_15_LSB    _u(0)
1928 #define OTP_DATA_BOOTKEY2_15_ACCESS "RO"
1929 // =============================================================================
1930 // Register    : OTP_DATA_BOOTKEY3_0
1931 // Description : Bits 15:0 of SHA-256 hash of boot key 3 (ECC)
1932 #define OTP_DATA_BOOTKEY3_0_ROW _u(0x000000b0)
1933 #define OTP_DATA_BOOTKEY3_0_BITS   _u(0x0000ffff)
1934 #define OTP_DATA_BOOTKEY3_0_RESET  "-"
1935 #define OTP_DATA_BOOTKEY3_0_WIDTH  _u(16)
1936 #define OTP_DATA_BOOTKEY3_0_MSB    _u(15)
1937 #define OTP_DATA_BOOTKEY3_0_LSB    _u(0)
1938 #define OTP_DATA_BOOTKEY3_0_ACCESS "RO"
1939 // =============================================================================
1940 // Register    : OTP_DATA_BOOTKEY3_1
1941 // Description : Bits 31:16 of SHA-256 hash of boot key 3 (ECC)
1942 #define OTP_DATA_BOOTKEY3_1_ROW _u(0x000000b1)
1943 #define OTP_DATA_BOOTKEY3_1_BITS   _u(0x0000ffff)
1944 #define OTP_DATA_BOOTKEY3_1_RESET  "-"
1945 #define OTP_DATA_BOOTKEY3_1_WIDTH  _u(16)
1946 #define OTP_DATA_BOOTKEY3_1_MSB    _u(15)
1947 #define OTP_DATA_BOOTKEY3_1_LSB    _u(0)
1948 #define OTP_DATA_BOOTKEY3_1_ACCESS "RO"
1949 // =============================================================================
1950 // Register    : OTP_DATA_BOOTKEY3_2
1951 // Description : Bits 47:32 of SHA-256 hash of boot key 3 (ECC)
1952 #define OTP_DATA_BOOTKEY3_2_ROW _u(0x000000b2)
1953 #define OTP_DATA_BOOTKEY3_2_BITS   _u(0x0000ffff)
1954 #define OTP_DATA_BOOTKEY3_2_RESET  "-"
1955 #define OTP_DATA_BOOTKEY3_2_WIDTH  _u(16)
1956 #define OTP_DATA_BOOTKEY3_2_MSB    _u(15)
1957 #define OTP_DATA_BOOTKEY3_2_LSB    _u(0)
1958 #define OTP_DATA_BOOTKEY3_2_ACCESS "RO"
1959 // =============================================================================
1960 // Register    : OTP_DATA_BOOTKEY3_3
1961 // Description : Bits 63:48 of SHA-256 hash of boot key 3 (ECC)
1962 #define OTP_DATA_BOOTKEY3_3_ROW _u(0x000000b3)
1963 #define OTP_DATA_BOOTKEY3_3_BITS   _u(0x0000ffff)
1964 #define OTP_DATA_BOOTKEY3_3_RESET  "-"
1965 #define OTP_DATA_BOOTKEY3_3_WIDTH  _u(16)
1966 #define OTP_DATA_BOOTKEY3_3_MSB    _u(15)
1967 #define OTP_DATA_BOOTKEY3_3_LSB    _u(0)
1968 #define OTP_DATA_BOOTKEY3_3_ACCESS "RO"
1969 // =============================================================================
1970 // Register    : OTP_DATA_BOOTKEY3_4
1971 // Description : Bits 79:64 of SHA-256 hash of boot key 3 (ECC)
1972 #define OTP_DATA_BOOTKEY3_4_ROW _u(0x000000b4)
1973 #define OTP_DATA_BOOTKEY3_4_BITS   _u(0x0000ffff)
1974 #define OTP_DATA_BOOTKEY3_4_RESET  "-"
1975 #define OTP_DATA_BOOTKEY3_4_WIDTH  _u(16)
1976 #define OTP_DATA_BOOTKEY3_4_MSB    _u(15)
1977 #define OTP_DATA_BOOTKEY3_4_LSB    _u(0)
1978 #define OTP_DATA_BOOTKEY3_4_ACCESS "RO"
1979 // =============================================================================
1980 // Register    : OTP_DATA_BOOTKEY3_5
1981 // Description : Bits 95:80 of SHA-256 hash of boot key 3 (ECC)
1982 #define OTP_DATA_BOOTKEY3_5_ROW _u(0x000000b5)
1983 #define OTP_DATA_BOOTKEY3_5_BITS   _u(0x0000ffff)
1984 #define OTP_DATA_BOOTKEY3_5_RESET  "-"
1985 #define OTP_DATA_BOOTKEY3_5_WIDTH  _u(16)
1986 #define OTP_DATA_BOOTKEY3_5_MSB    _u(15)
1987 #define OTP_DATA_BOOTKEY3_5_LSB    _u(0)
1988 #define OTP_DATA_BOOTKEY3_5_ACCESS "RO"
1989 // =============================================================================
1990 // Register    : OTP_DATA_BOOTKEY3_6
1991 // Description : Bits 111:96 of SHA-256 hash of boot key 3 (ECC)
1992 #define OTP_DATA_BOOTKEY3_6_ROW _u(0x000000b6)
1993 #define OTP_DATA_BOOTKEY3_6_BITS   _u(0x0000ffff)
1994 #define OTP_DATA_BOOTKEY3_6_RESET  "-"
1995 #define OTP_DATA_BOOTKEY3_6_WIDTH  _u(16)
1996 #define OTP_DATA_BOOTKEY3_6_MSB    _u(15)
1997 #define OTP_DATA_BOOTKEY3_6_LSB    _u(0)
1998 #define OTP_DATA_BOOTKEY3_6_ACCESS "RO"
1999 // =============================================================================
2000 // Register    : OTP_DATA_BOOTKEY3_7
2001 // Description : Bits 127:112 of SHA-256 hash of boot key 3 (ECC)
2002 #define OTP_DATA_BOOTKEY3_7_ROW _u(0x000000b7)
2003 #define OTP_DATA_BOOTKEY3_7_BITS   _u(0x0000ffff)
2004 #define OTP_DATA_BOOTKEY3_7_RESET  "-"
2005 #define OTP_DATA_BOOTKEY3_7_WIDTH  _u(16)
2006 #define OTP_DATA_BOOTKEY3_7_MSB    _u(15)
2007 #define OTP_DATA_BOOTKEY3_7_LSB    _u(0)
2008 #define OTP_DATA_BOOTKEY3_7_ACCESS "RO"
2009 // =============================================================================
2010 // Register    : OTP_DATA_BOOTKEY3_8
2011 // Description : Bits 143:128 of SHA-256 hash of boot key 3 (ECC)
2012 #define OTP_DATA_BOOTKEY3_8_ROW _u(0x000000b8)
2013 #define OTP_DATA_BOOTKEY3_8_BITS   _u(0x0000ffff)
2014 #define OTP_DATA_BOOTKEY3_8_RESET  "-"
2015 #define OTP_DATA_BOOTKEY3_8_WIDTH  _u(16)
2016 #define OTP_DATA_BOOTKEY3_8_MSB    _u(15)
2017 #define OTP_DATA_BOOTKEY3_8_LSB    _u(0)
2018 #define OTP_DATA_BOOTKEY3_8_ACCESS "RO"
2019 // =============================================================================
2020 // Register    : OTP_DATA_BOOTKEY3_9
2021 // Description : Bits 159:144 of SHA-256 hash of boot key 3 (ECC)
2022 #define OTP_DATA_BOOTKEY3_9_ROW _u(0x000000b9)
2023 #define OTP_DATA_BOOTKEY3_9_BITS   _u(0x0000ffff)
2024 #define OTP_DATA_BOOTKEY3_9_RESET  "-"
2025 #define OTP_DATA_BOOTKEY3_9_WIDTH  _u(16)
2026 #define OTP_DATA_BOOTKEY3_9_MSB    _u(15)
2027 #define OTP_DATA_BOOTKEY3_9_LSB    _u(0)
2028 #define OTP_DATA_BOOTKEY3_9_ACCESS "RO"
2029 // =============================================================================
2030 // Register    : OTP_DATA_BOOTKEY3_10
2031 // Description : Bits 175:160 of SHA-256 hash of boot key 3 (ECC)
2032 #define OTP_DATA_BOOTKEY3_10_ROW _u(0x000000ba)
2033 #define OTP_DATA_BOOTKEY3_10_BITS   _u(0x0000ffff)
2034 #define OTP_DATA_BOOTKEY3_10_RESET  "-"
2035 #define OTP_DATA_BOOTKEY3_10_WIDTH  _u(16)
2036 #define OTP_DATA_BOOTKEY3_10_MSB    _u(15)
2037 #define OTP_DATA_BOOTKEY3_10_LSB    _u(0)
2038 #define OTP_DATA_BOOTKEY3_10_ACCESS "RO"
2039 // =============================================================================
2040 // Register    : OTP_DATA_BOOTKEY3_11
2041 // Description : Bits 191:176 of SHA-256 hash of boot key 3 (ECC)
2042 #define OTP_DATA_BOOTKEY3_11_ROW _u(0x000000bb)
2043 #define OTP_DATA_BOOTKEY3_11_BITS   _u(0x0000ffff)
2044 #define OTP_DATA_BOOTKEY3_11_RESET  "-"
2045 #define OTP_DATA_BOOTKEY3_11_WIDTH  _u(16)
2046 #define OTP_DATA_BOOTKEY3_11_MSB    _u(15)
2047 #define OTP_DATA_BOOTKEY3_11_LSB    _u(0)
2048 #define OTP_DATA_BOOTKEY3_11_ACCESS "RO"
2049 // =============================================================================
2050 // Register    : OTP_DATA_BOOTKEY3_12
2051 // Description : Bits 207:192 of SHA-256 hash of boot key 3 (ECC)
2052 #define OTP_DATA_BOOTKEY3_12_ROW _u(0x000000bc)
2053 #define OTP_DATA_BOOTKEY3_12_BITS   _u(0x0000ffff)
2054 #define OTP_DATA_BOOTKEY3_12_RESET  "-"
2055 #define OTP_DATA_BOOTKEY3_12_WIDTH  _u(16)
2056 #define OTP_DATA_BOOTKEY3_12_MSB    _u(15)
2057 #define OTP_DATA_BOOTKEY3_12_LSB    _u(0)
2058 #define OTP_DATA_BOOTKEY3_12_ACCESS "RO"
2059 // =============================================================================
2060 // Register    : OTP_DATA_BOOTKEY3_13
2061 // Description : Bits 223:208 of SHA-256 hash of boot key 3 (ECC)
2062 #define OTP_DATA_BOOTKEY3_13_ROW _u(0x000000bd)
2063 #define OTP_DATA_BOOTKEY3_13_BITS   _u(0x0000ffff)
2064 #define OTP_DATA_BOOTKEY3_13_RESET  "-"
2065 #define OTP_DATA_BOOTKEY3_13_WIDTH  _u(16)
2066 #define OTP_DATA_BOOTKEY3_13_MSB    _u(15)
2067 #define OTP_DATA_BOOTKEY3_13_LSB    _u(0)
2068 #define OTP_DATA_BOOTKEY3_13_ACCESS "RO"
2069 // =============================================================================
2070 // Register    : OTP_DATA_BOOTKEY3_14
2071 // Description : Bits 239:224 of SHA-256 hash of boot key 3 (ECC)
2072 #define OTP_DATA_BOOTKEY3_14_ROW _u(0x000000be)
2073 #define OTP_DATA_BOOTKEY3_14_BITS   _u(0x0000ffff)
2074 #define OTP_DATA_BOOTKEY3_14_RESET  "-"
2075 #define OTP_DATA_BOOTKEY3_14_WIDTH  _u(16)
2076 #define OTP_DATA_BOOTKEY3_14_MSB    _u(15)
2077 #define OTP_DATA_BOOTKEY3_14_LSB    _u(0)
2078 #define OTP_DATA_BOOTKEY3_14_ACCESS "RO"
2079 // =============================================================================
2080 // Register    : OTP_DATA_BOOTKEY3_15
2081 // Description : Bits 255:240 of SHA-256 hash of boot key 3 (ECC)
2082 #define OTP_DATA_BOOTKEY3_15_ROW _u(0x000000bf)
2083 #define OTP_DATA_BOOTKEY3_15_BITS   _u(0x0000ffff)
2084 #define OTP_DATA_BOOTKEY3_15_RESET  "-"
2085 #define OTP_DATA_BOOTKEY3_15_WIDTH  _u(16)
2086 #define OTP_DATA_BOOTKEY3_15_MSB    _u(15)
2087 #define OTP_DATA_BOOTKEY3_15_LSB    _u(0)
2088 #define OTP_DATA_BOOTKEY3_15_ACCESS "RO"
2089 // =============================================================================
2090 // Register    : OTP_DATA_KEY1_0
2091 // Description : Bits 15:0 of OTP access key 1 (ECC)
2092 #define OTP_DATA_KEY1_0_ROW _u(0x00000f48)
2093 #define OTP_DATA_KEY1_0_BITS   _u(0x0000ffff)
2094 #define OTP_DATA_KEY1_0_RESET  "-"
2095 #define OTP_DATA_KEY1_0_WIDTH  _u(16)
2096 #define OTP_DATA_KEY1_0_MSB    _u(15)
2097 #define OTP_DATA_KEY1_0_LSB    _u(0)
2098 #define OTP_DATA_KEY1_0_ACCESS "RO"
2099 // =============================================================================
2100 // Register    : OTP_DATA_KEY1_1
2101 // Description : Bits 31:16 of OTP access key 1 (ECC)
2102 #define OTP_DATA_KEY1_1_ROW _u(0x00000f49)
2103 #define OTP_DATA_KEY1_1_BITS   _u(0x0000ffff)
2104 #define OTP_DATA_KEY1_1_RESET  "-"
2105 #define OTP_DATA_KEY1_1_WIDTH  _u(16)
2106 #define OTP_DATA_KEY1_1_MSB    _u(15)
2107 #define OTP_DATA_KEY1_1_LSB    _u(0)
2108 #define OTP_DATA_KEY1_1_ACCESS "RO"
2109 // =============================================================================
2110 // Register    : OTP_DATA_KEY1_2
2111 // Description : Bits 47:32 of OTP access key 1 (ECC)
2112 #define OTP_DATA_KEY1_2_ROW _u(0x00000f4a)
2113 #define OTP_DATA_KEY1_2_BITS   _u(0x0000ffff)
2114 #define OTP_DATA_KEY1_2_RESET  "-"
2115 #define OTP_DATA_KEY1_2_WIDTH  _u(16)
2116 #define OTP_DATA_KEY1_2_MSB    _u(15)
2117 #define OTP_DATA_KEY1_2_LSB    _u(0)
2118 #define OTP_DATA_KEY1_2_ACCESS "RO"
2119 // =============================================================================
2120 // Register    : OTP_DATA_KEY1_3
2121 // Description : Bits 63:48 of OTP access key 1 (ECC)
2122 #define OTP_DATA_KEY1_3_ROW _u(0x00000f4b)
2123 #define OTP_DATA_KEY1_3_BITS   _u(0x0000ffff)
2124 #define OTP_DATA_KEY1_3_RESET  "-"
2125 #define OTP_DATA_KEY1_3_WIDTH  _u(16)
2126 #define OTP_DATA_KEY1_3_MSB    _u(15)
2127 #define OTP_DATA_KEY1_3_LSB    _u(0)
2128 #define OTP_DATA_KEY1_3_ACCESS "RO"
2129 // =============================================================================
2130 // Register    : OTP_DATA_KEY1_4
2131 // Description : Bits 79:64 of OTP access key 1 (ECC)
2132 #define OTP_DATA_KEY1_4_ROW _u(0x00000f4c)
2133 #define OTP_DATA_KEY1_4_BITS   _u(0x0000ffff)
2134 #define OTP_DATA_KEY1_4_RESET  "-"
2135 #define OTP_DATA_KEY1_4_WIDTH  _u(16)
2136 #define OTP_DATA_KEY1_4_MSB    _u(15)
2137 #define OTP_DATA_KEY1_4_LSB    _u(0)
2138 #define OTP_DATA_KEY1_4_ACCESS "RO"
2139 // =============================================================================
2140 // Register    : OTP_DATA_KEY1_5
2141 // Description : Bits 95:80 of OTP access key 1 (ECC)
2142 #define OTP_DATA_KEY1_5_ROW _u(0x00000f4d)
2143 #define OTP_DATA_KEY1_5_BITS   _u(0x0000ffff)
2144 #define OTP_DATA_KEY1_5_RESET  "-"
2145 #define OTP_DATA_KEY1_5_WIDTH  _u(16)
2146 #define OTP_DATA_KEY1_5_MSB    _u(15)
2147 #define OTP_DATA_KEY1_5_LSB    _u(0)
2148 #define OTP_DATA_KEY1_5_ACCESS "RO"
2149 // =============================================================================
2150 // Register    : OTP_DATA_KEY1_6
2151 // Description : Bits 111:96 of OTP access key 1 (ECC)
2152 #define OTP_DATA_KEY1_6_ROW _u(0x00000f4e)
2153 #define OTP_DATA_KEY1_6_BITS   _u(0x0000ffff)
2154 #define OTP_DATA_KEY1_6_RESET  "-"
2155 #define OTP_DATA_KEY1_6_WIDTH  _u(16)
2156 #define OTP_DATA_KEY1_6_MSB    _u(15)
2157 #define OTP_DATA_KEY1_6_LSB    _u(0)
2158 #define OTP_DATA_KEY1_6_ACCESS "RO"
2159 // =============================================================================
2160 // Register    : OTP_DATA_KEY1_7
2161 // Description : Bits 127:112 of OTP access key 1 (ECC)
2162 #define OTP_DATA_KEY1_7_ROW _u(0x00000f4f)
2163 #define OTP_DATA_KEY1_7_BITS   _u(0x0000ffff)
2164 #define OTP_DATA_KEY1_7_RESET  "-"
2165 #define OTP_DATA_KEY1_7_WIDTH  _u(16)
2166 #define OTP_DATA_KEY1_7_MSB    _u(15)
2167 #define OTP_DATA_KEY1_7_LSB    _u(0)
2168 #define OTP_DATA_KEY1_7_ACCESS "RO"
2169 // =============================================================================
2170 // Register    : OTP_DATA_KEY2_0
2171 // Description : Bits 15:0 of OTP access key 2 (ECC)
2172 #define OTP_DATA_KEY2_0_ROW _u(0x00000f50)
2173 #define OTP_DATA_KEY2_0_BITS   _u(0x0000ffff)
2174 #define OTP_DATA_KEY2_0_RESET  "-"
2175 #define OTP_DATA_KEY2_0_WIDTH  _u(16)
2176 #define OTP_DATA_KEY2_0_MSB    _u(15)
2177 #define OTP_DATA_KEY2_0_LSB    _u(0)
2178 #define OTP_DATA_KEY2_0_ACCESS "RO"
2179 // =============================================================================
2180 // Register    : OTP_DATA_KEY2_1
2181 // Description : Bits 31:16 of OTP access key 2 (ECC)
2182 #define OTP_DATA_KEY2_1_ROW _u(0x00000f51)
2183 #define OTP_DATA_KEY2_1_BITS   _u(0x0000ffff)
2184 #define OTP_DATA_KEY2_1_RESET  "-"
2185 #define OTP_DATA_KEY2_1_WIDTH  _u(16)
2186 #define OTP_DATA_KEY2_1_MSB    _u(15)
2187 #define OTP_DATA_KEY2_1_LSB    _u(0)
2188 #define OTP_DATA_KEY2_1_ACCESS "RO"
2189 // =============================================================================
2190 // Register    : OTP_DATA_KEY2_2
2191 // Description : Bits 47:32 of OTP access key 2 (ECC)
2192 #define OTP_DATA_KEY2_2_ROW _u(0x00000f52)
2193 #define OTP_DATA_KEY2_2_BITS   _u(0x0000ffff)
2194 #define OTP_DATA_KEY2_2_RESET  "-"
2195 #define OTP_DATA_KEY2_2_WIDTH  _u(16)
2196 #define OTP_DATA_KEY2_2_MSB    _u(15)
2197 #define OTP_DATA_KEY2_2_LSB    _u(0)
2198 #define OTP_DATA_KEY2_2_ACCESS "RO"
2199 // =============================================================================
2200 // Register    : OTP_DATA_KEY2_3
2201 // Description : Bits 63:48 of OTP access key 2 (ECC)
2202 #define OTP_DATA_KEY2_3_ROW _u(0x00000f53)
2203 #define OTP_DATA_KEY2_3_BITS   _u(0x0000ffff)
2204 #define OTP_DATA_KEY2_3_RESET  "-"
2205 #define OTP_DATA_KEY2_3_WIDTH  _u(16)
2206 #define OTP_DATA_KEY2_3_MSB    _u(15)
2207 #define OTP_DATA_KEY2_3_LSB    _u(0)
2208 #define OTP_DATA_KEY2_3_ACCESS "RO"
2209 // =============================================================================
2210 // Register    : OTP_DATA_KEY2_4
2211 // Description : Bits 79:64 of OTP access key 2 (ECC)
2212 #define OTP_DATA_KEY2_4_ROW _u(0x00000f54)
2213 #define OTP_DATA_KEY2_4_BITS   _u(0x0000ffff)
2214 #define OTP_DATA_KEY2_4_RESET  "-"
2215 #define OTP_DATA_KEY2_4_WIDTH  _u(16)
2216 #define OTP_DATA_KEY2_4_MSB    _u(15)
2217 #define OTP_DATA_KEY2_4_LSB    _u(0)
2218 #define OTP_DATA_KEY2_4_ACCESS "RO"
2219 // =============================================================================
2220 // Register    : OTP_DATA_KEY2_5
2221 // Description : Bits 95:80 of OTP access key 2 (ECC)
2222 #define OTP_DATA_KEY2_5_ROW _u(0x00000f55)
2223 #define OTP_DATA_KEY2_5_BITS   _u(0x0000ffff)
2224 #define OTP_DATA_KEY2_5_RESET  "-"
2225 #define OTP_DATA_KEY2_5_WIDTH  _u(16)
2226 #define OTP_DATA_KEY2_5_MSB    _u(15)
2227 #define OTP_DATA_KEY2_5_LSB    _u(0)
2228 #define OTP_DATA_KEY2_5_ACCESS "RO"
2229 // =============================================================================
2230 // Register    : OTP_DATA_KEY2_6
2231 // Description : Bits 111:96 of OTP access key 2 (ECC)
2232 #define OTP_DATA_KEY2_6_ROW _u(0x00000f56)
2233 #define OTP_DATA_KEY2_6_BITS   _u(0x0000ffff)
2234 #define OTP_DATA_KEY2_6_RESET  "-"
2235 #define OTP_DATA_KEY2_6_WIDTH  _u(16)
2236 #define OTP_DATA_KEY2_6_MSB    _u(15)
2237 #define OTP_DATA_KEY2_6_LSB    _u(0)
2238 #define OTP_DATA_KEY2_6_ACCESS "RO"
2239 // =============================================================================
2240 // Register    : OTP_DATA_KEY2_7
2241 // Description : Bits 127:112 of OTP access key 2 (ECC)
2242 #define OTP_DATA_KEY2_7_ROW _u(0x00000f57)
2243 #define OTP_DATA_KEY2_7_BITS   _u(0x0000ffff)
2244 #define OTP_DATA_KEY2_7_RESET  "-"
2245 #define OTP_DATA_KEY2_7_WIDTH  _u(16)
2246 #define OTP_DATA_KEY2_7_MSB    _u(15)
2247 #define OTP_DATA_KEY2_7_LSB    _u(0)
2248 #define OTP_DATA_KEY2_7_ACCESS "RO"
2249 // =============================================================================
2250 // Register    : OTP_DATA_KEY3_0
2251 // Description : Bits 15:0 of OTP access key 3 (ECC)
2252 #define OTP_DATA_KEY3_0_ROW _u(0x00000f58)
2253 #define OTP_DATA_KEY3_0_BITS   _u(0x0000ffff)
2254 #define OTP_DATA_KEY3_0_RESET  "-"
2255 #define OTP_DATA_KEY3_0_WIDTH  _u(16)
2256 #define OTP_DATA_KEY3_0_MSB    _u(15)
2257 #define OTP_DATA_KEY3_0_LSB    _u(0)
2258 #define OTP_DATA_KEY3_0_ACCESS "RO"
2259 // =============================================================================
2260 // Register    : OTP_DATA_KEY3_1
2261 // Description : Bits 31:16 of OTP access key 3 (ECC)
2262 #define OTP_DATA_KEY3_1_ROW _u(0x00000f59)
2263 #define OTP_DATA_KEY3_1_BITS   _u(0x0000ffff)
2264 #define OTP_DATA_KEY3_1_RESET  "-"
2265 #define OTP_DATA_KEY3_1_WIDTH  _u(16)
2266 #define OTP_DATA_KEY3_1_MSB    _u(15)
2267 #define OTP_DATA_KEY3_1_LSB    _u(0)
2268 #define OTP_DATA_KEY3_1_ACCESS "RO"
2269 // =============================================================================
2270 // Register    : OTP_DATA_KEY3_2
2271 // Description : Bits 47:32 of OTP access key 3 (ECC)
2272 #define OTP_DATA_KEY3_2_ROW _u(0x00000f5a)
2273 #define OTP_DATA_KEY3_2_BITS   _u(0x0000ffff)
2274 #define OTP_DATA_KEY3_2_RESET  "-"
2275 #define OTP_DATA_KEY3_2_WIDTH  _u(16)
2276 #define OTP_DATA_KEY3_2_MSB    _u(15)
2277 #define OTP_DATA_KEY3_2_LSB    _u(0)
2278 #define OTP_DATA_KEY3_2_ACCESS "RO"
2279 // =============================================================================
2280 // Register    : OTP_DATA_KEY3_3
2281 // Description : Bits 63:48 of OTP access key 3 (ECC)
2282 #define OTP_DATA_KEY3_3_ROW _u(0x00000f5b)
2283 #define OTP_DATA_KEY3_3_BITS   _u(0x0000ffff)
2284 #define OTP_DATA_KEY3_3_RESET  "-"
2285 #define OTP_DATA_KEY3_3_WIDTH  _u(16)
2286 #define OTP_DATA_KEY3_3_MSB    _u(15)
2287 #define OTP_DATA_KEY3_3_LSB    _u(0)
2288 #define OTP_DATA_KEY3_3_ACCESS "RO"
2289 // =============================================================================
2290 // Register    : OTP_DATA_KEY3_4
2291 // Description : Bits 79:64 of OTP access key 3 (ECC)
2292 #define OTP_DATA_KEY3_4_ROW _u(0x00000f5c)
2293 #define OTP_DATA_KEY3_4_BITS   _u(0x0000ffff)
2294 #define OTP_DATA_KEY3_4_RESET  "-"
2295 #define OTP_DATA_KEY3_4_WIDTH  _u(16)
2296 #define OTP_DATA_KEY3_4_MSB    _u(15)
2297 #define OTP_DATA_KEY3_4_LSB    _u(0)
2298 #define OTP_DATA_KEY3_4_ACCESS "RO"
2299 // =============================================================================
2300 // Register    : OTP_DATA_KEY3_5
2301 // Description : Bits 95:80 of OTP access key 3 (ECC)
2302 #define OTP_DATA_KEY3_5_ROW _u(0x00000f5d)
2303 #define OTP_DATA_KEY3_5_BITS   _u(0x0000ffff)
2304 #define OTP_DATA_KEY3_5_RESET  "-"
2305 #define OTP_DATA_KEY3_5_WIDTH  _u(16)
2306 #define OTP_DATA_KEY3_5_MSB    _u(15)
2307 #define OTP_DATA_KEY3_5_LSB    _u(0)
2308 #define OTP_DATA_KEY3_5_ACCESS "RO"
2309 // =============================================================================
2310 // Register    : OTP_DATA_KEY3_6
2311 // Description : Bits 111:96 of OTP access key 3 (ECC)
2312 #define OTP_DATA_KEY3_6_ROW _u(0x00000f5e)
2313 #define OTP_DATA_KEY3_6_BITS   _u(0x0000ffff)
2314 #define OTP_DATA_KEY3_6_RESET  "-"
2315 #define OTP_DATA_KEY3_6_WIDTH  _u(16)
2316 #define OTP_DATA_KEY3_6_MSB    _u(15)
2317 #define OTP_DATA_KEY3_6_LSB    _u(0)
2318 #define OTP_DATA_KEY3_6_ACCESS "RO"
2319 // =============================================================================
2320 // Register    : OTP_DATA_KEY3_7
2321 // Description : Bits 127:112 of OTP access key 3 (ECC)
2322 #define OTP_DATA_KEY3_7_ROW _u(0x00000f5f)
2323 #define OTP_DATA_KEY3_7_BITS   _u(0x0000ffff)
2324 #define OTP_DATA_KEY3_7_RESET  "-"
2325 #define OTP_DATA_KEY3_7_WIDTH  _u(16)
2326 #define OTP_DATA_KEY3_7_MSB    _u(15)
2327 #define OTP_DATA_KEY3_7_LSB    _u(0)
2328 #define OTP_DATA_KEY3_7_ACCESS "RO"
2329 // =============================================================================
2330 // Register    : OTP_DATA_KEY4_0
2331 // Description : Bits 15:0 of OTP access key 4 (ECC)
2332 #define OTP_DATA_KEY4_0_ROW _u(0x00000f60)
2333 #define OTP_DATA_KEY4_0_BITS   _u(0x0000ffff)
2334 #define OTP_DATA_KEY4_0_RESET  "-"
2335 #define OTP_DATA_KEY4_0_WIDTH  _u(16)
2336 #define OTP_DATA_KEY4_0_MSB    _u(15)
2337 #define OTP_DATA_KEY4_0_LSB    _u(0)
2338 #define OTP_DATA_KEY4_0_ACCESS "RO"
2339 // =============================================================================
2340 // Register    : OTP_DATA_KEY4_1
2341 // Description : Bits 31:16 of OTP access key 4 (ECC)
2342 #define OTP_DATA_KEY4_1_ROW _u(0x00000f61)
2343 #define OTP_DATA_KEY4_1_BITS   _u(0x0000ffff)
2344 #define OTP_DATA_KEY4_1_RESET  "-"
2345 #define OTP_DATA_KEY4_1_WIDTH  _u(16)
2346 #define OTP_DATA_KEY4_1_MSB    _u(15)
2347 #define OTP_DATA_KEY4_1_LSB    _u(0)
2348 #define OTP_DATA_KEY4_1_ACCESS "RO"
2349 // =============================================================================
2350 // Register    : OTP_DATA_KEY4_2
2351 // Description : Bits 47:32 of OTP access key 4 (ECC)
2352 #define OTP_DATA_KEY4_2_ROW _u(0x00000f62)
2353 #define OTP_DATA_KEY4_2_BITS   _u(0x0000ffff)
2354 #define OTP_DATA_KEY4_2_RESET  "-"
2355 #define OTP_DATA_KEY4_2_WIDTH  _u(16)
2356 #define OTP_DATA_KEY4_2_MSB    _u(15)
2357 #define OTP_DATA_KEY4_2_LSB    _u(0)
2358 #define OTP_DATA_KEY4_2_ACCESS "RO"
2359 // =============================================================================
2360 // Register    : OTP_DATA_KEY4_3
2361 // Description : Bits 63:48 of OTP access key 4 (ECC)
2362 #define OTP_DATA_KEY4_3_ROW _u(0x00000f63)
2363 #define OTP_DATA_KEY4_3_BITS   _u(0x0000ffff)
2364 #define OTP_DATA_KEY4_3_RESET  "-"
2365 #define OTP_DATA_KEY4_3_WIDTH  _u(16)
2366 #define OTP_DATA_KEY4_3_MSB    _u(15)
2367 #define OTP_DATA_KEY4_3_LSB    _u(0)
2368 #define OTP_DATA_KEY4_3_ACCESS "RO"
2369 // =============================================================================
2370 // Register    : OTP_DATA_KEY4_4
2371 // Description : Bits 79:64 of OTP access key 4 (ECC)
2372 #define OTP_DATA_KEY4_4_ROW _u(0x00000f64)
2373 #define OTP_DATA_KEY4_4_BITS   _u(0x0000ffff)
2374 #define OTP_DATA_KEY4_4_RESET  "-"
2375 #define OTP_DATA_KEY4_4_WIDTH  _u(16)
2376 #define OTP_DATA_KEY4_4_MSB    _u(15)
2377 #define OTP_DATA_KEY4_4_LSB    _u(0)
2378 #define OTP_DATA_KEY4_4_ACCESS "RO"
2379 // =============================================================================
2380 // Register    : OTP_DATA_KEY4_5
2381 // Description : Bits 95:80 of OTP access key 4 (ECC)
2382 #define OTP_DATA_KEY4_5_ROW _u(0x00000f65)
2383 #define OTP_DATA_KEY4_5_BITS   _u(0x0000ffff)
2384 #define OTP_DATA_KEY4_5_RESET  "-"
2385 #define OTP_DATA_KEY4_5_WIDTH  _u(16)
2386 #define OTP_DATA_KEY4_5_MSB    _u(15)
2387 #define OTP_DATA_KEY4_5_LSB    _u(0)
2388 #define OTP_DATA_KEY4_5_ACCESS "RO"
2389 // =============================================================================
2390 // Register    : OTP_DATA_KEY4_6
2391 // Description : Bits 111:96 of OTP access key 4 (ECC)
2392 #define OTP_DATA_KEY4_6_ROW _u(0x00000f66)
2393 #define OTP_DATA_KEY4_6_BITS   _u(0x0000ffff)
2394 #define OTP_DATA_KEY4_6_RESET  "-"
2395 #define OTP_DATA_KEY4_6_WIDTH  _u(16)
2396 #define OTP_DATA_KEY4_6_MSB    _u(15)
2397 #define OTP_DATA_KEY4_6_LSB    _u(0)
2398 #define OTP_DATA_KEY4_6_ACCESS "RO"
2399 // =============================================================================
2400 // Register    : OTP_DATA_KEY4_7
2401 // Description : Bits 127:112 of OTP access key 4 (ECC)
2402 #define OTP_DATA_KEY4_7_ROW _u(0x00000f67)
2403 #define OTP_DATA_KEY4_7_BITS   _u(0x0000ffff)
2404 #define OTP_DATA_KEY4_7_RESET  "-"
2405 #define OTP_DATA_KEY4_7_WIDTH  _u(16)
2406 #define OTP_DATA_KEY4_7_MSB    _u(15)
2407 #define OTP_DATA_KEY4_7_LSB    _u(0)
2408 #define OTP_DATA_KEY4_7_ACCESS "RO"
2409 // =============================================================================
2410 // Register    : OTP_DATA_KEY5_0
2411 // Description : Bits 15:0 of OTP access key 5 (ECC)
2412 #define OTP_DATA_KEY5_0_ROW _u(0x00000f68)
2413 #define OTP_DATA_KEY5_0_BITS   _u(0x0000ffff)
2414 #define OTP_DATA_KEY5_0_RESET  "-"
2415 #define OTP_DATA_KEY5_0_WIDTH  _u(16)
2416 #define OTP_DATA_KEY5_0_MSB    _u(15)
2417 #define OTP_DATA_KEY5_0_LSB    _u(0)
2418 #define OTP_DATA_KEY5_0_ACCESS "RO"
2419 // =============================================================================
2420 // Register    : OTP_DATA_KEY5_1
2421 // Description : Bits 31:16 of OTP access key 5 (ECC)
2422 #define OTP_DATA_KEY5_1_ROW _u(0x00000f69)
2423 #define OTP_DATA_KEY5_1_BITS   _u(0x0000ffff)
2424 #define OTP_DATA_KEY5_1_RESET  "-"
2425 #define OTP_DATA_KEY5_1_WIDTH  _u(16)
2426 #define OTP_DATA_KEY5_1_MSB    _u(15)
2427 #define OTP_DATA_KEY5_1_LSB    _u(0)
2428 #define OTP_DATA_KEY5_1_ACCESS "RO"
2429 // =============================================================================
2430 // Register    : OTP_DATA_KEY5_2
2431 // Description : Bits 47:32 of OTP access key 5 (ECC)
2432 #define OTP_DATA_KEY5_2_ROW _u(0x00000f6a)
2433 #define OTP_DATA_KEY5_2_BITS   _u(0x0000ffff)
2434 #define OTP_DATA_KEY5_2_RESET  "-"
2435 #define OTP_DATA_KEY5_2_WIDTH  _u(16)
2436 #define OTP_DATA_KEY5_2_MSB    _u(15)
2437 #define OTP_DATA_KEY5_2_LSB    _u(0)
2438 #define OTP_DATA_KEY5_2_ACCESS "RO"
2439 // =============================================================================
2440 // Register    : OTP_DATA_KEY5_3
2441 // Description : Bits 63:48 of OTP access key 5 (ECC)
2442 #define OTP_DATA_KEY5_3_ROW _u(0x00000f6b)
2443 #define OTP_DATA_KEY5_3_BITS   _u(0x0000ffff)
2444 #define OTP_DATA_KEY5_3_RESET  "-"
2445 #define OTP_DATA_KEY5_3_WIDTH  _u(16)
2446 #define OTP_DATA_KEY5_3_MSB    _u(15)
2447 #define OTP_DATA_KEY5_3_LSB    _u(0)
2448 #define OTP_DATA_KEY5_3_ACCESS "RO"
2449 // =============================================================================
2450 // Register    : OTP_DATA_KEY5_4
2451 // Description : Bits 79:64 of OTP access key 5 (ECC)
2452 #define OTP_DATA_KEY5_4_ROW _u(0x00000f6c)
2453 #define OTP_DATA_KEY5_4_BITS   _u(0x0000ffff)
2454 #define OTP_DATA_KEY5_4_RESET  "-"
2455 #define OTP_DATA_KEY5_4_WIDTH  _u(16)
2456 #define OTP_DATA_KEY5_4_MSB    _u(15)
2457 #define OTP_DATA_KEY5_4_LSB    _u(0)
2458 #define OTP_DATA_KEY5_4_ACCESS "RO"
2459 // =============================================================================
2460 // Register    : OTP_DATA_KEY5_5
2461 // Description : Bits 95:80 of OTP access key 5 (ECC)
2462 #define OTP_DATA_KEY5_5_ROW _u(0x00000f6d)
2463 #define OTP_DATA_KEY5_5_BITS   _u(0x0000ffff)
2464 #define OTP_DATA_KEY5_5_RESET  "-"
2465 #define OTP_DATA_KEY5_5_WIDTH  _u(16)
2466 #define OTP_DATA_KEY5_5_MSB    _u(15)
2467 #define OTP_DATA_KEY5_5_LSB    _u(0)
2468 #define OTP_DATA_KEY5_5_ACCESS "RO"
2469 // =============================================================================
2470 // Register    : OTP_DATA_KEY5_6
2471 // Description : Bits 111:96 of OTP access key 5 (ECC)
2472 #define OTP_DATA_KEY5_6_ROW _u(0x00000f6e)
2473 #define OTP_DATA_KEY5_6_BITS   _u(0x0000ffff)
2474 #define OTP_DATA_KEY5_6_RESET  "-"
2475 #define OTP_DATA_KEY5_6_WIDTH  _u(16)
2476 #define OTP_DATA_KEY5_6_MSB    _u(15)
2477 #define OTP_DATA_KEY5_6_LSB    _u(0)
2478 #define OTP_DATA_KEY5_6_ACCESS "RO"
2479 // =============================================================================
2480 // Register    : OTP_DATA_KEY5_7
2481 // Description : Bits 127:112 of OTP access key 5 (ECC)
2482 #define OTP_DATA_KEY5_7_ROW _u(0x00000f6f)
2483 #define OTP_DATA_KEY5_7_BITS   _u(0x0000ffff)
2484 #define OTP_DATA_KEY5_7_RESET  "-"
2485 #define OTP_DATA_KEY5_7_WIDTH  _u(16)
2486 #define OTP_DATA_KEY5_7_MSB    _u(15)
2487 #define OTP_DATA_KEY5_7_LSB    _u(0)
2488 #define OTP_DATA_KEY5_7_ACCESS "RO"
2489 // =============================================================================
2490 // Register    : OTP_DATA_KEY6_0
2491 // Description : Bits 15:0 of OTP access key 6 (ECC)
2492 #define OTP_DATA_KEY6_0_ROW _u(0x00000f70)
2493 #define OTP_DATA_KEY6_0_BITS   _u(0x0000ffff)
2494 #define OTP_DATA_KEY6_0_RESET  "-"
2495 #define OTP_DATA_KEY6_0_WIDTH  _u(16)
2496 #define OTP_DATA_KEY6_0_MSB    _u(15)
2497 #define OTP_DATA_KEY6_0_LSB    _u(0)
2498 #define OTP_DATA_KEY6_0_ACCESS "RO"
2499 // =============================================================================
2500 // Register    : OTP_DATA_KEY6_1
2501 // Description : Bits 31:16 of OTP access key 6 (ECC)
2502 #define OTP_DATA_KEY6_1_ROW _u(0x00000f71)
2503 #define OTP_DATA_KEY6_1_BITS   _u(0x0000ffff)
2504 #define OTP_DATA_KEY6_1_RESET  "-"
2505 #define OTP_DATA_KEY6_1_WIDTH  _u(16)
2506 #define OTP_DATA_KEY6_1_MSB    _u(15)
2507 #define OTP_DATA_KEY6_1_LSB    _u(0)
2508 #define OTP_DATA_KEY6_1_ACCESS "RO"
2509 // =============================================================================
2510 // Register    : OTP_DATA_KEY6_2
2511 // Description : Bits 47:32 of OTP access key 6 (ECC)
2512 #define OTP_DATA_KEY6_2_ROW _u(0x00000f72)
2513 #define OTP_DATA_KEY6_2_BITS   _u(0x0000ffff)
2514 #define OTP_DATA_KEY6_2_RESET  "-"
2515 #define OTP_DATA_KEY6_2_WIDTH  _u(16)
2516 #define OTP_DATA_KEY6_2_MSB    _u(15)
2517 #define OTP_DATA_KEY6_2_LSB    _u(0)
2518 #define OTP_DATA_KEY6_2_ACCESS "RO"
2519 // =============================================================================
2520 // Register    : OTP_DATA_KEY6_3
2521 // Description : Bits 63:48 of OTP access key 6 (ECC)
2522 #define OTP_DATA_KEY6_3_ROW _u(0x00000f73)
2523 #define OTP_DATA_KEY6_3_BITS   _u(0x0000ffff)
2524 #define OTP_DATA_KEY6_3_RESET  "-"
2525 #define OTP_DATA_KEY6_3_WIDTH  _u(16)
2526 #define OTP_DATA_KEY6_3_MSB    _u(15)
2527 #define OTP_DATA_KEY6_3_LSB    _u(0)
2528 #define OTP_DATA_KEY6_3_ACCESS "RO"
2529 // =============================================================================
2530 // Register    : OTP_DATA_KEY6_4
2531 // Description : Bits 79:64 of OTP access key 6 (ECC)
2532 #define OTP_DATA_KEY6_4_ROW _u(0x00000f74)
2533 #define OTP_DATA_KEY6_4_BITS   _u(0x0000ffff)
2534 #define OTP_DATA_KEY6_4_RESET  "-"
2535 #define OTP_DATA_KEY6_4_WIDTH  _u(16)
2536 #define OTP_DATA_KEY6_4_MSB    _u(15)
2537 #define OTP_DATA_KEY6_4_LSB    _u(0)
2538 #define OTP_DATA_KEY6_4_ACCESS "RO"
2539 // =============================================================================
2540 // Register    : OTP_DATA_KEY6_5
2541 // Description : Bits 95:80 of OTP access key 6 (ECC)
2542 #define OTP_DATA_KEY6_5_ROW _u(0x00000f75)
2543 #define OTP_DATA_KEY6_5_BITS   _u(0x0000ffff)
2544 #define OTP_DATA_KEY6_5_RESET  "-"
2545 #define OTP_DATA_KEY6_5_WIDTH  _u(16)
2546 #define OTP_DATA_KEY6_5_MSB    _u(15)
2547 #define OTP_DATA_KEY6_5_LSB    _u(0)
2548 #define OTP_DATA_KEY6_5_ACCESS "RO"
2549 // =============================================================================
2550 // Register    : OTP_DATA_KEY6_6
2551 // Description : Bits 111:96 of OTP access key 6 (ECC)
2552 #define OTP_DATA_KEY6_6_ROW _u(0x00000f76)
2553 #define OTP_DATA_KEY6_6_BITS   _u(0x0000ffff)
2554 #define OTP_DATA_KEY6_6_RESET  "-"
2555 #define OTP_DATA_KEY6_6_WIDTH  _u(16)
2556 #define OTP_DATA_KEY6_6_MSB    _u(15)
2557 #define OTP_DATA_KEY6_6_LSB    _u(0)
2558 #define OTP_DATA_KEY6_6_ACCESS "RO"
2559 // =============================================================================
2560 // Register    : OTP_DATA_KEY6_7
2561 // Description : Bits 127:112 of OTP access key 6 (ECC)
2562 #define OTP_DATA_KEY6_7_ROW _u(0x00000f77)
2563 #define OTP_DATA_KEY6_7_BITS   _u(0x0000ffff)
2564 #define OTP_DATA_KEY6_7_RESET  "-"
2565 #define OTP_DATA_KEY6_7_WIDTH  _u(16)
2566 #define OTP_DATA_KEY6_7_MSB    _u(15)
2567 #define OTP_DATA_KEY6_7_LSB    _u(0)
2568 #define OTP_DATA_KEY6_7_ACCESS "RO"
2569 // =============================================================================
2570 // Register    : OTP_DATA_KEY1_VALID
2571 // Description : Valid flag for key 1. Once the valid flag is set, the key can
2572 //               no longer be read or written, and becomes a valid fixed key for
2573 //               protecting OTP pages.
2574 #define OTP_DATA_KEY1_VALID_ROW _u(0x00000f79)
2575 #define OTP_DATA_KEY1_VALID_BITS   _u(0x00010101)
2576 #define OTP_DATA_KEY1_VALID_RESET  _u(0x00000000)
2577 #define OTP_DATA_KEY1_VALID_WIDTH  _u(24)
2578 // -----------------------------------------------------------------------------
2579 // Field       : OTP_DATA_KEY1_VALID_VALID_R2
2580 // Description : Redundant copy of VALID, with 3-way majority vote
2581 #define OTP_DATA_KEY1_VALID_VALID_R2_RESET  "-"
2582 #define OTP_DATA_KEY1_VALID_VALID_R2_BITS   _u(0x00010000)
2583 #define OTP_DATA_KEY1_VALID_VALID_R2_MSB    _u(16)
2584 #define OTP_DATA_KEY1_VALID_VALID_R2_LSB    _u(16)
2585 #define OTP_DATA_KEY1_VALID_VALID_R2_ACCESS "RO"
2586 // -----------------------------------------------------------------------------
2587 // Field       : OTP_DATA_KEY1_VALID_VALID_R1
2588 // Description : Redundant copy of VALID, with 3-way majority vote
2589 #define OTP_DATA_KEY1_VALID_VALID_R1_RESET  "-"
2590 #define OTP_DATA_KEY1_VALID_VALID_R1_BITS   _u(0x00000100)
2591 #define OTP_DATA_KEY1_VALID_VALID_R1_MSB    _u(8)
2592 #define OTP_DATA_KEY1_VALID_VALID_R1_LSB    _u(8)
2593 #define OTP_DATA_KEY1_VALID_VALID_R1_ACCESS "RO"
2594 // -----------------------------------------------------------------------------
2595 // Field       : OTP_DATA_KEY1_VALID_VALID
2596 #define OTP_DATA_KEY1_VALID_VALID_RESET  "-"
2597 #define OTP_DATA_KEY1_VALID_VALID_BITS   _u(0x00000001)
2598 #define OTP_DATA_KEY1_VALID_VALID_MSB    _u(0)
2599 #define OTP_DATA_KEY1_VALID_VALID_LSB    _u(0)
2600 #define OTP_DATA_KEY1_VALID_VALID_ACCESS "RO"
2601 // =============================================================================
2602 // Register    : OTP_DATA_KEY2_VALID
2603 // Description : Valid flag for key 2. Once the valid flag is set, the key can
2604 //               no longer be read or written, and becomes a valid fixed key for
2605 //               protecting OTP pages.
2606 #define OTP_DATA_KEY2_VALID_ROW _u(0x00000f7a)
2607 #define OTP_DATA_KEY2_VALID_BITS   _u(0x00010101)
2608 #define OTP_DATA_KEY2_VALID_RESET  _u(0x00000000)
2609 #define OTP_DATA_KEY2_VALID_WIDTH  _u(24)
2610 // -----------------------------------------------------------------------------
2611 // Field       : OTP_DATA_KEY2_VALID_VALID_R2
2612 // Description : Redundant copy of VALID, with 3-way majority vote
2613 #define OTP_DATA_KEY2_VALID_VALID_R2_RESET  "-"
2614 #define OTP_DATA_KEY2_VALID_VALID_R2_BITS   _u(0x00010000)
2615 #define OTP_DATA_KEY2_VALID_VALID_R2_MSB    _u(16)
2616 #define OTP_DATA_KEY2_VALID_VALID_R2_LSB    _u(16)
2617 #define OTP_DATA_KEY2_VALID_VALID_R2_ACCESS "RO"
2618 // -----------------------------------------------------------------------------
2619 // Field       : OTP_DATA_KEY2_VALID_VALID_R1
2620 // Description : Redundant copy of VALID, with 3-way majority vote
2621 #define OTP_DATA_KEY2_VALID_VALID_R1_RESET  "-"
2622 #define OTP_DATA_KEY2_VALID_VALID_R1_BITS   _u(0x00000100)
2623 #define OTP_DATA_KEY2_VALID_VALID_R1_MSB    _u(8)
2624 #define OTP_DATA_KEY2_VALID_VALID_R1_LSB    _u(8)
2625 #define OTP_DATA_KEY2_VALID_VALID_R1_ACCESS "RO"
2626 // -----------------------------------------------------------------------------
2627 // Field       : OTP_DATA_KEY2_VALID_VALID
2628 #define OTP_DATA_KEY2_VALID_VALID_RESET  "-"
2629 #define OTP_DATA_KEY2_VALID_VALID_BITS   _u(0x00000001)
2630 #define OTP_DATA_KEY2_VALID_VALID_MSB    _u(0)
2631 #define OTP_DATA_KEY2_VALID_VALID_LSB    _u(0)
2632 #define OTP_DATA_KEY2_VALID_VALID_ACCESS "RO"
2633 // =============================================================================
2634 // Register    : OTP_DATA_KEY3_VALID
2635 // Description : Valid flag for key 3. Once the valid flag is set, the key can
2636 //               no longer be read or written, and becomes a valid fixed key for
2637 //               protecting OTP pages.
2638 #define OTP_DATA_KEY3_VALID_ROW _u(0x00000f7b)
2639 #define OTP_DATA_KEY3_VALID_BITS   _u(0x00010101)
2640 #define OTP_DATA_KEY3_VALID_RESET  _u(0x00000000)
2641 #define OTP_DATA_KEY3_VALID_WIDTH  _u(24)
2642 // -----------------------------------------------------------------------------
2643 // Field       : OTP_DATA_KEY3_VALID_VALID_R2
2644 // Description : Redundant copy of VALID, with 3-way majority vote
2645 #define OTP_DATA_KEY3_VALID_VALID_R2_RESET  "-"
2646 #define OTP_DATA_KEY3_VALID_VALID_R2_BITS   _u(0x00010000)
2647 #define OTP_DATA_KEY3_VALID_VALID_R2_MSB    _u(16)
2648 #define OTP_DATA_KEY3_VALID_VALID_R2_LSB    _u(16)
2649 #define OTP_DATA_KEY3_VALID_VALID_R2_ACCESS "RO"
2650 // -----------------------------------------------------------------------------
2651 // Field       : OTP_DATA_KEY3_VALID_VALID_R1
2652 // Description : Redundant copy of VALID, with 3-way majority vote
2653 #define OTP_DATA_KEY3_VALID_VALID_R1_RESET  "-"
2654 #define OTP_DATA_KEY3_VALID_VALID_R1_BITS   _u(0x00000100)
2655 #define OTP_DATA_KEY3_VALID_VALID_R1_MSB    _u(8)
2656 #define OTP_DATA_KEY3_VALID_VALID_R1_LSB    _u(8)
2657 #define OTP_DATA_KEY3_VALID_VALID_R1_ACCESS "RO"
2658 // -----------------------------------------------------------------------------
2659 // Field       : OTP_DATA_KEY3_VALID_VALID
2660 #define OTP_DATA_KEY3_VALID_VALID_RESET  "-"
2661 #define OTP_DATA_KEY3_VALID_VALID_BITS   _u(0x00000001)
2662 #define OTP_DATA_KEY3_VALID_VALID_MSB    _u(0)
2663 #define OTP_DATA_KEY3_VALID_VALID_LSB    _u(0)
2664 #define OTP_DATA_KEY3_VALID_VALID_ACCESS "RO"
2665 // =============================================================================
2666 // Register    : OTP_DATA_KEY4_VALID
2667 // Description : Valid flag for key 4. Once the valid flag is set, the key can
2668 //               no longer be read or written, and becomes a valid fixed key for
2669 //               protecting OTP pages.
2670 #define OTP_DATA_KEY4_VALID_ROW _u(0x00000f7c)
2671 #define OTP_DATA_KEY4_VALID_BITS   _u(0x00010101)
2672 #define OTP_DATA_KEY4_VALID_RESET  _u(0x00000000)
2673 #define OTP_DATA_KEY4_VALID_WIDTH  _u(24)
2674 // -----------------------------------------------------------------------------
2675 // Field       : OTP_DATA_KEY4_VALID_VALID_R2
2676 // Description : Redundant copy of VALID, with 3-way majority vote
2677 #define OTP_DATA_KEY4_VALID_VALID_R2_RESET  "-"
2678 #define OTP_DATA_KEY4_VALID_VALID_R2_BITS   _u(0x00010000)
2679 #define OTP_DATA_KEY4_VALID_VALID_R2_MSB    _u(16)
2680 #define OTP_DATA_KEY4_VALID_VALID_R2_LSB    _u(16)
2681 #define OTP_DATA_KEY4_VALID_VALID_R2_ACCESS "RO"
2682 // -----------------------------------------------------------------------------
2683 // Field       : OTP_DATA_KEY4_VALID_VALID_R1
2684 // Description : Redundant copy of VALID, with 3-way majority vote
2685 #define OTP_DATA_KEY4_VALID_VALID_R1_RESET  "-"
2686 #define OTP_DATA_KEY4_VALID_VALID_R1_BITS   _u(0x00000100)
2687 #define OTP_DATA_KEY4_VALID_VALID_R1_MSB    _u(8)
2688 #define OTP_DATA_KEY4_VALID_VALID_R1_LSB    _u(8)
2689 #define OTP_DATA_KEY4_VALID_VALID_R1_ACCESS "RO"
2690 // -----------------------------------------------------------------------------
2691 // Field       : OTP_DATA_KEY4_VALID_VALID
2692 #define OTP_DATA_KEY4_VALID_VALID_RESET  "-"
2693 #define OTP_DATA_KEY4_VALID_VALID_BITS   _u(0x00000001)
2694 #define OTP_DATA_KEY4_VALID_VALID_MSB    _u(0)
2695 #define OTP_DATA_KEY4_VALID_VALID_LSB    _u(0)
2696 #define OTP_DATA_KEY4_VALID_VALID_ACCESS "RO"
2697 // =============================================================================
2698 // Register    : OTP_DATA_KEY5_VALID
2699 // Description : Valid flag for key 5. Once the valid flag is set, the key can
2700 //               no longer be read or written, and becomes a valid fixed key for
2701 //               protecting OTP pages.
2702 #define OTP_DATA_KEY5_VALID_ROW _u(0x00000f7d)
2703 #define OTP_DATA_KEY5_VALID_BITS   _u(0x00010101)
2704 #define OTP_DATA_KEY5_VALID_RESET  _u(0x00000000)
2705 #define OTP_DATA_KEY5_VALID_WIDTH  _u(24)
2706 // -----------------------------------------------------------------------------
2707 // Field       : OTP_DATA_KEY5_VALID_VALID_R2
2708 // Description : Redundant copy of VALID, with 3-way majority vote
2709 #define OTP_DATA_KEY5_VALID_VALID_R2_RESET  "-"
2710 #define OTP_DATA_KEY5_VALID_VALID_R2_BITS   _u(0x00010000)
2711 #define OTP_DATA_KEY5_VALID_VALID_R2_MSB    _u(16)
2712 #define OTP_DATA_KEY5_VALID_VALID_R2_LSB    _u(16)
2713 #define OTP_DATA_KEY5_VALID_VALID_R2_ACCESS "RO"
2714 // -----------------------------------------------------------------------------
2715 // Field       : OTP_DATA_KEY5_VALID_VALID_R1
2716 // Description : Redundant copy of VALID, with 3-way majority vote
2717 #define OTP_DATA_KEY5_VALID_VALID_R1_RESET  "-"
2718 #define OTP_DATA_KEY5_VALID_VALID_R1_BITS   _u(0x00000100)
2719 #define OTP_DATA_KEY5_VALID_VALID_R1_MSB    _u(8)
2720 #define OTP_DATA_KEY5_VALID_VALID_R1_LSB    _u(8)
2721 #define OTP_DATA_KEY5_VALID_VALID_R1_ACCESS "RO"
2722 // -----------------------------------------------------------------------------
2723 // Field       : OTP_DATA_KEY5_VALID_VALID
2724 #define OTP_DATA_KEY5_VALID_VALID_RESET  "-"
2725 #define OTP_DATA_KEY5_VALID_VALID_BITS   _u(0x00000001)
2726 #define OTP_DATA_KEY5_VALID_VALID_MSB    _u(0)
2727 #define OTP_DATA_KEY5_VALID_VALID_LSB    _u(0)
2728 #define OTP_DATA_KEY5_VALID_VALID_ACCESS "RO"
2729 // =============================================================================
2730 // Register    : OTP_DATA_KEY6_VALID
2731 // Description : Valid flag for key 6. Once the valid flag is set, the key can
2732 //               no longer be read or written, and becomes a valid fixed key for
2733 //               protecting OTP pages.
2734 #define OTP_DATA_KEY6_VALID_ROW _u(0x00000f7e)
2735 #define OTP_DATA_KEY6_VALID_BITS   _u(0x00010101)
2736 #define OTP_DATA_KEY6_VALID_RESET  _u(0x00000000)
2737 #define OTP_DATA_KEY6_VALID_WIDTH  _u(24)
2738 // -----------------------------------------------------------------------------
2739 // Field       : OTP_DATA_KEY6_VALID_VALID_R2
2740 // Description : Redundant copy of VALID, with 3-way majority vote
2741 #define OTP_DATA_KEY6_VALID_VALID_R2_RESET  "-"
2742 #define OTP_DATA_KEY6_VALID_VALID_R2_BITS   _u(0x00010000)
2743 #define OTP_DATA_KEY6_VALID_VALID_R2_MSB    _u(16)
2744 #define OTP_DATA_KEY6_VALID_VALID_R2_LSB    _u(16)
2745 #define OTP_DATA_KEY6_VALID_VALID_R2_ACCESS "RO"
2746 // -----------------------------------------------------------------------------
2747 // Field       : OTP_DATA_KEY6_VALID_VALID_R1
2748 // Description : Redundant copy of VALID, with 3-way majority vote
2749 #define OTP_DATA_KEY6_VALID_VALID_R1_RESET  "-"
2750 #define OTP_DATA_KEY6_VALID_VALID_R1_BITS   _u(0x00000100)
2751 #define OTP_DATA_KEY6_VALID_VALID_R1_MSB    _u(8)
2752 #define OTP_DATA_KEY6_VALID_VALID_R1_LSB    _u(8)
2753 #define OTP_DATA_KEY6_VALID_VALID_R1_ACCESS "RO"
2754 // -----------------------------------------------------------------------------
2755 // Field       : OTP_DATA_KEY6_VALID_VALID
2756 #define OTP_DATA_KEY6_VALID_VALID_RESET  "-"
2757 #define OTP_DATA_KEY6_VALID_VALID_BITS   _u(0x00000001)
2758 #define OTP_DATA_KEY6_VALID_VALID_MSB    _u(0)
2759 #define OTP_DATA_KEY6_VALID_VALID_LSB    _u(0)
2760 #define OTP_DATA_KEY6_VALID_VALID_ACCESS "RO"
2761 // =============================================================================
2762 // Register    : OTP_DATA_PAGE0_LOCK0
2763 // Description : Lock configuration LSBs for page 0 (rows 0x0 through 0x3f).
2764 //               Locks are stored with 3-way majority vote encoding, so that
2765 //               bits can be set independently.
2766 //
2767 //               This OTP location is always readable, and is write-protected by
2768 //               its own permissions.
2769 #define OTP_DATA_PAGE0_LOCK0_ROW _u(0x00000f80)
2770 #define OTP_DATA_PAGE0_LOCK0_BITS   _u(0x00ffff7f)
2771 #define OTP_DATA_PAGE0_LOCK0_RESET  _u(0x00000000)
2772 #define OTP_DATA_PAGE0_LOCK0_WIDTH  _u(24)
2773 // -----------------------------------------------------------------------------
2774 // Field       : OTP_DATA_PAGE0_LOCK0_R2
2775 // Description : Redundant copy of bits 7:0
2776 #define OTP_DATA_PAGE0_LOCK0_R2_RESET  "-"
2777 #define OTP_DATA_PAGE0_LOCK0_R2_BITS   _u(0x00ff0000)
2778 #define OTP_DATA_PAGE0_LOCK0_R2_MSB    _u(23)
2779 #define OTP_DATA_PAGE0_LOCK0_R2_LSB    _u(16)
2780 #define OTP_DATA_PAGE0_LOCK0_R2_ACCESS "RO"
2781 // -----------------------------------------------------------------------------
2782 // Field       : OTP_DATA_PAGE0_LOCK0_R1
2783 // Description : Redundant copy of bits 7:0
2784 #define OTP_DATA_PAGE0_LOCK0_R1_RESET  "-"
2785 #define OTP_DATA_PAGE0_LOCK0_R1_BITS   _u(0x0000ff00)
2786 #define OTP_DATA_PAGE0_LOCK0_R1_MSB    _u(15)
2787 #define OTP_DATA_PAGE0_LOCK0_R1_LSB    _u(8)
2788 #define OTP_DATA_PAGE0_LOCK0_R1_ACCESS "RO"
2789 // -----------------------------------------------------------------------------
2790 // Field       : OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE
2791 // Description : State when at least one key is registered for this page and no
2792 //               matching key has been entered.
2793 //               0x0 -> read_only
2794 //               0x1 -> inaccessible
2795 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_RESET  "-"
2796 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
2797 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_MSB    _u(6)
2798 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_LSB    _u(6)
2799 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_ACCESS "RO"
2800 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
2801 #define OTP_DATA_PAGE0_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
2802 // -----------------------------------------------------------------------------
2803 // Field       : OTP_DATA_PAGE0_LOCK0_KEY_R
2804 // Description : Index 1-6 of a hardware key which must be entered to grant read
2805 //               access, or 0 if no such key is required.
2806 #define OTP_DATA_PAGE0_LOCK0_KEY_R_RESET  "-"
2807 #define OTP_DATA_PAGE0_LOCK0_KEY_R_BITS   _u(0x00000038)
2808 #define OTP_DATA_PAGE0_LOCK0_KEY_R_MSB    _u(5)
2809 #define OTP_DATA_PAGE0_LOCK0_KEY_R_LSB    _u(3)
2810 #define OTP_DATA_PAGE0_LOCK0_KEY_R_ACCESS "RO"
2811 // -----------------------------------------------------------------------------
2812 // Field       : OTP_DATA_PAGE0_LOCK0_KEY_W
2813 // Description : Index 1-6 of a hardware key which must be entered to grant
2814 //               write access, or 0 if no such key is required.
2815 #define OTP_DATA_PAGE0_LOCK0_KEY_W_RESET  "-"
2816 #define OTP_DATA_PAGE0_LOCK0_KEY_W_BITS   _u(0x00000007)
2817 #define OTP_DATA_PAGE0_LOCK0_KEY_W_MSB    _u(2)
2818 #define OTP_DATA_PAGE0_LOCK0_KEY_W_LSB    _u(0)
2819 #define OTP_DATA_PAGE0_LOCK0_KEY_W_ACCESS "RO"
2820 // =============================================================================
2821 // Register    : OTP_DATA_PAGE0_LOCK1
2822 // Description : Lock configuration MSBs for page 0 (rows 0x0 through 0x3f).
2823 //               Locks are stored with 3-way majority vote encoding, so that
2824 //               bits can be set independently.
2825 //
2826 //               This OTP location is always readable, and is write-protected by
2827 //               its own permissions.
2828 #define OTP_DATA_PAGE0_LOCK1_ROW _u(0x00000f81)
2829 #define OTP_DATA_PAGE0_LOCK1_BITS   _u(0x00ffff3f)
2830 #define OTP_DATA_PAGE0_LOCK1_RESET  _u(0x00000000)
2831 #define OTP_DATA_PAGE0_LOCK1_WIDTH  _u(24)
2832 // -----------------------------------------------------------------------------
2833 // Field       : OTP_DATA_PAGE0_LOCK1_R2
2834 // Description : Redundant copy of bits 7:0
2835 #define OTP_DATA_PAGE0_LOCK1_R2_RESET  "-"
2836 #define OTP_DATA_PAGE0_LOCK1_R2_BITS   _u(0x00ff0000)
2837 #define OTP_DATA_PAGE0_LOCK1_R2_MSB    _u(23)
2838 #define OTP_DATA_PAGE0_LOCK1_R2_LSB    _u(16)
2839 #define OTP_DATA_PAGE0_LOCK1_R2_ACCESS "RO"
2840 // -----------------------------------------------------------------------------
2841 // Field       : OTP_DATA_PAGE0_LOCK1_R1
2842 // Description : Redundant copy of bits 7:0
2843 #define OTP_DATA_PAGE0_LOCK1_R1_RESET  "-"
2844 #define OTP_DATA_PAGE0_LOCK1_R1_BITS   _u(0x0000ff00)
2845 #define OTP_DATA_PAGE0_LOCK1_R1_MSB    _u(15)
2846 #define OTP_DATA_PAGE0_LOCK1_R1_LSB    _u(8)
2847 #define OTP_DATA_PAGE0_LOCK1_R1_ACCESS "RO"
2848 // -----------------------------------------------------------------------------
2849 // Field       : OTP_DATA_PAGE0_LOCK1_LOCK_BL
2850 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
2851 //               USB bootloader) to store their own OTP access permissions. No
2852 //               hardware effect, and no corresponding SW_LOCKx registers.
2853 //               0x0 -> Bootloader permits user reads and writes to this page
2854 //               0x1 -> Bootloader permits user reads of this page
2855 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
2856 //               0x3 -> Bootloader does not permit user access to this page
2857 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_RESET  "-"
2858 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_BITS   _u(0x00000030)
2859 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_MSB    _u(5)
2860 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_LSB    _u(4)
2861 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_ACCESS "RO"
2862 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
2863 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
2864 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
2865 #define OTP_DATA_PAGE0_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
2866 // -----------------------------------------------------------------------------
2867 // Field       : OTP_DATA_PAGE0_LOCK1_LOCK_NS
2868 // Description : Lock state for Non-secure accesses to this page. Thermometer-
2869 //               coded, so lock state can be advanced permanently from any state
2870 //               to any less-permissive state by programming OTP. Software can
2871 //               also advance the lock state temporarily (until next OTP reset)
2872 //               using the SW_LOCKx registers.
2873 //
2874 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
2875 //               as the SBPI programming interface is not accessible to Non-
2876 //               secure software. However, Secure software may check these bits
2877 //               to apply write permissions to a Non-secure OTP programming API.
2878 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
2879 //               0x1 -> Page can be read by Non-secure software
2880 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
2881 //               0x3 -> Page can not be accessed by Non-secure software.
2882 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_RESET  "-"
2883 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
2884 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_MSB    _u(3)
2885 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_LSB    _u(2)
2886 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_ACCESS "RO"
2887 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
2888 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
2889 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
2890 #define OTP_DATA_PAGE0_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
2891 // -----------------------------------------------------------------------------
2892 // Field       : OTP_DATA_PAGE0_LOCK1_LOCK_S
2893 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
2894 //               so lock state can be advanced permanently from any state to any
2895 //               less-permissive state by programming OTP. Software can also
2896 //               advance the lock state temporarily (until next OTP reset) using
2897 //               the SW_LOCKx registers.
2898 //               0x0 -> Page is fully accessible by Secure software.
2899 //               0x1 -> Page can be read by Secure software, but can not be written.
2900 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
2901 //               0x3 -> Page can not be accessed by Secure software.
2902 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_RESET  "-"
2903 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_BITS   _u(0x00000003)
2904 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_MSB    _u(1)
2905 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_LSB    _u(0)
2906 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_ACCESS "RO"
2907 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
2908 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
2909 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
2910 #define OTP_DATA_PAGE0_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
2911 // =============================================================================
2912 // Register    : OTP_DATA_PAGE1_LOCK0
2913 // Description : Lock configuration LSBs for page 1 (rows 0x40 through 0x7f).
2914 //               Locks are stored with 3-way majority vote encoding, so that
2915 //               bits can be set independently.
2916 //
2917 //               This OTP location is always readable, and is write-protected by
2918 //               its own permissions.
2919 #define OTP_DATA_PAGE1_LOCK0_ROW _u(0x00000f82)
2920 #define OTP_DATA_PAGE1_LOCK0_BITS   _u(0x00ffff7f)
2921 #define OTP_DATA_PAGE1_LOCK0_RESET  _u(0x00000000)
2922 #define OTP_DATA_PAGE1_LOCK0_WIDTH  _u(24)
2923 // -----------------------------------------------------------------------------
2924 // Field       : OTP_DATA_PAGE1_LOCK0_R2
2925 // Description : Redundant copy of bits 7:0
2926 #define OTP_DATA_PAGE1_LOCK0_R2_RESET  "-"
2927 #define OTP_DATA_PAGE1_LOCK0_R2_BITS   _u(0x00ff0000)
2928 #define OTP_DATA_PAGE1_LOCK0_R2_MSB    _u(23)
2929 #define OTP_DATA_PAGE1_LOCK0_R2_LSB    _u(16)
2930 #define OTP_DATA_PAGE1_LOCK0_R2_ACCESS "RO"
2931 // -----------------------------------------------------------------------------
2932 // Field       : OTP_DATA_PAGE1_LOCK0_R1
2933 // Description : Redundant copy of bits 7:0
2934 #define OTP_DATA_PAGE1_LOCK0_R1_RESET  "-"
2935 #define OTP_DATA_PAGE1_LOCK0_R1_BITS   _u(0x0000ff00)
2936 #define OTP_DATA_PAGE1_LOCK0_R1_MSB    _u(15)
2937 #define OTP_DATA_PAGE1_LOCK0_R1_LSB    _u(8)
2938 #define OTP_DATA_PAGE1_LOCK0_R1_ACCESS "RO"
2939 // -----------------------------------------------------------------------------
2940 // Field       : OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE
2941 // Description : State when at least one key is registered for this page and no
2942 //               matching key has been entered.
2943 //               0x0 -> read_only
2944 //               0x1 -> inaccessible
2945 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_RESET  "-"
2946 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
2947 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_MSB    _u(6)
2948 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_LSB    _u(6)
2949 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_ACCESS "RO"
2950 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
2951 #define OTP_DATA_PAGE1_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
2952 // -----------------------------------------------------------------------------
2953 // Field       : OTP_DATA_PAGE1_LOCK0_KEY_R
2954 // Description : Index 1-6 of a hardware key which must be entered to grant read
2955 //               access, or 0 if no such key is required.
2956 #define OTP_DATA_PAGE1_LOCK0_KEY_R_RESET  "-"
2957 #define OTP_DATA_PAGE1_LOCK0_KEY_R_BITS   _u(0x00000038)
2958 #define OTP_DATA_PAGE1_LOCK0_KEY_R_MSB    _u(5)
2959 #define OTP_DATA_PAGE1_LOCK0_KEY_R_LSB    _u(3)
2960 #define OTP_DATA_PAGE1_LOCK0_KEY_R_ACCESS "RO"
2961 // -----------------------------------------------------------------------------
2962 // Field       : OTP_DATA_PAGE1_LOCK0_KEY_W
2963 // Description : Index 1-6 of a hardware key which must be entered to grant
2964 //               write access, or 0 if no such key is required.
2965 #define OTP_DATA_PAGE1_LOCK0_KEY_W_RESET  "-"
2966 #define OTP_DATA_PAGE1_LOCK0_KEY_W_BITS   _u(0x00000007)
2967 #define OTP_DATA_PAGE1_LOCK0_KEY_W_MSB    _u(2)
2968 #define OTP_DATA_PAGE1_LOCK0_KEY_W_LSB    _u(0)
2969 #define OTP_DATA_PAGE1_LOCK0_KEY_W_ACCESS "RO"
2970 // =============================================================================
2971 // Register    : OTP_DATA_PAGE1_LOCK1
2972 // Description : Lock configuration MSBs for page 1 (rows 0x40 through 0x7f).
2973 //               Locks are stored with 3-way majority vote encoding, so that
2974 //               bits can be set independently.
2975 //
2976 //               This OTP location is always readable, and is write-protected by
2977 //               its own permissions.
2978 #define OTP_DATA_PAGE1_LOCK1_ROW _u(0x00000f83)
2979 #define OTP_DATA_PAGE1_LOCK1_BITS   _u(0x00ffff3f)
2980 #define OTP_DATA_PAGE1_LOCK1_RESET  _u(0x00000000)
2981 #define OTP_DATA_PAGE1_LOCK1_WIDTH  _u(24)
2982 // -----------------------------------------------------------------------------
2983 // Field       : OTP_DATA_PAGE1_LOCK1_R2
2984 // Description : Redundant copy of bits 7:0
2985 #define OTP_DATA_PAGE1_LOCK1_R2_RESET  "-"
2986 #define OTP_DATA_PAGE1_LOCK1_R2_BITS   _u(0x00ff0000)
2987 #define OTP_DATA_PAGE1_LOCK1_R2_MSB    _u(23)
2988 #define OTP_DATA_PAGE1_LOCK1_R2_LSB    _u(16)
2989 #define OTP_DATA_PAGE1_LOCK1_R2_ACCESS "RO"
2990 // -----------------------------------------------------------------------------
2991 // Field       : OTP_DATA_PAGE1_LOCK1_R1
2992 // Description : Redundant copy of bits 7:0
2993 #define OTP_DATA_PAGE1_LOCK1_R1_RESET  "-"
2994 #define OTP_DATA_PAGE1_LOCK1_R1_BITS   _u(0x0000ff00)
2995 #define OTP_DATA_PAGE1_LOCK1_R1_MSB    _u(15)
2996 #define OTP_DATA_PAGE1_LOCK1_R1_LSB    _u(8)
2997 #define OTP_DATA_PAGE1_LOCK1_R1_ACCESS "RO"
2998 // -----------------------------------------------------------------------------
2999 // Field       : OTP_DATA_PAGE1_LOCK1_LOCK_BL
3000 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3001 //               USB bootloader) to store their own OTP access permissions. No
3002 //               hardware effect, and no corresponding SW_LOCKx registers.
3003 //               0x0 -> Bootloader permits user reads and writes to this page
3004 //               0x1 -> Bootloader permits user reads of this page
3005 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3006 //               0x3 -> Bootloader does not permit user access to this page
3007 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_RESET  "-"
3008 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3009 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_MSB    _u(5)
3010 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_LSB    _u(4)
3011 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_ACCESS "RO"
3012 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3013 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3014 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3015 #define OTP_DATA_PAGE1_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3016 // -----------------------------------------------------------------------------
3017 // Field       : OTP_DATA_PAGE1_LOCK1_LOCK_NS
3018 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3019 //               coded, so lock state can be advanced permanently from any state
3020 //               to any less-permissive state by programming OTP. Software can
3021 //               also advance the lock state temporarily (until next OTP reset)
3022 //               using the SW_LOCKx registers.
3023 //
3024 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3025 //               as the SBPI programming interface is not accessible to Non-
3026 //               secure software. However, Secure software may check these bits
3027 //               to apply write permissions to a Non-secure OTP programming API.
3028 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3029 //               0x1 -> Page can be read by Non-secure software
3030 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3031 //               0x3 -> Page can not be accessed by Non-secure software.
3032 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_RESET  "-"
3033 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3034 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_MSB    _u(3)
3035 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_LSB    _u(2)
3036 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_ACCESS "RO"
3037 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3038 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3039 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3040 #define OTP_DATA_PAGE1_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3041 // -----------------------------------------------------------------------------
3042 // Field       : OTP_DATA_PAGE1_LOCK1_LOCK_S
3043 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3044 //               so lock state can be advanced permanently from any state to any
3045 //               less-permissive state by programming OTP. Software can also
3046 //               advance the lock state temporarily (until next OTP reset) using
3047 //               the SW_LOCKx registers.
3048 //               0x0 -> Page is fully accessible by Secure software.
3049 //               0x1 -> Page can be read by Secure software, but can not be written.
3050 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3051 //               0x3 -> Page can not be accessed by Secure software.
3052 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_RESET  "-"
3053 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_BITS   _u(0x00000003)
3054 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_MSB    _u(1)
3055 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_LSB    _u(0)
3056 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_ACCESS "RO"
3057 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3058 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3059 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3060 #define OTP_DATA_PAGE1_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3061 // =============================================================================
3062 // Register    : OTP_DATA_PAGE2_LOCK0
3063 // Description : Lock configuration LSBs for page 2 (rows 0x80 through 0xbf).
3064 //               Locks are stored with 3-way majority vote encoding, so that
3065 //               bits can be set independently.
3066 //
3067 //               This OTP location is always readable, and is write-protected by
3068 //               its own permissions.
3069 #define OTP_DATA_PAGE2_LOCK0_ROW _u(0x00000f84)
3070 #define OTP_DATA_PAGE2_LOCK0_BITS   _u(0x00ffff7f)
3071 #define OTP_DATA_PAGE2_LOCK0_RESET  _u(0x00000000)
3072 #define OTP_DATA_PAGE2_LOCK0_WIDTH  _u(24)
3073 // -----------------------------------------------------------------------------
3074 // Field       : OTP_DATA_PAGE2_LOCK0_R2
3075 // Description : Redundant copy of bits 7:0
3076 #define OTP_DATA_PAGE2_LOCK0_R2_RESET  "-"
3077 #define OTP_DATA_PAGE2_LOCK0_R2_BITS   _u(0x00ff0000)
3078 #define OTP_DATA_PAGE2_LOCK0_R2_MSB    _u(23)
3079 #define OTP_DATA_PAGE2_LOCK0_R2_LSB    _u(16)
3080 #define OTP_DATA_PAGE2_LOCK0_R2_ACCESS "RO"
3081 // -----------------------------------------------------------------------------
3082 // Field       : OTP_DATA_PAGE2_LOCK0_R1
3083 // Description : Redundant copy of bits 7:0
3084 #define OTP_DATA_PAGE2_LOCK0_R1_RESET  "-"
3085 #define OTP_DATA_PAGE2_LOCK0_R1_BITS   _u(0x0000ff00)
3086 #define OTP_DATA_PAGE2_LOCK0_R1_MSB    _u(15)
3087 #define OTP_DATA_PAGE2_LOCK0_R1_LSB    _u(8)
3088 #define OTP_DATA_PAGE2_LOCK0_R1_ACCESS "RO"
3089 // -----------------------------------------------------------------------------
3090 // Field       : OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE
3091 // Description : State when at least one key is registered for this page and no
3092 //               matching key has been entered.
3093 //               0x0 -> read_only
3094 //               0x1 -> inaccessible
3095 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_RESET  "-"
3096 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3097 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_MSB    _u(6)
3098 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_LSB    _u(6)
3099 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_ACCESS "RO"
3100 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
3101 #define OTP_DATA_PAGE2_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
3102 // -----------------------------------------------------------------------------
3103 // Field       : OTP_DATA_PAGE2_LOCK0_KEY_R
3104 // Description : Index 1-6 of a hardware key which must be entered to grant read
3105 //               access, or 0 if no such key is required.
3106 #define OTP_DATA_PAGE2_LOCK0_KEY_R_RESET  "-"
3107 #define OTP_DATA_PAGE2_LOCK0_KEY_R_BITS   _u(0x00000038)
3108 #define OTP_DATA_PAGE2_LOCK0_KEY_R_MSB    _u(5)
3109 #define OTP_DATA_PAGE2_LOCK0_KEY_R_LSB    _u(3)
3110 #define OTP_DATA_PAGE2_LOCK0_KEY_R_ACCESS "RO"
3111 // -----------------------------------------------------------------------------
3112 // Field       : OTP_DATA_PAGE2_LOCK0_KEY_W
3113 // Description : Index 1-6 of a hardware key which must be entered to grant
3114 //               write access, or 0 if no such key is required.
3115 #define OTP_DATA_PAGE2_LOCK0_KEY_W_RESET  "-"
3116 #define OTP_DATA_PAGE2_LOCK0_KEY_W_BITS   _u(0x00000007)
3117 #define OTP_DATA_PAGE2_LOCK0_KEY_W_MSB    _u(2)
3118 #define OTP_DATA_PAGE2_LOCK0_KEY_W_LSB    _u(0)
3119 #define OTP_DATA_PAGE2_LOCK0_KEY_W_ACCESS "RO"
3120 // =============================================================================
3121 // Register    : OTP_DATA_PAGE2_LOCK1
3122 // Description : Lock configuration MSBs for page 2 (rows 0x80 through 0xbf).
3123 //               Locks are stored with 3-way majority vote encoding, so that
3124 //               bits can be set independently.
3125 //
3126 //               This OTP location is always readable, and is write-protected by
3127 //               its own permissions.
3128 #define OTP_DATA_PAGE2_LOCK1_ROW _u(0x00000f85)
3129 #define OTP_DATA_PAGE2_LOCK1_BITS   _u(0x00ffff3f)
3130 #define OTP_DATA_PAGE2_LOCK1_RESET  _u(0x00000000)
3131 #define OTP_DATA_PAGE2_LOCK1_WIDTH  _u(24)
3132 // -----------------------------------------------------------------------------
3133 // Field       : OTP_DATA_PAGE2_LOCK1_R2
3134 // Description : Redundant copy of bits 7:0
3135 #define OTP_DATA_PAGE2_LOCK1_R2_RESET  "-"
3136 #define OTP_DATA_PAGE2_LOCK1_R2_BITS   _u(0x00ff0000)
3137 #define OTP_DATA_PAGE2_LOCK1_R2_MSB    _u(23)
3138 #define OTP_DATA_PAGE2_LOCK1_R2_LSB    _u(16)
3139 #define OTP_DATA_PAGE2_LOCK1_R2_ACCESS "RO"
3140 // -----------------------------------------------------------------------------
3141 // Field       : OTP_DATA_PAGE2_LOCK1_R1
3142 // Description : Redundant copy of bits 7:0
3143 #define OTP_DATA_PAGE2_LOCK1_R1_RESET  "-"
3144 #define OTP_DATA_PAGE2_LOCK1_R1_BITS   _u(0x0000ff00)
3145 #define OTP_DATA_PAGE2_LOCK1_R1_MSB    _u(15)
3146 #define OTP_DATA_PAGE2_LOCK1_R1_LSB    _u(8)
3147 #define OTP_DATA_PAGE2_LOCK1_R1_ACCESS "RO"
3148 // -----------------------------------------------------------------------------
3149 // Field       : OTP_DATA_PAGE2_LOCK1_LOCK_BL
3150 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3151 //               USB bootloader) to store their own OTP access permissions. No
3152 //               hardware effect, and no corresponding SW_LOCKx registers.
3153 //               0x0 -> Bootloader permits user reads and writes to this page
3154 //               0x1 -> Bootloader permits user reads of this page
3155 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3156 //               0x3 -> Bootloader does not permit user access to this page
3157 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_RESET  "-"
3158 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3159 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_MSB    _u(5)
3160 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_LSB    _u(4)
3161 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_ACCESS "RO"
3162 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3163 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3164 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3165 #define OTP_DATA_PAGE2_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3166 // -----------------------------------------------------------------------------
3167 // Field       : OTP_DATA_PAGE2_LOCK1_LOCK_NS
3168 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3169 //               coded, so lock state can be advanced permanently from any state
3170 //               to any less-permissive state by programming OTP. Software can
3171 //               also advance the lock state temporarily (until next OTP reset)
3172 //               using the SW_LOCKx registers.
3173 //
3174 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3175 //               as the SBPI programming interface is not accessible to Non-
3176 //               secure software. However, Secure software may check these bits
3177 //               to apply write permissions to a Non-secure OTP programming API.
3178 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3179 //               0x1 -> Page can be read by Non-secure software
3180 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3181 //               0x3 -> Page can not be accessed by Non-secure software.
3182 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_RESET  "-"
3183 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3184 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_MSB    _u(3)
3185 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_LSB    _u(2)
3186 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_ACCESS "RO"
3187 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3188 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3189 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3190 #define OTP_DATA_PAGE2_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3191 // -----------------------------------------------------------------------------
3192 // Field       : OTP_DATA_PAGE2_LOCK1_LOCK_S
3193 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3194 //               so lock state can be advanced permanently from any state to any
3195 //               less-permissive state by programming OTP. Software can also
3196 //               advance the lock state temporarily (until next OTP reset) using
3197 //               the SW_LOCKx registers.
3198 //               0x0 -> Page is fully accessible by Secure software.
3199 //               0x1 -> Page can be read by Secure software, but can not be written.
3200 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3201 //               0x3 -> Page can not be accessed by Secure software.
3202 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_RESET  "-"
3203 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_BITS   _u(0x00000003)
3204 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_MSB    _u(1)
3205 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_LSB    _u(0)
3206 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_ACCESS "RO"
3207 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3208 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3209 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3210 #define OTP_DATA_PAGE2_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3211 // =============================================================================
3212 // Register    : OTP_DATA_PAGE3_LOCK0
3213 // Description : Lock configuration LSBs for page 3 (rows 0xc0 through 0xff).
3214 //               Locks are stored with 3-way majority vote encoding, so that
3215 //               bits can be set independently.
3216 //
3217 //               This OTP location is always readable, and is write-protected by
3218 //               its own permissions.
3219 #define OTP_DATA_PAGE3_LOCK0_ROW _u(0x00000f86)
3220 #define OTP_DATA_PAGE3_LOCK0_BITS   _u(0x00ffff7f)
3221 #define OTP_DATA_PAGE3_LOCK0_RESET  _u(0x00000000)
3222 #define OTP_DATA_PAGE3_LOCK0_WIDTH  _u(24)
3223 // -----------------------------------------------------------------------------
3224 // Field       : OTP_DATA_PAGE3_LOCK0_R2
3225 // Description : Redundant copy of bits 7:0
3226 #define OTP_DATA_PAGE3_LOCK0_R2_RESET  "-"
3227 #define OTP_DATA_PAGE3_LOCK0_R2_BITS   _u(0x00ff0000)
3228 #define OTP_DATA_PAGE3_LOCK0_R2_MSB    _u(23)
3229 #define OTP_DATA_PAGE3_LOCK0_R2_LSB    _u(16)
3230 #define OTP_DATA_PAGE3_LOCK0_R2_ACCESS "RO"
3231 // -----------------------------------------------------------------------------
3232 // Field       : OTP_DATA_PAGE3_LOCK0_R1
3233 // Description : Redundant copy of bits 7:0
3234 #define OTP_DATA_PAGE3_LOCK0_R1_RESET  "-"
3235 #define OTP_DATA_PAGE3_LOCK0_R1_BITS   _u(0x0000ff00)
3236 #define OTP_DATA_PAGE3_LOCK0_R1_MSB    _u(15)
3237 #define OTP_DATA_PAGE3_LOCK0_R1_LSB    _u(8)
3238 #define OTP_DATA_PAGE3_LOCK0_R1_ACCESS "RO"
3239 // -----------------------------------------------------------------------------
3240 // Field       : OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE
3241 // Description : State when at least one key is registered for this page and no
3242 //               matching key has been entered.
3243 //               0x0 -> read_only
3244 //               0x1 -> inaccessible
3245 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_RESET  "-"
3246 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3247 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_MSB    _u(6)
3248 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_LSB    _u(6)
3249 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_ACCESS "RO"
3250 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
3251 #define OTP_DATA_PAGE3_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
3252 // -----------------------------------------------------------------------------
3253 // Field       : OTP_DATA_PAGE3_LOCK0_KEY_R
3254 // Description : Index 1-6 of a hardware key which must be entered to grant read
3255 //               access, or 0 if no such key is required.
3256 #define OTP_DATA_PAGE3_LOCK0_KEY_R_RESET  "-"
3257 #define OTP_DATA_PAGE3_LOCK0_KEY_R_BITS   _u(0x00000038)
3258 #define OTP_DATA_PAGE3_LOCK0_KEY_R_MSB    _u(5)
3259 #define OTP_DATA_PAGE3_LOCK0_KEY_R_LSB    _u(3)
3260 #define OTP_DATA_PAGE3_LOCK0_KEY_R_ACCESS "RO"
3261 // -----------------------------------------------------------------------------
3262 // Field       : OTP_DATA_PAGE3_LOCK0_KEY_W
3263 // Description : Index 1-6 of a hardware key which must be entered to grant
3264 //               write access, or 0 if no such key is required.
3265 #define OTP_DATA_PAGE3_LOCK0_KEY_W_RESET  "-"
3266 #define OTP_DATA_PAGE3_LOCK0_KEY_W_BITS   _u(0x00000007)
3267 #define OTP_DATA_PAGE3_LOCK0_KEY_W_MSB    _u(2)
3268 #define OTP_DATA_PAGE3_LOCK0_KEY_W_LSB    _u(0)
3269 #define OTP_DATA_PAGE3_LOCK0_KEY_W_ACCESS "RO"
3270 // =============================================================================
3271 // Register    : OTP_DATA_PAGE3_LOCK1
3272 // Description : Lock configuration MSBs for page 3 (rows 0xc0 through 0xff).
3273 //               Locks are stored with 3-way majority vote encoding, so that
3274 //               bits can be set independently.
3275 //
3276 //               This OTP location is always readable, and is write-protected by
3277 //               its own permissions.
3278 #define OTP_DATA_PAGE3_LOCK1_ROW _u(0x00000f87)
3279 #define OTP_DATA_PAGE3_LOCK1_BITS   _u(0x00ffff3f)
3280 #define OTP_DATA_PAGE3_LOCK1_RESET  _u(0x00000000)
3281 #define OTP_DATA_PAGE3_LOCK1_WIDTH  _u(24)
3282 // -----------------------------------------------------------------------------
3283 // Field       : OTP_DATA_PAGE3_LOCK1_R2
3284 // Description : Redundant copy of bits 7:0
3285 #define OTP_DATA_PAGE3_LOCK1_R2_RESET  "-"
3286 #define OTP_DATA_PAGE3_LOCK1_R2_BITS   _u(0x00ff0000)
3287 #define OTP_DATA_PAGE3_LOCK1_R2_MSB    _u(23)
3288 #define OTP_DATA_PAGE3_LOCK1_R2_LSB    _u(16)
3289 #define OTP_DATA_PAGE3_LOCK1_R2_ACCESS "RO"
3290 // -----------------------------------------------------------------------------
3291 // Field       : OTP_DATA_PAGE3_LOCK1_R1
3292 // Description : Redundant copy of bits 7:0
3293 #define OTP_DATA_PAGE3_LOCK1_R1_RESET  "-"
3294 #define OTP_DATA_PAGE3_LOCK1_R1_BITS   _u(0x0000ff00)
3295 #define OTP_DATA_PAGE3_LOCK1_R1_MSB    _u(15)
3296 #define OTP_DATA_PAGE3_LOCK1_R1_LSB    _u(8)
3297 #define OTP_DATA_PAGE3_LOCK1_R1_ACCESS "RO"
3298 // -----------------------------------------------------------------------------
3299 // Field       : OTP_DATA_PAGE3_LOCK1_LOCK_BL
3300 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3301 //               USB bootloader) to store their own OTP access permissions. No
3302 //               hardware effect, and no corresponding SW_LOCKx registers.
3303 //               0x0 -> Bootloader permits user reads and writes to this page
3304 //               0x1 -> Bootloader permits user reads of this page
3305 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3306 //               0x3 -> Bootloader does not permit user access to this page
3307 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_RESET  "-"
3308 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3309 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_MSB    _u(5)
3310 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_LSB    _u(4)
3311 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_ACCESS "RO"
3312 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3313 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3314 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3315 #define OTP_DATA_PAGE3_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3316 // -----------------------------------------------------------------------------
3317 // Field       : OTP_DATA_PAGE3_LOCK1_LOCK_NS
3318 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3319 //               coded, so lock state can be advanced permanently from any state
3320 //               to any less-permissive state by programming OTP. Software can
3321 //               also advance the lock state temporarily (until next OTP reset)
3322 //               using the SW_LOCKx registers.
3323 //
3324 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3325 //               as the SBPI programming interface is not accessible to Non-
3326 //               secure software. However, Secure software may check these bits
3327 //               to apply write permissions to a Non-secure OTP programming API.
3328 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3329 //               0x1 -> Page can be read by Non-secure software
3330 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3331 //               0x3 -> Page can not be accessed by Non-secure software.
3332 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_RESET  "-"
3333 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3334 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_MSB    _u(3)
3335 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_LSB    _u(2)
3336 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_ACCESS "RO"
3337 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3338 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3339 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3340 #define OTP_DATA_PAGE3_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3341 // -----------------------------------------------------------------------------
3342 // Field       : OTP_DATA_PAGE3_LOCK1_LOCK_S
3343 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3344 //               so lock state can be advanced permanently from any state to any
3345 //               less-permissive state by programming OTP. Software can also
3346 //               advance the lock state temporarily (until next OTP reset) using
3347 //               the SW_LOCKx registers.
3348 //               0x0 -> Page is fully accessible by Secure software.
3349 //               0x1 -> Page can be read by Secure software, but can not be written.
3350 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3351 //               0x3 -> Page can not be accessed by Secure software.
3352 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_RESET  "-"
3353 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_BITS   _u(0x00000003)
3354 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_MSB    _u(1)
3355 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_LSB    _u(0)
3356 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_ACCESS "RO"
3357 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3358 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3359 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3360 #define OTP_DATA_PAGE3_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3361 // =============================================================================
3362 // Register    : OTP_DATA_PAGE4_LOCK0
3363 // Description : Lock configuration LSBs for page 4 (rows 0x100 through 0x13f).
3364 //               Locks are stored with 3-way majority vote encoding, so that
3365 //               bits can be set independently.
3366 //
3367 //               This OTP location is always readable, and is write-protected by
3368 //               its own permissions.
3369 #define OTP_DATA_PAGE4_LOCK0_ROW _u(0x00000f88)
3370 #define OTP_DATA_PAGE4_LOCK0_BITS   _u(0x00ffff7f)
3371 #define OTP_DATA_PAGE4_LOCK0_RESET  _u(0x00000000)
3372 #define OTP_DATA_PAGE4_LOCK0_WIDTH  _u(24)
3373 // -----------------------------------------------------------------------------
3374 // Field       : OTP_DATA_PAGE4_LOCK0_R2
3375 // Description : Redundant copy of bits 7:0
3376 #define OTP_DATA_PAGE4_LOCK0_R2_RESET  "-"
3377 #define OTP_DATA_PAGE4_LOCK0_R2_BITS   _u(0x00ff0000)
3378 #define OTP_DATA_PAGE4_LOCK0_R2_MSB    _u(23)
3379 #define OTP_DATA_PAGE4_LOCK0_R2_LSB    _u(16)
3380 #define OTP_DATA_PAGE4_LOCK0_R2_ACCESS "RO"
3381 // -----------------------------------------------------------------------------
3382 // Field       : OTP_DATA_PAGE4_LOCK0_R1
3383 // Description : Redundant copy of bits 7:0
3384 #define OTP_DATA_PAGE4_LOCK0_R1_RESET  "-"
3385 #define OTP_DATA_PAGE4_LOCK0_R1_BITS   _u(0x0000ff00)
3386 #define OTP_DATA_PAGE4_LOCK0_R1_MSB    _u(15)
3387 #define OTP_DATA_PAGE4_LOCK0_R1_LSB    _u(8)
3388 #define OTP_DATA_PAGE4_LOCK0_R1_ACCESS "RO"
3389 // -----------------------------------------------------------------------------
3390 // Field       : OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE
3391 // Description : State when at least one key is registered for this page and no
3392 //               matching key has been entered.
3393 //               0x0 -> read_only
3394 //               0x1 -> inaccessible
3395 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_RESET  "-"
3396 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3397 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_MSB    _u(6)
3398 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_LSB    _u(6)
3399 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_ACCESS "RO"
3400 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
3401 #define OTP_DATA_PAGE4_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
3402 // -----------------------------------------------------------------------------
3403 // Field       : OTP_DATA_PAGE4_LOCK0_KEY_R
3404 // Description : Index 1-6 of a hardware key which must be entered to grant read
3405 //               access, or 0 if no such key is required.
3406 #define OTP_DATA_PAGE4_LOCK0_KEY_R_RESET  "-"
3407 #define OTP_DATA_PAGE4_LOCK0_KEY_R_BITS   _u(0x00000038)
3408 #define OTP_DATA_PAGE4_LOCK0_KEY_R_MSB    _u(5)
3409 #define OTP_DATA_PAGE4_LOCK0_KEY_R_LSB    _u(3)
3410 #define OTP_DATA_PAGE4_LOCK0_KEY_R_ACCESS "RO"
3411 // -----------------------------------------------------------------------------
3412 // Field       : OTP_DATA_PAGE4_LOCK0_KEY_W
3413 // Description : Index 1-6 of a hardware key which must be entered to grant
3414 //               write access, or 0 if no such key is required.
3415 #define OTP_DATA_PAGE4_LOCK0_KEY_W_RESET  "-"
3416 #define OTP_DATA_PAGE4_LOCK0_KEY_W_BITS   _u(0x00000007)
3417 #define OTP_DATA_PAGE4_LOCK0_KEY_W_MSB    _u(2)
3418 #define OTP_DATA_PAGE4_LOCK0_KEY_W_LSB    _u(0)
3419 #define OTP_DATA_PAGE4_LOCK0_KEY_W_ACCESS "RO"
3420 // =============================================================================
3421 // Register    : OTP_DATA_PAGE4_LOCK1
3422 // Description : Lock configuration MSBs for page 4 (rows 0x100 through 0x13f).
3423 //               Locks are stored with 3-way majority vote encoding, so that
3424 //               bits can be set independently.
3425 //
3426 //               This OTP location is always readable, and is write-protected by
3427 //               its own permissions.
3428 #define OTP_DATA_PAGE4_LOCK1_ROW _u(0x00000f89)
3429 #define OTP_DATA_PAGE4_LOCK1_BITS   _u(0x00ffff3f)
3430 #define OTP_DATA_PAGE4_LOCK1_RESET  _u(0x00000000)
3431 #define OTP_DATA_PAGE4_LOCK1_WIDTH  _u(24)
3432 // -----------------------------------------------------------------------------
3433 // Field       : OTP_DATA_PAGE4_LOCK1_R2
3434 // Description : Redundant copy of bits 7:0
3435 #define OTP_DATA_PAGE4_LOCK1_R2_RESET  "-"
3436 #define OTP_DATA_PAGE4_LOCK1_R2_BITS   _u(0x00ff0000)
3437 #define OTP_DATA_PAGE4_LOCK1_R2_MSB    _u(23)
3438 #define OTP_DATA_PAGE4_LOCK1_R2_LSB    _u(16)
3439 #define OTP_DATA_PAGE4_LOCK1_R2_ACCESS "RO"
3440 // -----------------------------------------------------------------------------
3441 // Field       : OTP_DATA_PAGE4_LOCK1_R1
3442 // Description : Redundant copy of bits 7:0
3443 #define OTP_DATA_PAGE4_LOCK1_R1_RESET  "-"
3444 #define OTP_DATA_PAGE4_LOCK1_R1_BITS   _u(0x0000ff00)
3445 #define OTP_DATA_PAGE4_LOCK1_R1_MSB    _u(15)
3446 #define OTP_DATA_PAGE4_LOCK1_R1_LSB    _u(8)
3447 #define OTP_DATA_PAGE4_LOCK1_R1_ACCESS "RO"
3448 // -----------------------------------------------------------------------------
3449 // Field       : OTP_DATA_PAGE4_LOCK1_LOCK_BL
3450 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3451 //               USB bootloader) to store their own OTP access permissions. No
3452 //               hardware effect, and no corresponding SW_LOCKx registers.
3453 //               0x0 -> Bootloader permits user reads and writes to this page
3454 //               0x1 -> Bootloader permits user reads of this page
3455 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3456 //               0x3 -> Bootloader does not permit user access to this page
3457 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_RESET  "-"
3458 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3459 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_MSB    _u(5)
3460 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_LSB    _u(4)
3461 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_ACCESS "RO"
3462 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3463 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3464 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3465 #define OTP_DATA_PAGE4_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3466 // -----------------------------------------------------------------------------
3467 // Field       : OTP_DATA_PAGE4_LOCK1_LOCK_NS
3468 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3469 //               coded, so lock state can be advanced permanently from any state
3470 //               to any less-permissive state by programming OTP. Software can
3471 //               also advance the lock state temporarily (until next OTP reset)
3472 //               using the SW_LOCKx registers.
3473 //
3474 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3475 //               as the SBPI programming interface is not accessible to Non-
3476 //               secure software. However, Secure software may check these bits
3477 //               to apply write permissions to a Non-secure OTP programming API.
3478 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3479 //               0x1 -> Page can be read by Non-secure software
3480 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3481 //               0x3 -> Page can not be accessed by Non-secure software.
3482 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_RESET  "-"
3483 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3484 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_MSB    _u(3)
3485 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_LSB    _u(2)
3486 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_ACCESS "RO"
3487 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3488 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3489 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3490 #define OTP_DATA_PAGE4_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3491 // -----------------------------------------------------------------------------
3492 // Field       : OTP_DATA_PAGE4_LOCK1_LOCK_S
3493 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3494 //               so lock state can be advanced permanently from any state to any
3495 //               less-permissive state by programming OTP. Software can also
3496 //               advance the lock state temporarily (until next OTP reset) using
3497 //               the SW_LOCKx registers.
3498 //               0x0 -> Page is fully accessible by Secure software.
3499 //               0x1 -> Page can be read by Secure software, but can not be written.
3500 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3501 //               0x3 -> Page can not be accessed by Secure software.
3502 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_RESET  "-"
3503 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_BITS   _u(0x00000003)
3504 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_MSB    _u(1)
3505 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_LSB    _u(0)
3506 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_ACCESS "RO"
3507 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3508 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3509 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3510 #define OTP_DATA_PAGE4_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3511 // =============================================================================
3512 // Register    : OTP_DATA_PAGE5_LOCK0
3513 // Description : Lock configuration LSBs for page 5 (rows 0x140 through 0x17f).
3514 //               Locks are stored with 3-way majority vote encoding, so that
3515 //               bits can be set independently.
3516 //
3517 //               This OTP location is always readable, and is write-protected by
3518 //               its own permissions.
3519 #define OTP_DATA_PAGE5_LOCK0_ROW _u(0x00000f8a)
3520 #define OTP_DATA_PAGE5_LOCK0_BITS   _u(0x00ffff7f)
3521 #define OTP_DATA_PAGE5_LOCK0_RESET  _u(0x00000000)
3522 #define OTP_DATA_PAGE5_LOCK0_WIDTH  _u(24)
3523 // -----------------------------------------------------------------------------
3524 // Field       : OTP_DATA_PAGE5_LOCK0_R2
3525 // Description : Redundant copy of bits 7:0
3526 #define OTP_DATA_PAGE5_LOCK0_R2_RESET  "-"
3527 #define OTP_DATA_PAGE5_LOCK0_R2_BITS   _u(0x00ff0000)
3528 #define OTP_DATA_PAGE5_LOCK0_R2_MSB    _u(23)
3529 #define OTP_DATA_PAGE5_LOCK0_R2_LSB    _u(16)
3530 #define OTP_DATA_PAGE5_LOCK0_R2_ACCESS "RO"
3531 // -----------------------------------------------------------------------------
3532 // Field       : OTP_DATA_PAGE5_LOCK0_R1
3533 // Description : Redundant copy of bits 7:0
3534 #define OTP_DATA_PAGE5_LOCK0_R1_RESET  "-"
3535 #define OTP_DATA_PAGE5_LOCK0_R1_BITS   _u(0x0000ff00)
3536 #define OTP_DATA_PAGE5_LOCK0_R1_MSB    _u(15)
3537 #define OTP_DATA_PAGE5_LOCK0_R1_LSB    _u(8)
3538 #define OTP_DATA_PAGE5_LOCK0_R1_ACCESS "RO"
3539 // -----------------------------------------------------------------------------
3540 // Field       : OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE
3541 // Description : State when at least one key is registered for this page and no
3542 //               matching key has been entered.
3543 //               0x0 -> read_only
3544 //               0x1 -> inaccessible
3545 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_RESET  "-"
3546 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3547 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_MSB    _u(6)
3548 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_LSB    _u(6)
3549 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_ACCESS "RO"
3550 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
3551 #define OTP_DATA_PAGE5_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
3552 // -----------------------------------------------------------------------------
3553 // Field       : OTP_DATA_PAGE5_LOCK0_KEY_R
3554 // Description : Index 1-6 of a hardware key which must be entered to grant read
3555 //               access, or 0 if no such key is required.
3556 #define OTP_DATA_PAGE5_LOCK0_KEY_R_RESET  "-"
3557 #define OTP_DATA_PAGE5_LOCK0_KEY_R_BITS   _u(0x00000038)
3558 #define OTP_DATA_PAGE5_LOCK0_KEY_R_MSB    _u(5)
3559 #define OTP_DATA_PAGE5_LOCK0_KEY_R_LSB    _u(3)
3560 #define OTP_DATA_PAGE5_LOCK0_KEY_R_ACCESS "RO"
3561 // -----------------------------------------------------------------------------
3562 // Field       : OTP_DATA_PAGE5_LOCK0_KEY_W
3563 // Description : Index 1-6 of a hardware key which must be entered to grant
3564 //               write access, or 0 if no such key is required.
3565 #define OTP_DATA_PAGE5_LOCK0_KEY_W_RESET  "-"
3566 #define OTP_DATA_PAGE5_LOCK0_KEY_W_BITS   _u(0x00000007)
3567 #define OTP_DATA_PAGE5_LOCK0_KEY_W_MSB    _u(2)
3568 #define OTP_DATA_PAGE5_LOCK0_KEY_W_LSB    _u(0)
3569 #define OTP_DATA_PAGE5_LOCK0_KEY_W_ACCESS "RO"
3570 // =============================================================================
3571 // Register    : OTP_DATA_PAGE5_LOCK1
3572 // Description : Lock configuration MSBs for page 5 (rows 0x140 through 0x17f).
3573 //               Locks are stored with 3-way majority vote encoding, so that
3574 //               bits can be set independently.
3575 //
3576 //               This OTP location is always readable, and is write-protected by
3577 //               its own permissions.
3578 #define OTP_DATA_PAGE5_LOCK1_ROW _u(0x00000f8b)
3579 #define OTP_DATA_PAGE5_LOCK1_BITS   _u(0x00ffff3f)
3580 #define OTP_DATA_PAGE5_LOCK1_RESET  _u(0x00000000)
3581 #define OTP_DATA_PAGE5_LOCK1_WIDTH  _u(24)
3582 // -----------------------------------------------------------------------------
3583 // Field       : OTP_DATA_PAGE5_LOCK1_R2
3584 // Description : Redundant copy of bits 7:0
3585 #define OTP_DATA_PAGE5_LOCK1_R2_RESET  "-"
3586 #define OTP_DATA_PAGE5_LOCK1_R2_BITS   _u(0x00ff0000)
3587 #define OTP_DATA_PAGE5_LOCK1_R2_MSB    _u(23)
3588 #define OTP_DATA_PAGE5_LOCK1_R2_LSB    _u(16)
3589 #define OTP_DATA_PAGE5_LOCK1_R2_ACCESS "RO"
3590 // -----------------------------------------------------------------------------
3591 // Field       : OTP_DATA_PAGE5_LOCK1_R1
3592 // Description : Redundant copy of bits 7:0
3593 #define OTP_DATA_PAGE5_LOCK1_R1_RESET  "-"
3594 #define OTP_DATA_PAGE5_LOCK1_R1_BITS   _u(0x0000ff00)
3595 #define OTP_DATA_PAGE5_LOCK1_R1_MSB    _u(15)
3596 #define OTP_DATA_PAGE5_LOCK1_R1_LSB    _u(8)
3597 #define OTP_DATA_PAGE5_LOCK1_R1_ACCESS "RO"
3598 // -----------------------------------------------------------------------------
3599 // Field       : OTP_DATA_PAGE5_LOCK1_LOCK_BL
3600 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3601 //               USB bootloader) to store their own OTP access permissions. No
3602 //               hardware effect, and no corresponding SW_LOCKx registers.
3603 //               0x0 -> Bootloader permits user reads and writes to this page
3604 //               0x1 -> Bootloader permits user reads of this page
3605 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3606 //               0x3 -> Bootloader does not permit user access to this page
3607 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_RESET  "-"
3608 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3609 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_MSB    _u(5)
3610 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_LSB    _u(4)
3611 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_ACCESS "RO"
3612 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3613 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3614 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3615 #define OTP_DATA_PAGE5_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3616 // -----------------------------------------------------------------------------
3617 // Field       : OTP_DATA_PAGE5_LOCK1_LOCK_NS
3618 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3619 //               coded, so lock state can be advanced permanently from any state
3620 //               to any less-permissive state by programming OTP. Software can
3621 //               also advance the lock state temporarily (until next OTP reset)
3622 //               using the SW_LOCKx registers.
3623 //
3624 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3625 //               as the SBPI programming interface is not accessible to Non-
3626 //               secure software. However, Secure software may check these bits
3627 //               to apply write permissions to a Non-secure OTP programming API.
3628 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3629 //               0x1 -> Page can be read by Non-secure software
3630 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3631 //               0x3 -> Page can not be accessed by Non-secure software.
3632 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_RESET  "-"
3633 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3634 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_MSB    _u(3)
3635 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_LSB    _u(2)
3636 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_ACCESS "RO"
3637 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3638 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3639 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3640 #define OTP_DATA_PAGE5_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3641 // -----------------------------------------------------------------------------
3642 // Field       : OTP_DATA_PAGE5_LOCK1_LOCK_S
3643 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3644 //               so lock state can be advanced permanently from any state to any
3645 //               less-permissive state by programming OTP. Software can also
3646 //               advance the lock state temporarily (until next OTP reset) using
3647 //               the SW_LOCKx registers.
3648 //               0x0 -> Page is fully accessible by Secure software.
3649 //               0x1 -> Page can be read by Secure software, but can not be written.
3650 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3651 //               0x3 -> Page can not be accessed by Secure software.
3652 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_RESET  "-"
3653 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_BITS   _u(0x00000003)
3654 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_MSB    _u(1)
3655 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_LSB    _u(0)
3656 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_ACCESS "RO"
3657 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3658 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3659 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3660 #define OTP_DATA_PAGE5_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3661 // =============================================================================
3662 // Register    : OTP_DATA_PAGE6_LOCK0
3663 // Description : Lock configuration LSBs for page 6 (rows 0x180 through 0x1bf).
3664 //               Locks are stored with 3-way majority vote encoding, so that
3665 //               bits can be set independently.
3666 //
3667 //               This OTP location is always readable, and is write-protected by
3668 //               its own permissions.
3669 #define OTP_DATA_PAGE6_LOCK0_ROW _u(0x00000f8c)
3670 #define OTP_DATA_PAGE6_LOCK0_BITS   _u(0x00ffff7f)
3671 #define OTP_DATA_PAGE6_LOCK0_RESET  _u(0x00000000)
3672 #define OTP_DATA_PAGE6_LOCK0_WIDTH  _u(24)
3673 // -----------------------------------------------------------------------------
3674 // Field       : OTP_DATA_PAGE6_LOCK0_R2
3675 // Description : Redundant copy of bits 7:0
3676 #define OTP_DATA_PAGE6_LOCK0_R2_RESET  "-"
3677 #define OTP_DATA_PAGE6_LOCK0_R2_BITS   _u(0x00ff0000)
3678 #define OTP_DATA_PAGE6_LOCK0_R2_MSB    _u(23)
3679 #define OTP_DATA_PAGE6_LOCK0_R2_LSB    _u(16)
3680 #define OTP_DATA_PAGE6_LOCK0_R2_ACCESS "RO"
3681 // -----------------------------------------------------------------------------
3682 // Field       : OTP_DATA_PAGE6_LOCK0_R1
3683 // Description : Redundant copy of bits 7:0
3684 #define OTP_DATA_PAGE6_LOCK0_R1_RESET  "-"
3685 #define OTP_DATA_PAGE6_LOCK0_R1_BITS   _u(0x0000ff00)
3686 #define OTP_DATA_PAGE6_LOCK0_R1_MSB    _u(15)
3687 #define OTP_DATA_PAGE6_LOCK0_R1_LSB    _u(8)
3688 #define OTP_DATA_PAGE6_LOCK0_R1_ACCESS "RO"
3689 // -----------------------------------------------------------------------------
3690 // Field       : OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE
3691 // Description : State when at least one key is registered for this page and no
3692 //               matching key has been entered.
3693 //               0x0 -> read_only
3694 //               0x1 -> inaccessible
3695 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_RESET  "-"
3696 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3697 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_MSB    _u(6)
3698 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_LSB    _u(6)
3699 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_ACCESS "RO"
3700 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
3701 #define OTP_DATA_PAGE6_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
3702 // -----------------------------------------------------------------------------
3703 // Field       : OTP_DATA_PAGE6_LOCK0_KEY_R
3704 // Description : Index 1-6 of a hardware key which must be entered to grant read
3705 //               access, or 0 if no such key is required.
3706 #define OTP_DATA_PAGE6_LOCK0_KEY_R_RESET  "-"
3707 #define OTP_DATA_PAGE6_LOCK0_KEY_R_BITS   _u(0x00000038)
3708 #define OTP_DATA_PAGE6_LOCK0_KEY_R_MSB    _u(5)
3709 #define OTP_DATA_PAGE6_LOCK0_KEY_R_LSB    _u(3)
3710 #define OTP_DATA_PAGE6_LOCK0_KEY_R_ACCESS "RO"
3711 // -----------------------------------------------------------------------------
3712 // Field       : OTP_DATA_PAGE6_LOCK0_KEY_W
3713 // Description : Index 1-6 of a hardware key which must be entered to grant
3714 //               write access, or 0 if no such key is required.
3715 #define OTP_DATA_PAGE6_LOCK0_KEY_W_RESET  "-"
3716 #define OTP_DATA_PAGE6_LOCK0_KEY_W_BITS   _u(0x00000007)
3717 #define OTP_DATA_PAGE6_LOCK0_KEY_W_MSB    _u(2)
3718 #define OTP_DATA_PAGE6_LOCK0_KEY_W_LSB    _u(0)
3719 #define OTP_DATA_PAGE6_LOCK0_KEY_W_ACCESS "RO"
3720 // =============================================================================
3721 // Register    : OTP_DATA_PAGE6_LOCK1
3722 // Description : Lock configuration MSBs for page 6 (rows 0x180 through 0x1bf).
3723 //               Locks are stored with 3-way majority vote encoding, so that
3724 //               bits can be set independently.
3725 //
3726 //               This OTP location is always readable, and is write-protected by
3727 //               its own permissions.
3728 #define OTP_DATA_PAGE6_LOCK1_ROW _u(0x00000f8d)
3729 #define OTP_DATA_PAGE6_LOCK1_BITS   _u(0x00ffff3f)
3730 #define OTP_DATA_PAGE6_LOCK1_RESET  _u(0x00000000)
3731 #define OTP_DATA_PAGE6_LOCK1_WIDTH  _u(24)
3732 // -----------------------------------------------------------------------------
3733 // Field       : OTP_DATA_PAGE6_LOCK1_R2
3734 // Description : Redundant copy of bits 7:0
3735 #define OTP_DATA_PAGE6_LOCK1_R2_RESET  "-"
3736 #define OTP_DATA_PAGE6_LOCK1_R2_BITS   _u(0x00ff0000)
3737 #define OTP_DATA_PAGE6_LOCK1_R2_MSB    _u(23)
3738 #define OTP_DATA_PAGE6_LOCK1_R2_LSB    _u(16)
3739 #define OTP_DATA_PAGE6_LOCK1_R2_ACCESS "RO"
3740 // -----------------------------------------------------------------------------
3741 // Field       : OTP_DATA_PAGE6_LOCK1_R1
3742 // Description : Redundant copy of bits 7:0
3743 #define OTP_DATA_PAGE6_LOCK1_R1_RESET  "-"
3744 #define OTP_DATA_PAGE6_LOCK1_R1_BITS   _u(0x0000ff00)
3745 #define OTP_DATA_PAGE6_LOCK1_R1_MSB    _u(15)
3746 #define OTP_DATA_PAGE6_LOCK1_R1_LSB    _u(8)
3747 #define OTP_DATA_PAGE6_LOCK1_R1_ACCESS "RO"
3748 // -----------------------------------------------------------------------------
3749 // Field       : OTP_DATA_PAGE6_LOCK1_LOCK_BL
3750 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3751 //               USB bootloader) to store their own OTP access permissions. No
3752 //               hardware effect, and no corresponding SW_LOCKx registers.
3753 //               0x0 -> Bootloader permits user reads and writes to this page
3754 //               0x1 -> Bootloader permits user reads of this page
3755 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3756 //               0x3 -> Bootloader does not permit user access to this page
3757 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_RESET  "-"
3758 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3759 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_MSB    _u(5)
3760 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_LSB    _u(4)
3761 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_ACCESS "RO"
3762 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3763 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3764 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3765 #define OTP_DATA_PAGE6_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3766 // -----------------------------------------------------------------------------
3767 // Field       : OTP_DATA_PAGE6_LOCK1_LOCK_NS
3768 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3769 //               coded, so lock state can be advanced permanently from any state
3770 //               to any less-permissive state by programming OTP. Software can
3771 //               also advance the lock state temporarily (until next OTP reset)
3772 //               using the SW_LOCKx registers.
3773 //
3774 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3775 //               as the SBPI programming interface is not accessible to Non-
3776 //               secure software. However, Secure software may check these bits
3777 //               to apply write permissions to a Non-secure OTP programming API.
3778 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3779 //               0x1 -> Page can be read by Non-secure software
3780 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3781 //               0x3 -> Page can not be accessed by Non-secure software.
3782 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_RESET  "-"
3783 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3784 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_MSB    _u(3)
3785 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_LSB    _u(2)
3786 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_ACCESS "RO"
3787 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3788 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3789 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3790 #define OTP_DATA_PAGE6_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3791 // -----------------------------------------------------------------------------
3792 // Field       : OTP_DATA_PAGE6_LOCK1_LOCK_S
3793 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3794 //               so lock state can be advanced permanently from any state to any
3795 //               less-permissive state by programming OTP. Software can also
3796 //               advance the lock state temporarily (until next OTP reset) using
3797 //               the SW_LOCKx registers.
3798 //               0x0 -> Page is fully accessible by Secure software.
3799 //               0x1 -> Page can be read by Secure software, but can not be written.
3800 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3801 //               0x3 -> Page can not be accessed by Secure software.
3802 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_RESET  "-"
3803 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_BITS   _u(0x00000003)
3804 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_MSB    _u(1)
3805 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_LSB    _u(0)
3806 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_ACCESS "RO"
3807 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3808 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3809 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3810 #define OTP_DATA_PAGE6_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3811 // =============================================================================
3812 // Register    : OTP_DATA_PAGE7_LOCK0
3813 // Description : Lock configuration LSBs for page 7 (rows 0x1c0 through 0x1ff).
3814 //               Locks are stored with 3-way majority vote encoding, so that
3815 //               bits can be set independently.
3816 //
3817 //               This OTP location is always readable, and is write-protected by
3818 //               its own permissions.
3819 #define OTP_DATA_PAGE7_LOCK0_ROW _u(0x00000f8e)
3820 #define OTP_DATA_PAGE7_LOCK0_BITS   _u(0x00ffff7f)
3821 #define OTP_DATA_PAGE7_LOCK0_RESET  _u(0x00000000)
3822 #define OTP_DATA_PAGE7_LOCK0_WIDTH  _u(24)
3823 // -----------------------------------------------------------------------------
3824 // Field       : OTP_DATA_PAGE7_LOCK0_R2
3825 // Description : Redundant copy of bits 7:0
3826 #define OTP_DATA_PAGE7_LOCK0_R2_RESET  "-"
3827 #define OTP_DATA_PAGE7_LOCK0_R2_BITS   _u(0x00ff0000)
3828 #define OTP_DATA_PAGE7_LOCK0_R2_MSB    _u(23)
3829 #define OTP_DATA_PAGE7_LOCK0_R2_LSB    _u(16)
3830 #define OTP_DATA_PAGE7_LOCK0_R2_ACCESS "RO"
3831 // -----------------------------------------------------------------------------
3832 // Field       : OTP_DATA_PAGE7_LOCK0_R1
3833 // Description : Redundant copy of bits 7:0
3834 #define OTP_DATA_PAGE7_LOCK0_R1_RESET  "-"
3835 #define OTP_DATA_PAGE7_LOCK0_R1_BITS   _u(0x0000ff00)
3836 #define OTP_DATA_PAGE7_LOCK0_R1_MSB    _u(15)
3837 #define OTP_DATA_PAGE7_LOCK0_R1_LSB    _u(8)
3838 #define OTP_DATA_PAGE7_LOCK0_R1_ACCESS "RO"
3839 // -----------------------------------------------------------------------------
3840 // Field       : OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE
3841 // Description : State when at least one key is registered for this page and no
3842 //               matching key has been entered.
3843 //               0x0 -> read_only
3844 //               0x1 -> inaccessible
3845 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_RESET  "-"
3846 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3847 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_MSB    _u(6)
3848 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_LSB    _u(6)
3849 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_ACCESS "RO"
3850 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
3851 #define OTP_DATA_PAGE7_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
3852 // -----------------------------------------------------------------------------
3853 // Field       : OTP_DATA_PAGE7_LOCK0_KEY_R
3854 // Description : Index 1-6 of a hardware key which must be entered to grant read
3855 //               access, or 0 if no such key is required.
3856 #define OTP_DATA_PAGE7_LOCK0_KEY_R_RESET  "-"
3857 #define OTP_DATA_PAGE7_LOCK0_KEY_R_BITS   _u(0x00000038)
3858 #define OTP_DATA_PAGE7_LOCK0_KEY_R_MSB    _u(5)
3859 #define OTP_DATA_PAGE7_LOCK0_KEY_R_LSB    _u(3)
3860 #define OTP_DATA_PAGE7_LOCK0_KEY_R_ACCESS "RO"
3861 // -----------------------------------------------------------------------------
3862 // Field       : OTP_DATA_PAGE7_LOCK0_KEY_W
3863 // Description : Index 1-6 of a hardware key which must be entered to grant
3864 //               write access, or 0 if no such key is required.
3865 #define OTP_DATA_PAGE7_LOCK0_KEY_W_RESET  "-"
3866 #define OTP_DATA_PAGE7_LOCK0_KEY_W_BITS   _u(0x00000007)
3867 #define OTP_DATA_PAGE7_LOCK0_KEY_W_MSB    _u(2)
3868 #define OTP_DATA_PAGE7_LOCK0_KEY_W_LSB    _u(0)
3869 #define OTP_DATA_PAGE7_LOCK0_KEY_W_ACCESS "RO"
3870 // =============================================================================
3871 // Register    : OTP_DATA_PAGE7_LOCK1
3872 // Description : Lock configuration MSBs for page 7 (rows 0x1c0 through 0x1ff).
3873 //               Locks are stored with 3-way majority vote encoding, so that
3874 //               bits can be set independently.
3875 //
3876 //               This OTP location is always readable, and is write-protected by
3877 //               its own permissions.
3878 #define OTP_DATA_PAGE7_LOCK1_ROW _u(0x00000f8f)
3879 #define OTP_DATA_PAGE7_LOCK1_BITS   _u(0x00ffff3f)
3880 #define OTP_DATA_PAGE7_LOCK1_RESET  _u(0x00000000)
3881 #define OTP_DATA_PAGE7_LOCK1_WIDTH  _u(24)
3882 // -----------------------------------------------------------------------------
3883 // Field       : OTP_DATA_PAGE7_LOCK1_R2
3884 // Description : Redundant copy of bits 7:0
3885 #define OTP_DATA_PAGE7_LOCK1_R2_RESET  "-"
3886 #define OTP_DATA_PAGE7_LOCK1_R2_BITS   _u(0x00ff0000)
3887 #define OTP_DATA_PAGE7_LOCK1_R2_MSB    _u(23)
3888 #define OTP_DATA_PAGE7_LOCK1_R2_LSB    _u(16)
3889 #define OTP_DATA_PAGE7_LOCK1_R2_ACCESS "RO"
3890 // -----------------------------------------------------------------------------
3891 // Field       : OTP_DATA_PAGE7_LOCK1_R1
3892 // Description : Redundant copy of bits 7:0
3893 #define OTP_DATA_PAGE7_LOCK1_R1_RESET  "-"
3894 #define OTP_DATA_PAGE7_LOCK1_R1_BITS   _u(0x0000ff00)
3895 #define OTP_DATA_PAGE7_LOCK1_R1_MSB    _u(15)
3896 #define OTP_DATA_PAGE7_LOCK1_R1_LSB    _u(8)
3897 #define OTP_DATA_PAGE7_LOCK1_R1_ACCESS "RO"
3898 // -----------------------------------------------------------------------------
3899 // Field       : OTP_DATA_PAGE7_LOCK1_LOCK_BL
3900 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
3901 //               USB bootloader) to store their own OTP access permissions. No
3902 //               hardware effect, and no corresponding SW_LOCKx registers.
3903 //               0x0 -> Bootloader permits user reads and writes to this page
3904 //               0x1 -> Bootloader permits user reads of this page
3905 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
3906 //               0x3 -> Bootloader does not permit user access to this page
3907 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_RESET  "-"
3908 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_BITS   _u(0x00000030)
3909 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_MSB    _u(5)
3910 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_LSB    _u(4)
3911 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_ACCESS "RO"
3912 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
3913 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
3914 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
3915 #define OTP_DATA_PAGE7_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
3916 // -----------------------------------------------------------------------------
3917 // Field       : OTP_DATA_PAGE7_LOCK1_LOCK_NS
3918 // Description : Lock state for Non-secure accesses to this page. Thermometer-
3919 //               coded, so lock state can be advanced permanently from any state
3920 //               to any less-permissive state by programming OTP. Software can
3921 //               also advance the lock state temporarily (until next OTP reset)
3922 //               using the SW_LOCKx registers.
3923 //
3924 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
3925 //               as the SBPI programming interface is not accessible to Non-
3926 //               secure software. However, Secure software may check these bits
3927 //               to apply write permissions to a Non-secure OTP programming API.
3928 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
3929 //               0x1 -> Page can be read by Non-secure software
3930 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3931 //               0x3 -> Page can not be accessed by Non-secure software.
3932 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_RESET  "-"
3933 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
3934 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_MSB    _u(3)
3935 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_LSB    _u(2)
3936 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_ACCESS "RO"
3937 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
3938 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
3939 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
3940 #define OTP_DATA_PAGE7_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
3941 // -----------------------------------------------------------------------------
3942 // Field       : OTP_DATA_PAGE7_LOCK1_LOCK_S
3943 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
3944 //               so lock state can be advanced permanently from any state to any
3945 //               less-permissive state by programming OTP. Software can also
3946 //               advance the lock state temporarily (until next OTP reset) using
3947 //               the SW_LOCKx registers.
3948 //               0x0 -> Page is fully accessible by Secure software.
3949 //               0x1 -> Page can be read by Secure software, but can not be written.
3950 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
3951 //               0x3 -> Page can not be accessed by Secure software.
3952 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_RESET  "-"
3953 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_BITS   _u(0x00000003)
3954 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_MSB    _u(1)
3955 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_LSB    _u(0)
3956 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_ACCESS "RO"
3957 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
3958 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
3959 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
3960 #define OTP_DATA_PAGE7_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
3961 // =============================================================================
3962 // Register    : OTP_DATA_PAGE8_LOCK0
3963 // Description : Lock configuration LSBs for page 8 (rows 0x200 through 0x23f).
3964 //               Locks are stored with 3-way majority vote encoding, so that
3965 //               bits can be set independently.
3966 //
3967 //               This OTP location is always readable, and is write-protected by
3968 //               its own permissions.
3969 #define OTP_DATA_PAGE8_LOCK0_ROW _u(0x00000f90)
3970 #define OTP_DATA_PAGE8_LOCK0_BITS   _u(0x00ffff7f)
3971 #define OTP_DATA_PAGE8_LOCK0_RESET  _u(0x00000000)
3972 #define OTP_DATA_PAGE8_LOCK0_WIDTH  _u(24)
3973 // -----------------------------------------------------------------------------
3974 // Field       : OTP_DATA_PAGE8_LOCK0_R2
3975 // Description : Redundant copy of bits 7:0
3976 #define OTP_DATA_PAGE8_LOCK0_R2_RESET  "-"
3977 #define OTP_DATA_PAGE8_LOCK0_R2_BITS   _u(0x00ff0000)
3978 #define OTP_DATA_PAGE8_LOCK0_R2_MSB    _u(23)
3979 #define OTP_DATA_PAGE8_LOCK0_R2_LSB    _u(16)
3980 #define OTP_DATA_PAGE8_LOCK0_R2_ACCESS "RO"
3981 // -----------------------------------------------------------------------------
3982 // Field       : OTP_DATA_PAGE8_LOCK0_R1
3983 // Description : Redundant copy of bits 7:0
3984 #define OTP_DATA_PAGE8_LOCK0_R1_RESET  "-"
3985 #define OTP_DATA_PAGE8_LOCK0_R1_BITS   _u(0x0000ff00)
3986 #define OTP_DATA_PAGE8_LOCK0_R1_MSB    _u(15)
3987 #define OTP_DATA_PAGE8_LOCK0_R1_LSB    _u(8)
3988 #define OTP_DATA_PAGE8_LOCK0_R1_ACCESS "RO"
3989 // -----------------------------------------------------------------------------
3990 // Field       : OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE
3991 // Description : State when at least one key is registered for this page and no
3992 //               matching key has been entered.
3993 //               0x0 -> read_only
3994 //               0x1 -> inaccessible
3995 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_RESET  "-"
3996 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
3997 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_MSB    _u(6)
3998 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_LSB    _u(6)
3999 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_ACCESS "RO"
4000 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4001 #define OTP_DATA_PAGE8_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4002 // -----------------------------------------------------------------------------
4003 // Field       : OTP_DATA_PAGE8_LOCK0_KEY_R
4004 // Description : Index 1-6 of a hardware key which must be entered to grant read
4005 //               access, or 0 if no such key is required.
4006 #define OTP_DATA_PAGE8_LOCK0_KEY_R_RESET  "-"
4007 #define OTP_DATA_PAGE8_LOCK0_KEY_R_BITS   _u(0x00000038)
4008 #define OTP_DATA_PAGE8_LOCK0_KEY_R_MSB    _u(5)
4009 #define OTP_DATA_PAGE8_LOCK0_KEY_R_LSB    _u(3)
4010 #define OTP_DATA_PAGE8_LOCK0_KEY_R_ACCESS "RO"
4011 // -----------------------------------------------------------------------------
4012 // Field       : OTP_DATA_PAGE8_LOCK0_KEY_W
4013 // Description : Index 1-6 of a hardware key which must be entered to grant
4014 //               write access, or 0 if no such key is required.
4015 #define OTP_DATA_PAGE8_LOCK0_KEY_W_RESET  "-"
4016 #define OTP_DATA_PAGE8_LOCK0_KEY_W_BITS   _u(0x00000007)
4017 #define OTP_DATA_PAGE8_LOCK0_KEY_W_MSB    _u(2)
4018 #define OTP_DATA_PAGE8_LOCK0_KEY_W_LSB    _u(0)
4019 #define OTP_DATA_PAGE8_LOCK0_KEY_W_ACCESS "RO"
4020 // =============================================================================
4021 // Register    : OTP_DATA_PAGE8_LOCK1
4022 // Description : Lock configuration MSBs for page 8 (rows 0x200 through 0x23f).
4023 //               Locks are stored with 3-way majority vote encoding, so that
4024 //               bits can be set independently.
4025 //
4026 //               This OTP location is always readable, and is write-protected by
4027 //               its own permissions.
4028 #define OTP_DATA_PAGE8_LOCK1_ROW _u(0x00000f91)
4029 #define OTP_DATA_PAGE8_LOCK1_BITS   _u(0x00ffff3f)
4030 #define OTP_DATA_PAGE8_LOCK1_RESET  _u(0x00000000)
4031 #define OTP_DATA_PAGE8_LOCK1_WIDTH  _u(24)
4032 // -----------------------------------------------------------------------------
4033 // Field       : OTP_DATA_PAGE8_LOCK1_R2
4034 // Description : Redundant copy of bits 7:0
4035 #define OTP_DATA_PAGE8_LOCK1_R2_RESET  "-"
4036 #define OTP_DATA_PAGE8_LOCK1_R2_BITS   _u(0x00ff0000)
4037 #define OTP_DATA_PAGE8_LOCK1_R2_MSB    _u(23)
4038 #define OTP_DATA_PAGE8_LOCK1_R2_LSB    _u(16)
4039 #define OTP_DATA_PAGE8_LOCK1_R2_ACCESS "RO"
4040 // -----------------------------------------------------------------------------
4041 // Field       : OTP_DATA_PAGE8_LOCK1_R1
4042 // Description : Redundant copy of bits 7:0
4043 #define OTP_DATA_PAGE8_LOCK1_R1_RESET  "-"
4044 #define OTP_DATA_PAGE8_LOCK1_R1_BITS   _u(0x0000ff00)
4045 #define OTP_DATA_PAGE8_LOCK1_R1_MSB    _u(15)
4046 #define OTP_DATA_PAGE8_LOCK1_R1_LSB    _u(8)
4047 #define OTP_DATA_PAGE8_LOCK1_R1_ACCESS "RO"
4048 // -----------------------------------------------------------------------------
4049 // Field       : OTP_DATA_PAGE8_LOCK1_LOCK_BL
4050 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4051 //               USB bootloader) to store their own OTP access permissions. No
4052 //               hardware effect, and no corresponding SW_LOCKx registers.
4053 //               0x0 -> Bootloader permits user reads and writes to this page
4054 //               0x1 -> Bootloader permits user reads of this page
4055 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4056 //               0x3 -> Bootloader does not permit user access to this page
4057 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_RESET  "-"
4058 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4059 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_MSB    _u(5)
4060 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_LSB    _u(4)
4061 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_ACCESS "RO"
4062 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4063 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4064 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4065 #define OTP_DATA_PAGE8_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4066 // -----------------------------------------------------------------------------
4067 // Field       : OTP_DATA_PAGE8_LOCK1_LOCK_NS
4068 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4069 //               coded, so lock state can be advanced permanently from any state
4070 //               to any less-permissive state by programming OTP. Software can
4071 //               also advance the lock state temporarily (until next OTP reset)
4072 //               using the SW_LOCKx registers.
4073 //
4074 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4075 //               as the SBPI programming interface is not accessible to Non-
4076 //               secure software. However, Secure software may check these bits
4077 //               to apply write permissions to a Non-secure OTP programming API.
4078 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4079 //               0x1 -> Page can be read by Non-secure software
4080 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4081 //               0x3 -> Page can not be accessed by Non-secure software.
4082 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_RESET  "-"
4083 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4084 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_MSB    _u(3)
4085 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_LSB    _u(2)
4086 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_ACCESS "RO"
4087 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4088 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4089 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4090 #define OTP_DATA_PAGE8_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4091 // -----------------------------------------------------------------------------
4092 // Field       : OTP_DATA_PAGE8_LOCK1_LOCK_S
4093 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4094 //               so lock state can be advanced permanently from any state to any
4095 //               less-permissive state by programming OTP. Software can also
4096 //               advance the lock state temporarily (until next OTP reset) using
4097 //               the SW_LOCKx registers.
4098 //               0x0 -> Page is fully accessible by Secure software.
4099 //               0x1 -> Page can be read by Secure software, but can not be written.
4100 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4101 //               0x3 -> Page can not be accessed by Secure software.
4102 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_RESET  "-"
4103 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_BITS   _u(0x00000003)
4104 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_MSB    _u(1)
4105 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_LSB    _u(0)
4106 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_ACCESS "RO"
4107 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
4108 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
4109 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
4110 #define OTP_DATA_PAGE8_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
4111 // =============================================================================
4112 // Register    : OTP_DATA_PAGE9_LOCK0
4113 // Description : Lock configuration LSBs for page 9 (rows 0x240 through 0x27f).
4114 //               Locks are stored with 3-way majority vote encoding, so that
4115 //               bits can be set independently.
4116 //
4117 //               This OTP location is always readable, and is write-protected by
4118 //               its own permissions.
4119 #define OTP_DATA_PAGE9_LOCK0_ROW _u(0x00000f92)
4120 #define OTP_DATA_PAGE9_LOCK0_BITS   _u(0x00ffff7f)
4121 #define OTP_DATA_PAGE9_LOCK0_RESET  _u(0x00000000)
4122 #define OTP_DATA_PAGE9_LOCK0_WIDTH  _u(24)
4123 // -----------------------------------------------------------------------------
4124 // Field       : OTP_DATA_PAGE9_LOCK0_R2
4125 // Description : Redundant copy of bits 7:0
4126 #define OTP_DATA_PAGE9_LOCK0_R2_RESET  "-"
4127 #define OTP_DATA_PAGE9_LOCK0_R2_BITS   _u(0x00ff0000)
4128 #define OTP_DATA_PAGE9_LOCK0_R2_MSB    _u(23)
4129 #define OTP_DATA_PAGE9_LOCK0_R2_LSB    _u(16)
4130 #define OTP_DATA_PAGE9_LOCK0_R2_ACCESS "RO"
4131 // -----------------------------------------------------------------------------
4132 // Field       : OTP_DATA_PAGE9_LOCK0_R1
4133 // Description : Redundant copy of bits 7:0
4134 #define OTP_DATA_PAGE9_LOCK0_R1_RESET  "-"
4135 #define OTP_DATA_PAGE9_LOCK0_R1_BITS   _u(0x0000ff00)
4136 #define OTP_DATA_PAGE9_LOCK0_R1_MSB    _u(15)
4137 #define OTP_DATA_PAGE9_LOCK0_R1_LSB    _u(8)
4138 #define OTP_DATA_PAGE9_LOCK0_R1_ACCESS "RO"
4139 // -----------------------------------------------------------------------------
4140 // Field       : OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE
4141 // Description : State when at least one key is registered for this page and no
4142 //               matching key has been entered.
4143 //               0x0 -> read_only
4144 //               0x1 -> inaccessible
4145 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_RESET  "-"
4146 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
4147 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_MSB    _u(6)
4148 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_LSB    _u(6)
4149 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_ACCESS "RO"
4150 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4151 #define OTP_DATA_PAGE9_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4152 // -----------------------------------------------------------------------------
4153 // Field       : OTP_DATA_PAGE9_LOCK0_KEY_R
4154 // Description : Index 1-6 of a hardware key which must be entered to grant read
4155 //               access, or 0 if no such key is required.
4156 #define OTP_DATA_PAGE9_LOCK0_KEY_R_RESET  "-"
4157 #define OTP_DATA_PAGE9_LOCK0_KEY_R_BITS   _u(0x00000038)
4158 #define OTP_DATA_PAGE9_LOCK0_KEY_R_MSB    _u(5)
4159 #define OTP_DATA_PAGE9_LOCK0_KEY_R_LSB    _u(3)
4160 #define OTP_DATA_PAGE9_LOCK0_KEY_R_ACCESS "RO"
4161 // -----------------------------------------------------------------------------
4162 // Field       : OTP_DATA_PAGE9_LOCK0_KEY_W
4163 // Description : Index 1-6 of a hardware key which must be entered to grant
4164 //               write access, or 0 if no such key is required.
4165 #define OTP_DATA_PAGE9_LOCK0_KEY_W_RESET  "-"
4166 #define OTP_DATA_PAGE9_LOCK0_KEY_W_BITS   _u(0x00000007)
4167 #define OTP_DATA_PAGE9_LOCK0_KEY_W_MSB    _u(2)
4168 #define OTP_DATA_PAGE9_LOCK0_KEY_W_LSB    _u(0)
4169 #define OTP_DATA_PAGE9_LOCK0_KEY_W_ACCESS "RO"
4170 // =============================================================================
4171 // Register    : OTP_DATA_PAGE9_LOCK1
4172 // Description : Lock configuration MSBs for page 9 (rows 0x240 through 0x27f).
4173 //               Locks are stored with 3-way majority vote encoding, so that
4174 //               bits can be set independently.
4175 //
4176 //               This OTP location is always readable, and is write-protected by
4177 //               its own permissions.
4178 #define OTP_DATA_PAGE9_LOCK1_ROW _u(0x00000f93)
4179 #define OTP_DATA_PAGE9_LOCK1_BITS   _u(0x00ffff3f)
4180 #define OTP_DATA_PAGE9_LOCK1_RESET  _u(0x00000000)
4181 #define OTP_DATA_PAGE9_LOCK1_WIDTH  _u(24)
4182 // -----------------------------------------------------------------------------
4183 // Field       : OTP_DATA_PAGE9_LOCK1_R2
4184 // Description : Redundant copy of bits 7:0
4185 #define OTP_DATA_PAGE9_LOCK1_R2_RESET  "-"
4186 #define OTP_DATA_PAGE9_LOCK1_R2_BITS   _u(0x00ff0000)
4187 #define OTP_DATA_PAGE9_LOCK1_R2_MSB    _u(23)
4188 #define OTP_DATA_PAGE9_LOCK1_R2_LSB    _u(16)
4189 #define OTP_DATA_PAGE9_LOCK1_R2_ACCESS "RO"
4190 // -----------------------------------------------------------------------------
4191 // Field       : OTP_DATA_PAGE9_LOCK1_R1
4192 // Description : Redundant copy of bits 7:0
4193 #define OTP_DATA_PAGE9_LOCK1_R1_RESET  "-"
4194 #define OTP_DATA_PAGE9_LOCK1_R1_BITS   _u(0x0000ff00)
4195 #define OTP_DATA_PAGE9_LOCK1_R1_MSB    _u(15)
4196 #define OTP_DATA_PAGE9_LOCK1_R1_LSB    _u(8)
4197 #define OTP_DATA_PAGE9_LOCK1_R1_ACCESS "RO"
4198 // -----------------------------------------------------------------------------
4199 // Field       : OTP_DATA_PAGE9_LOCK1_LOCK_BL
4200 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4201 //               USB bootloader) to store their own OTP access permissions. No
4202 //               hardware effect, and no corresponding SW_LOCKx registers.
4203 //               0x0 -> Bootloader permits user reads and writes to this page
4204 //               0x1 -> Bootloader permits user reads of this page
4205 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4206 //               0x3 -> Bootloader does not permit user access to this page
4207 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_RESET  "-"
4208 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4209 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_MSB    _u(5)
4210 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_LSB    _u(4)
4211 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_ACCESS "RO"
4212 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4213 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4214 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4215 #define OTP_DATA_PAGE9_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4216 // -----------------------------------------------------------------------------
4217 // Field       : OTP_DATA_PAGE9_LOCK1_LOCK_NS
4218 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4219 //               coded, so lock state can be advanced permanently from any state
4220 //               to any less-permissive state by programming OTP. Software can
4221 //               also advance the lock state temporarily (until next OTP reset)
4222 //               using the SW_LOCKx registers.
4223 //
4224 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4225 //               as the SBPI programming interface is not accessible to Non-
4226 //               secure software. However, Secure software may check these bits
4227 //               to apply write permissions to a Non-secure OTP programming API.
4228 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4229 //               0x1 -> Page can be read by Non-secure software
4230 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4231 //               0x3 -> Page can not be accessed by Non-secure software.
4232 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_RESET  "-"
4233 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4234 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_MSB    _u(3)
4235 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_LSB    _u(2)
4236 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_ACCESS "RO"
4237 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4238 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4239 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4240 #define OTP_DATA_PAGE9_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4241 // -----------------------------------------------------------------------------
4242 // Field       : OTP_DATA_PAGE9_LOCK1_LOCK_S
4243 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4244 //               so lock state can be advanced permanently from any state to any
4245 //               less-permissive state by programming OTP. Software can also
4246 //               advance the lock state temporarily (until next OTP reset) using
4247 //               the SW_LOCKx registers.
4248 //               0x0 -> Page is fully accessible by Secure software.
4249 //               0x1 -> Page can be read by Secure software, but can not be written.
4250 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4251 //               0x3 -> Page can not be accessed by Secure software.
4252 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_RESET  "-"
4253 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_BITS   _u(0x00000003)
4254 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_MSB    _u(1)
4255 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_LSB    _u(0)
4256 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_ACCESS "RO"
4257 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
4258 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
4259 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
4260 #define OTP_DATA_PAGE9_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
4261 // =============================================================================
4262 // Register    : OTP_DATA_PAGE10_LOCK0
4263 // Description : Lock configuration LSBs for page 10 (rows 0x280 through 0x2bf).
4264 //               Locks are stored with 3-way majority vote encoding, so that
4265 //               bits can be set independently.
4266 //
4267 //               This OTP location is always readable, and is write-protected by
4268 //               its own permissions.
4269 #define OTP_DATA_PAGE10_LOCK0_ROW _u(0x00000f94)
4270 #define OTP_DATA_PAGE10_LOCK0_BITS   _u(0x00ffff7f)
4271 #define OTP_DATA_PAGE10_LOCK0_RESET  _u(0x00000000)
4272 #define OTP_DATA_PAGE10_LOCK0_WIDTH  _u(24)
4273 // -----------------------------------------------------------------------------
4274 // Field       : OTP_DATA_PAGE10_LOCK0_R2
4275 // Description : Redundant copy of bits 7:0
4276 #define OTP_DATA_PAGE10_LOCK0_R2_RESET  "-"
4277 #define OTP_DATA_PAGE10_LOCK0_R2_BITS   _u(0x00ff0000)
4278 #define OTP_DATA_PAGE10_LOCK0_R2_MSB    _u(23)
4279 #define OTP_DATA_PAGE10_LOCK0_R2_LSB    _u(16)
4280 #define OTP_DATA_PAGE10_LOCK0_R2_ACCESS "RO"
4281 // -----------------------------------------------------------------------------
4282 // Field       : OTP_DATA_PAGE10_LOCK0_R1
4283 // Description : Redundant copy of bits 7:0
4284 #define OTP_DATA_PAGE10_LOCK0_R1_RESET  "-"
4285 #define OTP_DATA_PAGE10_LOCK0_R1_BITS   _u(0x0000ff00)
4286 #define OTP_DATA_PAGE10_LOCK0_R1_MSB    _u(15)
4287 #define OTP_DATA_PAGE10_LOCK0_R1_LSB    _u(8)
4288 #define OTP_DATA_PAGE10_LOCK0_R1_ACCESS "RO"
4289 // -----------------------------------------------------------------------------
4290 // Field       : OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE
4291 // Description : State when at least one key is registered for this page and no
4292 //               matching key has been entered.
4293 //               0x0 -> read_only
4294 //               0x1 -> inaccessible
4295 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_RESET  "-"
4296 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
4297 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_MSB    _u(6)
4298 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_LSB    _u(6)
4299 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_ACCESS "RO"
4300 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4301 #define OTP_DATA_PAGE10_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4302 // -----------------------------------------------------------------------------
4303 // Field       : OTP_DATA_PAGE10_LOCK0_KEY_R
4304 // Description : Index 1-6 of a hardware key which must be entered to grant read
4305 //               access, or 0 if no such key is required.
4306 #define OTP_DATA_PAGE10_LOCK0_KEY_R_RESET  "-"
4307 #define OTP_DATA_PAGE10_LOCK0_KEY_R_BITS   _u(0x00000038)
4308 #define OTP_DATA_PAGE10_LOCK0_KEY_R_MSB    _u(5)
4309 #define OTP_DATA_PAGE10_LOCK0_KEY_R_LSB    _u(3)
4310 #define OTP_DATA_PAGE10_LOCK0_KEY_R_ACCESS "RO"
4311 // -----------------------------------------------------------------------------
4312 // Field       : OTP_DATA_PAGE10_LOCK0_KEY_W
4313 // Description : Index 1-6 of a hardware key which must be entered to grant
4314 //               write access, or 0 if no such key is required.
4315 #define OTP_DATA_PAGE10_LOCK0_KEY_W_RESET  "-"
4316 #define OTP_DATA_PAGE10_LOCK0_KEY_W_BITS   _u(0x00000007)
4317 #define OTP_DATA_PAGE10_LOCK0_KEY_W_MSB    _u(2)
4318 #define OTP_DATA_PAGE10_LOCK0_KEY_W_LSB    _u(0)
4319 #define OTP_DATA_PAGE10_LOCK0_KEY_W_ACCESS "RO"
4320 // =============================================================================
4321 // Register    : OTP_DATA_PAGE10_LOCK1
4322 // Description : Lock configuration MSBs for page 10 (rows 0x280 through 0x2bf).
4323 //               Locks are stored with 3-way majority vote encoding, so that
4324 //               bits can be set independently.
4325 //
4326 //               This OTP location is always readable, and is write-protected by
4327 //               its own permissions.
4328 #define OTP_DATA_PAGE10_LOCK1_ROW _u(0x00000f95)
4329 #define OTP_DATA_PAGE10_LOCK1_BITS   _u(0x00ffff3f)
4330 #define OTP_DATA_PAGE10_LOCK1_RESET  _u(0x00000000)
4331 #define OTP_DATA_PAGE10_LOCK1_WIDTH  _u(24)
4332 // -----------------------------------------------------------------------------
4333 // Field       : OTP_DATA_PAGE10_LOCK1_R2
4334 // Description : Redundant copy of bits 7:0
4335 #define OTP_DATA_PAGE10_LOCK1_R2_RESET  "-"
4336 #define OTP_DATA_PAGE10_LOCK1_R2_BITS   _u(0x00ff0000)
4337 #define OTP_DATA_PAGE10_LOCK1_R2_MSB    _u(23)
4338 #define OTP_DATA_PAGE10_LOCK1_R2_LSB    _u(16)
4339 #define OTP_DATA_PAGE10_LOCK1_R2_ACCESS "RO"
4340 // -----------------------------------------------------------------------------
4341 // Field       : OTP_DATA_PAGE10_LOCK1_R1
4342 // Description : Redundant copy of bits 7:0
4343 #define OTP_DATA_PAGE10_LOCK1_R1_RESET  "-"
4344 #define OTP_DATA_PAGE10_LOCK1_R1_BITS   _u(0x0000ff00)
4345 #define OTP_DATA_PAGE10_LOCK1_R1_MSB    _u(15)
4346 #define OTP_DATA_PAGE10_LOCK1_R1_LSB    _u(8)
4347 #define OTP_DATA_PAGE10_LOCK1_R1_ACCESS "RO"
4348 // -----------------------------------------------------------------------------
4349 // Field       : OTP_DATA_PAGE10_LOCK1_LOCK_BL
4350 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4351 //               USB bootloader) to store their own OTP access permissions. No
4352 //               hardware effect, and no corresponding SW_LOCKx registers.
4353 //               0x0 -> Bootloader permits user reads and writes to this page
4354 //               0x1 -> Bootloader permits user reads of this page
4355 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4356 //               0x3 -> Bootloader does not permit user access to this page
4357 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_RESET  "-"
4358 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4359 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_MSB    _u(5)
4360 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_LSB    _u(4)
4361 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_ACCESS "RO"
4362 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4363 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4364 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4365 #define OTP_DATA_PAGE10_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4366 // -----------------------------------------------------------------------------
4367 // Field       : OTP_DATA_PAGE10_LOCK1_LOCK_NS
4368 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4369 //               coded, so lock state can be advanced permanently from any state
4370 //               to any less-permissive state by programming OTP. Software can
4371 //               also advance the lock state temporarily (until next OTP reset)
4372 //               using the SW_LOCKx registers.
4373 //
4374 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4375 //               as the SBPI programming interface is not accessible to Non-
4376 //               secure software. However, Secure software may check these bits
4377 //               to apply write permissions to a Non-secure OTP programming API.
4378 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4379 //               0x1 -> Page can be read by Non-secure software
4380 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4381 //               0x3 -> Page can not be accessed by Non-secure software.
4382 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_RESET  "-"
4383 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4384 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_MSB    _u(3)
4385 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_LSB    _u(2)
4386 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_ACCESS "RO"
4387 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4388 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4389 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4390 #define OTP_DATA_PAGE10_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4391 // -----------------------------------------------------------------------------
4392 // Field       : OTP_DATA_PAGE10_LOCK1_LOCK_S
4393 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4394 //               so lock state can be advanced permanently from any state to any
4395 //               less-permissive state by programming OTP. Software can also
4396 //               advance the lock state temporarily (until next OTP reset) using
4397 //               the SW_LOCKx registers.
4398 //               0x0 -> Page is fully accessible by Secure software.
4399 //               0x1 -> Page can be read by Secure software, but can not be written.
4400 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4401 //               0x3 -> Page can not be accessed by Secure software.
4402 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_RESET  "-"
4403 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_BITS   _u(0x00000003)
4404 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_MSB    _u(1)
4405 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_LSB    _u(0)
4406 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_ACCESS "RO"
4407 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
4408 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
4409 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
4410 #define OTP_DATA_PAGE10_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
4411 // =============================================================================
4412 // Register    : OTP_DATA_PAGE11_LOCK0
4413 // Description : Lock configuration LSBs for page 11 (rows 0x2c0 through 0x2ff).
4414 //               Locks are stored with 3-way majority vote encoding, so that
4415 //               bits can be set independently.
4416 //
4417 //               This OTP location is always readable, and is write-protected by
4418 //               its own permissions.
4419 #define OTP_DATA_PAGE11_LOCK0_ROW _u(0x00000f96)
4420 #define OTP_DATA_PAGE11_LOCK0_BITS   _u(0x00ffff7f)
4421 #define OTP_DATA_PAGE11_LOCK0_RESET  _u(0x00000000)
4422 #define OTP_DATA_PAGE11_LOCK0_WIDTH  _u(24)
4423 // -----------------------------------------------------------------------------
4424 // Field       : OTP_DATA_PAGE11_LOCK0_R2
4425 // Description : Redundant copy of bits 7:0
4426 #define OTP_DATA_PAGE11_LOCK0_R2_RESET  "-"
4427 #define OTP_DATA_PAGE11_LOCK0_R2_BITS   _u(0x00ff0000)
4428 #define OTP_DATA_PAGE11_LOCK0_R2_MSB    _u(23)
4429 #define OTP_DATA_PAGE11_LOCK0_R2_LSB    _u(16)
4430 #define OTP_DATA_PAGE11_LOCK0_R2_ACCESS "RO"
4431 // -----------------------------------------------------------------------------
4432 // Field       : OTP_DATA_PAGE11_LOCK0_R1
4433 // Description : Redundant copy of bits 7:0
4434 #define OTP_DATA_PAGE11_LOCK0_R1_RESET  "-"
4435 #define OTP_DATA_PAGE11_LOCK0_R1_BITS   _u(0x0000ff00)
4436 #define OTP_DATA_PAGE11_LOCK0_R1_MSB    _u(15)
4437 #define OTP_DATA_PAGE11_LOCK0_R1_LSB    _u(8)
4438 #define OTP_DATA_PAGE11_LOCK0_R1_ACCESS "RO"
4439 // -----------------------------------------------------------------------------
4440 // Field       : OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE
4441 // Description : State when at least one key is registered for this page and no
4442 //               matching key has been entered.
4443 //               0x0 -> read_only
4444 //               0x1 -> inaccessible
4445 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_RESET  "-"
4446 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
4447 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_MSB    _u(6)
4448 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_LSB    _u(6)
4449 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_ACCESS "RO"
4450 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4451 #define OTP_DATA_PAGE11_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4452 // -----------------------------------------------------------------------------
4453 // Field       : OTP_DATA_PAGE11_LOCK0_KEY_R
4454 // Description : Index 1-6 of a hardware key which must be entered to grant read
4455 //               access, or 0 if no such key is required.
4456 #define OTP_DATA_PAGE11_LOCK0_KEY_R_RESET  "-"
4457 #define OTP_DATA_PAGE11_LOCK0_KEY_R_BITS   _u(0x00000038)
4458 #define OTP_DATA_PAGE11_LOCK0_KEY_R_MSB    _u(5)
4459 #define OTP_DATA_PAGE11_LOCK0_KEY_R_LSB    _u(3)
4460 #define OTP_DATA_PAGE11_LOCK0_KEY_R_ACCESS "RO"
4461 // -----------------------------------------------------------------------------
4462 // Field       : OTP_DATA_PAGE11_LOCK0_KEY_W
4463 // Description : Index 1-6 of a hardware key which must be entered to grant
4464 //               write access, or 0 if no such key is required.
4465 #define OTP_DATA_PAGE11_LOCK0_KEY_W_RESET  "-"
4466 #define OTP_DATA_PAGE11_LOCK0_KEY_W_BITS   _u(0x00000007)
4467 #define OTP_DATA_PAGE11_LOCK0_KEY_W_MSB    _u(2)
4468 #define OTP_DATA_PAGE11_LOCK0_KEY_W_LSB    _u(0)
4469 #define OTP_DATA_PAGE11_LOCK0_KEY_W_ACCESS "RO"
4470 // =============================================================================
4471 // Register    : OTP_DATA_PAGE11_LOCK1
4472 // Description : Lock configuration MSBs for page 11 (rows 0x2c0 through 0x2ff).
4473 //               Locks are stored with 3-way majority vote encoding, so that
4474 //               bits can be set independently.
4475 //
4476 //               This OTP location is always readable, and is write-protected by
4477 //               its own permissions.
4478 #define OTP_DATA_PAGE11_LOCK1_ROW _u(0x00000f97)
4479 #define OTP_DATA_PAGE11_LOCK1_BITS   _u(0x00ffff3f)
4480 #define OTP_DATA_PAGE11_LOCK1_RESET  _u(0x00000000)
4481 #define OTP_DATA_PAGE11_LOCK1_WIDTH  _u(24)
4482 // -----------------------------------------------------------------------------
4483 // Field       : OTP_DATA_PAGE11_LOCK1_R2
4484 // Description : Redundant copy of bits 7:0
4485 #define OTP_DATA_PAGE11_LOCK1_R2_RESET  "-"
4486 #define OTP_DATA_PAGE11_LOCK1_R2_BITS   _u(0x00ff0000)
4487 #define OTP_DATA_PAGE11_LOCK1_R2_MSB    _u(23)
4488 #define OTP_DATA_PAGE11_LOCK1_R2_LSB    _u(16)
4489 #define OTP_DATA_PAGE11_LOCK1_R2_ACCESS "RO"
4490 // -----------------------------------------------------------------------------
4491 // Field       : OTP_DATA_PAGE11_LOCK1_R1
4492 // Description : Redundant copy of bits 7:0
4493 #define OTP_DATA_PAGE11_LOCK1_R1_RESET  "-"
4494 #define OTP_DATA_PAGE11_LOCK1_R1_BITS   _u(0x0000ff00)
4495 #define OTP_DATA_PAGE11_LOCK1_R1_MSB    _u(15)
4496 #define OTP_DATA_PAGE11_LOCK1_R1_LSB    _u(8)
4497 #define OTP_DATA_PAGE11_LOCK1_R1_ACCESS "RO"
4498 // -----------------------------------------------------------------------------
4499 // Field       : OTP_DATA_PAGE11_LOCK1_LOCK_BL
4500 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4501 //               USB bootloader) to store their own OTP access permissions. No
4502 //               hardware effect, and no corresponding SW_LOCKx registers.
4503 //               0x0 -> Bootloader permits user reads and writes to this page
4504 //               0x1 -> Bootloader permits user reads of this page
4505 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4506 //               0x3 -> Bootloader does not permit user access to this page
4507 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_RESET  "-"
4508 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4509 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_MSB    _u(5)
4510 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_LSB    _u(4)
4511 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_ACCESS "RO"
4512 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4513 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4514 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4515 #define OTP_DATA_PAGE11_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4516 // -----------------------------------------------------------------------------
4517 // Field       : OTP_DATA_PAGE11_LOCK1_LOCK_NS
4518 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4519 //               coded, so lock state can be advanced permanently from any state
4520 //               to any less-permissive state by programming OTP. Software can
4521 //               also advance the lock state temporarily (until next OTP reset)
4522 //               using the SW_LOCKx registers.
4523 //
4524 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4525 //               as the SBPI programming interface is not accessible to Non-
4526 //               secure software. However, Secure software may check these bits
4527 //               to apply write permissions to a Non-secure OTP programming API.
4528 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4529 //               0x1 -> Page can be read by Non-secure software
4530 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4531 //               0x3 -> Page can not be accessed by Non-secure software.
4532 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_RESET  "-"
4533 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4534 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_MSB    _u(3)
4535 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_LSB    _u(2)
4536 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_ACCESS "RO"
4537 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4538 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4539 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4540 #define OTP_DATA_PAGE11_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4541 // -----------------------------------------------------------------------------
4542 // Field       : OTP_DATA_PAGE11_LOCK1_LOCK_S
4543 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4544 //               so lock state can be advanced permanently from any state to any
4545 //               less-permissive state by programming OTP. Software can also
4546 //               advance the lock state temporarily (until next OTP reset) using
4547 //               the SW_LOCKx registers.
4548 //               0x0 -> Page is fully accessible by Secure software.
4549 //               0x1 -> Page can be read by Secure software, but can not be written.
4550 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4551 //               0x3 -> Page can not be accessed by Secure software.
4552 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_RESET  "-"
4553 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_BITS   _u(0x00000003)
4554 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_MSB    _u(1)
4555 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_LSB    _u(0)
4556 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_ACCESS "RO"
4557 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
4558 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
4559 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
4560 #define OTP_DATA_PAGE11_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
4561 // =============================================================================
4562 // Register    : OTP_DATA_PAGE12_LOCK0
4563 // Description : Lock configuration LSBs for page 12 (rows 0x300 through 0x33f).
4564 //               Locks are stored with 3-way majority vote encoding, so that
4565 //               bits can be set independently.
4566 //
4567 //               This OTP location is always readable, and is write-protected by
4568 //               its own permissions.
4569 #define OTP_DATA_PAGE12_LOCK0_ROW _u(0x00000f98)
4570 #define OTP_DATA_PAGE12_LOCK0_BITS   _u(0x00ffff7f)
4571 #define OTP_DATA_PAGE12_LOCK0_RESET  _u(0x00000000)
4572 #define OTP_DATA_PAGE12_LOCK0_WIDTH  _u(24)
4573 // -----------------------------------------------------------------------------
4574 // Field       : OTP_DATA_PAGE12_LOCK0_R2
4575 // Description : Redundant copy of bits 7:0
4576 #define OTP_DATA_PAGE12_LOCK0_R2_RESET  "-"
4577 #define OTP_DATA_PAGE12_LOCK0_R2_BITS   _u(0x00ff0000)
4578 #define OTP_DATA_PAGE12_LOCK0_R2_MSB    _u(23)
4579 #define OTP_DATA_PAGE12_LOCK0_R2_LSB    _u(16)
4580 #define OTP_DATA_PAGE12_LOCK0_R2_ACCESS "RO"
4581 // -----------------------------------------------------------------------------
4582 // Field       : OTP_DATA_PAGE12_LOCK0_R1
4583 // Description : Redundant copy of bits 7:0
4584 #define OTP_DATA_PAGE12_LOCK0_R1_RESET  "-"
4585 #define OTP_DATA_PAGE12_LOCK0_R1_BITS   _u(0x0000ff00)
4586 #define OTP_DATA_PAGE12_LOCK0_R1_MSB    _u(15)
4587 #define OTP_DATA_PAGE12_LOCK0_R1_LSB    _u(8)
4588 #define OTP_DATA_PAGE12_LOCK0_R1_ACCESS "RO"
4589 // -----------------------------------------------------------------------------
4590 // Field       : OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE
4591 // Description : State when at least one key is registered for this page and no
4592 //               matching key has been entered.
4593 //               0x0 -> read_only
4594 //               0x1 -> inaccessible
4595 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_RESET  "-"
4596 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
4597 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_MSB    _u(6)
4598 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_LSB    _u(6)
4599 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_ACCESS "RO"
4600 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4601 #define OTP_DATA_PAGE12_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4602 // -----------------------------------------------------------------------------
4603 // Field       : OTP_DATA_PAGE12_LOCK0_KEY_R
4604 // Description : Index 1-6 of a hardware key which must be entered to grant read
4605 //               access, or 0 if no such key is required.
4606 #define OTP_DATA_PAGE12_LOCK0_KEY_R_RESET  "-"
4607 #define OTP_DATA_PAGE12_LOCK0_KEY_R_BITS   _u(0x00000038)
4608 #define OTP_DATA_PAGE12_LOCK0_KEY_R_MSB    _u(5)
4609 #define OTP_DATA_PAGE12_LOCK0_KEY_R_LSB    _u(3)
4610 #define OTP_DATA_PAGE12_LOCK0_KEY_R_ACCESS "RO"
4611 // -----------------------------------------------------------------------------
4612 // Field       : OTP_DATA_PAGE12_LOCK0_KEY_W
4613 // Description : Index 1-6 of a hardware key which must be entered to grant
4614 //               write access, or 0 if no such key is required.
4615 #define OTP_DATA_PAGE12_LOCK0_KEY_W_RESET  "-"
4616 #define OTP_DATA_PAGE12_LOCK0_KEY_W_BITS   _u(0x00000007)
4617 #define OTP_DATA_PAGE12_LOCK0_KEY_W_MSB    _u(2)
4618 #define OTP_DATA_PAGE12_LOCK0_KEY_W_LSB    _u(0)
4619 #define OTP_DATA_PAGE12_LOCK0_KEY_W_ACCESS "RO"
4620 // =============================================================================
4621 // Register    : OTP_DATA_PAGE12_LOCK1
4622 // Description : Lock configuration MSBs for page 12 (rows 0x300 through 0x33f).
4623 //               Locks are stored with 3-way majority vote encoding, so that
4624 //               bits can be set independently.
4625 //
4626 //               This OTP location is always readable, and is write-protected by
4627 //               its own permissions.
4628 #define OTP_DATA_PAGE12_LOCK1_ROW _u(0x00000f99)
4629 #define OTP_DATA_PAGE12_LOCK1_BITS   _u(0x00ffff3f)
4630 #define OTP_DATA_PAGE12_LOCK1_RESET  _u(0x00000000)
4631 #define OTP_DATA_PAGE12_LOCK1_WIDTH  _u(24)
4632 // -----------------------------------------------------------------------------
4633 // Field       : OTP_DATA_PAGE12_LOCK1_R2
4634 // Description : Redundant copy of bits 7:0
4635 #define OTP_DATA_PAGE12_LOCK1_R2_RESET  "-"
4636 #define OTP_DATA_PAGE12_LOCK1_R2_BITS   _u(0x00ff0000)
4637 #define OTP_DATA_PAGE12_LOCK1_R2_MSB    _u(23)
4638 #define OTP_DATA_PAGE12_LOCK1_R2_LSB    _u(16)
4639 #define OTP_DATA_PAGE12_LOCK1_R2_ACCESS "RO"
4640 // -----------------------------------------------------------------------------
4641 // Field       : OTP_DATA_PAGE12_LOCK1_R1
4642 // Description : Redundant copy of bits 7:0
4643 #define OTP_DATA_PAGE12_LOCK1_R1_RESET  "-"
4644 #define OTP_DATA_PAGE12_LOCK1_R1_BITS   _u(0x0000ff00)
4645 #define OTP_DATA_PAGE12_LOCK1_R1_MSB    _u(15)
4646 #define OTP_DATA_PAGE12_LOCK1_R1_LSB    _u(8)
4647 #define OTP_DATA_PAGE12_LOCK1_R1_ACCESS "RO"
4648 // -----------------------------------------------------------------------------
4649 // Field       : OTP_DATA_PAGE12_LOCK1_LOCK_BL
4650 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4651 //               USB bootloader) to store their own OTP access permissions. No
4652 //               hardware effect, and no corresponding SW_LOCKx registers.
4653 //               0x0 -> Bootloader permits user reads and writes to this page
4654 //               0x1 -> Bootloader permits user reads of this page
4655 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4656 //               0x3 -> Bootloader does not permit user access to this page
4657 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_RESET  "-"
4658 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4659 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_MSB    _u(5)
4660 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_LSB    _u(4)
4661 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_ACCESS "RO"
4662 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4663 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4664 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4665 #define OTP_DATA_PAGE12_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4666 // -----------------------------------------------------------------------------
4667 // Field       : OTP_DATA_PAGE12_LOCK1_LOCK_NS
4668 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4669 //               coded, so lock state can be advanced permanently from any state
4670 //               to any less-permissive state by programming OTP. Software can
4671 //               also advance the lock state temporarily (until next OTP reset)
4672 //               using the SW_LOCKx registers.
4673 //
4674 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4675 //               as the SBPI programming interface is not accessible to Non-
4676 //               secure software. However, Secure software may check these bits
4677 //               to apply write permissions to a Non-secure OTP programming API.
4678 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4679 //               0x1 -> Page can be read by Non-secure software
4680 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4681 //               0x3 -> Page can not be accessed by Non-secure software.
4682 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_RESET  "-"
4683 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4684 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_MSB    _u(3)
4685 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_LSB    _u(2)
4686 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_ACCESS "RO"
4687 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4688 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4689 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4690 #define OTP_DATA_PAGE12_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4691 // -----------------------------------------------------------------------------
4692 // Field       : OTP_DATA_PAGE12_LOCK1_LOCK_S
4693 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4694 //               so lock state can be advanced permanently from any state to any
4695 //               less-permissive state by programming OTP. Software can also
4696 //               advance the lock state temporarily (until next OTP reset) using
4697 //               the SW_LOCKx registers.
4698 //               0x0 -> Page is fully accessible by Secure software.
4699 //               0x1 -> Page can be read by Secure software, but can not be written.
4700 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4701 //               0x3 -> Page can not be accessed by Secure software.
4702 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_RESET  "-"
4703 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_BITS   _u(0x00000003)
4704 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_MSB    _u(1)
4705 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_LSB    _u(0)
4706 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_ACCESS "RO"
4707 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
4708 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
4709 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
4710 #define OTP_DATA_PAGE12_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
4711 // =============================================================================
4712 // Register    : OTP_DATA_PAGE13_LOCK0
4713 // Description : Lock configuration LSBs for page 13 (rows 0x340 through 0x37f).
4714 //               Locks are stored with 3-way majority vote encoding, so that
4715 //               bits can be set independently.
4716 //
4717 //               This OTP location is always readable, and is write-protected by
4718 //               its own permissions.
4719 #define OTP_DATA_PAGE13_LOCK0_ROW _u(0x00000f9a)
4720 #define OTP_DATA_PAGE13_LOCK0_BITS   _u(0x00ffff7f)
4721 #define OTP_DATA_PAGE13_LOCK0_RESET  _u(0x00000000)
4722 #define OTP_DATA_PAGE13_LOCK0_WIDTH  _u(24)
4723 // -----------------------------------------------------------------------------
4724 // Field       : OTP_DATA_PAGE13_LOCK0_R2
4725 // Description : Redundant copy of bits 7:0
4726 #define OTP_DATA_PAGE13_LOCK0_R2_RESET  "-"
4727 #define OTP_DATA_PAGE13_LOCK0_R2_BITS   _u(0x00ff0000)
4728 #define OTP_DATA_PAGE13_LOCK0_R2_MSB    _u(23)
4729 #define OTP_DATA_PAGE13_LOCK0_R2_LSB    _u(16)
4730 #define OTP_DATA_PAGE13_LOCK0_R2_ACCESS "RO"
4731 // -----------------------------------------------------------------------------
4732 // Field       : OTP_DATA_PAGE13_LOCK0_R1
4733 // Description : Redundant copy of bits 7:0
4734 #define OTP_DATA_PAGE13_LOCK0_R1_RESET  "-"
4735 #define OTP_DATA_PAGE13_LOCK0_R1_BITS   _u(0x0000ff00)
4736 #define OTP_DATA_PAGE13_LOCK0_R1_MSB    _u(15)
4737 #define OTP_DATA_PAGE13_LOCK0_R1_LSB    _u(8)
4738 #define OTP_DATA_PAGE13_LOCK0_R1_ACCESS "RO"
4739 // -----------------------------------------------------------------------------
4740 // Field       : OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE
4741 // Description : State when at least one key is registered for this page and no
4742 //               matching key has been entered.
4743 //               0x0 -> read_only
4744 //               0x1 -> inaccessible
4745 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_RESET  "-"
4746 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
4747 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_MSB    _u(6)
4748 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_LSB    _u(6)
4749 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_ACCESS "RO"
4750 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4751 #define OTP_DATA_PAGE13_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4752 // -----------------------------------------------------------------------------
4753 // Field       : OTP_DATA_PAGE13_LOCK0_KEY_R
4754 // Description : Index 1-6 of a hardware key which must be entered to grant read
4755 //               access, or 0 if no such key is required.
4756 #define OTP_DATA_PAGE13_LOCK0_KEY_R_RESET  "-"
4757 #define OTP_DATA_PAGE13_LOCK0_KEY_R_BITS   _u(0x00000038)
4758 #define OTP_DATA_PAGE13_LOCK0_KEY_R_MSB    _u(5)
4759 #define OTP_DATA_PAGE13_LOCK0_KEY_R_LSB    _u(3)
4760 #define OTP_DATA_PAGE13_LOCK0_KEY_R_ACCESS "RO"
4761 // -----------------------------------------------------------------------------
4762 // Field       : OTP_DATA_PAGE13_LOCK0_KEY_W
4763 // Description : Index 1-6 of a hardware key which must be entered to grant
4764 //               write access, or 0 if no such key is required.
4765 #define OTP_DATA_PAGE13_LOCK0_KEY_W_RESET  "-"
4766 #define OTP_DATA_PAGE13_LOCK0_KEY_W_BITS   _u(0x00000007)
4767 #define OTP_DATA_PAGE13_LOCK0_KEY_W_MSB    _u(2)
4768 #define OTP_DATA_PAGE13_LOCK0_KEY_W_LSB    _u(0)
4769 #define OTP_DATA_PAGE13_LOCK0_KEY_W_ACCESS "RO"
4770 // =============================================================================
4771 // Register    : OTP_DATA_PAGE13_LOCK1
4772 // Description : Lock configuration MSBs for page 13 (rows 0x340 through 0x37f).
4773 //               Locks are stored with 3-way majority vote encoding, so that
4774 //               bits can be set independently.
4775 //
4776 //               This OTP location is always readable, and is write-protected by
4777 //               its own permissions.
4778 #define OTP_DATA_PAGE13_LOCK1_ROW _u(0x00000f9b)
4779 #define OTP_DATA_PAGE13_LOCK1_BITS   _u(0x00ffff3f)
4780 #define OTP_DATA_PAGE13_LOCK1_RESET  _u(0x00000000)
4781 #define OTP_DATA_PAGE13_LOCK1_WIDTH  _u(24)
4782 // -----------------------------------------------------------------------------
4783 // Field       : OTP_DATA_PAGE13_LOCK1_R2
4784 // Description : Redundant copy of bits 7:0
4785 #define OTP_DATA_PAGE13_LOCK1_R2_RESET  "-"
4786 #define OTP_DATA_PAGE13_LOCK1_R2_BITS   _u(0x00ff0000)
4787 #define OTP_DATA_PAGE13_LOCK1_R2_MSB    _u(23)
4788 #define OTP_DATA_PAGE13_LOCK1_R2_LSB    _u(16)
4789 #define OTP_DATA_PAGE13_LOCK1_R2_ACCESS "RO"
4790 // -----------------------------------------------------------------------------
4791 // Field       : OTP_DATA_PAGE13_LOCK1_R1
4792 // Description : Redundant copy of bits 7:0
4793 #define OTP_DATA_PAGE13_LOCK1_R1_RESET  "-"
4794 #define OTP_DATA_PAGE13_LOCK1_R1_BITS   _u(0x0000ff00)
4795 #define OTP_DATA_PAGE13_LOCK1_R1_MSB    _u(15)
4796 #define OTP_DATA_PAGE13_LOCK1_R1_LSB    _u(8)
4797 #define OTP_DATA_PAGE13_LOCK1_R1_ACCESS "RO"
4798 // -----------------------------------------------------------------------------
4799 // Field       : OTP_DATA_PAGE13_LOCK1_LOCK_BL
4800 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4801 //               USB bootloader) to store their own OTP access permissions. No
4802 //               hardware effect, and no corresponding SW_LOCKx registers.
4803 //               0x0 -> Bootloader permits user reads and writes to this page
4804 //               0x1 -> Bootloader permits user reads of this page
4805 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4806 //               0x3 -> Bootloader does not permit user access to this page
4807 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_RESET  "-"
4808 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4809 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_MSB    _u(5)
4810 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_LSB    _u(4)
4811 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_ACCESS "RO"
4812 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4813 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4814 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4815 #define OTP_DATA_PAGE13_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4816 // -----------------------------------------------------------------------------
4817 // Field       : OTP_DATA_PAGE13_LOCK1_LOCK_NS
4818 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4819 //               coded, so lock state can be advanced permanently from any state
4820 //               to any less-permissive state by programming OTP. Software can
4821 //               also advance the lock state temporarily (until next OTP reset)
4822 //               using the SW_LOCKx registers.
4823 //
4824 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4825 //               as the SBPI programming interface is not accessible to Non-
4826 //               secure software. However, Secure software may check these bits
4827 //               to apply write permissions to a Non-secure OTP programming API.
4828 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4829 //               0x1 -> Page can be read by Non-secure software
4830 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4831 //               0x3 -> Page can not be accessed by Non-secure software.
4832 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_RESET  "-"
4833 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4834 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_MSB    _u(3)
4835 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_LSB    _u(2)
4836 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_ACCESS "RO"
4837 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4838 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4839 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4840 #define OTP_DATA_PAGE13_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4841 // -----------------------------------------------------------------------------
4842 // Field       : OTP_DATA_PAGE13_LOCK1_LOCK_S
4843 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4844 //               so lock state can be advanced permanently from any state to any
4845 //               less-permissive state by programming OTP. Software can also
4846 //               advance the lock state temporarily (until next OTP reset) using
4847 //               the SW_LOCKx registers.
4848 //               0x0 -> Page is fully accessible by Secure software.
4849 //               0x1 -> Page can be read by Secure software, but can not be written.
4850 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4851 //               0x3 -> Page can not be accessed by Secure software.
4852 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_RESET  "-"
4853 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_BITS   _u(0x00000003)
4854 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_MSB    _u(1)
4855 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_LSB    _u(0)
4856 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_ACCESS "RO"
4857 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
4858 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
4859 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
4860 #define OTP_DATA_PAGE13_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
4861 // =============================================================================
4862 // Register    : OTP_DATA_PAGE14_LOCK0
4863 // Description : Lock configuration LSBs for page 14 (rows 0x380 through 0x3bf).
4864 //               Locks are stored with 3-way majority vote encoding, so that
4865 //               bits can be set independently.
4866 //
4867 //               This OTP location is always readable, and is write-protected by
4868 //               its own permissions.
4869 #define OTP_DATA_PAGE14_LOCK0_ROW _u(0x00000f9c)
4870 #define OTP_DATA_PAGE14_LOCK0_BITS   _u(0x00ffff7f)
4871 #define OTP_DATA_PAGE14_LOCK0_RESET  _u(0x00000000)
4872 #define OTP_DATA_PAGE14_LOCK0_WIDTH  _u(24)
4873 // -----------------------------------------------------------------------------
4874 // Field       : OTP_DATA_PAGE14_LOCK0_R2
4875 // Description : Redundant copy of bits 7:0
4876 #define OTP_DATA_PAGE14_LOCK0_R2_RESET  "-"
4877 #define OTP_DATA_PAGE14_LOCK0_R2_BITS   _u(0x00ff0000)
4878 #define OTP_DATA_PAGE14_LOCK0_R2_MSB    _u(23)
4879 #define OTP_DATA_PAGE14_LOCK0_R2_LSB    _u(16)
4880 #define OTP_DATA_PAGE14_LOCK0_R2_ACCESS "RO"
4881 // -----------------------------------------------------------------------------
4882 // Field       : OTP_DATA_PAGE14_LOCK0_R1
4883 // Description : Redundant copy of bits 7:0
4884 #define OTP_DATA_PAGE14_LOCK0_R1_RESET  "-"
4885 #define OTP_DATA_PAGE14_LOCK0_R1_BITS   _u(0x0000ff00)
4886 #define OTP_DATA_PAGE14_LOCK0_R1_MSB    _u(15)
4887 #define OTP_DATA_PAGE14_LOCK0_R1_LSB    _u(8)
4888 #define OTP_DATA_PAGE14_LOCK0_R1_ACCESS "RO"
4889 // -----------------------------------------------------------------------------
4890 // Field       : OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE
4891 // Description : State when at least one key is registered for this page and no
4892 //               matching key has been entered.
4893 //               0x0 -> read_only
4894 //               0x1 -> inaccessible
4895 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_RESET  "-"
4896 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
4897 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_MSB    _u(6)
4898 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_LSB    _u(6)
4899 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_ACCESS "RO"
4900 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
4901 #define OTP_DATA_PAGE14_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
4902 // -----------------------------------------------------------------------------
4903 // Field       : OTP_DATA_PAGE14_LOCK0_KEY_R
4904 // Description : Index 1-6 of a hardware key which must be entered to grant read
4905 //               access, or 0 if no such key is required.
4906 #define OTP_DATA_PAGE14_LOCK0_KEY_R_RESET  "-"
4907 #define OTP_DATA_PAGE14_LOCK0_KEY_R_BITS   _u(0x00000038)
4908 #define OTP_DATA_PAGE14_LOCK0_KEY_R_MSB    _u(5)
4909 #define OTP_DATA_PAGE14_LOCK0_KEY_R_LSB    _u(3)
4910 #define OTP_DATA_PAGE14_LOCK0_KEY_R_ACCESS "RO"
4911 // -----------------------------------------------------------------------------
4912 // Field       : OTP_DATA_PAGE14_LOCK0_KEY_W
4913 // Description : Index 1-6 of a hardware key which must be entered to grant
4914 //               write access, or 0 if no such key is required.
4915 #define OTP_DATA_PAGE14_LOCK0_KEY_W_RESET  "-"
4916 #define OTP_DATA_PAGE14_LOCK0_KEY_W_BITS   _u(0x00000007)
4917 #define OTP_DATA_PAGE14_LOCK0_KEY_W_MSB    _u(2)
4918 #define OTP_DATA_PAGE14_LOCK0_KEY_W_LSB    _u(0)
4919 #define OTP_DATA_PAGE14_LOCK0_KEY_W_ACCESS "RO"
4920 // =============================================================================
4921 // Register    : OTP_DATA_PAGE14_LOCK1
4922 // Description : Lock configuration MSBs for page 14 (rows 0x380 through 0x3bf).
4923 //               Locks are stored with 3-way majority vote encoding, so that
4924 //               bits can be set independently.
4925 //
4926 //               This OTP location is always readable, and is write-protected by
4927 //               its own permissions.
4928 #define OTP_DATA_PAGE14_LOCK1_ROW _u(0x00000f9d)
4929 #define OTP_DATA_PAGE14_LOCK1_BITS   _u(0x00ffff3f)
4930 #define OTP_DATA_PAGE14_LOCK1_RESET  _u(0x00000000)
4931 #define OTP_DATA_PAGE14_LOCK1_WIDTH  _u(24)
4932 // -----------------------------------------------------------------------------
4933 // Field       : OTP_DATA_PAGE14_LOCK1_R2
4934 // Description : Redundant copy of bits 7:0
4935 #define OTP_DATA_PAGE14_LOCK1_R2_RESET  "-"
4936 #define OTP_DATA_PAGE14_LOCK1_R2_BITS   _u(0x00ff0000)
4937 #define OTP_DATA_PAGE14_LOCK1_R2_MSB    _u(23)
4938 #define OTP_DATA_PAGE14_LOCK1_R2_LSB    _u(16)
4939 #define OTP_DATA_PAGE14_LOCK1_R2_ACCESS "RO"
4940 // -----------------------------------------------------------------------------
4941 // Field       : OTP_DATA_PAGE14_LOCK1_R1
4942 // Description : Redundant copy of bits 7:0
4943 #define OTP_DATA_PAGE14_LOCK1_R1_RESET  "-"
4944 #define OTP_DATA_PAGE14_LOCK1_R1_BITS   _u(0x0000ff00)
4945 #define OTP_DATA_PAGE14_LOCK1_R1_MSB    _u(15)
4946 #define OTP_DATA_PAGE14_LOCK1_R1_LSB    _u(8)
4947 #define OTP_DATA_PAGE14_LOCK1_R1_ACCESS "RO"
4948 // -----------------------------------------------------------------------------
4949 // Field       : OTP_DATA_PAGE14_LOCK1_LOCK_BL
4950 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
4951 //               USB bootloader) to store their own OTP access permissions. No
4952 //               hardware effect, and no corresponding SW_LOCKx registers.
4953 //               0x0 -> Bootloader permits user reads and writes to this page
4954 //               0x1 -> Bootloader permits user reads of this page
4955 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
4956 //               0x3 -> Bootloader does not permit user access to this page
4957 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_RESET  "-"
4958 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_BITS   _u(0x00000030)
4959 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_MSB    _u(5)
4960 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_LSB    _u(4)
4961 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_ACCESS "RO"
4962 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
4963 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
4964 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
4965 #define OTP_DATA_PAGE14_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
4966 // -----------------------------------------------------------------------------
4967 // Field       : OTP_DATA_PAGE14_LOCK1_LOCK_NS
4968 // Description : Lock state for Non-secure accesses to this page. Thermometer-
4969 //               coded, so lock state can be advanced permanently from any state
4970 //               to any less-permissive state by programming OTP. Software can
4971 //               also advance the lock state temporarily (until next OTP reset)
4972 //               using the SW_LOCKx registers.
4973 //
4974 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
4975 //               as the SBPI programming interface is not accessible to Non-
4976 //               secure software. However, Secure software may check these bits
4977 //               to apply write permissions to a Non-secure OTP programming API.
4978 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
4979 //               0x1 -> Page can be read by Non-secure software
4980 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
4981 //               0x3 -> Page can not be accessed by Non-secure software.
4982 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_RESET  "-"
4983 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
4984 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_MSB    _u(3)
4985 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_LSB    _u(2)
4986 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_ACCESS "RO"
4987 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
4988 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
4989 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
4990 #define OTP_DATA_PAGE14_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
4991 // -----------------------------------------------------------------------------
4992 // Field       : OTP_DATA_PAGE14_LOCK1_LOCK_S
4993 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
4994 //               so lock state can be advanced permanently from any state to any
4995 //               less-permissive state by programming OTP. Software can also
4996 //               advance the lock state temporarily (until next OTP reset) using
4997 //               the SW_LOCKx registers.
4998 //               0x0 -> Page is fully accessible by Secure software.
4999 //               0x1 -> Page can be read by Secure software, but can not be written.
5000 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5001 //               0x3 -> Page can not be accessed by Secure software.
5002 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_RESET  "-"
5003 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_BITS   _u(0x00000003)
5004 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_MSB    _u(1)
5005 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_LSB    _u(0)
5006 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_ACCESS "RO"
5007 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5008 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5009 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5010 #define OTP_DATA_PAGE14_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5011 // =============================================================================
5012 // Register    : OTP_DATA_PAGE15_LOCK0
5013 // Description : Lock configuration LSBs for page 15 (rows 0x3c0 through 0x3ff).
5014 //               Locks are stored with 3-way majority vote encoding, so that
5015 //               bits can be set independently.
5016 //
5017 //               This OTP location is always readable, and is write-protected by
5018 //               its own permissions.
5019 #define OTP_DATA_PAGE15_LOCK0_ROW _u(0x00000f9e)
5020 #define OTP_DATA_PAGE15_LOCK0_BITS   _u(0x00ffff7f)
5021 #define OTP_DATA_PAGE15_LOCK0_RESET  _u(0x00000000)
5022 #define OTP_DATA_PAGE15_LOCK0_WIDTH  _u(24)
5023 // -----------------------------------------------------------------------------
5024 // Field       : OTP_DATA_PAGE15_LOCK0_R2
5025 // Description : Redundant copy of bits 7:0
5026 #define OTP_DATA_PAGE15_LOCK0_R2_RESET  "-"
5027 #define OTP_DATA_PAGE15_LOCK0_R2_BITS   _u(0x00ff0000)
5028 #define OTP_DATA_PAGE15_LOCK0_R2_MSB    _u(23)
5029 #define OTP_DATA_PAGE15_LOCK0_R2_LSB    _u(16)
5030 #define OTP_DATA_PAGE15_LOCK0_R2_ACCESS "RO"
5031 // -----------------------------------------------------------------------------
5032 // Field       : OTP_DATA_PAGE15_LOCK0_R1
5033 // Description : Redundant copy of bits 7:0
5034 #define OTP_DATA_PAGE15_LOCK0_R1_RESET  "-"
5035 #define OTP_DATA_PAGE15_LOCK0_R1_BITS   _u(0x0000ff00)
5036 #define OTP_DATA_PAGE15_LOCK0_R1_MSB    _u(15)
5037 #define OTP_DATA_PAGE15_LOCK0_R1_LSB    _u(8)
5038 #define OTP_DATA_PAGE15_LOCK0_R1_ACCESS "RO"
5039 // -----------------------------------------------------------------------------
5040 // Field       : OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE
5041 // Description : State when at least one key is registered for this page and no
5042 //               matching key has been entered.
5043 //               0x0 -> read_only
5044 //               0x1 -> inaccessible
5045 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_RESET  "-"
5046 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5047 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_MSB    _u(6)
5048 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_LSB    _u(6)
5049 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_ACCESS "RO"
5050 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5051 #define OTP_DATA_PAGE15_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5052 // -----------------------------------------------------------------------------
5053 // Field       : OTP_DATA_PAGE15_LOCK0_KEY_R
5054 // Description : Index 1-6 of a hardware key which must be entered to grant read
5055 //               access, or 0 if no such key is required.
5056 #define OTP_DATA_PAGE15_LOCK0_KEY_R_RESET  "-"
5057 #define OTP_DATA_PAGE15_LOCK0_KEY_R_BITS   _u(0x00000038)
5058 #define OTP_DATA_PAGE15_LOCK0_KEY_R_MSB    _u(5)
5059 #define OTP_DATA_PAGE15_LOCK0_KEY_R_LSB    _u(3)
5060 #define OTP_DATA_PAGE15_LOCK0_KEY_R_ACCESS "RO"
5061 // -----------------------------------------------------------------------------
5062 // Field       : OTP_DATA_PAGE15_LOCK0_KEY_W
5063 // Description : Index 1-6 of a hardware key which must be entered to grant
5064 //               write access, or 0 if no such key is required.
5065 #define OTP_DATA_PAGE15_LOCK0_KEY_W_RESET  "-"
5066 #define OTP_DATA_PAGE15_LOCK0_KEY_W_BITS   _u(0x00000007)
5067 #define OTP_DATA_PAGE15_LOCK0_KEY_W_MSB    _u(2)
5068 #define OTP_DATA_PAGE15_LOCK0_KEY_W_LSB    _u(0)
5069 #define OTP_DATA_PAGE15_LOCK0_KEY_W_ACCESS "RO"
5070 // =============================================================================
5071 // Register    : OTP_DATA_PAGE15_LOCK1
5072 // Description : Lock configuration MSBs for page 15 (rows 0x3c0 through 0x3ff).
5073 //               Locks are stored with 3-way majority vote encoding, so that
5074 //               bits can be set independently.
5075 //
5076 //               This OTP location is always readable, and is write-protected by
5077 //               its own permissions.
5078 #define OTP_DATA_PAGE15_LOCK1_ROW _u(0x00000f9f)
5079 #define OTP_DATA_PAGE15_LOCK1_BITS   _u(0x00ffff3f)
5080 #define OTP_DATA_PAGE15_LOCK1_RESET  _u(0x00000000)
5081 #define OTP_DATA_PAGE15_LOCK1_WIDTH  _u(24)
5082 // -----------------------------------------------------------------------------
5083 // Field       : OTP_DATA_PAGE15_LOCK1_R2
5084 // Description : Redundant copy of bits 7:0
5085 #define OTP_DATA_PAGE15_LOCK1_R2_RESET  "-"
5086 #define OTP_DATA_PAGE15_LOCK1_R2_BITS   _u(0x00ff0000)
5087 #define OTP_DATA_PAGE15_LOCK1_R2_MSB    _u(23)
5088 #define OTP_DATA_PAGE15_LOCK1_R2_LSB    _u(16)
5089 #define OTP_DATA_PAGE15_LOCK1_R2_ACCESS "RO"
5090 // -----------------------------------------------------------------------------
5091 // Field       : OTP_DATA_PAGE15_LOCK1_R1
5092 // Description : Redundant copy of bits 7:0
5093 #define OTP_DATA_PAGE15_LOCK1_R1_RESET  "-"
5094 #define OTP_DATA_PAGE15_LOCK1_R1_BITS   _u(0x0000ff00)
5095 #define OTP_DATA_PAGE15_LOCK1_R1_MSB    _u(15)
5096 #define OTP_DATA_PAGE15_LOCK1_R1_LSB    _u(8)
5097 #define OTP_DATA_PAGE15_LOCK1_R1_ACCESS "RO"
5098 // -----------------------------------------------------------------------------
5099 // Field       : OTP_DATA_PAGE15_LOCK1_LOCK_BL
5100 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
5101 //               USB bootloader) to store their own OTP access permissions. No
5102 //               hardware effect, and no corresponding SW_LOCKx registers.
5103 //               0x0 -> Bootloader permits user reads and writes to this page
5104 //               0x1 -> Bootloader permits user reads of this page
5105 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
5106 //               0x3 -> Bootloader does not permit user access to this page
5107 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_RESET  "-"
5108 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_BITS   _u(0x00000030)
5109 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_MSB    _u(5)
5110 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_LSB    _u(4)
5111 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_ACCESS "RO"
5112 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
5113 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
5114 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
5115 #define OTP_DATA_PAGE15_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
5116 // -----------------------------------------------------------------------------
5117 // Field       : OTP_DATA_PAGE15_LOCK1_LOCK_NS
5118 // Description : Lock state for Non-secure accesses to this page. Thermometer-
5119 //               coded, so lock state can be advanced permanently from any state
5120 //               to any less-permissive state by programming OTP. Software can
5121 //               also advance the lock state temporarily (until next OTP reset)
5122 //               using the SW_LOCKx registers.
5123 //
5124 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
5125 //               as the SBPI programming interface is not accessible to Non-
5126 //               secure software. However, Secure software may check these bits
5127 //               to apply write permissions to a Non-secure OTP programming API.
5128 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
5129 //               0x1 -> Page can be read by Non-secure software
5130 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5131 //               0x3 -> Page can not be accessed by Non-secure software.
5132 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_RESET  "-"
5133 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
5134 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_MSB    _u(3)
5135 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_LSB    _u(2)
5136 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_ACCESS "RO"
5137 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
5138 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
5139 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
5140 #define OTP_DATA_PAGE15_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
5141 // -----------------------------------------------------------------------------
5142 // Field       : OTP_DATA_PAGE15_LOCK1_LOCK_S
5143 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
5144 //               so lock state can be advanced permanently from any state to any
5145 //               less-permissive state by programming OTP. Software can also
5146 //               advance the lock state temporarily (until next OTP reset) using
5147 //               the SW_LOCKx registers.
5148 //               0x0 -> Page is fully accessible by Secure software.
5149 //               0x1 -> Page can be read by Secure software, but can not be written.
5150 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5151 //               0x3 -> Page can not be accessed by Secure software.
5152 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_RESET  "-"
5153 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_BITS   _u(0x00000003)
5154 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_MSB    _u(1)
5155 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_LSB    _u(0)
5156 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_ACCESS "RO"
5157 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5158 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5159 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5160 #define OTP_DATA_PAGE15_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5161 // =============================================================================
5162 // Register    : OTP_DATA_PAGE16_LOCK0
5163 // Description : Lock configuration LSBs for page 16 (rows 0x400 through 0x43f).
5164 //               Locks are stored with 3-way majority vote encoding, so that
5165 //               bits can be set independently.
5166 //
5167 //               This OTP location is always readable, and is write-protected by
5168 //               its own permissions.
5169 #define OTP_DATA_PAGE16_LOCK0_ROW _u(0x00000fa0)
5170 #define OTP_DATA_PAGE16_LOCK0_BITS   _u(0x00ffff7f)
5171 #define OTP_DATA_PAGE16_LOCK0_RESET  _u(0x00000000)
5172 #define OTP_DATA_PAGE16_LOCK0_WIDTH  _u(24)
5173 // -----------------------------------------------------------------------------
5174 // Field       : OTP_DATA_PAGE16_LOCK0_R2
5175 // Description : Redundant copy of bits 7:0
5176 #define OTP_DATA_PAGE16_LOCK0_R2_RESET  "-"
5177 #define OTP_DATA_PAGE16_LOCK0_R2_BITS   _u(0x00ff0000)
5178 #define OTP_DATA_PAGE16_LOCK0_R2_MSB    _u(23)
5179 #define OTP_DATA_PAGE16_LOCK0_R2_LSB    _u(16)
5180 #define OTP_DATA_PAGE16_LOCK0_R2_ACCESS "RO"
5181 // -----------------------------------------------------------------------------
5182 // Field       : OTP_DATA_PAGE16_LOCK0_R1
5183 // Description : Redundant copy of bits 7:0
5184 #define OTP_DATA_PAGE16_LOCK0_R1_RESET  "-"
5185 #define OTP_DATA_PAGE16_LOCK0_R1_BITS   _u(0x0000ff00)
5186 #define OTP_DATA_PAGE16_LOCK0_R1_MSB    _u(15)
5187 #define OTP_DATA_PAGE16_LOCK0_R1_LSB    _u(8)
5188 #define OTP_DATA_PAGE16_LOCK0_R1_ACCESS "RO"
5189 // -----------------------------------------------------------------------------
5190 // Field       : OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE
5191 // Description : State when at least one key is registered for this page and no
5192 //               matching key has been entered.
5193 //               0x0 -> read_only
5194 //               0x1 -> inaccessible
5195 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_RESET  "-"
5196 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5197 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_MSB    _u(6)
5198 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_LSB    _u(6)
5199 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_ACCESS "RO"
5200 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5201 #define OTP_DATA_PAGE16_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5202 // -----------------------------------------------------------------------------
5203 // Field       : OTP_DATA_PAGE16_LOCK0_KEY_R
5204 // Description : Index 1-6 of a hardware key which must be entered to grant read
5205 //               access, or 0 if no such key is required.
5206 #define OTP_DATA_PAGE16_LOCK0_KEY_R_RESET  "-"
5207 #define OTP_DATA_PAGE16_LOCK0_KEY_R_BITS   _u(0x00000038)
5208 #define OTP_DATA_PAGE16_LOCK0_KEY_R_MSB    _u(5)
5209 #define OTP_DATA_PAGE16_LOCK0_KEY_R_LSB    _u(3)
5210 #define OTP_DATA_PAGE16_LOCK0_KEY_R_ACCESS "RO"
5211 // -----------------------------------------------------------------------------
5212 // Field       : OTP_DATA_PAGE16_LOCK0_KEY_W
5213 // Description : Index 1-6 of a hardware key which must be entered to grant
5214 //               write access, or 0 if no such key is required.
5215 #define OTP_DATA_PAGE16_LOCK0_KEY_W_RESET  "-"
5216 #define OTP_DATA_PAGE16_LOCK0_KEY_W_BITS   _u(0x00000007)
5217 #define OTP_DATA_PAGE16_LOCK0_KEY_W_MSB    _u(2)
5218 #define OTP_DATA_PAGE16_LOCK0_KEY_W_LSB    _u(0)
5219 #define OTP_DATA_PAGE16_LOCK0_KEY_W_ACCESS "RO"
5220 // =============================================================================
5221 // Register    : OTP_DATA_PAGE16_LOCK1
5222 // Description : Lock configuration MSBs for page 16 (rows 0x400 through 0x43f).
5223 //               Locks are stored with 3-way majority vote encoding, so that
5224 //               bits can be set independently.
5225 //
5226 //               This OTP location is always readable, and is write-protected by
5227 //               its own permissions.
5228 #define OTP_DATA_PAGE16_LOCK1_ROW _u(0x00000fa1)
5229 #define OTP_DATA_PAGE16_LOCK1_BITS   _u(0x00ffff3f)
5230 #define OTP_DATA_PAGE16_LOCK1_RESET  _u(0x00000000)
5231 #define OTP_DATA_PAGE16_LOCK1_WIDTH  _u(24)
5232 // -----------------------------------------------------------------------------
5233 // Field       : OTP_DATA_PAGE16_LOCK1_R2
5234 // Description : Redundant copy of bits 7:0
5235 #define OTP_DATA_PAGE16_LOCK1_R2_RESET  "-"
5236 #define OTP_DATA_PAGE16_LOCK1_R2_BITS   _u(0x00ff0000)
5237 #define OTP_DATA_PAGE16_LOCK1_R2_MSB    _u(23)
5238 #define OTP_DATA_PAGE16_LOCK1_R2_LSB    _u(16)
5239 #define OTP_DATA_PAGE16_LOCK1_R2_ACCESS "RO"
5240 // -----------------------------------------------------------------------------
5241 // Field       : OTP_DATA_PAGE16_LOCK1_R1
5242 // Description : Redundant copy of bits 7:0
5243 #define OTP_DATA_PAGE16_LOCK1_R1_RESET  "-"
5244 #define OTP_DATA_PAGE16_LOCK1_R1_BITS   _u(0x0000ff00)
5245 #define OTP_DATA_PAGE16_LOCK1_R1_MSB    _u(15)
5246 #define OTP_DATA_PAGE16_LOCK1_R1_LSB    _u(8)
5247 #define OTP_DATA_PAGE16_LOCK1_R1_ACCESS "RO"
5248 // -----------------------------------------------------------------------------
5249 // Field       : OTP_DATA_PAGE16_LOCK1_LOCK_BL
5250 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
5251 //               USB bootloader) to store their own OTP access permissions. No
5252 //               hardware effect, and no corresponding SW_LOCKx registers.
5253 //               0x0 -> Bootloader permits user reads and writes to this page
5254 //               0x1 -> Bootloader permits user reads of this page
5255 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
5256 //               0x3 -> Bootloader does not permit user access to this page
5257 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_RESET  "-"
5258 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_BITS   _u(0x00000030)
5259 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_MSB    _u(5)
5260 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_LSB    _u(4)
5261 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_ACCESS "RO"
5262 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
5263 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
5264 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
5265 #define OTP_DATA_PAGE16_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
5266 // -----------------------------------------------------------------------------
5267 // Field       : OTP_DATA_PAGE16_LOCK1_LOCK_NS
5268 // Description : Lock state for Non-secure accesses to this page. Thermometer-
5269 //               coded, so lock state can be advanced permanently from any state
5270 //               to any less-permissive state by programming OTP. Software can
5271 //               also advance the lock state temporarily (until next OTP reset)
5272 //               using the SW_LOCKx registers.
5273 //
5274 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
5275 //               as the SBPI programming interface is not accessible to Non-
5276 //               secure software. However, Secure software may check these bits
5277 //               to apply write permissions to a Non-secure OTP programming API.
5278 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
5279 //               0x1 -> Page can be read by Non-secure software
5280 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5281 //               0x3 -> Page can not be accessed by Non-secure software.
5282 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_RESET  "-"
5283 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
5284 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_MSB    _u(3)
5285 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_LSB    _u(2)
5286 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_ACCESS "RO"
5287 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
5288 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
5289 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
5290 #define OTP_DATA_PAGE16_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
5291 // -----------------------------------------------------------------------------
5292 // Field       : OTP_DATA_PAGE16_LOCK1_LOCK_S
5293 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
5294 //               so lock state can be advanced permanently from any state to any
5295 //               less-permissive state by programming OTP. Software can also
5296 //               advance the lock state temporarily (until next OTP reset) using
5297 //               the SW_LOCKx registers.
5298 //               0x0 -> Page is fully accessible by Secure software.
5299 //               0x1 -> Page can be read by Secure software, but can not be written.
5300 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5301 //               0x3 -> Page can not be accessed by Secure software.
5302 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_RESET  "-"
5303 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_BITS   _u(0x00000003)
5304 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_MSB    _u(1)
5305 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_LSB    _u(0)
5306 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_ACCESS "RO"
5307 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5308 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5309 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5310 #define OTP_DATA_PAGE16_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5311 // =============================================================================
5312 // Register    : OTP_DATA_PAGE17_LOCK0
5313 // Description : Lock configuration LSBs for page 17 (rows 0x440 through 0x47f).
5314 //               Locks are stored with 3-way majority vote encoding, so that
5315 //               bits can be set independently.
5316 //
5317 //               This OTP location is always readable, and is write-protected by
5318 //               its own permissions.
5319 #define OTP_DATA_PAGE17_LOCK0_ROW _u(0x00000fa2)
5320 #define OTP_DATA_PAGE17_LOCK0_BITS   _u(0x00ffff7f)
5321 #define OTP_DATA_PAGE17_LOCK0_RESET  _u(0x00000000)
5322 #define OTP_DATA_PAGE17_LOCK0_WIDTH  _u(24)
5323 // -----------------------------------------------------------------------------
5324 // Field       : OTP_DATA_PAGE17_LOCK0_R2
5325 // Description : Redundant copy of bits 7:0
5326 #define OTP_DATA_PAGE17_LOCK0_R2_RESET  "-"
5327 #define OTP_DATA_PAGE17_LOCK0_R2_BITS   _u(0x00ff0000)
5328 #define OTP_DATA_PAGE17_LOCK0_R2_MSB    _u(23)
5329 #define OTP_DATA_PAGE17_LOCK0_R2_LSB    _u(16)
5330 #define OTP_DATA_PAGE17_LOCK0_R2_ACCESS "RO"
5331 // -----------------------------------------------------------------------------
5332 // Field       : OTP_DATA_PAGE17_LOCK0_R1
5333 // Description : Redundant copy of bits 7:0
5334 #define OTP_DATA_PAGE17_LOCK0_R1_RESET  "-"
5335 #define OTP_DATA_PAGE17_LOCK0_R1_BITS   _u(0x0000ff00)
5336 #define OTP_DATA_PAGE17_LOCK0_R1_MSB    _u(15)
5337 #define OTP_DATA_PAGE17_LOCK0_R1_LSB    _u(8)
5338 #define OTP_DATA_PAGE17_LOCK0_R1_ACCESS "RO"
5339 // -----------------------------------------------------------------------------
5340 // Field       : OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE
5341 // Description : State when at least one key is registered for this page and no
5342 //               matching key has been entered.
5343 //               0x0 -> read_only
5344 //               0x1 -> inaccessible
5345 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_RESET  "-"
5346 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5347 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_MSB    _u(6)
5348 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_LSB    _u(6)
5349 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_ACCESS "RO"
5350 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5351 #define OTP_DATA_PAGE17_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5352 // -----------------------------------------------------------------------------
5353 // Field       : OTP_DATA_PAGE17_LOCK0_KEY_R
5354 // Description : Index 1-6 of a hardware key which must be entered to grant read
5355 //               access, or 0 if no such key is required.
5356 #define OTP_DATA_PAGE17_LOCK0_KEY_R_RESET  "-"
5357 #define OTP_DATA_PAGE17_LOCK0_KEY_R_BITS   _u(0x00000038)
5358 #define OTP_DATA_PAGE17_LOCK0_KEY_R_MSB    _u(5)
5359 #define OTP_DATA_PAGE17_LOCK0_KEY_R_LSB    _u(3)
5360 #define OTP_DATA_PAGE17_LOCK0_KEY_R_ACCESS "RO"
5361 // -----------------------------------------------------------------------------
5362 // Field       : OTP_DATA_PAGE17_LOCK0_KEY_W
5363 // Description : Index 1-6 of a hardware key which must be entered to grant
5364 //               write access, or 0 if no such key is required.
5365 #define OTP_DATA_PAGE17_LOCK0_KEY_W_RESET  "-"
5366 #define OTP_DATA_PAGE17_LOCK0_KEY_W_BITS   _u(0x00000007)
5367 #define OTP_DATA_PAGE17_LOCK0_KEY_W_MSB    _u(2)
5368 #define OTP_DATA_PAGE17_LOCK0_KEY_W_LSB    _u(0)
5369 #define OTP_DATA_PAGE17_LOCK0_KEY_W_ACCESS "RO"
5370 // =============================================================================
5371 // Register    : OTP_DATA_PAGE17_LOCK1
5372 // Description : Lock configuration MSBs for page 17 (rows 0x440 through 0x47f).
5373 //               Locks are stored with 3-way majority vote encoding, so that
5374 //               bits can be set independently.
5375 //
5376 //               This OTP location is always readable, and is write-protected by
5377 //               its own permissions.
5378 #define OTP_DATA_PAGE17_LOCK1_ROW _u(0x00000fa3)
5379 #define OTP_DATA_PAGE17_LOCK1_BITS   _u(0x00ffff3f)
5380 #define OTP_DATA_PAGE17_LOCK1_RESET  _u(0x00000000)
5381 #define OTP_DATA_PAGE17_LOCK1_WIDTH  _u(24)
5382 // -----------------------------------------------------------------------------
5383 // Field       : OTP_DATA_PAGE17_LOCK1_R2
5384 // Description : Redundant copy of bits 7:0
5385 #define OTP_DATA_PAGE17_LOCK1_R2_RESET  "-"
5386 #define OTP_DATA_PAGE17_LOCK1_R2_BITS   _u(0x00ff0000)
5387 #define OTP_DATA_PAGE17_LOCK1_R2_MSB    _u(23)
5388 #define OTP_DATA_PAGE17_LOCK1_R2_LSB    _u(16)
5389 #define OTP_DATA_PAGE17_LOCK1_R2_ACCESS "RO"
5390 // -----------------------------------------------------------------------------
5391 // Field       : OTP_DATA_PAGE17_LOCK1_R1
5392 // Description : Redundant copy of bits 7:0
5393 #define OTP_DATA_PAGE17_LOCK1_R1_RESET  "-"
5394 #define OTP_DATA_PAGE17_LOCK1_R1_BITS   _u(0x0000ff00)
5395 #define OTP_DATA_PAGE17_LOCK1_R1_MSB    _u(15)
5396 #define OTP_DATA_PAGE17_LOCK1_R1_LSB    _u(8)
5397 #define OTP_DATA_PAGE17_LOCK1_R1_ACCESS "RO"
5398 // -----------------------------------------------------------------------------
5399 // Field       : OTP_DATA_PAGE17_LOCK1_LOCK_BL
5400 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
5401 //               USB bootloader) to store their own OTP access permissions. No
5402 //               hardware effect, and no corresponding SW_LOCKx registers.
5403 //               0x0 -> Bootloader permits user reads and writes to this page
5404 //               0x1 -> Bootloader permits user reads of this page
5405 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
5406 //               0x3 -> Bootloader does not permit user access to this page
5407 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_RESET  "-"
5408 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_BITS   _u(0x00000030)
5409 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_MSB    _u(5)
5410 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_LSB    _u(4)
5411 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_ACCESS "RO"
5412 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
5413 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
5414 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
5415 #define OTP_DATA_PAGE17_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
5416 // -----------------------------------------------------------------------------
5417 // Field       : OTP_DATA_PAGE17_LOCK1_LOCK_NS
5418 // Description : Lock state for Non-secure accesses to this page. Thermometer-
5419 //               coded, so lock state can be advanced permanently from any state
5420 //               to any less-permissive state by programming OTP. Software can
5421 //               also advance the lock state temporarily (until next OTP reset)
5422 //               using the SW_LOCKx registers.
5423 //
5424 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
5425 //               as the SBPI programming interface is not accessible to Non-
5426 //               secure software. However, Secure software may check these bits
5427 //               to apply write permissions to a Non-secure OTP programming API.
5428 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
5429 //               0x1 -> Page can be read by Non-secure software
5430 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5431 //               0x3 -> Page can not be accessed by Non-secure software.
5432 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_RESET  "-"
5433 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
5434 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_MSB    _u(3)
5435 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_LSB    _u(2)
5436 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_ACCESS "RO"
5437 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
5438 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
5439 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
5440 #define OTP_DATA_PAGE17_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
5441 // -----------------------------------------------------------------------------
5442 // Field       : OTP_DATA_PAGE17_LOCK1_LOCK_S
5443 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
5444 //               so lock state can be advanced permanently from any state to any
5445 //               less-permissive state by programming OTP. Software can also
5446 //               advance the lock state temporarily (until next OTP reset) using
5447 //               the SW_LOCKx registers.
5448 //               0x0 -> Page is fully accessible by Secure software.
5449 //               0x1 -> Page can be read by Secure software, but can not be written.
5450 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5451 //               0x3 -> Page can not be accessed by Secure software.
5452 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_RESET  "-"
5453 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_BITS   _u(0x00000003)
5454 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_MSB    _u(1)
5455 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_LSB    _u(0)
5456 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_ACCESS "RO"
5457 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5458 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5459 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5460 #define OTP_DATA_PAGE17_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5461 // =============================================================================
5462 // Register    : OTP_DATA_PAGE18_LOCK0
5463 // Description : Lock configuration LSBs for page 18 (rows 0x480 through 0x4bf).
5464 //               Locks are stored with 3-way majority vote encoding, so that
5465 //               bits can be set independently.
5466 //
5467 //               This OTP location is always readable, and is write-protected by
5468 //               its own permissions.
5469 #define OTP_DATA_PAGE18_LOCK0_ROW _u(0x00000fa4)
5470 #define OTP_DATA_PAGE18_LOCK0_BITS   _u(0x00ffff7f)
5471 #define OTP_DATA_PAGE18_LOCK0_RESET  _u(0x00000000)
5472 #define OTP_DATA_PAGE18_LOCK0_WIDTH  _u(24)
5473 // -----------------------------------------------------------------------------
5474 // Field       : OTP_DATA_PAGE18_LOCK0_R2
5475 // Description : Redundant copy of bits 7:0
5476 #define OTP_DATA_PAGE18_LOCK0_R2_RESET  "-"
5477 #define OTP_DATA_PAGE18_LOCK0_R2_BITS   _u(0x00ff0000)
5478 #define OTP_DATA_PAGE18_LOCK0_R2_MSB    _u(23)
5479 #define OTP_DATA_PAGE18_LOCK0_R2_LSB    _u(16)
5480 #define OTP_DATA_PAGE18_LOCK0_R2_ACCESS "RO"
5481 // -----------------------------------------------------------------------------
5482 // Field       : OTP_DATA_PAGE18_LOCK0_R1
5483 // Description : Redundant copy of bits 7:0
5484 #define OTP_DATA_PAGE18_LOCK0_R1_RESET  "-"
5485 #define OTP_DATA_PAGE18_LOCK0_R1_BITS   _u(0x0000ff00)
5486 #define OTP_DATA_PAGE18_LOCK0_R1_MSB    _u(15)
5487 #define OTP_DATA_PAGE18_LOCK0_R1_LSB    _u(8)
5488 #define OTP_DATA_PAGE18_LOCK0_R1_ACCESS "RO"
5489 // -----------------------------------------------------------------------------
5490 // Field       : OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE
5491 // Description : State when at least one key is registered for this page and no
5492 //               matching key has been entered.
5493 //               0x0 -> read_only
5494 //               0x1 -> inaccessible
5495 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_RESET  "-"
5496 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5497 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_MSB    _u(6)
5498 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_LSB    _u(6)
5499 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_ACCESS "RO"
5500 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5501 #define OTP_DATA_PAGE18_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5502 // -----------------------------------------------------------------------------
5503 // Field       : OTP_DATA_PAGE18_LOCK0_KEY_R
5504 // Description : Index 1-6 of a hardware key which must be entered to grant read
5505 //               access, or 0 if no such key is required.
5506 #define OTP_DATA_PAGE18_LOCK0_KEY_R_RESET  "-"
5507 #define OTP_DATA_PAGE18_LOCK0_KEY_R_BITS   _u(0x00000038)
5508 #define OTP_DATA_PAGE18_LOCK0_KEY_R_MSB    _u(5)
5509 #define OTP_DATA_PAGE18_LOCK0_KEY_R_LSB    _u(3)
5510 #define OTP_DATA_PAGE18_LOCK0_KEY_R_ACCESS "RO"
5511 // -----------------------------------------------------------------------------
5512 // Field       : OTP_DATA_PAGE18_LOCK0_KEY_W
5513 // Description : Index 1-6 of a hardware key which must be entered to grant
5514 //               write access, or 0 if no such key is required.
5515 #define OTP_DATA_PAGE18_LOCK0_KEY_W_RESET  "-"
5516 #define OTP_DATA_PAGE18_LOCK0_KEY_W_BITS   _u(0x00000007)
5517 #define OTP_DATA_PAGE18_LOCK0_KEY_W_MSB    _u(2)
5518 #define OTP_DATA_PAGE18_LOCK0_KEY_W_LSB    _u(0)
5519 #define OTP_DATA_PAGE18_LOCK0_KEY_W_ACCESS "RO"
5520 // =============================================================================
5521 // Register    : OTP_DATA_PAGE18_LOCK1
5522 // Description : Lock configuration MSBs for page 18 (rows 0x480 through 0x4bf).
5523 //               Locks are stored with 3-way majority vote encoding, so that
5524 //               bits can be set independently.
5525 //
5526 //               This OTP location is always readable, and is write-protected by
5527 //               its own permissions.
5528 #define OTP_DATA_PAGE18_LOCK1_ROW _u(0x00000fa5)
5529 #define OTP_DATA_PAGE18_LOCK1_BITS   _u(0x00ffff3f)
5530 #define OTP_DATA_PAGE18_LOCK1_RESET  _u(0x00000000)
5531 #define OTP_DATA_PAGE18_LOCK1_WIDTH  _u(24)
5532 // -----------------------------------------------------------------------------
5533 // Field       : OTP_DATA_PAGE18_LOCK1_R2
5534 // Description : Redundant copy of bits 7:0
5535 #define OTP_DATA_PAGE18_LOCK1_R2_RESET  "-"
5536 #define OTP_DATA_PAGE18_LOCK1_R2_BITS   _u(0x00ff0000)
5537 #define OTP_DATA_PAGE18_LOCK1_R2_MSB    _u(23)
5538 #define OTP_DATA_PAGE18_LOCK1_R2_LSB    _u(16)
5539 #define OTP_DATA_PAGE18_LOCK1_R2_ACCESS "RO"
5540 // -----------------------------------------------------------------------------
5541 // Field       : OTP_DATA_PAGE18_LOCK1_R1
5542 // Description : Redundant copy of bits 7:0
5543 #define OTP_DATA_PAGE18_LOCK1_R1_RESET  "-"
5544 #define OTP_DATA_PAGE18_LOCK1_R1_BITS   _u(0x0000ff00)
5545 #define OTP_DATA_PAGE18_LOCK1_R1_MSB    _u(15)
5546 #define OTP_DATA_PAGE18_LOCK1_R1_LSB    _u(8)
5547 #define OTP_DATA_PAGE18_LOCK1_R1_ACCESS "RO"
5548 // -----------------------------------------------------------------------------
5549 // Field       : OTP_DATA_PAGE18_LOCK1_LOCK_BL
5550 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
5551 //               USB bootloader) to store their own OTP access permissions. No
5552 //               hardware effect, and no corresponding SW_LOCKx registers.
5553 //               0x0 -> Bootloader permits user reads and writes to this page
5554 //               0x1 -> Bootloader permits user reads of this page
5555 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
5556 //               0x3 -> Bootloader does not permit user access to this page
5557 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_RESET  "-"
5558 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_BITS   _u(0x00000030)
5559 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_MSB    _u(5)
5560 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_LSB    _u(4)
5561 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_ACCESS "RO"
5562 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
5563 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
5564 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
5565 #define OTP_DATA_PAGE18_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
5566 // -----------------------------------------------------------------------------
5567 // Field       : OTP_DATA_PAGE18_LOCK1_LOCK_NS
5568 // Description : Lock state for Non-secure accesses to this page. Thermometer-
5569 //               coded, so lock state can be advanced permanently from any state
5570 //               to any less-permissive state by programming OTP. Software can
5571 //               also advance the lock state temporarily (until next OTP reset)
5572 //               using the SW_LOCKx registers.
5573 //
5574 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
5575 //               as the SBPI programming interface is not accessible to Non-
5576 //               secure software. However, Secure software may check these bits
5577 //               to apply write permissions to a Non-secure OTP programming API.
5578 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
5579 //               0x1 -> Page can be read by Non-secure software
5580 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5581 //               0x3 -> Page can not be accessed by Non-secure software.
5582 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_RESET  "-"
5583 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
5584 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_MSB    _u(3)
5585 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_LSB    _u(2)
5586 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_ACCESS "RO"
5587 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
5588 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
5589 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
5590 #define OTP_DATA_PAGE18_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
5591 // -----------------------------------------------------------------------------
5592 // Field       : OTP_DATA_PAGE18_LOCK1_LOCK_S
5593 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
5594 //               so lock state can be advanced permanently from any state to any
5595 //               less-permissive state by programming OTP. Software can also
5596 //               advance the lock state temporarily (until next OTP reset) using
5597 //               the SW_LOCKx registers.
5598 //               0x0 -> Page is fully accessible by Secure software.
5599 //               0x1 -> Page can be read by Secure software, but can not be written.
5600 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5601 //               0x3 -> Page can not be accessed by Secure software.
5602 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_RESET  "-"
5603 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_BITS   _u(0x00000003)
5604 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_MSB    _u(1)
5605 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_LSB    _u(0)
5606 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_ACCESS "RO"
5607 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5608 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5609 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5610 #define OTP_DATA_PAGE18_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5611 // =============================================================================
5612 // Register    : OTP_DATA_PAGE19_LOCK0
5613 // Description : Lock configuration LSBs for page 19 (rows 0x4c0 through 0x4ff).
5614 //               Locks are stored with 3-way majority vote encoding, so that
5615 //               bits can be set independently.
5616 //
5617 //               This OTP location is always readable, and is write-protected by
5618 //               its own permissions.
5619 #define OTP_DATA_PAGE19_LOCK0_ROW _u(0x00000fa6)
5620 #define OTP_DATA_PAGE19_LOCK0_BITS   _u(0x00ffff7f)
5621 #define OTP_DATA_PAGE19_LOCK0_RESET  _u(0x00000000)
5622 #define OTP_DATA_PAGE19_LOCK0_WIDTH  _u(24)
5623 // -----------------------------------------------------------------------------
5624 // Field       : OTP_DATA_PAGE19_LOCK0_R2
5625 // Description : Redundant copy of bits 7:0
5626 #define OTP_DATA_PAGE19_LOCK0_R2_RESET  "-"
5627 #define OTP_DATA_PAGE19_LOCK0_R2_BITS   _u(0x00ff0000)
5628 #define OTP_DATA_PAGE19_LOCK0_R2_MSB    _u(23)
5629 #define OTP_DATA_PAGE19_LOCK0_R2_LSB    _u(16)
5630 #define OTP_DATA_PAGE19_LOCK0_R2_ACCESS "RO"
5631 // -----------------------------------------------------------------------------
5632 // Field       : OTP_DATA_PAGE19_LOCK0_R1
5633 // Description : Redundant copy of bits 7:0
5634 #define OTP_DATA_PAGE19_LOCK0_R1_RESET  "-"
5635 #define OTP_DATA_PAGE19_LOCK0_R1_BITS   _u(0x0000ff00)
5636 #define OTP_DATA_PAGE19_LOCK0_R1_MSB    _u(15)
5637 #define OTP_DATA_PAGE19_LOCK0_R1_LSB    _u(8)
5638 #define OTP_DATA_PAGE19_LOCK0_R1_ACCESS "RO"
5639 // -----------------------------------------------------------------------------
5640 // Field       : OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE
5641 // Description : State when at least one key is registered for this page and no
5642 //               matching key has been entered.
5643 //               0x0 -> read_only
5644 //               0x1 -> inaccessible
5645 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_RESET  "-"
5646 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5647 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_MSB    _u(6)
5648 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_LSB    _u(6)
5649 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_ACCESS "RO"
5650 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5651 #define OTP_DATA_PAGE19_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5652 // -----------------------------------------------------------------------------
5653 // Field       : OTP_DATA_PAGE19_LOCK0_KEY_R
5654 // Description : Index 1-6 of a hardware key which must be entered to grant read
5655 //               access, or 0 if no such key is required.
5656 #define OTP_DATA_PAGE19_LOCK0_KEY_R_RESET  "-"
5657 #define OTP_DATA_PAGE19_LOCK0_KEY_R_BITS   _u(0x00000038)
5658 #define OTP_DATA_PAGE19_LOCK0_KEY_R_MSB    _u(5)
5659 #define OTP_DATA_PAGE19_LOCK0_KEY_R_LSB    _u(3)
5660 #define OTP_DATA_PAGE19_LOCK0_KEY_R_ACCESS "RO"
5661 // -----------------------------------------------------------------------------
5662 // Field       : OTP_DATA_PAGE19_LOCK0_KEY_W
5663 // Description : Index 1-6 of a hardware key which must be entered to grant
5664 //               write access, or 0 if no such key is required.
5665 #define OTP_DATA_PAGE19_LOCK0_KEY_W_RESET  "-"
5666 #define OTP_DATA_PAGE19_LOCK0_KEY_W_BITS   _u(0x00000007)
5667 #define OTP_DATA_PAGE19_LOCK0_KEY_W_MSB    _u(2)
5668 #define OTP_DATA_PAGE19_LOCK0_KEY_W_LSB    _u(0)
5669 #define OTP_DATA_PAGE19_LOCK0_KEY_W_ACCESS "RO"
5670 // =============================================================================
5671 // Register    : OTP_DATA_PAGE19_LOCK1
5672 // Description : Lock configuration MSBs for page 19 (rows 0x4c0 through 0x4ff).
5673 //               Locks are stored with 3-way majority vote encoding, so that
5674 //               bits can be set independently.
5675 //
5676 //               This OTP location is always readable, and is write-protected by
5677 //               its own permissions.
5678 #define OTP_DATA_PAGE19_LOCK1_ROW _u(0x00000fa7)
5679 #define OTP_DATA_PAGE19_LOCK1_BITS   _u(0x00ffff3f)
5680 #define OTP_DATA_PAGE19_LOCK1_RESET  _u(0x00000000)
5681 #define OTP_DATA_PAGE19_LOCK1_WIDTH  _u(24)
5682 // -----------------------------------------------------------------------------
5683 // Field       : OTP_DATA_PAGE19_LOCK1_R2
5684 // Description : Redundant copy of bits 7:0
5685 #define OTP_DATA_PAGE19_LOCK1_R2_RESET  "-"
5686 #define OTP_DATA_PAGE19_LOCK1_R2_BITS   _u(0x00ff0000)
5687 #define OTP_DATA_PAGE19_LOCK1_R2_MSB    _u(23)
5688 #define OTP_DATA_PAGE19_LOCK1_R2_LSB    _u(16)
5689 #define OTP_DATA_PAGE19_LOCK1_R2_ACCESS "RO"
5690 // -----------------------------------------------------------------------------
5691 // Field       : OTP_DATA_PAGE19_LOCK1_R1
5692 // Description : Redundant copy of bits 7:0
5693 #define OTP_DATA_PAGE19_LOCK1_R1_RESET  "-"
5694 #define OTP_DATA_PAGE19_LOCK1_R1_BITS   _u(0x0000ff00)
5695 #define OTP_DATA_PAGE19_LOCK1_R1_MSB    _u(15)
5696 #define OTP_DATA_PAGE19_LOCK1_R1_LSB    _u(8)
5697 #define OTP_DATA_PAGE19_LOCK1_R1_ACCESS "RO"
5698 // -----------------------------------------------------------------------------
5699 // Field       : OTP_DATA_PAGE19_LOCK1_LOCK_BL
5700 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
5701 //               USB bootloader) to store their own OTP access permissions. No
5702 //               hardware effect, and no corresponding SW_LOCKx registers.
5703 //               0x0 -> Bootloader permits user reads and writes to this page
5704 //               0x1 -> Bootloader permits user reads of this page
5705 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
5706 //               0x3 -> Bootloader does not permit user access to this page
5707 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_RESET  "-"
5708 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_BITS   _u(0x00000030)
5709 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_MSB    _u(5)
5710 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_LSB    _u(4)
5711 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_ACCESS "RO"
5712 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
5713 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
5714 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
5715 #define OTP_DATA_PAGE19_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
5716 // -----------------------------------------------------------------------------
5717 // Field       : OTP_DATA_PAGE19_LOCK1_LOCK_NS
5718 // Description : Lock state for Non-secure accesses to this page. Thermometer-
5719 //               coded, so lock state can be advanced permanently from any state
5720 //               to any less-permissive state by programming OTP. Software can
5721 //               also advance the lock state temporarily (until next OTP reset)
5722 //               using the SW_LOCKx registers.
5723 //
5724 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
5725 //               as the SBPI programming interface is not accessible to Non-
5726 //               secure software. However, Secure software may check these bits
5727 //               to apply write permissions to a Non-secure OTP programming API.
5728 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
5729 //               0x1 -> Page can be read by Non-secure software
5730 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5731 //               0x3 -> Page can not be accessed by Non-secure software.
5732 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_RESET  "-"
5733 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
5734 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_MSB    _u(3)
5735 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_LSB    _u(2)
5736 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_ACCESS "RO"
5737 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
5738 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
5739 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
5740 #define OTP_DATA_PAGE19_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
5741 // -----------------------------------------------------------------------------
5742 // Field       : OTP_DATA_PAGE19_LOCK1_LOCK_S
5743 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
5744 //               so lock state can be advanced permanently from any state to any
5745 //               less-permissive state by programming OTP. Software can also
5746 //               advance the lock state temporarily (until next OTP reset) using
5747 //               the SW_LOCKx registers.
5748 //               0x0 -> Page is fully accessible by Secure software.
5749 //               0x1 -> Page can be read by Secure software, but can not be written.
5750 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5751 //               0x3 -> Page can not be accessed by Secure software.
5752 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_RESET  "-"
5753 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_BITS   _u(0x00000003)
5754 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_MSB    _u(1)
5755 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_LSB    _u(0)
5756 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_ACCESS "RO"
5757 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5758 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5759 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5760 #define OTP_DATA_PAGE19_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5761 // =============================================================================
5762 // Register    : OTP_DATA_PAGE20_LOCK0
5763 // Description : Lock configuration LSBs for page 20 (rows 0x500 through 0x53f).
5764 //               Locks are stored with 3-way majority vote encoding, so that
5765 //               bits can be set independently.
5766 //
5767 //               This OTP location is always readable, and is write-protected by
5768 //               its own permissions.
5769 #define OTP_DATA_PAGE20_LOCK0_ROW _u(0x00000fa8)
5770 #define OTP_DATA_PAGE20_LOCK0_BITS   _u(0x00ffff7f)
5771 #define OTP_DATA_PAGE20_LOCK0_RESET  _u(0x00000000)
5772 #define OTP_DATA_PAGE20_LOCK0_WIDTH  _u(24)
5773 // -----------------------------------------------------------------------------
5774 // Field       : OTP_DATA_PAGE20_LOCK0_R2
5775 // Description : Redundant copy of bits 7:0
5776 #define OTP_DATA_PAGE20_LOCK0_R2_RESET  "-"
5777 #define OTP_DATA_PAGE20_LOCK0_R2_BITS   _u(0x00ff0000)
5778 #define OTP_DATA_PAGE20_LOCK0_R2_MSB    _u(23)
5779 #define OTP_DATA_PAGE20_LOCK0_R2_LSB    _u(16)
5780 #define OTP_DATA_PAGE20_LOCK0_R2_ACCESS "RO"
5781 // -----------------------------------------------------------------------------
5782 // Field       : OTP_DATA_PAGE20_LOCK0_R1
5783 // Description : Redundant copy of bits 7:0
5784 #define OTP_DATA_PAGE20_LOCK0_R1_RESET  "-"
5785 #define OTP_DATA_PAGE20_LOCK0_R1_BITS   _u(0x0000ff00)
5786 #define OTP_DATA_PAGE20_LOCK0_R1_MSB    _u(15)
5787 #define OTP_DATA_PAGE20_LOCK0_R1_LSB    _u(8)
5788 #define OTP_DATA_PAGE20_LOCK0_R1_ACCESS "RO"
5789 // -----------------------------------------------------------------------------
5790 // Field       : OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE
5791 // Description : State when at least one key is registered for this page and no
5792 //               matching key has been entered.
5793 //               0x0 -> read_only
5794 //               0x1 -> inaccessible
5795 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_RESET  "-"
5796 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5797 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_MSB    _u(6)
5798 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_LSB    _u(6)
5799 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_ACCESS "RO"
5800 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5801 #define OTP_DATA_PAGE20_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5802 // -----------------------------------------------------------------------------
5803 // Field       : OTP_DATA_PAGE20_LOCK0_KEY_R
5804 // Description : Index 1-6 of a hardware key which must be entered to grant read
5805 //               access, or 0 if no such key is required.
5806 #define OTP_DATA_PAGE20_LOCK0_KEY_R_RESET  "-"
5807 #define OTP_DATA_PAGE20_LOCK0_KEY_R_BITS   _u(0x00000038)
5808 #define OTP_DATA_PAGE20_LOCK0_KEY_R_MSB    _u(5)
5809 #define OTP_DATA_PAGE20_LOCK0_KEY_R_LSB    _u(3)
5810 #define OTP_DATA_PAGE20_LOCK0_KEY_R_ACCESS "RO"
5811 // -----------------------------------------------------------------------------
5812 // Field       : OTP_DATA_PAGE20_LOCK0_KEY_W
5813 // Description : Index 1-6 of a hardware key which must be entered to grant
5814 //               write access, or 0 if no such key is required.
5815 #define OTP_DATA_PAGE20_LOCK0_KEY_W_RESET  "-"
5816 #define OTP_DATA_PAGE20_LOCK0_KEY_W_BITS   _u(0x00000007)
5817 #define OTP_DATA_PAGE20_LOCK0_KEY_W_MSB    _u(2)
5818 #define OTP_DATA_PAGE20_LOCK0_KEY_W_LSB    _u(0)
5819 #define OTP_DATA_PAGE20_LOCK0_KEY_W_ACCESS "RO"
5820 // =============================================================================
5821 // Register    : OTP_DATA_PAGE20_LOCK1
5822 // Description : Lock configuration MSBs for page 20 (rows 0x500 through 0x53f).
5823 //               Locks are stored with 3-way majority vote encoding, so that
5824 //               bits can be set independently.
5825 //
5826 //               This OTP location is always readable, and is write-protected by
5827 //               its own permissions.
5828 #define OTP_DATA_PAGE20_LOCK1_ROW _u(0x00000fa9)
5829 #define OTP_DATA_PAGE20_LOCK1_BITS   _u(0x00ffff3f)
5830 #define OTP_DATA_PAGE20_LOCK1_RESET  _u(0x00000000)
5831 #define OTP_DATA_PAGE20_LOCK1_WIDTH  _u(24)
5832 // -----------------------------------------------------------------------------
5833 // Field       : OTP_DATA_PAGE20_LOCK1_R2
5834 // Description : Redundant copy of bits 7:0
5835 #define OTP_DATA_PAGE20_LOCK1_R2_RESET  "-"
5836 #define OTP_DATA_PAGE20_LOCK1_R2_BITS   _u(0x00ff0000)
5837 #define OTP_DATA_PAGE20_LOCK1_R2_MSB    _u(23)
5838 #define OTP_DATA_PAGE20_LOCK1_R2_LSB    _u(16)
5839 #define OTP_DATA_PAGE20_LOCK1_R2_ACCESS "RO"
5840 // -----------------------------------------------------------------------------
5841 // Field       : OTP_DATA_PAGE20_LOCK1_R1
5842 // Description : Redundant copy of bits 7:0
5843 #define OTP_DATA_PAGE20_LOCK1_R1_RESET  "-"
5844 #define OTP_DATA_PAGE20_LOCK1_R1_BITS   _u(0x0000ff00)
5845 #define OTP_DATA_PAGE20_LOCK1_R1_MSB    _u(15)
5846 #define OTP_DATA_PAGE20_LOCK1_R1_LSB    _u(8)
5847 #define OTP_DATA_PAGE20_LOCK1_R1_ACCESS "RO"
5848 // -----------------------------------------------------------------------------
5849 // Field       : OTP_DATA_PAGE20_LOCK1_LOCK_BL
5850 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
5851 //               USB bootloader) to store their own OTP access permissions. No
5852 //               hardware effect, and no corresponding SW_LOCKx registers.
5853 //               0x0 -> Bootloader permits user reads and writes to this page
5854 //               0x1 -> Bootloader permits user reads of this page
5855 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
5856 //               0x3 -> Bootloader does not permit user access to this page
5857 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_RESET  "-"
5858 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_BITS   _u(0x00000030)
5859 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_MSB    _u(5)
5860 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_LSB    _u(4)
5861 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_ACCESS "RO"
5862 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
5863 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
5864 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
5865 #define OTP_DATA_PAGE20_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
5866 // -----------------------------------------------------------------------------
5867 // Field       : OTP_DATA_PAGE20_LOCK1_LOCK_NS
5868 // Description : Lock state for Non-secure accesses to this page. Thermometer-
5869 //               coded, so lock state can be advanced permanently from any state
5870 //               to any less-permissive state by programming OTP. Software can
5871 //               also advance the lock state temporarily (until next OTP reset)
5872 //               using the SW_LOCKx registers.
5873 //
5874 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
5875 //               as the SBPI programming interface is not accessible to Non-
5876 //               secure software. However, Secure software may check these bits
5877 //               to apply write permissions to a Non-secure OTP programming API.
5878 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
5879 //               0x1 -> Page can be read by Non-secure software
5880 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5881 //               0x3 -> Page can not be accessed by Non-secure software.
5882 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_RESET  "-"
5883 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
5884 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_MSB    _u(3)
5885 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_LSB    _u(2)
5886 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_ACCESS "RO"
5887 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
5888 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
5889 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
5890 #define OTP_DATA_PAGE20_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
5891 // -----------------------------------------------------------------------------
5892 // Field       : OTP_DATA_PAGE20_LOCK1_LOCK_S
5893 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
5894 //               so lock state can be advanced permanently from any state to any
5895 //               less-permissive state by programming OTP. Software can also
5896 //               advance the lock state temporarily (until next OTP reset) using
5897 //               the SW_LOCKx registers.
5898 //               0x0 -> Page is fully accessible by Secure software.
5899 //               0x1 -> Page can be read by Secure software, but can not be written.
5900 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
5901 //               0x3 -> Page can not be accessed by Secure software.
5902 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_RESET  "-"
5903 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_BITS   _u(0x00000003)
5904 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_MSB    _u(1)
5905 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_LSB    _u(0)
5906 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_ACCESS "RO"
5907 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
5908 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
5909 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
5910 #define OTP_DATA_PAGE20_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
5911 // =============================================================================
5912 // Register    : OTP_DATA_PAGE21_LOCK0
5913 // Description : Lock configuration LSBs for page 21 (rows 0x540 through 0x57f).
5914 //               Locks are stored with 3-way majority vote encoding, so that
5915 //               bits can be set independently.
5916 //
5917 //               This OTP location is always readable, and is write-protected by
5918 //               its own permissions.
5919 #define OTP_DATA_PAGE21_LOCK0_ROW _u(0x00000faa)
5920 #define OTP_DATA_PAGE21_LOCK0_BITS   _u(0x00ffff7f)
5921 #define OTP_DATA_PAGE21_LOCK0_RESET  _u(0x00000000)
5922 #define OTP_DATA_PAGE21_LOCK0_WIDTH  _u(24)
5923 // -----------------------------------------------------------------------------
5924 // Field       : OTP_DATA_PAGE21_LOCK0_R2
5925 // Description : Redundant copy of bits 7:0
5926 #define OTP_DATA_PAGE21_LOCK0_R2_RESET  "-"
5927 #define OTP_DATA_PAGE21_LOCK0_R2_BITS   _u(0x00ff0000)
5928 #define OTP_DATA_PAGE21_LOCK0_R2_MSB    _u(23)
5929 #define OTP_DATA_PAGE21_LOCK0_R2_LSB    _u(16)
5930 #define OTP_DATA_PAGE21_LOCK0_R2_ACCESS "RO"
5931 // -----------------------------------------------------------------------------
5932 // Field       : OTP_DATA_PAGE21_LOCK0_R1
5933 // Description : Redundant copy of bits 7:0
5934 #define OTP_DATA_PAGE21_LOCK0_R1_RESET  "-"
5935 #define OTP_DATA_PAGE21_LOCK0_R1_BITS   _u(0x0000ff00)
5936 #define OTP_DATA_PAGE21_LOCK0_R1_MSB    _u(15)
5937 #define OTP_DATA_PAGE21_LOCK0_R1_LSB    _u(8)
5938 #define OTP_DATA_PAGE21_LOCK0_R1_ACCESS "RO"
5939 // -----------------------------------------------------------------------------
5940 // Field       : OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE
5941 // Description : State when at least one key is registered for this page and no
5942 //               matching key has been entered.
5943 //               0x0 -> read_only
5944 //               0x1 -> inaccessible
5945 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_RESET  "-"
5946 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
5947 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_MSB    _u(6)
5948 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_LSB    _u(6)
5949 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_ACCESS "RO"
5950 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
5951 #define OTP_DATA_PAGE21_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
5952 // -----------------------------------------------------------------------------
5953 // Field       : OTP_DATA_PAGE21_LOCK0_KEY_R
5954 // Description : Index 1-6 of a hardware key which must be entered to grant read
5955 //               access, or 0 if no such key is required.
5956 #define OTP_DATA_PAGE21_LOCK0_KEY_R_RESET  "-"
5957 #define OTP_DATA_PAGE21_LOCK0_KEY_R_BITS   _u(0x00000038)
5958 #define OTP_DATA_PAGE21_LOCK0_KEY_R_MSB    _u(5)
5959 #define OTP_DATA_PAGE21_LOCK0_KEY_R_LSB    _u(3)
5960 #define OTP_DATA_PAGE21_LOCK0_KEY_R_ACCESS "RO"
5961 // -----------------------------------------------------------------------------
5962 // Field       : OTP_DATA_PAGE21_LOCK0_KEY_W
5963 // Description : Index 1-6 of a hardware key which must be entered to grant
5964 //               write access, or 0 if no such key is required.
5965 #define OTP_DATA_PAGE21_LOCK0_KEY_W_RESET  "-"
5966 #define OTP_DATA_PAGE21_LOCK0_KEY_W_BITS   _u(0x00000007)
5967 #define OTP_DATA_PAGE21_LOCK0_KEY_W_MSB    _u(2)
5968 #define OTP_DATA_PAGE21_LOCK0_KEY_W_LSB    _u(0)
5969 #define OTP_DATA_PAGE21_LOCK0_KEY_W_ACCESS "RO"
5970 // =============================================================================
5971 // Register    : OTP_DATA_PAGE21_LOCK1
5972 // Description : Lock configuration MSBs for page 21 (rows 0x540 through 0x57f).
5973 //               Locks are stored with 3-way majority vote encoding, so that
5974 //               bits can be set independently.
5975 //
5976 //               This OTP location is always readable, and is write-protected by
5977 //               its own permissions.
5978 #define OTP_DATA_PAGE21_LOCK1_ROW _u(0x00000fab)
5979 #define OTP_DATA_PAGE21_LOCK1_BITS   _u(0x00ffff3f)
5980 #define OTP_DATA_PAGE21_LOCK1_RESET  _u(0x00000000)
5981 #define OTP_DATA_PAGE21_LOCK1_WIDTH  _u(24)
5982 // -----------------------------------------------------------------------------
5983 // Field       : OTP_DATA_PAGE21_LOCK1_R2
5984 // Description : Redundant copy of bits 7:0
5985 #define OTP_DATA_PAGE21_LOCK1_R2_RESET  "-"
5986 #define OTP_DATA_PAGE21_LOCK1_R2_BITS   _u(0x00ff0000)
5987 #define OTP_DATA_PAGE21_LOCK1_R2_MSB    _u(23)
5988 #define OTP_DATA_PAGE21_LOCK1_R2_LSB    _u(16)
5989 #define OTP_DATA_PAGE21_LOCK1_R2_ACCESS "RO"
5990 // -----------------------------------------------------------------------------
5991 // Field       : OTP_DATA_PAGE21_LOCK1_R1
5992 // Description : Redundant copy of bits 7:0
5993 #define OTP_DATA_PAGE21_LOCK1_R1_RESET  "-"
5994 #define OTP_DATA_PAGE21_LOCK1_R1_BITS   _u(0x0000ff00)
5995 #define OTP_DATA_PAGE21_LOCK1_R1_MSB    _u(15)
5996 #define OTP_DATA_PAGE21_LOCK1_R1_LSB    _u(8)
5997 #define OTP_DATA_PAGE21_LOCK1_R1_ACCESS "RO"
5998 // -----------------------------------------------------------------------------
5999 // Field       : OTP_DATA_PAGE21_LOCK1_LOCK_BL
6000 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6001 //               USB bootloader) to store their own OTP access permissions. No
6002 //               hardware effect, and no corresponding SW_LOCKx registers.
6003 //               0x0 -> Bootloader permits user reads and writes to this page
6004 //               0x1 -> Bootloader permits user reads of this page
6005 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6006 //               0x3 -> Bootloader does not permit user access to this page
6007 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_RESET  "-"
6008 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6009 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_MSB    _u(5)
6010 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_LSB    _u(4)
6011 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_ACCESS "RO"
6012 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6013 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6014 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6015 #define OTP_DATA_PAGE21_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6016 // -----------------------------------------------------------------------------
6017 // Field       : OTP_DATA_PAGE21_LOCK1_LOCK_NS
6018 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6019 //               coded, so lock state can be advanced permanently from any state
6020 //               to any less-permissive state by programming OTP. Software can
6021 //               also advance the lock state temporarily (until next OTP reset)
6022 //               using the SW_LOCKx registers.
6023 //
6024 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6025 //               as the SBPI programming interface is not accessible to Non-
6026 //               secure software. However, Secure software may check these bits
6027 //               to apply write permissions to a Non-secure OTP programming API.
6028 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6029 //               0x1 -> Page can be read by Non-secure software
6030 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6031 //               0x3 -> Page can not be accessed by Non-secure software.
6032 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_RESET  "-"
6033 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6034 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_MSB    _u(3)
6035 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_LSB    _u(2)
6036 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_ACCESS "RO"
6037 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6038 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6039 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6040 #define OTP_DATA_PAGE21_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6041 // -----------------------------------------------------------------------------
6042 // Field       : OTP_DATA_PAGE21_LOCK1_LOCK_S
6043 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6044 //               so lock state can be advanced permanently from any state to any
6045 //               less-permissive state by programming OTP. Software can also
6046 //               advance the lock state temporarily (until next OTP reset) using
6047 //               the SW_LOCKx registers.
6048 //               0x0 -> Page is fully accessible by Secure software.
6049 //               0x1 -> Page can be read by Secure software, but can not be written.
6050 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6051 //               0x3 -> Page can not be accessed by Secure software.
6052 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_RESET  "-"
6053 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_BITS   _u(0x00000003)
6054 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_MSB    _u(1)
6055 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_LSB    _u(0)
6056 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_ACCESS "RO"
6057 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6058 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6059 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6060 #define OTP_DATA_PAGE21_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6061 // =============================================================================
6062 // Register    : OTP_DATA_PAGE22_LOCK0
6063 // Description : Lock configuration LSBs for page 22 (rows 0x580 through 0x5bf).
6064 //               Locks are stored with 3-way majority vote encoding, so that
6065 //               bits can be set independently.
6066 //
6067 //               This OTP location is always readable, and is write-protected by
6068 //               its own permissions.
6069 #define OTP_DATA_PAGE22_LOCK0_ROW _u(0x00000fac)
6070 #define OTP_DATA_PAGE22_LOCK0_BITS   _u(0x00ffff7f)
6071 #define OTP_DATA_PAGE22_LOCK0_RESET  _u(0x00000000)
6072 #define OTP_DATA_PAGE22_LOCK0_WIDTH  _u(24)
6073 // -----------------------------------------------------------------------------
6074 // Field       : OTP_DATA_PAGE22_LOCK0_R2
6075 // Description : Redundant copy of bits 7:0
6076 #define OTP_DATA_PAGE22_LOCK0_R2_RESET  "-"
6077 #define OTP_DATA_PAGE22_LOCK0_R2_BITS   _u(0x00ff0000)
6078 #define OTP_DATA_PAGE22_LOCK0_R2_MSB    _u(23)
6079 #define OTP_DATA_PAGE22_LOCK0_R2_LSB    _u(16)
6080 #define OTP_DATA_PAGE22_LOCK0_R2_ACCESS "RO"
6081 // -----------------------------------------------------------------------------
6082 // Field       : OTP_DATA_PAGE22_LOCK0_R1
6083 // Description : Redundant copy of bits 7:0
6084 #define OTP_DATA_PAGE22_LOCK0_R1_RESET  "-"
6085 #define OTP_DATA_PAGE22_LOCK0_R1_BITS   _u(0x0000ff00)
6086 #define OTP_DATA_PAGE22_LOCK0_R1_MSB    _u(15)
6087 #define OTP_DATA_PAGE22_LOCK0_R1_LSB    _u(8)
6088 #define OTP_DATA_PAGE22_LOCK0_R1_ACCESS "RO"
6089 // -----------------------------------------------------------------------------
6090 // Field       : OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE
6091 // Description : State when at least one key is registered for this page and no
6092 //               matching key has been entered.
6093 //               0x0 -> read_only
6094 //               0x1 -> inaccessible
6095 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_RESET  "-"
6096 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6097 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_MSB    _u(6)
6098 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_LSB    _u(6)
6099 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_ACCESS "RO"
6100 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
6101 #define OTP_DATA_PAGE22_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
6102 // -----------------------------------------------------------------------------
6103 // Field       : OTP_DATA_PAGE22_LOCK0_KEY_R
6104 // Description : Index 1-6 of a hardware key which must be entered to grant read
6105 //               access, or 0 if no such key is required.
6106 #define OTP_DATA_PAGE22_LOCK0_KEY_R_RESET  "-"
6107 #define OTP_DATA_PAGE22_LOCK0_KEY_R_BITS   _u(0x00000038)
6108 #define OTP_DATA_PAGE22_LOCK0_KEY_R_MSB    _u(5)
6109 #define OTP_DATA_PAGE22_LOCK0_KEY_R_LSB    _u(3)
6110 #define OTP_DATA_PAGE22_LOCK0_KEY_R_ACCESS "RO"
6111 // -----------------------------------------------------------------------------
6112 // Field       : OTP_DATA_PAGE22_LOCK0_KEY_W
6113 // Description : Index 1-6 of a hardware key which must be entered to grant
6114 //               write access, or 0 if no such key is required.
6115 #define OTP_DATA_PAGE22_LOCK0_KEY_W_RESET  "-"
6116 #define OTP_DATA_PAGE22_LOCK0_KEY_W_BITS   _u(0x00000007)
6117 #define OTP_DATA_PAGE22_LOCK0_KEY_W_MSB    _u(2)
6118 #define OTP_DATA_PAGE22_LOCK0_KEY_W_LSB    _u(0)
6119 #define OTP_DATA_PAGE22_LOCK0_KEY_W_ACCESS "RO"
6120 // =============================================================================
6121 // Register    : OTP_DATA_PAGE22_LOCK1
6122 // Description : Lock configuration MSBs for page 22 (rows 0x580 through 0x5bf).
6123 //               Locks are stored with 3-way majority vote encoding, so that
6124 //               bits can be set independently.
6125 //
6126 //               This OTP location is always readable, and is write-protected by
6127 //               its own permissions.
6128 #define OTP_DATA_PAGE22_LOCK1_ROW _u(0x00000fad)
6129 #define OTP_DATA_PAGE22_LOCK1_BITS   _u(0x00ffff3f)
6130 #define OTP_DATA_PAGE22_LOCK1_RESET  _u(0x00000000)
6131 #define OTP_DATA_PAGE22_LOCK1_WIDTH  _u(24)
6132 // -----------------------------------------------------------------------------
6133 // Field       : OTP_DATA_PAGE22_LOCK1_R2
6134 // Description : Redundant copy of bits 7:0
6135 #define OTP_DATA_PAGE22_LOCK1_R2_RESET  "-"
6136 #define OTP_DATA_PAGE22_LOCK1_R2_BITS   _u(0x00ff0000)
6137 #define OTP_DATA_PAGE22_LOCK1_R2_MSB    _u(23)
6138 #define OTP_DATA_PAGE22_LOCK1_R2_LSB    _u(16)
6139 #define OTP_DATA_PAGE22_LOCK1_R2_ACCESS "RO"
6140 // -----------------------------------------------------------------------------
6141 // Field       : OTP_DATA_PAGE22_LOCK1_R1
6142 // Description : Redundant copy of bits 7:0
6143 #define OTP_DATA_PAGE22_LOCK1_R1_RESET  "-"
6144 #define OTP_DATA_PAGE22_LOCK1_R1_BITS   _u(0x0000ff00)
6145 #define OTP_DATA_PAGE22_LOCK1_R1_MSB    _u(15)
6146 #define OTP_DATA_PAGE22_LOCK1_R1_LSB    _u(8)
6147 #define OTP_DATA_PAGE22_LOCK1_R1_ACCESS "RO"
6148 // -----------------------------------------------------------------------------
6149 // Field       : OTP_DATA_PAGE22_LOCK1_LOCK_BL
6150 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6151 //               USB bootloader) to store their own OTP access permissions. No
6152 //               hardware effect, and no corresponding SW_LOCKx registers.
6153 //               0x0 -> Bootloader permits user reads and writes to this page
6154 //               0x1 -> Bootloader permits user reads of this page
6155 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6156 //               0x3 -> Bootloader does not permit user access to this page
6157 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_RESET  "-"
6158 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6159 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_MSB    _u(5)
6160 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_LSB    _u(4)
6161 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_ACCESS "RO"
6162 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6163 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6164 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6165 #define OTP_DATA_PAGE22_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6166 // -----------------------------------------------------------------------------
6167 // Field       : OTP_DATA_PAGE22_LOCK1_LOCK_NS
6168 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6169 //               coded, so lock state can be advanced permanently from any state
6170 //               to any less-permissive state by programming OTP. Software can
6171 //               also advance the lock state temporarily (until next OTP reset)
6172 //               using the SW_LOCKx registers.
6173 //
6174 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6175 //               as the SBPI programming interface is not accessible to Non-
6176 //               secure software. However, Secure software may check these bits
6177 //               to apply write permissions to a Non-secure OTP programming API.
6178 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6179 //               0x1 -> Page can be read by Non-secure software
6180 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6181 //               0x3 -> Page can not be accessed by Non-secure software.
6182 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_RESET  "-"
6183 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6184 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_MSB    _u(3)
6185 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_LSB    _u(2)
6186 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_ACCESS "RO"
6187 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6188 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6189 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6190 #define OTP_DATA_PAGE22_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6191 // -----------------------------------------------------------------------------
6192 // Field       : OTP_DATA_PAGE22_LOCK1_LOCK_S
6193 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6194 //               so lock state can be advanced permanently from any state to any
6195 //               less-permissive state by programming OTP. Software can also
6196 //               advance the lock state temporarily (until next OTP reset) using
6197 //               the SW_LOCKx registers.
6198 //               0x0 -> Page is fully accessible by Secure software.
6199 //               0x1 -> Page can be read by Secure software, but can not be written.
6200 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6201 //               0x3 -> Page can not be accessed by Secure software.
6202 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_RESET  "-"
6203 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_BITS   _u(0x00000003)
6204 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_MSB    _u(1)
6205 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_LSB    _u(0)
6206 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_ACCESS "RO"
6207 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6208 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6209 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6210 #define OTP_DATA_PAGE22_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6211 // =============================================================================
6212 // Register    : OTP_DATA_PAGE23_LOCK0
6213 // Description : Lock configuration LSBs for page 23 (rows 0x5c0 through 0x5ff).
6214 //               Locks are stored with 3-way majority vote encoding, so that
6215 //               bits can be set independently.
6216 //
6217 //               This OTP location is always readable, and is write-protected by
6218 //               its own permissions.
6219 #define OTP_DATA_PAGE23_LOCK0_ROW _u(0x00000fae)
6220 #define OTP_DATA_PAGE23_LOCK0_BITS   _u(0x00ffff7f)
6221 #define OTP_DATA_PAGE23_LOCK0_RESET  _u(0x00000000)
6222 #define OTP_DATA_PAGE23_LOCK0_WIDTH  _u(24)
6223 // -----------------------------------------------------------------------------
6224 // Field       : OTP_DATA_PAGE23_LOCK0_R2
6225 // Description : Redundant copy of bits 7:0
6226 #define OTP_DATA_PAGE23_LOCK0_R2_RESET  "-"
6227 #define OTP_DATA_PAGE23_LOCK0_R2_BITS   _u(0x00ff0000)
6228 #define OTP_DATA_PAGE23_LOCK0_R2_MSB    _u(23)
6229 #define OTP_DATA_PAGE23_LOCK0_R2_LSB    _u(16)
6230 #define OTP_DATA_PAGE23_LOCK0_R2_ACCESS "RO"
6231 // -----------------------------------------------------------------------------
6232 // Field       : OTP_DATA_PAGE23_LOCK0_R1
6233 // Description : Redundant copy of bits 7:0
6234 #define OTP_DATA_PAGE23_LOCK0_R1_RESET  "-"
6235 #define OTP_DATA_PAGE23_LOCK0_R1_BITS   _u(0x0000ff00)
6236 #define OTP_DATA_PAGE23_LOCK0_R1_MSB    _u(15)
6237 #define OTP_DATA_PAGE23_LOCK0_R1_LSB    _u(8)
6238 #define OTP_DATA_PAGE23_LOCK0_R1_ACCESS "RO"
6239 // -----------------------------------------------------------------------------
6240 // Field       : OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE
6241 // Description : State when at least one key is registered for this page and no
6242 //               matching key has been entered.
6243 //               0x0 -> read_only
6244 //               0x1 -> inaccessible
6245 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_RESET  "-"
6246 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6247 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_MSB    _u(6)
6248 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_LSB    _u(6)
6249 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_ACCESS "RO"
6250 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
6251 #define OTP_DATA_PAGE23_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
6252 // -----------------------------------------------------------------------------
6253 // Field       : OTP_DATA_PAGE23_LOCK0_KEY_R
6254 // Description : Index 1-6 of a hardware key which must be entered to grant read
6255 //               access, or 0 if no such key is required.
6256 #define OTP_DATA_PAGE23_LOCK0_KEY_R_RESET  "-"
6257 #define OTP_DATA_PAGE23_LOCK0_KEY_R_BITS   _u(0x00000038)
6258 #define OTP_DATA_PAGE23_LOCK0_KEY_R_MSB    _u(5)
6259 #define OTP_DATA_PAGE23_LOCK0_KEY_R_LSB    _u(3)
6260 #define OTP_DATA_PAGE23_LOCK0_KEY_R_ACCESS "RO"
6261 // -----------------------------------------------------------------------------
6262 // Field       : OTP_DATA_PAGE23_LOCK0_KEY_W
6263 // Description : Index 1-6 of a hardware key which must be entered to grant
6264 //               write access, or 0 if no such key is required.
6265 #define OTP_DATA_PAGE23_LOCK0_KEY_W_RESET  "-"
6266 #define OTP_DATA_PAGE23_LOCK0_KEY_W_BITS   _u(0x00000007)
6267 #define OTP_DATA_PAGE23_LOCK0_KEY_W_MSB    _u(2)
6268 #define OTP_DATA_PAGE23_LOCK0_KEY_W_LSB    _u(0)
6269 #define OTP_DATA_PAGE23_LOCK0_KEY_W_ACCESS "RO"
6270 // =============================================================================
6271 // Register    : OTP_DATA_PAGE23_LOCK1
6272 // Description : Lock configuration MSBs for page 23 (rows 0x5c0 through 0x5ff).
6273 //               Locks are stored with 3-way majority vote encoding, so that
6274 //               bits can be set independently.
6275 //
6276 //               This OTP location is always readable, and is write-protected by
6277 //               its own permissions.
6278 #define OTP_DATA_PAGE23_LOCK1_ROW _u(0x00000faf)
6279 #define OTP_DATA_PAGE23_LOCK1_BITS   _u(0x00ffff3f)
6280 #define OTP_DATA_PAGE23_LOCK1_RESET  _u(0x00000000)
6281 #define OTP_DATA_PAGE23_LOCK1_WIDTH  _u(24)
6282 // -----------------------------------------------------------------------------
6283 // Field       : OTP_DATA_PAGE23_LOCK1_R2
6284 // Description : Redundant copy of bits 7:0
6285 #define OTP_DATA_PAGE23_LOCK1_R2_RESET  "-"
6286 #define OTP_DATA_PAGE23_LOCK1_R2_BITS   _u(0x00ff0000)
6287 #define OTP_DATA_PAGE23_LOCK1_R2_MSB    _u(23)
6288 #define OTP_DATA_PAGE23_LOCK1_R2_LSB    _u(16)
6289 #define OTP_DATA_PAGE23_LOCK1_R2_ACCESS "RO"
6290 // -----------------------------------------------------------------------------
6291 // Field       : OTP_DATA_PAGE23_LOCK1_R1
6292 // Description : Redundant copy of bits 7:0
6293 #define OTP_DATA_PAGE23_LOCK1_R1_RESET  "-"
6294 #define OTP_DATA_PAGE23_LOCK1_R1_BITS   _u(0x0000ff00)
6295 #define OTP_DATA_PAGE23_LOCK1_R1_MSB    _u(15)
6296 #define OTP_DATA_PAGE23_LOCK1_R1_LSB    _u(8)
6297 #define OTP_DATA_PAGE23_LOCK1_R1_ACCESS "RO"
6298 // -----------------------------------------------------------------------------
6299 // Field       : OTP_DATA_PAGE23_LOCK1_LOCK_BL
6300 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6301 //               USB bootloader) to store their own OTP access permissions. No
6302 //               hardware effect, and no corresponding SW_LOCKx registers.
6303 //               0x0 -> Bootloader permits user reads and writes to this page
6304 //               0x1 -> Bootloader permits user reads of this page
6305 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6306 //               0x3 -> Bootloader does not permit user access to this page
6307 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_RESET  "-"
6308 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6309 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_MSB    _u(5)
6310 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_LSB    _u(4)
6311 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_ACCESS "RO"
6312 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6313 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6314 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6315 #define OTP_DATA_PAGE23_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6316 // -----------------------------------------------------------------------------
6317 // Field       : OTP_DATA_PAGE23_LOCK1_LOCK_NS
6318 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6319 //               coded, so lock state can be advanced permanently from any state
6320 //               to any less-permissive state by programming OTP. Software can
6321 //               also advance the lock state temporarily (until next OTP reset)
6322 //               using the SW_LOCKx registers.
6323 //
6324 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6325 //               as the SBPI programming interface is not accessible to Non-
6326 //               secure software. However, Secure software may check these bits
6327 //               to apply write permissions to a Non-secure OTP programming API.
6328 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6329 //               0x1 -> Page can be read by Non-secure software
6330 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6331 //               0x3 -> Page can not be accessed by Non-secure software.
6332 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_RESET  "-"
6333 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6334 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_MSB    _u(3)
6335 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_LSB    _u(2)
6336 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_ACCESS "RO"
6337 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6338 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6339 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6340 #define OTP_DATA_PAGE23_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6341 // -----------------------------------------------------------------------------
6342 // Field       : OTP_DATA_PAGE23_LOCK1_LOCK_S
6343 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6344 //               so lock state can be advanced permanently from any state to any
6345 //               less-permissive state by programming OTP. Software can also
6346 //               advance the lock state temporarily (until next OTP reset) using
6347 //               the SW_LOCKx registers.
6348 //               0x0 -> Page is fully accessible by Secure software.
6349 //               0x1 -> Page can be read by Secure software, but can not be written.
6350 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6351 //               0x3 -> Page can not be accessed by Secure software.
6352 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_RESET  "-"
6353 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_BITS   _u(0x00000003)
6354 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_MSB    _u(1)
6355 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_LSB    _u(0)
6356 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_ACCESS "RO"
6357 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6358 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6359 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6360 #define OTP_DATA_PAGE23_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6361 // =============================================================================
6362 // Register    : OTP_DATA_PAGE24_LOCK0
6363 // Description : Lock configuration LSBs for page 24 (rows 0x600 through 0x63f).
6364 //               Locks are stored with 3-way majority vote encoding, so that
6365 //               bits can be set independently.
6366 //
6367 //               This OTP location is always readable, and is write-protected by
6368 //               its own permissions.
6369 #define OTP_DATA_PAGE24_LOCK0_ROW _u(0x00000fb0)
6370 #define OTP_DATA_PAGE24_LOCK0_BITS   _u(0x00ffff7f)
6371 #define OTP_DATA_PAGE24_LOCK0_RESET  _u(0x00000000)
6372 #define OTP_DATA_PAGE24_LOCK0_WIDTH  _u(24)
6373 // -----------------------------------------------------------------------------
6374 // Field       : OTP_DATA_PAGE24_LOCK0_R2
6375 // Description : Redundant copy of bits 7:0
6376 #define OTP_DATA_PAGE24_LOCK0_R2_RESET  "-"
6377 #define OTP_DATA_PAGE24_LOCK0_R2_BITS   _u(0x00ff0000)
6378 #define OTP_DATA_PAGE24_LOCK0_R2_MSB    _u(23)
6379 #define OTP_DATA_PAGE24_LOCK0_R2_LSB    _u(16)
6380 #define OTP_DATA_PAGE24_LOCK0_R2_ACCESS "RO"
6381 // -----------------------------------------------------------------------------
6382 // Field       : OTP_DATA_PAGE24_LOCK0_R1
6383 // Description : Redundant copy of bits 7:0
6384 #define OTP_DATA_PAGE24_LOCK0_R1_RESET  "-"
6385 #define OTP_DATA_PAGE24_LOCK0_R1_BITS   _u(0x0000ff00)
6386 #define OTP_DATA_PAGE24_LOCK0_R1_MSB    _u(15)
6387 #define OTP_DATA_PAGE24_LOCK0_R1_LSB    _u(8)
6388 #define OTP_DATA_PAGE24_LOCK0_R1_ACCESS "RO"
6389 // -----------------------------------------------------------------------------
6390 // Field       : OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE
6391 // Description : State when at least one key is registered for this page and no
6392 //               matching key has been entered.
6393 //               0x0 -> read_only
6394 //               0x1 -> inaccessible
6395 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_RESET  "-"
6396 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6397 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_MSB    _u(6)
6398 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_LSB    _u(6)
6399 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_ACCESS "RO"
6400 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
6401 #define OTP_DATA_PAGE24_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
6402 // -----------------------------------------------------------------------------
6403 // Field       : OTP_DATA_PAGE24_LOCK0_KEY_R
6404 // Description : Index 1-6 of a hardware key which must be entered to grant read
6405 //               access, or 0 if no such key is required.
6406 #define OTP_DATA_PAGE24_LOCK0_KEY_R_RESET  "-"
6407 #define OTP_DATA_PAGE24_LOCK0_KEY_R_BITS   _u(0x00000038)
6408 #define OTP_DATA_PAGE24_LOCK0_KEY_R_MSB    _u(5)
6409 #define OTP_DATA_PAGE24_LOCK0_KEY_R_LSB    _u(3)
6410 #define OTP_DATA_PAGE24_LOCK0_KEY_R_ACCESS "RO"
6411 // -----------------------------------------------------------------------------
6412 // Field       : OTP_DATA_PAGE24_LOCK0_KEY_W
6413 // Description : Index 1-6 of a hardware key which must be entered to grant
6414 //               write access, or 0 if no such key is required.
6415 #define OTP_DATA_PAGE24_LOCK0_KEY_W_RESET  "-"
6416 #define OTP_DATA_PAGE24_LOCK0_KEY_W_BITS   _u(0x00000007)
6417 #define OTP_DATA_PAGE24_LOCK0_KEY_W_MSB    _u(2)
6418 #define OTP_DATA_PAGE24_LOCK0_KEY_W_LSB    _u(0)
6419 #define OTP_DATA_PAGE24_LOCK0_KEY_W_ACCESS "RO"
6420 // =============================================================================
6421 // Register    : OTP_DATA_PAGE24_LOCK1
6422 // Description : Lock configuration MSBs for page 24 (rows 0x600 through 0x63f).
6423 //               Locks are stored with 3-way majority vote encoding, so that
6424 //               bits can be set independently.
6425 //
6426 //               This OTP location is always readable, and is write-protected by
6427 //               its own permissions.
6428 #define OTP_DATA_PAGE24_LOCK1_ROW _u(0x00000fb1)
6429 #define OTP_DATA_PAGE24_LOCK1_BITS   _u(0x00ffff3f)
6430 #define OTP_DATA_PAGE24_LOCK1_RESET  _u(0x00000000)
6431 #define OTP_DATA_PAGE24_LOCK1_WIDTH  _u(24)
6432 // -----------------------------------------------------------------------------
6433 // Field       : OTP_DATA_PAGE24_LOCK1_R2
6434 // Description : Redundant copy of bits 7:0
6435 #define OTP_DATA_PAGE24_LOCK1_R2_RESET  "-"
6436 #define OTP_DATA_PAGE24_LOCK1_R2_BITS   _u(0x00ff0000)
6437 #define OTP_DATA_PAGE24_LOCK1_R2_MSB    _u(23)
6438 #define OTP_DATA_PAGE24_LOCK1_R2_LSB    _u(16)
6439 #define OTP_DATA_PAGE24_LOCK1_R2_ACCESS "RO"
6440 // -----------------------------------------------------------------------------
6441 // Field       : OTP_DATA_PAGE24_LOCK1_R1
6442 // Description : Redundant copy of bits 7:0
6443 #define OTP_DATA_PAGE24_LOCK1_R1_RESET  "-"
6444 #define OTP_DATA_PAGE24_LOCK1_R1_BITS   _u(0x0000ff00)
6445 #define OTP_DATA_PAGE24_LOCK1_R1_MSB    _u(15)
6446 #define OTP_DATA_PAGE24_LOCK1_R1_LSB    _u(8)
6447 #define OTP_DATA_PAGE24_LOCK1_R1_ACCESS "RO"
6448 // -----------------------------------------------------------------------------
6449 // Field       : OTP_DATA_PAGE24_LOCK1_LOCK_BL
6450 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6451 //               USB bootloader) to store their own OTP access permissions. No
6452 //               hardware effect, and no corresponding SW_LOCKx registers.
6453 //               0x0 -> Bootloader permits user reads and writes to this page
6454 //               0x1 -> Bootloader permits user reads of this page
6455 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6456 //               0x3 -> Bootloader does not permit user access to this page
6457 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_RESET  "-"
6458 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6459 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_MSB    _u(5)
6460 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_LSB    _u(4)
6461 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_ACCESS "RO"
6462 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6463 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6464 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6465 #define OTP_DATA_PAGE24_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6466 // -----------------------------------------------------------------------------
6467 // Field       : OTP_DATA_PAGE24_LOCK1_LOCK_NS
6468 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6469 //               coded, so lock state can be advanced permanently from any state
6470 //               to any less-permissive state by programming OTP. Software can
6471 //               also advance the lock state temporarily (until next OTP reset)
6472 //               using the SW_LOCKx registers.
6473 //
6474 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6475 //               as the SBPI programming interface is not accessible to Non-
6476 //               secure software. However, Secure software may check these bits
6477 //               to apply write permissions to a Non-secure OTP programming API.
6478 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6479 //               0x1 -> Page can be read by Non-secure software
6480 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6481 //               0x3 -> Page can not be accessed by Non-secure software.
6482 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_RESET  "-"
6483 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6484 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_MSB    _u(3)
6485 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_LSB    _u(2)
6486 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_ACCESS "RO"
6487 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6488 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6489 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6490 #define OTP_DATA_PAGE24_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6491 // -----------------------------------------------------------------------------
6492 // Field       : OTP_DATA_PAGE24_LOCK1_LOCK_S
6493 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6494 //               so lock state can be advanced permanently from any state to any
6495 //               less-permissive state by programming OTP. Software can also
6496 //               advance the lock state temporarily (until next OTP reset) using
6497 //               the SW_LOCKx registers.
6498 //               0x0 -> Page is fully accessible by Secure software.
6499 //               0x1 -> Page can be read by Secure software, but can not be written.
6500 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6501 //               0x3 -> Page can not be accessed by Secure software.
6502 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_RESET  "-"
6503 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_BITS   _u(0x00000003)
6504 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_MSB    _u(1)
6505 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_LSB    _u(0)
6506 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_ACCESS "RO"
6507 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6508 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6509 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6510 #define OTP_DATA_PAGE24_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6511 // =============================================================================
6512 // Register    : OTP_DATA_PAGE25_LOCK0
6513 // Description : Lock configuration LSBs for page 25 (rows 0x640 through 0x67f).
6514 //               Locks are stored with 3-way majority vote encoding, so that
6515 //               bits can be set independently.
6516 //
6517 //               This OTP location is always readable, and is write-protected by
6518 //               its own permissions.
6519 #define OTP_DATA_PAGE25_LOCK0_ROW _u(0x00000fb2)
6520 #define OTP_DATA_PAGE25_LOCK0_BITS   _u(0x00ffff7f)
6521 #define OTP_DATA_PAGE25_LOCK0_RESET  _u(0x00000000)
6522 #define OTP_DATA_PAGE25_LOCK0_WIDTH  _u(24)
6523 // -----------------------------------------------------------------------------
6524 // Field       : OTP_DATA_PAGE25_LOCK0_R2
6525 // Description : Redundant copy of bits 7:0
6526 #define OTP_DATA_PAGE25_LOCK0_R2_RESET  "-"
6527 #define OTP_DATA_PAGE25_LOCK0_R2_BITS   _u(0x00ff0000)
6528 #define OTP_DATA_PAGE25_LOCK0_R2_MSB    _u(23)
6529 #define OTP_DATA_PAGE25_LOCK0_R2_LSB    _u(16)
6530 #define OTP_DATA_PAGE25_LOCK0_R2_ACCESS "RO"
6531 // -----------------------------------------------------------------------------
6532 // Field       : OTP_DATA_PAGE25_LOCK0_R1
6533 // Description : Redundant copy of bits 7:0
6534 #define OTP_DATA_PAGE25_LOCK0_R1_RESET  "-"
6535 #define OTP_DATA_PAGE25_LOCK0_R1_BITS   _u(0x0000ff00)
6536 #define OTP_DATA_PAGE25_LOCK0_R1_MSB    _u(15)
6537 #define OTP_DATA_PAGE25_LOCK0_R1_LSB    _u(8)
6538 #define OTP_DATA_PAGE25_LOCK0_R1_ACCESS "RO"
6539 // -----------------------------------------------------------------------------
6540 // Field       : OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE
6541 // Description : State when at least one key is registered for this page and no
6542 //               matching key has been entered.
6543 //               0x0 -> read_only
6544 //               0x1 -> inaccessible
6545 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_RESET  "-"
6546 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6547 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_MSB    _u(6)
6548 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_LSB    _u(6)
6549 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_ACCESS "RO"
6550 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
6551 #define OTP_DATA_PAGE25_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
6552 // -----------------------------------------------------------------------------
6553 // Field       : OTP_DATA_PAGE25_LOCK0_KEY_R
6554 // Description : Index 1-6 of a hardware key which must be entered to grant read
6555 //               access, or 0 if no such key is required.
6556 #define OTP_DATA_PAGE25_LOCK0_KEY_R_RESET  "-"
6557 #define OTP_DATA_PAGE25_LOCK0_KEY_R_BITS   _u(0x00000038)
6558 #define OTP_DATA_PAGE25_LOCK0_KEY_R_MSB    _u(5)
6559 #define OTP_DATA_PAGE25_LOCK0_KEY_R_LSB    _u(3)
6560 #define OTP_DATA_PAGE25_LOCK0_KEY_R_ACCESS "RO"
6561 // -----------------------------------------------------------------------------
6562 // Field       : OTP_DATA_PAGE25_LOCK0_KEY_W
6563 // Description : Index 1-6 of a hardware key which must be entered to grant
6564 //               write access, or 0 if no such key is required.
6565 #define OTP_DATA_PAGE25_LOCK0_KEY_W_RESET  "-"
6566 #define OTP_DATA_PAGE25_LOCK0_KEY_W_BITS   _u(0x00000007)
6567 #define OTP_DATA_PAGE25_LOCK0_KEY_W_MSB    _u(2)
6568 #define OTP_DATA_PAGE25_LOCK0_KEY_W_LSB    _u(0)
6569 #define OTP_DATA_PAGE25_LOCK0_KEY_W_ACCESS "RO"
6570 // =============================================================================
6571 // Register    : OTP_DATA_PAGE25_LOCK1
6572 // Description : Lock configuration MSBs for page 25 (rows 0x640 through 0x67f).
6573 //               Locks are stored with 3-way majority vote encoding, so that
6574 //               bits can be set independently.
6575 //
6576 //               This OTP location is always readable, and is write-protected by
6577 //               its own permissions.
6578 #define OTP_DATA_PAGE25_LOCK1_ROW _u(0x00000fb3)
6579 #define OTP_DATA_PAGE25_LOCK1_BITS   _u(0x00ffff3f)
6580 #define OTP_DATA_PAGE25_LOCK1_RESET  _u(0x00000000)
6581 #define OTP_DATA_PAGE25_LOCK1_WIDTH  _u(24)
6582 // -----------------------------------------------------------------------------
6583 // Field       : OTP_DATA_PAGE25_LOCK1_R2
6584 // Description : Redundant copy of bits 7:0
6585 #define OTP_DATA_PAGE25_LOCK1_R2_RESET  "-"
6586 #define OTP_DATA_PAGE25_LOCK1_R2_BITS   _u(0x00ff0000)
6587 #define OTP_DATA_PAGE25_LOCK1_R2_MSB    _u(23)
6588 #define OTP_DATA_PAGE25_LOCK1_R2_LSB    _u(16)
6589 #define OTP_DATA_PAGE25_LOCK1_R2_ACCESS "RO"
6590 // -----------------------------------------------------------------------------
6591 // Field       : OTP_DATA_PAGE25_LOCK1_R1
6592 // Description : Redundant copy of bits 7:0
6593 #define OTP_DATA_PAGE25_LOCK1_R1_RESET  "-"
6594 #define OTP_DATA_PAGE25_LOCK1_R1_BITS   _u(0x0000ff00)
6595 #define OTP_DATA_PAGE25_LOCK1_R1_MSB    _u(15)
6596 #define OTP_DATA_PAGE25_LOCK1_R1_LSB    _u(8)
6597 #define OTP_DATA_PAGE25_LOCK1_R1_ACCESS "RO"
6598 // -----------------------------------------------------------------------------
6599 // Field       : OTP_DATA_PAGE25_LOCK1_LOCK_BL
6600 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6601 //               USB bootloader) to store their own OTP access permissions. No
6602 //               hardware effect, and no corresponding SW_LOCKx registers.
6603 //               0x0 -> Bootloader permits user reads and writes to this page
6604 //               0x1 -> Bootloader permits user reads of this page
6605 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6606 //               0x3 -> Bootloader does not permit user access to this page
6607 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_RESET  "-"
6608 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6609 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_MSB    _u(5)
6610 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_LSB    _u(4)
6611 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_ACCESS "RO"
6612 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6613 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6614 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6615 #define OTP_DATA_PAGE25_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6616 // -----------------------------------------------------------------------------
6617 // Field       : OTP_DATA_PAGE25_LOCK1_LOCK_NS
6618 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6619 //               coded, so lock state can be advanced permanently from any state
6620 //               to any less-permissive state by programming OTP. Software can
6621 //               also advance the lock state temporarily (until next OTP reset)
6622 //               using the SW_LOCKx registers.
6623 //
6624 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6625 //               as the SBPI programming interface is not accessible to Non-
6626 //               secure software. However, Secure software may check these bits
6627 //               to apply write permissions to a Non-secure OTP programming API.
6628 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6629 //               0x1 -> Page can be read by Non-secure software
6630 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6631 //               0x3 -> Page can not be accessed by Non-secure software.
6632 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_RESET  "-"
6633 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6634 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_MSB    _u(3)
6635 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_LSB    _u(2)
6636 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_ACCESS "RO"
6637 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6638 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6639 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6640 #define OTP_DATA_PAGE25_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6641 // -----------------------------------------------------------------------------
6642 // Field       : OTP_DATA_PAGE25_LOCK1_LOCK_S
6643 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6644 //               so lock state can be advanced permanently from any state to any
6645 //               less-permissive state by programming OTP. Software can also
6646 //               advance the lock state temporarily (until next OTP reset) using
6647 //               the SW_LOCKx registers.
6648 //               0x0 -> Page is fully accessible by Secure software.
6649 //               0x1 -> Page can be read by Secure software, but can not be written.
6650 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6651 //               0x3 -> Page can not be accessed by Secure software.
6652 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_RESET  "-"
6653 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_BITS   _u(0x00000003)
6654 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_MSB    _u(1)
6655 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_LSB    _u(0)
6656 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_ACCESS "RO"
6657 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6658 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6659 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6660 #define OTP_DATA_PAGE25_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6661 // =============================================================================
6662 // Register    : OTP_DATA_PAGE26_LOCK0
6663 // Description : Lock configuration LSBs for page 26 (rows 0x680 through 0x6bf).
6664 //               Locks are stored with 3-way majority vote encoding, so that
6665 //               bits can be set independently.
6666 //
6667 //               This OTP location is always readable, and is write-protected by
6668 //               its own permissions.
6669 #define OTP_DATA_PAGE26_LOCK0_ROW _u(0x00000fb4)
6670 #define OTP_DATA_PAGE26_LOCK0_BITS   _u(0x00ffff7f)
6671 #define OTP_DATA_PAGE26_LOCK0_RESET  _u(0x00000000)
6672 #define OTP_DATA_PAGE26_LOCK0_WIDTH  _u(24)
6673 // -----------------------------------------------------------------------------
6674 // Field       : OTP_DATA_PAGE26_LOCK0_R2
6675 // Description : Redundant copy of bits 7:0
6676 #define OTP_DATA_PAGE26_LOCK0_R2_RESET  "-"
6677 #define OTP_DATA_PAGE26_LOCK0_R2_BITS   _u(0x00ff0000)
6678 #define OTP_DATA_PAGE26_LOCK0_R2_MSB    _u(23)
6679 #define OTP_DATA_PAGE26_LOCK0_R2_LSB    _u(16)
6680 #define OTP_DATA_PAGE26_LOCK0_R2_ACCESS "RO"
6681 // -----------------------------------------------------------------------------
6682 // Field       : OTP_DATA_PAGE26_LOCK0_R1
6683 // Description : Redundant copy of bits 7:0
6684 #define OTP_DATA_PAGE26_LOCK0_R1_RESET  "-"
6685 #define OTP_DATA_PAGE26_LOCK0_R1_BITS   _u(0x0000ff00)
6686 #define OTP_DATA_PAGE26_LOCK0_R1_MSB    _u(15)
6687 #define OTP_DATA_PAGE26_LOCK0_R1_LSB    _u(8)
6688 #define OTP_DATA_PAGE26_LOCK0_R1_ACCESS "RO"
6689 // -----------------------------------------------------------------------------
6690 // Field       : OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE
6691 // Description : State when at least one key is registered for this page and no
6692 //               matching key has been entered.
6693 //               0x0 -> read_only
6694 //               0x1 -> inaccessible
6695 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_RESET  "-"
6696 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6697 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_MSB    _u(6)
6698 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_LSB    _u(6)
6699 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_ACCESS "RO"
6700 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
6701 #define OTP_DATA_PAGE26_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
6702 // -----------------------------------------------------------------------------
6703 // Field       : OTP_DATA_PAGE26_LOCK0_KEY_R
6704 // Description : Index 1-6 of a hardware key which must be entered to grant read
6705 //               access, or 0 if no such key is required.
6706 #define OTP_DATA_PAGE26_LOCK0_KEY_R_RESET  "-"
6707 #define OTP_DATA_PAGE26_LOCK0_KEY_R_BITS   _u(0x00000038)
6708 #define OTP_DATA_PAGE26_LOCK0_KEY_R_MSB    _u(5)
6709 #define OTP_DATA_PAGE26_LOCK0_KEY_R_LSB    _u(3)
6710 #define OTP_DATA_PAGE26_LOCK0_KEY_R_ACCESS "RO"
6711 // -----------------------------------------------------------------------------
6712 // Field       : OTP_DATA_PAGE26_LOCK0_KEY_W
6713 // Description : Index 1-6 of a hardware key which must be entered to grant
6714 //               write access, or 0 if no such key is required.
6715 #define OTP_DATA_PAGE26_LOCK0_KEY_W_RESET  "-"
6716 #define OTP_DATA_PAGE26_LOCK0_KEY_W_BITS   _u(0x00000007)
6717 #define OTP_DATA_PAGE26_LOCK0_KEY_W_MSB    _u(2)
6718 #define OTP_DATA_PAGE26_LOCK0_KEY_W_LSB    _u(0)
6719 #define OTP_DATA_PAGE26_LOCK0_KEY_W_ACCESS "RO"
6720 // =============================================================================
6721 // Register    : OTP_DATA_PAGE26_LOCK1
6722 // Description : Lock configuration MSBs for page 26 (rows 0x680 through 0x6bf).
6723 //               Locks are stored with 3-way majority vote encoding, so that
6724 //               bits can be set independently.
6725 //
6726 //               This OTP location is always readable, and is write-protected by
6727 //               its own permissions.
6728 #define OTP_DATA_PAGE26_LOCK1_ROW _u(0x00000fb5)
6729 #define OTP_DATA_PAGE26_LOCK1_BITS   _u(0x00ffff3f)
6730 #define OTP_DATA_PAGE26_LOCK1_RESET  _u(0x00000000)
6731 #define OTP_DATA_PAGE26_LOCK1_WIDTH  _u(24)
6732 // -----------------------------------------------------------------------------
6733 // Field       : OTP_DATA_PAGE26_LOCK1_R2
6734 // Description : Redundant copy of bits 7:0
6735 #define OTP_DATA_PAGE26_LOCK1_R2_RESET  "-"
6736 #define OTP_DATA_PAGE26_LOCK1_R2_BITS   _u(0x00ff0000)
6737 #define OTP_DATA_PAGE26_LOCK1_R2_MSB    _u(23)
6738 #define OTP_DATA_PAGE26_LOCK1_R2_LSB    _u(16)
6739 #define OTP_DATA_PAGE26_LOCK1_R2_ACCESS "RO"
6740 // -----------------------------------------------------------------------------
6741 // Field       : OTP_DATA_PAGE26_LOCK1_R1
6742 // Description : Redundant copy of bits 7:0
6743 #define OTP_DATA_PAGE26_LOCK1_R1_RESET  "-"
6744 #define OTP_DATA_PAGE26_LOCK1_R1_BITS   _u(0x0000ff00)
6745 #define OTP_DATA_PAGE26_LOCK1_R1_MSB    _u(15)
6746 #define OTP_DATA_PAGE26_LOCK1_R1_LSB    _u(8)
6747 #define OTP_DATA_PAGE26_LOCK1_R1_ACCESS "RO"
6748 // -----------------------------------------------------------------------------
6749 // Field       : OTP_DATA_PAGE26_LOCK1_LOCK_BL
6750 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6751 //               USB bootloader) to store their own OTP access permissions. No
6752 //               hardware effect, and no corresponding SW_LOCKx registers.
6753 //               0x0 -> Bootloader permits user reads and writes to this page
6754 //               0x1 -> Bootloader permits user reads of this page
6755 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6756 //               0x3 -> Bootloader does not permit user access to this page
6757 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_RESET  "-"
6758 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6759 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_MSB    _u(5)
6760 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_LSB    _u(4)
6761 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_ACCESS "RO"
6762 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6763 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6764 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6765 #define OTP_DATA_PAGE26_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6766 // -----------------------------------------------------------------------------
6767 // Field       : OTP_DATA_PAGE26_LOCK1_LOCK_NS
6768 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6769 //               coded, so lock state can be advanced permanently from any state
6770 //               to any less-permissive state by programming OTP. Software can
6771 //               also advance the lock state temporarily (until next OTP reset)
6772 //               using the SW_LOCKx registers.
6773 //
6774 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6775 //               as the SBPI programming interface is not accessible to Non-
6776 //               secure software. However, Secure software may check these bits
6777 //               to apply write permissions to a Non-secure OTP programming API.
6778 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6779 //               0x1 -> Page can be read by Non-secure software
6780 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6781 //               0x3 -> Page can not be accessed by Non-secure software.
6782 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_RESET  "-"
6783 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6784 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_MSB    _u(3)
6785 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_LSB    _u(2)
6786 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_ACCESS "RO"
6787 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6788 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6789 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6790 #define OTP_DATA_PAGE26_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6791 // -----------------------------------------------------------------------------
6792 // Field       : OTP_DATA_PAGE26_LOCK1_LOCK_S
6793 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6794 //               so lock state can be advanced permanently from any state to any
6795 //               less-permissive state by programming OTP. Software can also
6796 //               advance the lock state temporarily (until next OTP reset) using
6797 //               the SW_LOCKx registers.
6798 //               0x0 -> Page is fully accessible by Secure software.
6799 //               0x1 -> Page can be read by Secure software, but can not be written.
6800 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6801 //               0x3 -> Page can not be accessed by Secure software.
6802 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_RESET  "-"
6803 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_BITS   _u(0x00000003)
6804 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_MSB    _u(1)
6805 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_LSB    _u(0)
6806 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_ACCESS "RO"
6807 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6808 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6809 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6810 #define OTP_DATA_PAGE26_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6811 // =============================================================================
6812 // Register    : OTP_DATA_PAGE27_LOCK0
6813 // Description : Lock configuration LSBs for page 27 (rows 0x6c0 through 0x6ff).
6814 //               Locks are stored with 3-way majority vote encoding, so that
6815 //               bits can be set independently.
6816 //
6817 //               This OTP location is always readable, and is write-protected by
6818 //               its own permissions.
6819 #define OTP_DATA_PAGE27_LOCK0_ROW _u(0x00000fb6)
6820 #define OTP_DATA_PAGE27_LOCK0_BITS   _u(0x00ffff7f)
6821 #define OTP_DATA_PAGE27_LOCK0_RESET  _u(0x00000000)
6822 #define OTP_DATA_PAGE27_LOCK0_WIDTH  _u(24)
6823 // -----------------------------------------------------------------------------
6824 // Field       : OTP_DATA_PAGE27_LOCK0_R2
6825 // Description : Redundant copy of bits 7:0
6826 #define OTP_DATA_PAGE27_LOCK0_R2_RESET  "-"
6827 #define OTP_DATA_PAGE27_LOCK0_R2_BITS   _u(0x00ff0000)
6828 #define OTP_DATA_PAGE27_LOCK0_R2_MSB    _u(23)
6829 #define OTP_DATA_PAGE27_LOCK0_R2_LSB    _u(16)
6830 #define OTP_DATA_PAGE27_LOCK0_R2_ACCESS "RO"
6831 // -----------------------------------------------------------------------------
6832 // Field       : OTP_DATA_PAGE27_LOCK0_R1
6833 // Description : Redundant copy of bits 7:0
6834 #define OTP_DATA_PAGE27_LOCK0_R1_RESET  "-"
6835 #define OTP_DATA_PAGE27_LOCK0_R1_BITS   _u(0x0000ff00)
6836 #define OTP_DATA_PAGE27_LOCK0_R1_MSB    _u(15)
6837 #define OTP_DATA_PAGE27_LOCK0_R1_LSB    _u(8)
6838 #define OTP_DATA_PAGE27_LOCK0_R1_ACCESS "RO"
6839 // -----------------------------------------------------------------------------
6840 // Field       : OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE
6841 // Description : State when at least one key is registered for this page and no
6842 //               matching key has been entered.
6843 //               0x0 -> read_only
6844 //               0x1 -> inaccessible
6845 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_RESET  "-"
6846 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6847 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_MSB    _u(6)
6848 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_LSB    _u(6)
6849 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_ACCESS "RO"
6850 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
6851 #define OTP_DATA_PAGE27_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
6852 // -----------------------------------------------------------------------------
6853 // Field       : OTP_DATA_PAGE27_LOCK0_KEY_R
6854 // Description : Index 1-6 of a hardware key which must be entered to grant read
6855 //               access, or 0 if no such key is required.
6856 #define OTP_DATA_PAGE27_LOCK0_KEY_R_RESET  "-"
6857 #define OTP_DATA_PAGE27_LOCK0_KEY_R_BITS   _u(0x00000038)
6858 #define OTP_DATA_PAGE27_LOCK0_KEY_R_MSB    _u(5)
6859 #define OTP_DATA_PAGE27_LOCK0_KEY_R_LSB    _u(3)
6860 #define OTP_DATA_PAGE27_LOCK0_KEY_R_ACCESS "RO"
6861 // -----------------------------------------------------------------------------
6862 // Field       : OTP_DATA_PAGE27_LOCK0_KEY_W
6863 // Description : Index 1-6 of a hardware key which must be entered to grant
6864 //               write access, or 0 if no such key is required.
6865 #define OTP_DATA_PAGE27_LOCK0_KEY_W_RESET  "-"
6866 #define OTP_DATA_PAGE27_LOCK0_KEY_W_BITS   _u(0x00000007)
6867 #define OTP_DATA_PAGE27_LOCK0_KEY_W_MSB    _u(2)
6868 #define OTP_DATA_PAGE27_LOCK0_KEY_W_LSB    _u(0)
6869 #define OTP_DATA_PAGE27_LOCK0_KEY_W_ACCESS "RO"
6870 // =============================================================================
6871 // Register    : OTP_DATA_PAGE27_LOCK1
6872 // Description : Lock configuration MSBs for page 27 (rows 0x6c0 through 0x6ff).
6873 //               Locks are stored with 3-way majority vote encoding, so that
6874 //               bits can be set independently.
6875 //
6876 //               This OTP location is always readable, and is write-protected by
6877 //               its own permissions.
6878 #define OTP_DATA_PAGE27_LOCK1_ROW _u(0x00000fb7)
6879 #define OTP_DATA_PAGE27_LOCK1_BITS   _u(0x00ffff3f)
6880 #define OTP_DATA_PAGE27_LOCK1_RESET  _u(0x00000000)
6881 #define OTP_DATA_PAGE27_LOCK1_WIDTH  _u(24)
6882 // -----------------------------------------------------------------------------
6883 // Field       : OTP_DATA_PAGE27_LOCK1_R2
6884 // Description : Redundant copy of bits 7:0
6885 #define OTP_DATA_PAGE27_LOCK1_R2_RESET  "-"
6886 #define OTP_DATA_PAGE27_LOCK1_R2_BITS   _u(0x00ff0000)
6887 #define OTP_DATA_PAGE27_LOCK1_R2_MSB    _u(23)
6888 #define OTP_DATA_PAGE27_LOCK1_R2_LSB    _u(16)
6889 #define OTP_DATA_PAGE27_LOCK1_R2_ACCESS "RO"
6890 // -----------------------------------------------------------------------------
6891 // Field       : OTP_DATA_PAGE27_LOCK1_R1
6892 // Description : Redundant copy of bits 7:0
6893 #define OTP_DATA_PAGE27_LOCK1_R1_RESET  "-"
6894 #define OTP_DATA_PAGE27_LOCK1_R1_BITS   _u(0x0000ff00)
6895 #define OTP_DATA_PAGE27_LOCK1_R1_MSB    _u(15)
6896 #define OTP_DATA_PAGE27_LOCK1_R1_LSB    _u(8)
6897 #define OTP_DATA_PAGE27_LOCK1_R1_ACCESS "RO"
6898 // -----------------------------------------------------------------------------
6899 // Field       : OTP_DATA_PAGE27_LOCK1_LOCK_BL
6900 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
6901 //               USB bootloader) to store their own OTP access permissions. No
6902 //               hardware effect, and no corresponding SW_LOCKx registers.
6903 //               0x0 -> Bootloader permits user reads and writes to this page
6904 //               0x1 -> Bootloader permits user reads of this page
6905 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
6906 //               0x3 -> Bootloader does not permit user access to this page
6907 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_RESET  "-"
6908 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_BITS   _u(0x00000030)
6909 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_MSB    _u(5)
6910 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_LSB    _u(4)
6911 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_ACCESS "RO"
6912 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
6913 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
6914 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
6915 #define OTP_DATA_PAGE27_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
6916 // -----------------------------------------------------------------------------
6917 // Field       : OTP_DATA_PAGE27_LOCK1_LOCK_NS
6918 // Description : Lock state for Non-secure accesses to this page. Thermometer-
6919 //               coded, so lock state can be advanced permanently from any state
6920 //               to any less-permissive state by programming OTP. Software can
6921 //               also advance the lock state temporarily (until next OTP reset)
6922 //               using the SW_LOCKx registers.
6923 //
6924 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
6925 //               as the SBPI programming interface is not accessible to Non-
6926 //               secure software. However, Secure software may check these bits
6927 //               to apply write permissions to a Non-secure OTP programming API.
6928 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
6929 //               0x1 -> Page can be read by Non-secure software
6930 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6931 //               0x3 -> Page can not be accessed by Non-secure software.
6932 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_RESET  "-"
6933 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
6934 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_MSB    _u(3)
6935 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_LSB    _u(2)
6936 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_ACCESS "RO"
6937 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
6938 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
6939 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
6940 #define OTP_DATA_PAGE27_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
6941 // -----------------------------------------------------------------------------
6942 // Field       : OTP_DATA_PAGE27_LOCK1_LOCK_S
6943 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
6944 //               so lock state can be advanced permanently from any state to any
6945 //               less-permissive state by programming OTP. Software can also
6946 //               advance the lock state temporarily (until next OTP reset) using
6947 //               the SW_LOCKx registers.
6948 //               0x0 -> Page is fully accessible by Secure software.
6949 //               0x1 -> Page can be read by Secure software, but can not be written.
6950 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
6951 //               0x3 -> Page can not be accessed by Secure software.
6952 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_RESET  "-"
6953 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_BITS   _u(0x00000003)
6954 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_MSB    _u(1)
6955 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_LSB    _u(0)
6956 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_ACCESS "RO"
6957 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
6958 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
6959 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
6960 #define OTP_DATA_PAGE27_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
6961 // =============================================================================
6962 // Register    : OTP_DATA_PAGE28_LOCK0
6963 // Description : Lock configuration LSBs for page 28 (rows 0x700 through 0x73f).
6964 //               Locks are stored with 3-way majority vote encoding, so that
6965 //               bits can be set independently.
6966 //
6967 //               This OTP location is always readable, and is write-protected by
6968 //               its own permissions.
6969 #define OTP_DATA_PAGE28_LOCK0_ROW _u(0x00000fb8)
6970 #define OTP_DATA_PAGE28_LOCK0_BITS   _u(0x00ffff7f)
6971 #define OTP_DATA_PAGE28_LOCK0_RESET  _u(0x00000000)
6972 #define OTP_DATA_PAGE28_LOCK0_WIDTH  _u(24)
6973 // -----------------------------------------------------------------------------
6974 // Field       : OTP_DATA_PAGE28_LOCK0_R2
6975 // Description : Redundant copy of bits 7:0
6976 #define OTP_DATA_PAGE28_LOCK0_R2_RESET  "-"
6977 #define OTP_DATA_PAGE28_LOCK0_R2_BITS   _u(0x00ff0000)
6978 #define OTP_DATA_PAGE28_LOCK0_R2_MSB    _u(23)
6979 #define OTP_DATA_PAGE28_LOCK0_R2_LSB    _u(16)
6980 #define OTP_DATA_PAGE28_LOCK0_R2_ACCESS "RO"
6981 // -----------------------------------------------------------------------------
6982 // Field       : OTP_DATA_PAGE28_LOCK0_R1
6983 // Description : Redundant copy of bits 7:0
6984 #define OTP_DATA_PAGE28_LOCK0_R1_RESET  "-"
6985 #define OTP_DATA_PAGE28_LOCK0_R1_BITS   _u(0x0000ff00)
6986 #define OTP_DATA_PAGE28_LOCK0_R1_MSB    _u(15)
6987 #define OTP_DATA_PAGE28_LOCK0_R1_LSB    _u(8)
6988 #define OTP_DATA_PAGE28_LOCK0_R1_ACCESS "RO"
6989 // -----------------------------------------------------------------------------
6990 // Field       : OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE
6991 // Description : State when at least one key is registered for this page and no
6992 //               matching key has been entered.
6993 //               0x0 -> read_only
6994 //               0x1 -> inaccessible
6995 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_RESET  "-"
6996 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
6997 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_MSB    _u(6)
6998 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_LSB    _u(6)
6999 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_ACCESS "RO"
7000 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7001 #define OTP_DATA_PAGE28_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7002 // -----------------------------------------------------------------------------
7003 // Field       : OTP_DATA_PAGE28_LOCK0_KEY_R
7004 // Description : Index 1-6 of a hardware key which must be entered to grant read
7005 //               access, or 0 if no such key is required.
7006 #define OTP_DATA_PAGE28_LOCK0_KEY_R_RESET  "-"
7007 #define OTP_DATA_PAGE28_LOCK0_KEY_R_BITS   _u(0x00000038)
7008 #define OTP_DATA_PAGE28_LOCK0_KEY_R_MSB    _u(5)
7009 #define OTP_DATA_PAGE28_LOCK0_KEY_R_LSB    _u(3)
7010 #define OTP_DATA_PAGE28_LOCK0_KEY_R_ACCESS "RO"
7011 // -----------------------------------------------------------------------------
7012 // Field       : OTP_DATA_PAGE28_LOCK0_KEY_W
7013 // Description : Index 1-6 of a hardware key which must be entered to grant
7014 //               write access, or 0 if no such key is required.
7015 #define OTP_DATA_PAGE28_LOCK0_KEY_W_RESET  "-"
7016 #define OTP_DATA_PAGE28_LOCK0_KEY_W_BITS   _u(0x00000007)
7017 #define OTP_DATA_PAGE28_LOCK0_KEY_W_MSB    _u(2)
7018 #define OTP_DATA_PAGE28_LOCK0_KEY_W_LSB    _u(0)
7019 #define OTP_DATA_PAGE28_LOCK0_KEY_W_ACCESS "RO"
7020 // =============================================================================
7021 // Register    : OTP_DATA_PAGE28_LOCK1
7022 // Description : Lock configuration MSBs for page 28 (rows 0x700 through 0x73f).
7023 //               Locks are stored with 3-way majority vote encoding, so that
7024 //               bits can be set independently.
7025 //
7026 //               This OTP location is always readable, and is write-protected by
7027 //               its own permissions.
7028 #define OTP_DATA_PAGE28_LOCK1_ROW _u(0x00000fb9)
7029 #define OTP_DATA_PAGE28_LOCK1_BITS   _u(0x00ffff3f)
7030 #define OTP_DATA_PAGE28_LOCK1_RESET  _u(0x00000000)
7031 #define OTP_DATA_PAGE28_LOCK1_WIDTH  _u(24)
7032 // -----------------------------------------------------------------------------
7033 // Field       : OTP_DATA_PAGE28_LOCK1_R2
7034 // Description : Redundant copy of bits 7:0
7035 #define OTP_DATA_PAGE28_LOCK1_R2_RESET  "-"
7036 #define OTP_DATA_PAGE28_LOCK1_R2_BITS   _u(0x00ff0000)
7037 #define OTP_DATA_PAGE28_LOCK1_R2_MSB    _u(23)
7038 #define OTP_DATA_PAGE28_LOCK1_R2_LSB    _u(16)
7039 #define OTP_DATA_PAGE28_LOCK1_R2_ACCESS "RO"
7040 // -----------------------------------------------------------------------------
7041 // Field       : OTP_DATA_PAGE28_LOCK1_R1
7042 // Description : Redundant copy of bits 7:0
7043 #define OTP_DATA_PAGE28_LOCK1_R1_RESET  "-"
7044 #define OTP_DATA_PAGE28_LOCK1_R1_BITS   _u(0x0000ff00)
7045 #define OTP_DATA_PAGE28_LOCK1_R1_MSB    _u(15)
7046 #define OTP_DATA_PAGE28_LOCK1_R1_LSB    _u(8)
7047 #define OTP_DATA_PAGE28_LOCK1_R1_ACCESS "RO"
7048 // -----------------------------------------------------------------------------
7049 // Field       : OTP_DATA_PAGE28_LOCK1_LOCK_BL
7050 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7051 //               USB bootloader) to store their own OTP access permissions. No
7052 //               hardware effect, and no corresponding SW_LOCKx registers.
7053 //               0x0 -> Bootloader permits user reads and writes to this page
7054 //               0x1 -> Bootloader permits user reads of this page
7055 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7056 //               0x3 -> Bootloader does not permit user access to this page
7057 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_RESET  "-"
7058 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7059 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_MSB    _u(5)
7060 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_LSB    _u(4)
7061 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_ACCESS "RO"
7062 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7063 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7064 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7065 #define OTP_DATA_PAGE28_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7066 // -----------------------------------------------------------------------------
7067 // Field       : OTP_DATA_PAGE28_LOCK1_LOCK_NS
7068 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7069 //               coded, so lock state can be advanced permanently from any state
7070 //               to any less-permissive state by programming OTP. Software can
7071 //               also advance the lock state temporarily (until next OTP reset)
7072 //               using the SW_LOCKx registers.
7073 //
7074 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7075 //               as the SBPI programming interface is not accessible to Non-
7076 //               secure software. However, Secure software may check these bits
7077 //               to apply write permissions to a Non-secure OTP programming API.
7078 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7079 //               0x1 -> Page can be read by Non-secure software
7080 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7081 //               0x3 -> Page can not be accessed by Non-secure software.
7082 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_RESET  "-"
7083 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7084 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_MSB    _u(3)
7085 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_LSB    _u(2)
7086 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_ACCESS "RO"
7087 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7088 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7089 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7090 #define OTP_DATA_PAGE28_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7091 // -----------------------------------------------------------------------------
7092 // Field       : OTP_DATA_PAGE28_LOCK1_LOCK_S
7093 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7094 //               so lock state can be advanced permanently from any state to any
7095 //               less-permissive state by programming OTP. Software can also
7096 //               advance the lock state temporarily (until next OTP reset) using
7097 //               the SW_LOCKx registers.
7098 //               0x0 -> Page is fully accessible by Secure software.
7099 //               0x1 -> Page can be read by Secure software, but can not be written.
7100 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7101 //               0x3 -> Page can not be accessed by Secure software.
7102 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_RESET  "-"
7103 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_BITS   _u(0x00000003)
7104 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_MSB    _u(1)
7105 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_LSB    _u(0)
7106 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_ACCESS "RO"
7107 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
7108 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
7109 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
7110 #define OTP_DATA_PAGE28_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
7111 // =============================================================================
7112 // Register    : OTP_DATA_PAGE29_LOCK0
7113 // Description : Lock configuration LSBs for page 29 (rows 0x740 through 0x77f).
7114 //               Locks are stored with 3-way majority vote encoding, so that
7115 //               bits can be set independently.
7116 //
7117 //               This OTP location is always readable, and is write-protected by
7118 //               its own permissions.
7119 #define OTP_DATA_PAGE29_LOCK0_ROW _u(0x00000fba)
7120 #define OTP_DATA_PAGE29_LOCK0_BITS   _u(0x00ffff7f)
7121 #define OTP_DATA_PAGE29_LOCK0_RESET  _u(0x00000000)
7122 #define OTP_DATA_PAGE29_LOCK0_WIDTH  _u(24)
7123 // -----------------------------------------------------------------------------
7124 // Field       : OTP_DATA_PAGE29_LOCK0_R2
7125 // Description : Redundant copy of bits 7:0
7126 #define OTP_DATA_PAGE29_LOCK0_R2_RESET  "-"
7127 #define OTP_DATA_PAGE29_LOCK0_R2_BITS   _u(0x00ff0000)
7128 #define OTP_DATA_PAGE29_LOCK0_R2_MSB    _u(23)
7129 #define OTP_DATA_PAGE29_LOCK0_R2_LSB    _u(16)
7130 #define OTP_DATA_PAGE29_LOCK0_R2_ACCESS "RO"
7131 // -----------------------------------------------------------------------------
7132 // Field       : OTP_DATA_PAGE29_LOCK0_R1
7133 // Description : Redundant copy of bits 7:0
7134 #define OTP_DATA_PAGE29_LOCK0_R1_RESET  "-"
7135 #define OTP_DATA_PAGE29_LOCK0_R1_BITS   _u(0x0000ff00)
7136 #define OTP_DATA_PAGE29_LOCK0_R1_MSB    _u(15)
7137 #define OTP_DATA_PAGE29_LOCK0_R1_LSB    _u(8)
7138 #define OTP_DATA_PAGE29_LOCK0_R1_ACCESS "RO"
7139 // -----------------------------------------------------------------------------
7140 // Field       : OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE
7141 // Description : State when at least one key is registered for this page and no
7142 //               matching key has been entered.
7143 //               0x0 -> read_only
7144 //               0x1 -> inaccessible
7145 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_RESET  "-"
7146 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
7147 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_MSB    _u(6)
7148 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_LSB    _u(6)
7149 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_ACCESS "RO"
7150 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7151 #define OTP_DATA_PAGE29_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7152 // -----------------------------------------------------------------------------
7153 // Field       : OTP_DATA_PAGE29_LOCK0_KEY_R
7154 // Description : Index 1-6 of a hardware key which must be entered to grant read
7155 //               access, or 0 if no such key is required.
7156 #define OTP_DATA_PAGE29_LOCK0_KEY_R_RESET  "-"
7157 #define OTP_DATA_PAGE29_LOCK0_KEY_R_BITS   _u(0x00000038)
7158 #define OTP_DATA_PAGE29_LOCK0_KEY_R_MSB    _u(5)
7159 #define OTP_DATA_PAGE29_LOCK0_KEY_R_LSB    _u(3)
7160 #define OTP_DATA_PAGE29_LOCK0_KEY_R_ACCESS "RO"
7161 // -----------------------------------------------------------------------------
7162 // Field       : OTP_DATA_PAGE29_LOCK0_KEY_W
7163 // Description : Index 1-6 of a hardware key which must be entered to grant
7164 //               write access, or 0 if no such key is required.
7165 #define OTP_DATA_PAGE29_LOCK0_KEY_W_RESET  "-"
7166 #define OTP_DATA_PAGE29_LOCK0_KEY_W_BITS   _u(0x00000007)
7167 #define OTP_DATA_PAGE29_LOCK0_KEY_W_MSB    _u(2)
7168 #define OTP_DATA_PAGE29_LOCK0_KEY_W_LSB    _u(0)
7169 #define OTP_DATA_PAGE29_LOCK0_KEY_W_ACCESS "RO"
7170 // =============================================================================
7171 // Register    : OTP_DATA_PAGE29_LOCK1
7172 // Description : Lock configuration MSBs for page 29 (rows 0x740 through 0x77f).
7173 //               Locks are stored with 3-way majority vote encoding, so that
7174 //               bits can be set independently.
7175 //
7176 //               This OTP location is always readable, and is write-protected by
7177 //               its own permissions.
7178 #define OTP_DATA_PAGE29_LOCK1_ROW _u(0x00000fbb)
7179 #define OTP_DATA_PAGE29_LOCK1_BITS   _u(0x00ffff3f)
7180 #define OTP_DATA_PAGE29_LOCK1_RESET  _u(0x00000000)
7181 #define OTP_DATA_PAGE29_LOCK1_WIDTH  _u(24)
7182 // -----------------------------------------------------------------------------
7183 // Field       : OTP_DATA_PAGE29_LOCK1_R2
7184 // Description : Redundant copy of bits 7:0
7185 #define OTP_DATA_PAGE29_LOCK1_R2_RESET  "-"
7186 #define OTP_DATA_PAGE29_LOCK1_R2_BITS   _u(0x00ff0000)
7187 #define OTP_DATA_PAGE29_LOCK1_R2_MSB    _u(23)
7188 #define OTP_DATA_PAGE29_LOCK1_R2_LSB    _u(16)
7189 #define OTP_DATA_PAGE29_LOCK1_R2_ACCESS "RO"
7190 // -----------------------------------------------------------------------------
7191 // Field       : OTP_DATA_PAGE29_LOCK1_R1
7192 // Description : Redundant copy of bits 7:0
7193 #define OTP_DATA_PAGE29_LOCK1_R1_RESET  "-"
7194 #define OTP_DATA_PAGE29_LOCK1_R1_BITS   _u(0x0000ff00)
7195 #define OTP_DATA_PAGE29_LOCK1_R1_MSB    _u(15)
7196 #define OTP_DATA_PAGE29_LOCK1_R1_LSB    _u(8)
7197 #define OTP_DATA_PAGE29_LOCK1_R1_ACCESS "RO"
7198 // -----------------------------------------------------------------------------
7199 // Field       : OTP_DATA_PAGE29_LOCK1_LOCK_BL
7200 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7201 //               USB bootloader) to store their own OTP access permissions. No
7202 //               hardware effect, and no corresponding SW_LOCKx registers.
7203 //               0x0 -> Bootloader permits user reads and writes to this page
7204 //               0x1 -> Bootloader permits user reads of this page
7205 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7206 //               0x3 -> Bootloader does not permit user access to this page
7207 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_RESET  "-"
7208 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7209 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_MSB    _u(5)
7210 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_LSB    _u(4)
7211 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_ACCESS "RO"
7212 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7213 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7214 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7215 #define OTP_DATA_PAGE29_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7216 // -----------------------------------------------------------------------------
7217 // Field       : OTP_DATA_PAGE29_LOCK1_LOCK_NS
7218 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7219 //               coded, so lock state can be advanced permanently from any state
7220 //               to any less-permissive state by programming OTP. Software can
7221 //               also advance the lock state temporarily (until next OTP reset)
7222 //               using the SW_LOCKx registers.
7223 //
7224 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7225 //               as the SBPI programming interface is not accessible to Non-
7226 //               secure software. However, Secure software may check these bits
7227 //               to apply write permissions to a Non-secure OTP programming API.
7228 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7229 //               0x1 -> Page can be read by Non-secure software
7230 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7231 //               0x3 -> Page can not be accessed by Non-secure software.
7232 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_RESET  "-"
7233 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7234 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_MSB    _u(3)
7235 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_LSB    _u(2)
7236 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_ACCESS "RO"
7237 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7238 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7239 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7240 #define OTP_DATA_PAGE29_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7241 // -----------------------------------------------------------------------------
7242 // Field       : OTP_DATA_PAGE29_LOCK1_LOCK_S
7243 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7244 //               so lock state can be advanced permanently from any state to any
7245 //               less-permissive state by programming OTP. Software can also
7246 //               advance the lock state temporarily (until next OTP reset) using
7247 //               the SW_LOCKx registers.
7248 //               0x0 -> Page is fully accessible by Secure software.
7249 //               0x1 -> Page can be read by Secure software, but can not be written.
7250 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7251 //               0x3 -> Page can not be accessed by Secure software.
7252 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_RESET  "-"
7253 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_BITS   _u(0x00000003)
7254 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_MSB    _u(1)
7255 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_LSB    _u(0)
7256 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_ACCESS "RO"
7257 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
7258 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
7259 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
7260 #define OTP_DATA_PAGE29_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
7261 // =============================================================================
7262 // Register    : OTP_DATA_PAGE30_LOCK0
7263 // Description : Lock configuration LSBs for page 30 (rows 0x780 through 0x7bf).
7264 //               Locks are stored with 3-way majority vote encoding, so that
7265 //               bits can be set independently.
7266 //
7267 //               This OTP location is always readable, and is write-protected by
7268 //               its own permissions.
7269 #define OTP_DATA_PAGE30_LOCK0_ROW _u(0x00000fbc)
7270 #define OTP_DATA_PAGE30_LOCK0_BITS   _u(0x00ffff7f)
7271 #define OTP_DATA_PAGE30_LOCK0_RESET  _u(0x00000000)
7272 #define OTP_DATA_PAGE30_LOCK0_WIDTH  _u(24)
7273 // -----------------------------------------------------------------------------
7274 // Field       : OTP_DATA_PAGE30_LOCK0_R2
7275 // Description : Redundant copy of bits 7:0
7276 #define OTP_DATA_PAGE30_LOCK0_R2_RESET  "-"
7277 #define OTP_DATA_PAGE30_LOCK0_R2_BITS   _u(0x00ff0000)
7278 #define OTP_DATA_PAGE30_LOCK0_R2_MSB    _u(23)
7279 #define OTP_DATA_PAGE30_LOCK0_R2_LSB    _u(16)
7280 #define OTP_DATA_PAGE30_LOCK0_R2_ACCESS "RO"
7281 // -----------------------------------------------------------------------------
7282 // Field       : OTP_DATA_PAGE30_LOCK0_R1
7283 // Description : Redundant copy of bits 7:0
7284 #define OTP_DATA_PAGE30_LOCK0_R1_RESET  "-"
7285 #define OTP_DATA_PAGE30_LOCK0_R1_BITS   _u(0x0000ff00)
7286 #define OTP_DATA_PAGE30_LOCK0_R1_MSB    _u(15)
7287 #define OTP_DATA_PAGE30_LOCK0_R1_LSB    _u(8)
7288 #define OTP_DATA_PAGE30_LOCK0_R1_ACCESS "RO"
7289 // -----------------------------------------------------------------------------
7290 // Field       : OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE
7291 // Description : State when at least one key is registered for this page and no
7292 //               matching key has been entered.
7293 //               0x0 -> read_only
7294 //               0x1 -> inaccessible
7295 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_RESET  "-"
7296 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
7297 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_MSB    _u(6)
7298 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_LSB    _u(6)
7299 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_ACCESS "RO"
7300 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7301 #define OTP_DATA_PAGE30_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7302 // -----------------------------------------------------------------------------
7303 // Field       : OTP_DATA_PAGE30_LOCK0_KEY_R
7304 // Description : Index 1-6 of a hardware key which must be entered to grant read
7305 //               access, or 0 if no such key is required.
7306 #define OTP_DATA_PAGE30_LOCK0_KEY_R_RESET  "-"
7307 #define OTP_DATA_PAGE30_LOCK0_KEY_R_BITS   _u(0x00000038)
7308 #define OTP_DATA_PAGE30_LOCK0_KEY_R_MSB    _u(5)
7309 #define OTP_DATA_PAGE30_LOCK0_KEY_R_LSB    _u(3)
7310 #define OTP_DATA_PAGE30_LOCK0_KEY_R_ACCESS "RO"
7311 // -----------------------------------------------------------------------------
7312 // Field       : OTP_DATA_PAGE30_LOCK0_KEY_W
7313 // Description : Index 1-6 of a hardware key which must be entered to grant
7314 //               write access, or 0 if no such key is required.
7315 #define OTP_DATA_PAGE30_LOCK0_KEY_W_RESET  "-"
7316 #define OTP_DATA_PAGE30_LOCK0_KEY_W_BITS   _u(0x00000007)
7317 #define OTP_DATA_PAGE30_LOCK0_KEY_W_MSB    _u(2)
7318 #define OTP_DATA_PAGE30_LOCK0_KEY_W_LSB    _u(0)
7319 #define OTP_DATA_PAGE30_LOCK0_KEY_W_ACCESS "RO"
7320 // =============================================================================
7321 // Register    : OTP_DATA_PAGE30_LOCK1
7322 // Description : Lock configuration MSBs for page 30 (rows 0x780 through 0x7bf).
7323 //               Locks are stored with 3-way majority vote encoding, so that
7324 //               bits can be set independently.
7325 //
7326 //               This OTP location is always readable, and is write-protected by
7327 //               its own permissions.
7328 #define OTP_DATA_PAGE30_LOCK1_ROW _u(0x00000fbd)
7329 #define OTP_DATA_PAGE30_LOCK1_BITS   _u(0x00ffff3f)
7330 #define OTP_DATA_PAGE30_LOCK1_RESET  _u(0x00000000)
7331 #define OTP_DATA_PAGE30_LOCK1_WIDTH  _u(24)
7332 // -----------------------------------------------------------------------------
7333 // Field       : OTP_DATA_PAGE30_LOCK1_R2
7334 // Description : Redundant copy of bits 7:0
7335 #define OTP_DATA_PAGE30_LOCK1_R2_RESET  "-"
7336 #define OTP_DATA_PAGE30_LOCK1_R2_BITS   _u(0x00ff0000)
7337 #define OTP_DATA_PAGE30_LOCK1_R2_MSB    _u(23)
7338 #define OTP_DATA_PAGE30_LOCK1_R2_LSB    _u(16)
7339 #define OTP_DATA_PAGE30_LOCK1_R2_ACCESS "RO"
7340 // -----------------------------------------------------------------------------
7341 // Field       : OTP_DATA_PAGE30_LOCK1_R1
7342 // Description : Redundant copy of bits 7:0
7343 #define OTP_DATA_PAGE30_LOCK1_R1_RESET  "-"
7344 #define OTP_DATA_PAGE30_LOCK1_R1_BITS   _u(0x0000ff00)
7345 #define OTP_DATA_PAGE30_LOCK1_R1_MSB    _u(15)
7346 #define OTP_DATA_PAGE30_LOCK1_R1_LSB    _u(8)
7347 #define OTP_DATA_PAGE30_LOCK1_R1_ACCESS "RO"
7348 // -----------------------------------------------------------------------------
7349 // Field       : OTP_DATA_PAGE30_LOCK1_LOCK_BL
7350 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7351 //               USB bootloader) to store their own OTP access permissions. No
7352 //               hardware effect, and no corresponding SW_LOCKx registers.
7353 //               0x0 -> Bootloader permits user reads and writes to this page
7354 //               0x1 -> Bootloader permits user reads of this page
7355 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7356 //               0x3 -> Bootloader does not permit user access to this page
7357 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_RESET  "-"
7358 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7359 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_MSB    _u(5)
7360 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_LSB    _u(4)
7361 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_ACCESS "RO"
7362 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7363 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7364 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7365 #define OTP_DATA_PAGE30_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7366 // -----------------------------------------------------------------------------
7367 // Field       : OTP_DATA_PAGE30_LOCK1_LOCK_NS
7368 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7369 //               coded, so lock state can be advanced permanently from any state
7370 //               to any less-permissive state by programming OTP. Software can
7371 //               also advance the lock state temporarily (until next OTP reset)
7372 //               using the SW_LOCKx registers.
7373 //
7374 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7375 //               as the SBPI programming interface is not accessible to Non-
7376 //               secure software. However, Secure software may check these bits
7377 //               to apply write permissions to a Non-secure OTP programming API.
7378 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7379 //               0x1 -> Page can be read by Non-secure software
7380 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7381 //               0x3 -> Page can not be accessed by Non-secure software.
7382 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_RESET  "-"
7383 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7384 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_MSB    _u(3)
7385 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_LSB    _u(2)
7386 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_ACCESS "RO"
7387 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7388 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7389 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7390 #define OTP_DATA_PAGE30_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7391 // -----------------------------------------------------------------------------
7392 // Field       : OTP_DATA_PAGE30_LOCK1_LOCK_S
7393 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7394 //               so lock state can be advanced permanently from any state to any
7395 //               less-permissive state by programming OTP. Software can also
7396 //               advance the lock state temporarily (until next OTP reset) using
7397 //               the SW_LOCKx registers.
7398 //               0x0 -> Page is fully accessible by Secure software.
7399 //               0x1 -> Page can be read by Secure software, but can not be written.
7400 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7401 //               0x3 -> Page can not be accessed by Secure software.
7402 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_RESET  "-"
7403 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_BITS   _u(0x00000003)
7404 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_MSB    _u(1)
7405 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_LSB    _u(0)
7406 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_ACCESS "RO"
7407 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
7408 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
7409 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
7410 #define OTP_DATA_PAGE30_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
7411 // =============================================================================
7412 // Register    : OTP_DATA_PAGE31_LOCK0
7413 // Description : Lock configuration LSBs for page 31 (rows 0x7c0 through 0x7ff).
7414 //               Locks are stored with 3-way majority vote encoding, so that
7415 //               bits can be set independently.
7416 //
7417 //               This OTP location is always readable, and is write-protected by
7418 //               its own permissions.
7419 #define OTP_DATA_PAGE31_LOCK0_ROW _u(0x00000fbe)
7420 #define OTP_DATA_PAGE31_LOCK0_BITS   _u(0x00ffff7f)
7421 #define OTP_DATA_PAGE31_LOCK0_RESET  _u(0x00000000)
7422 #define OTP_DATA_PAGE31_LOCK0_WIDTH  _u(24)
7423 // -----------------------------------------------------------------------------
7424 // Field       : OTP_DATA_PAGE31_LOCK0_R2
7425 // Description : Redundant copy of bits 7:0
7426 #define OTP_DATA_PAGE31_LOCK0_R2_RESET  "-"
7427 #define OTP_DATA_PAGE31_LOCK0_R2_BITS   _u(0x00ff0000)
7428 #define OTP_DATA_PAGE31_LOCK0_R2_MSB    _u(23)
7429 #define OTP_DATA_PAGE31_LOCK0_R2_LSB    _u(16)
7430 #define OTP_DATA_PAGE31_LOCK0_R2_ACCESS "RO"
7431 // -----------------------------------------------------------------------------
7432 // Field       : OTP_DATA_PAGE31_LOCK0_R1
7433 // Description : Redundant copy of bits 7:0
7434 #define OTP_DATA_PAGE31_LOCK0_R1_RESET  "-"
7435 #define OTP_DATA_PAGE31_LOCK0_R1_BITS   _u(0x0000ff00)
7436 #define OTP_DATA_PAGE31_LOCK0_R1_MSB    _u(15)
7437 #define OTP_DATA_PAGE31_LOCK0_R1_LSB    _u(8)
7438 #define OTP_DATA_PAGE31_LOCK0_R1_ACCESS "RO"
7439 // -----------------------------------------------------------------------------
7440 // Field       : OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE
7441 // Description : State when at least one key is registered for this page and no
7442 //               matching key has been entered.
7443 //               0x0 -> read_only
7444 //               0x1 -> inaccessible
7445 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_RESET  "-"
7446 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
7447 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_MSB    _u(6)
7448 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_LSB    _u(6)
7449 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_ACCESS "RO"
7450 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7451 #define OTP_DATA_PAGE31_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7452 // -----------------------------------------------------------------------------
7453 // Field       : OTP_DATA_PAGE31_LOCK0_KEY_R
7454 // Description : Index 1-6 of a hardware key which must be entered to grant read
7455 //               access, or 0 if no such key is required.
7456 #define OTP_DATA_PAGE31_LOCK0_KEY_R_RESET  "-"
7457 #define OTP_DATA_PAGE31_LOCK0_KEY_R_BITS   _u(0x00000038)
7458 #define OTP_DATA_PAGE31_LOCK0_KEY_R_MSB    _u(5)
7459 #define OTP_DATA_PAGE31_LOCK0_KEY_R_LSB    _u(3)
7460 #define OTP_DATA_PAGE31_LOCK0_KEY_R_ACCESS "RO"
7461 // -----------------------------------------------------------------------------
7462 // Field       : OTP_DATA_PAGE31_LOCK0_KEY_W
7463 // Description : Index 1-6 of a hardware key which must be entered to grant
7464 //               write access, or 0 if no such key is required.
7465 #define OTP_DATA_PAGE31_LOCK0_KEY_W_RESET  "-"
7466 #define OTP_DATA_PAGE31_LOCK0_KEY_W_BITS   _u(0x00000007)
7467 #define OTP_DATA_PAGE31_LOCK0_KEY_W_MSB    _u(2)
7468 #define OTP_DATA_PAGE31_LOCK0_KEY_W_LSB    _u(0)
7469 #define OTP_DATA_PAGE31_LOCK0_KEY_W_ACCESS "RO"
7470 // =============================================================================
7471 // Register    : OTP_DATA_PAGE31_LOCK1
7472 // Description : Lock configuration MSBs for page 31 (rows 0x7c0 through 0x7ff).
7473 //               Locks are stored with 3-way majority vote encoding, so that
7474 //               bits can be set independently.
7475 //
7476 //               This OTP location is always readable, and is write-protected by
7477 //               its own permissions.
7478 #define OTP_DATA_PAGE31_LOCK1_ROW _u(0x00000fbf)
7479 #define OTP_DATA_PAGE31_LOCK1_BITS   _u(0x00ffff3f)
7480 #define OTP_DATA_PAGE31_LOCK1_RESET  _u(0x00000000)
7481 #define OTP_DATA_PAGE31_LOCK1_WIDTH  _u(24)
7482 // -----------------------------------------------------------------------------
7483 // Field       : OTP_DATA_PAGE31_LOCK1_R2
7484 // Description : Redundant copy of bits 7:0
7485 #define OTP_DATA_PAGE31_LOCK1_R2_RESET  "-"
7486 #define OTP_DATA_PAGE31_LOCK1_R2_BITS   _u(0x00ff0000)
7487 #define OTP_DATA_PAGE31_LOCK1_R2_MSB    _u(23)
7488 #define OTP_DATA_PAGE31_LOCK1_R2_LSB    _u(16)
7489 #define OTP_DATA_PAGE31_LOCK1_R2_ACCESS "RO"
7490 // -----------------------------------------------------------------------------
7491 // Field       : OTP_DATA_PAGE31_LOCK1_R1
7492 // Description : Redundant copy of bits 7:0
7493 #define OTP_DATA_PAGE31_LOCK1_R1_RESET  "-"
7494 #define OTP_DATA_PAGE31_LOCK1_R1_BITS   _u(0x0000ff00)
7495 #define OTP_DATA_PAGE31_LOCK1_R1_MSB    _u(15)
7496 #define OTP_DATA_PAGE31_LOCK1_R1_LSB    _u(8)
7497 #define OTP_DATA_PAGE31_LOCK1_R1_ACCESS "RO"
7498 // -----------------------------------------------------------------------------
7499 // Field       : OTP_DATA_PAGE31_LOCK1_LOCK_BL
7500 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7501 //               USB bootloader) to store their own OTP access permissions. No
7502 //               hardware effect, and no corresponding SW_LOCKx registers.
7503 //               0x0 -> Bootloader permits user reads and writes to this page
7504 //               0x1 -> Bootloader permits user reads of this page
7505 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7506 //               0x3 -> Bootloader does not permit user access to this page
7507 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_RESET  "-"
7508 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7509 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_MSB    _u(5)
7510 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_LSB    _u(4)
7511 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_ACCESS "RO"
7512 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7513 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7514 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7515 #define OTP_DATA_PAGE31_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7516 // -----------------------------------------------------------------------------
7517 // Field       : OTP_DATA_PAGE31_LOCK1_LOCK_NS
7518 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7519 //               coded, so lock state can be advanced permanently from any state
7520 //               to any less-permissive state by programming OTP. Software can
7521 //               also advance the lock state temporarily (until next OTP reset)
7522 //               using the SW_LOCKx registers.
7523 //
7524 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7525 //               as the SBPI programming interface is not accessible to Non-
7526 //               secure software. However, Secure software may check these bits
7527 //               to apply write permissions to a Non-secure OTP programming API.
7528 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7529 //               0x1 -> Page can be read by Non-secure software
7530 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7531 //               0x3 -> Page can not be accessed by Non-secure software.
7532 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_RESET  "-"
7533 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7534 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_MSB    _u(3)
7535 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_LSB    _u(2)
7536 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_ACCESS "RO"
7537 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7538 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7539 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7540 #define OTP_DATA_PAGE31_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7541 // -----------------------------------------------------------------------------
7542 // Field       : OTP_DATA_PAGE31_LOCK1_LOCK_S
7543 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7544 //               so lock state can be advanced permanently from any state to any
7545 //               less-permissive state by programming OTP. Software can also
7546 //               advance the lock state temporarily (until next OTP reset) using
7547 //               the SW_LOCKx registers.
7548 //               0x0 -> Page is fully accessible by Secure software.
7549 //               0x1 -> Page can be read by Secure software, but can not be written.
7550 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7551 //               0x3 -> Page can not be accessed by Secure software.
7552 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_RESET  "-"
7553 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_BITS   _u(0x00000003)
7554 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_MSB    _u(1)
7555 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_LSB    _u(0)
7556 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_ACCESS "RO"
7557 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
7558 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
7559 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
7560 #define OTP_DATA_PAGE31_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
7561 // =============================================================================
7562 // Register    : OTP_DATA_PAGE32_LOCK0
7563 // Description : Lock configuration LSBs for page 32 (rows 0x800 through 0x83f).
7564 //               Locks are stored with 3-way majority vote encoding, so that
7565 //               bits can be set independently.
7566 //
7567 //               This OTP location is always readable, and is write-protected by
7568 //               its own permissions.
7569 #define OTP_DATA_PAGE32_LOCK0_ROW _u(0x00000fc0)
7570 #define OTP_DATA_PAGE32_LOCK0_BITS   _u(0x00ffff7f)
7571 #define OTP_DATA_PAGE32_LOCK0_RESET  _u(0x00000000)
7572 #define OTP_DATA_PAGE32_LOCK0_WIDTH  _u(24)
7573 // -----------------------------------------------------------------------------
7574 // Field       : OTP_DATA_PAGE32_LOCK0_R2
7575 // Description : Redundant copy of bits 7:0
7576 #define OTP_DATA_PAGE32_LOCK0_R2_RESET  "-"
7577 #define OTP_DATA_PAGE32_LOCK0_R2_BITS   _u(0x00ff0000)
7578 #define OTP_DATA_PAGE32_LOCK0_R2_MSB    _u(23)
7579 #define OTP_DATA_PAGE32_LOCK0_R2_LSB    _u(16)
7580 #define OTP_DATA_PAGE32_LOCK0_R2_ACCESS "RO"
7581 // -----------------------------------------------------------------------------
7582 // Field       : OTP_DATA_PAGE32_LOCK0_R1
7583 // Description : Redundant copy of bits 7:0
7584 #define OTP_DATA_PAGE32_LOCK0_R1_RESET  "-"
7585 #define OTP_DATA_PAGE32_LOCK0_R1_BITS   _u(0x0000ff00)
7586 #define OTP_DATA_PAGE32_LOCK0_R1_MSB    _u(15)
7587 #define OTP_DATA_PAGE32_LOCK0_R1_LSB    _u(8)
7588 #define OTP_DATA_PAGE32_LOCK0_R1_ACCESS "RO"
7589 // -----------------------------------------------------------------------------
7590 // Field       : OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE
7591 // Description : State when at least one key is registered for this page and no
7592 //               matching key has been entered.
7593 //               0x0 -> read_only
7594 //               0x1 -> inaccessible
7595 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_RESET  "-"
7596 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
7597 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_MSB    _u(6)
7598 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_LSB    _u(6)
7599 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_ACCESS "RO"
7600 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7601 #define OTP_DATA_PAGE32_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7602 // -----------------------------------------------------------------------------
7603 // Field       : OTP_DATA_PAGE32_LOCK0_KEY_R
7604 // Description : Index 1-6 of a hardware key which must be entered to grant read
7605 //               access, or 0 if no such key is required.
7606 #define OTP_DATA_PAGE32_LOCK0_KEY_R_RESET  "-"
7607 #define OTP_DATA_PAGE32_LOCK0_KEY_R_BITS   _u(0x00000038)
7608 #define OTP_DATA_PAGE32_LOCK0_KEY_R_MSB    _u(5)
7609 #define OTP_DATA_PAGE32_LOCK0_KEY_R_LSB    _u(3)
7610 #define OTP_DATA_PAGE32_LOCK0_KEY_R_ACCESS "RO"
7611 // -----------------------------------------------------------------------------
7612 // Field       : OTP_DATA_PAGE32_LOCK0_KEY_W
7613 // Description : Index 1-6 of a hardware key which must be entered to grant
7614 //               write access, or 0 if no such key is required.
7615 #define OTP_DATA_PAGE32_LOCK0_KEY_W_RESET  "-"
7616 #define OTP_DATA_PAGE32_LOCK0_KEY_W_BITS   _u(0x00000007)
7617 #define OTP_DATA_PAGE32_LOCK0_KEY_W_MSB    _u(2)
7618 #define OTP_DATA_PAGE32_LOCK0_KEY_W_LSB    _u(0)
7619 #define OTP_DATA_PAGE32_LOCK0_KEY_W_ACCESS "RO"
7620 // =============================================================================
7621 // Register    : OTP_DATA_PAGE32_LOCK1
7622 // Description : Lock configuration MSBs for page 32 (rows 0x800 through 0x83f).
7623 //               Locks are stored with 3-way majority vote encoding, so that
7624 //               bits can be set independently.
7625 //
7626 //               This OTP location is always readable, and is write-protected by
7627 //               its own permissions.
7628 #define OTP_DATA_PAGE32_LOCK1_ROW _u(0x00000fc1)
7629 #define OTP_DATA_PAGE32_LOCK1_BITS   _u(0x00ffff3f)
7630 #define OTP_DATA_PAGE32_LOCK1_RESET  _u(0x00000000)
7631 #define OTP_DATA_PAGE32_LOCK1_WIDTH  _u(24)
7632 // -----------------------------------------------------------------------------
7633 // Field       : OTP_DATA_PAGE32_LOCK1_R2
7634 // Description : Redundant copy of bits 7:0
7635 #define OTP_DATA_PAGE32_LOCK1_R2_RESET  "-"
7636 #define OTP_DATA_PAGE32_LOCK1_R2_BITS   _u(0x00ff0000)
7637 #define OTP_DATA_PAGE32_LOCK1_R2_MSB    _u(23)
7638 #define OTP_DATA_PAGE32_LOCK1_R2_LSB    _u(16)
7639 #define OTP_DATA_PAGE32_LOCK1_R2_ACCESS "RO"
7640 // -----------------------------------------------------------------------------
7641 // Field       : OTP_DATA_PAGE32_LOCK1_R1
7642 // Description : Redundant copy of bits 7:0
7643 #define OTP_DATA_PAGE32_LOCK1_R1_RESET  "-"
7644 #define OTP_DATA_PAGE32_LOCK1_R1_BITS   _u(0x0000ff00)
7645 #define OTP_DATA_PAGE32_LOCK1_R1_MSB    _u(15)
7646 #define OTP_DATA_PAGE32_LOCK1_R1_LSB    _u(8)
7647 #define OTP_DATA_PAGE32_LOCK1_R1_ACCESS "RO"
7648 // -----------------------------------------------------------------------------
7649 // Field       : OTP_DATA_PAGE32_LOCK1_LOCK_BL
7650 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7651 //               USB bootloader) to store their own OTP access permissions. No
7652 //               hardware effect, and no corresponding SW_LOCKx registers.
7653 //               0x0 -> Bootloader permits user reads and writes to this page
7654 //               0x1 -> Bootloader permits user reads of this page
7655 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7656 //               0x3 -> Bootloader does not permit user access to this page
7657 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_RESET  "-"
7658 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7659 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_MSB    _u(5)
7660 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_LSB    _u(4)
7661 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_ACCESS "RO"
7662 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7663 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7664 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7665 #define OTP_DATA_PAGE32_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7666 // -----------------------------------------------------------------------------
7667 // Field       : OTP_DATA_PAGE32_LOCK1_LOCK_NS
7668 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7669 //               coded, so lock state can be advanced permanently from any state
7670 //               to any less-permissive state by programming OTP. Software can
7671 //               also advance the lock state temporarily (until next OTP reset)
7672 //               using the SW_LOCKx registers.
7673 //
7674 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7675 //               as the SBPI programming interface is not accessible to Non-
7676 //               secure software. However, Secure software may check these bits
7677 //               to apply write permissions to a Non-secure OTP programming API.
7678 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7679 //               0x1 -> Page can be read by Non-secure software
7680 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7681 //               0x3 -> Page can not be accessed by Non-secure software.
7682 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_RESET  "-"
7683 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7684 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_MSB    _u(3)
7685 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_LSB    _u(2)
7686 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_ACCESS "RO"
7687 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7688 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7689 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7690 #define OTP_DATA_PAGE32_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7691 // -----------------------------------------------------------------------------
7692 // Field       : OTP_DATA_PAGE32_LOCK1_LOCK_S
7693 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7694 //               so lock state can be advanced permanently from any state to any
7695 //               less-permissive state by programming OTP. Software can also
7696 //               advance the lock state temporarily (until next OTP reset) using
7697 //               the SW_LOCKx registers.
7698 //               0x0 -> Page is fully accessible by Secure software.
7699 //               0x1 -> Page can be read by Secure software, but can not be written.
7700 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7701 //               0x3 -> Page can not be accessed by Secure software.
7702 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_RESET  "-"
7703 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_BITS   _u(0x00000003)
7704 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_MSB    _u(1)
7705 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_LSB    _u(0)
7706 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_ACCESS "RO"
7707 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
7708 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
7709 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
7710 #define OTP_DATA_PAGE32_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
7711 // =============================================================================
7712 // Register    : OTP_DATA_PAGE33_LOCK0
7713 // Description : Lock configuration LSBs for page 33 (rows 0x840 through 0x87f).
7714 //               Locks are stored with 3-way majority vote encoding, so that
7715 //               bits can be set independently.
7716 //
7717 //               This OTP location is always readable, and is write-protected by
7718 //               its own permissions.
7719 #define OTP_DATA_PAGE33_LOCK0_ROW _u(0x00000fc2)
7720 #define OTP_DATA_PAGE33_LOCK0_BITS   _u(0x00ffff7f)
7721 #define OTP_DATA_PAGE33_LOCK0_RESET  _u(0x00000000)
7722 #define OTP_DATA_PAGE33_LOCK0_WIDTH  _u(24)
7723 // -----------------------------------------------------------------------------
7724 // Field       : OTP_DATA_PAGE33_LOCK0_R2
7725 // Description : Redundant copy of bits 7:0
7726 #define OTP_DATA_PAGE33_LOCK0_R2_RESET  "-"
7727 #define OTP_DATA_PAGE33_LOCK0_R2_BITS   _u(0x00ff0000)
7728 #define OTP_DATA_PAGE33_LOCK0_R2_MSB    _u(23)
7729 #define OTP_DATA_PAGE33_LOCK0_R2_LSB    _u(16)
7730 #define OTP_DATA_PAGE33_LOCK0_R2_ACCESS "RO"
7731 // -----------------------------------------------------------------------------
7732 // Field       : OTP_DATA_PAGE33_LOCK0_R1
7733 // Description : Redundant copy of bits 7:0
7734 #define OTP_DATA_PAGE33_LOCK0_R1_RESET  "-"
7735 #define OTP_DATA_PAGE33_LOCK0_R1_BITS   _u(0x0000ff00)
7736 #define OTP_DATA_PAGE33_LOCK0_R1_MSB    _u(15)
7737 #define OTP_DATA_PAGE33_LOCK0_R1_LSB    _u(8)
7738 #define OTP_DATA_PAGE33_LOCK0_R1_ACCESS "RO"
7739 // -----------------------------------------------------------------------------
7740 // Field       : OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE
7741 // Description : State when at least one key is registered for this page and no
7742 //               matching key has been entered.
7743 //               0x0 -> read_only
7744 //               0x1 -> inaccessible
7745 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_RESET  "-"
7746 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
7747 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_MSB    _u(6)
7748 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_LSB    _u(6)
7749 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_ACCESS "RO"
7750 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7751 #define OTP_DATA_PAGE33_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7752 // -----------------------------------------------------------------------------
7753 // Field       : OTP_DATA_PAGE33_LOCK0_KEY_R
7754 // Description : Index 1-6 of a hardware key which must be entered to grant read
7755 //               access, or 0 if no such key is required.
7756 #define OTP_DATA_PAGE33_LOCK0_KEY_R_RESET  "-"
7757 #define OTP_DATA_PAGE33_LOCK0_KEY_R_BITS   _u(0x00000038)
7758 #define OTP_DATA_PAGE33_LOCK0_KEY_R_MSB    _u(5)
7759 #define OTP_DATA_PAGE33_LOCK0_KEY_R_LSB    _u(3)
7760 #define OTP_DATA_PAGE33_LOCK0_KEY_R_ACCESS "RO"
7761 // -----------------------------------------------------------------------------
7762 // Field       : OTP_DATA_PAGE33_LOCK0_KEY_W
7763 // Description : Index 1-6 of a hardware key which must be entered to grant
7764 //               write access, or 0 if no such key is required.
7765 #define OTP_DATA_PAGE33_LOCK0_KEY_W_RESET  "-"
7766 #define OTP_DATA_PAGE33_LOCK0_KEY_W_BITS   _u(0x00000007)
7767 #define OTP_DATA_PAGE33_LOCK0_KEY_W_MSB    _u(2)
7768 #define OTP_DATA_PAGE33_LOCK0_KEY_W_LSB    _u(0)
7769 #define OTP_DATA_PAGE33_LOCK0_KEY_W_ACCESS "RO"
7770 // =============================================================================
7771 // Register    : OTP_DATA_PAGE33_LOCK1
7772 // Description : Lock configuration MSBs for page 33 (rows 0x840 through 0x87f).
7773 //               Locks are stored with 3-way majority vote encoding, so that
7774 //               bits can be set independently.
7775 //
7776 //               This OTP location is always readable, and is write-protected by
7777 //               its own permissions.
7778 #define OTP_DATA_PAGE33_LOCK1_ROW _u(0x00000fc3)
7779 #define OTP_DATA_PAGE33_LOCK1_BITS   _u(0x00ffff3f)
7780 #define OTP_DATA_PAGE33_LOCK1_RESET  _u(0x00000000)
7781 #define OTP_DATA_PAGE33_LOCK1_WIDTH  _u(24)
7782 // -----------------------------------------------------------------------------
7783 // Field       : OTP_DATA_PAGE33_LOCK1_R2
7784 // Description : Redundant copy of bits 7:0
7785 #define OTP_DATA_PAGE33_LOCK1_R2_RESET  "-"
7786 #define OTP_DATA_PAGE33_LOCK1_R2_BITS   _u(0x00ff0000)
7787 #define OTP_DATA_PAGE33_LOCK1_R2_MSB    _u(23)
7788 #define OTP_DATA_PAGE33_LOCK1_R2_LSB    _u(16)
7789 #define OTP_DATA_PAGE33_LOCK1_R2_ACCESS "RO"
7790 // -----------------------------------------------------------------------------
7791 // Field       : OTP_DATA_PAGE33_LOCK1_R1
7792 // Description : Redundant copy of bits 7:0
7793 #define OTP_DATA_PAGE33_LOCK1_R1_RESET  "-"
7794 #define OTP_DATA_PAGE33_LOCK1_R1_BITS   _u(0x0000ff00)
7795 #define OTP_DATA_PAGE33_LOCK1_R1_MSB    _u(15)
7796 #define OTP_DATA_PAGE33_LOCK1_R1_LSB    _u(8)
7797 #define OTP_DATA_PAGE33_LOCK1_R1_ACCESS "RO"
7798 // -----------------------------------------------------------------------------
7799 // Field       : OTP_DATA_PAGE33_LOCK1_LOCK_BL
7800 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7801 //               USB bootloader) to store their own OTP access permissions. No
7802 //               hardware effect, and no corresponding SW_LOCKx registers.
7803 //               0x0 -> Bootloader permits user reads and writes to this page
7804 //               0x1 -> Bootloader permits user reads of this page
7805 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7806 //               0x3 -> Bootloader does not permit user access to this page
7807 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_RESET  "-"
7808 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7809 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_MSB    _u(5)
7810 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_LSB    _u(4)
7811 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_ACCESS "RO"
7812 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7813 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7814 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7815 #define OTP_DATA_PAGE33_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7816 // -----------------------------------------------------------------------------
7817 // Field       : OTP_DATA_PAGE33_LOCK1_LOCK_NS
7818 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7819 //               coded, so lock state can be advanced permanently from any state
7820 //               to any less-permissive state by programming OTP. Software can
7821 //               also advance the lock state temporarily (until next OTP reset)
7822 //               using the SW_LOCKx registers.
7823 //
7824 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7825 //               as the SBPI programming interface is not accessible to Non-
7826 //               secure software. However, Secure software may check these bits
7827 //               to apply write permissions to a Non-secure OTP programming API.
7828 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7829 //               0x1 -> Page can be read by Non-secure software
7830 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7831 //               0x3 -> Page can not be accessed by Non-secure software.
7832 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_RESET  "-"
7833 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7834 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_MSB    _u(3)
7835 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_LSB    _u(2)
7836 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_ACCESS "RO"
7837 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7838 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7839 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7840 #define OTP_DATA_PAGE33_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7841 // -----------------------------------------------------------------------------
7842 // Field       : OTP_DATA_PAGE33_LOCK1_LOCK_S
7843 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7844 //               so lock state can be advanced permanently from any state to any
7845 //               less-permissive state by programming OTP. Software can also
7846 //               advance the lock state temporarily (until next OTP reset) using
7847 //               the SW_LOCKx registers.
7848 //               0x0 -> Page is fully accessible by Secure software.
7849 //               0x1 -> Page can be read by Secure software, but can not be written.
7850 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7851 //               0x3 -> Page can not be accessed by Secure software.
7852 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_RESET  "-"
7853 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_BITS   _u(0x00000003)
7854 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_MSB    _u(1)
7855 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_LSB    _u(0)
7856 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_ACCESS "RO"
7857 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
7858 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
7859 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
7860 #define OTP_DATA_PAGE33_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
7861 // =============================================================================
7862 // Register    : OTP_DATA_PAGE34_LOCK0
7863 // Description : Lock configuration LSBs for page 34 (rows 0x880 through 0x8bf).
7864 //               Locks are stored with 3-way majority vote encoding, so that
7865 //               bits can be set independently.
7866 //
7867 //               This OTP location is always readable, and is write-protected by
7868 //               its own permissions.
7869 #define OTP_DATA_PAGE34_LOCK0_ROW _u(0x00000fc4)
7870 #define OTP_DATA_PAGE34_LOCK0_BITS   _u(0x00ffff7f)
7871 #define OTP_DATA_PAGE34_LOCK0_RESET  _u(0x00000000)
7872 #define OTP_DATA_PAGE34_LOCK0_WIDTH  _u(24)
7873 // -----------------------------------------------------------------------------
7874 // Field       : OTP_DATA_PAGE34_LOCK0_R2
7875 // Description : Redundant copy of bits 7:0
7876 #define OTP_DATA_PAGE34_LOCK0_R2_RESET  "-"
7877 #define OTP_DATA_PAGE34_LOCK0_R2_BITS   _u(0x00ff0000)
7878 #define OTP_DATA_PAGE34_LOCK0_R2_MSB    _u(23)
7879 #define OTP_DATA_PAGE34_LOCK0_R2_LSB    _u(16)
7880 #define OTP_DATA_PAGE34_LOCK0_R2_ACCESS "RO"
7881 // -----------------------------------------------------------------------------
7882 // Field       : OTP_DATA_PAGE34_LOCK0_R1
7883 // Description : Redundant copy of bits 7:0
7884 #define OTP_DATA_PAGE34_LOCK0_R1_RESET  "-"
7885 #define OTP_DATA_PAGE34_LOCK0_R1_BITS   _u(0x0000ff00)
7886 #define OTP_DATA_PAGE34_LOCK0_R1_MSB    _u(15)
7887 #define OTP_DATA_PAGE34_LOCK0_R1_LSB    _u(8)
7888 #define OTP_DATA_PAGE34_LOCK0_R1_ACCESS "RO"
7889 // -----------------------------------------------------------------------------
7890 // Field       : OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE
7891 // Description : State when at least one key is registered for this page and no
7892 //               matching key has been entered.
7893 //               0x0 -> read_only
7894 //               0x1 -> inaccessible
7895 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_RESET  "-"
7896 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
7897 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_MSB    _u(6)
7898 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_LSB    _u(6)
7899 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_ACCESS "RO"
7900 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
7901 #define OTP_DATA_PAGE34_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
7902 // -----------------------------------------------------------------------------
7903 // Field       : OTP_DATA_PAGE34_LOCK0_KEY_R
7904 // Description : Index 1-6 of a hardware key which must be entered to grant read
7905 //               access, or 0 if no such key is required.
7906 #define OTP_DATA_PAGE34_LOCK0_KEY_R_RESET  "-"
7907 #define OTP_DATA_PAGE34_LOCK0_KEY_R_BITS   _u(0x00000038)
7908 #define OTP_DATA_PAGE34_LOCK0_KEY_R_MSB    _u(5)
7909 #define OTP_DATA_PAGE34_LOCK0_KEY_R_LSB    _u(3)
7910 #define OTP_DATA_PAGE34_LOCK0_KEY_R_ACCESS "RO"
7911 // -----------------------------------------------------------------------------
7912 // Field       : OTP_DATA_PAGE34_LOCK0_KEY_W
7913 // Description : Index 1-6 of a hardware key which must be entered to grant
7914 //               write access, or 0 if no such key is required.
7915 #define OTP_DATA_PAGE34_LOCK0_KEY_W_RESET  "-"
7916 #define OTP_DATA_PAGE34_LOCK0_KEY_W_BITS   _u(0x00000007)
7917 #define OTP_DATA_PAGE34_LOCK0_KEY_W_MSB    _u(2)
7918 #define OTP_DATA_PAGE34_LOCK0_KEY_W_LSB    _u(0)
7919 #define OTP_DATA_PAGE34_LOCK0_KEY_W_ACCESS "RO"
7920 // =============================================================================
7921 // Register    : OTP_DATA_PAGE34_LOCK1
7922 // Description : Lock configuration MSBs for page 34 (rows 0x880 through 0x8bf).
7923 //               Locks are stored with 3-way majority vote encoding, so that
7924 //               bits can be set independently.
7925 //
7926 //               This OTP location is always readable, and is write-protected by
7927 //               its own permissions.
7928 #define OTP_DATA_PAGE34_LOCK1_ROW _u(0x00000fc5)
7929 #define OTP_DATA_PAGE34_LOCK1_BITS   _u(0x00ffff3f)
7930 #define OTP_DATA_PAGE34_LOCK1_RESET  _u(0x00000000)
7931 #define OTP_DATA_PAGE34_LOCK1_WIDTH  _u(24)
7932 // -----------------------------------------------------------------------------
7933 // Field       : OTP_DATA_PAGE34_LOCK1_R2
7934 // Description : Redundant copy of bits 7:0
7935 #define OTP_DATA_PAGE34_LOCK1_R2_RESET  "-"
7936 #define OTP_DATA_PAGE34_LOCK1_R2_BITS   _u(0x00ff0000)
7937 #define OTP_DATA_PAGE34_LOCK1_R2_MSB    _u(23)
7938 #define OTP_DATA_PAGE34_LOCK1_R2_LSB    _u(16)
7939 #define OTP_DATA_PAGE34_LOCK1_R2_ACCESS "RO"
7940 // -----------------------------------------------------------------------------
7941 // Field       : OTP_DATA_PAGE34_LOCK1_R1
7942 // Description : Redundant copy of bits 7:0
7943 #define OTP_DATA_PAGE34_LOCK1_R1_RESET  "-"
7944 #define OTP_DATA_PAGE34_LOCK1_R1_BITS   _u(0x0000ff00)
7945 #define OTP_DATA_PAGE34_LOCK1_R1_MSB    _u(15)
7946 #define OTP_DATA_PAGE34_LOCK1_R1_LSB    _u(8)
7947 #define OTP_DATA_PAGE34_LOCK1_R1_ACCESS "RO"
7948 // -----------------------------------------------------------------------------
7949 // Field       : OTP_DATA_PAGE34_LOCK1_LOCK_BL
7950 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
7951 //               USB bootloader) to store their own OTP access permissions. No
7952 //               hardware effect, and no corresponding SW_LOCKx registers.
7953 //               0x0 -> Bootloader permits user reads and writes to this page
7954 //               0x1 -> Bootloader permits user reads of this page
7955 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
7956 //               0x3 -> Bootloader does not permit user access to this page
7957 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_RESET  "-"
7958 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_BITS   _u(0x00000030)
7959 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_MSB    _u(5)
7960 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_LSB    _u(4)
7961 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_ACCESS "RO"
7962 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
7963 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
7964 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
7965 #define OTP_DATA_PAGE34_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
7966 // -----------------------------------------------------------------------------
7967 // Field       : OTP_DATA_PAGE34_LOCK1_LOCK_NS
7968 // Description : Lock state for Non-secure accesses to this page. Thermometer-
7969 //               coded, so lock state can be advanced permanently from any state
7970 //               to any less-permissive state by programming OTP. Software can
7971 //               also advance the lock state temporarily (until next OTP reset)
7972 //               using the SW_LOCKx registers.
7973 //
7974 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
7975 //               as the SBPI programming interface is not accessible to Non-
7976 //               secure software. However, Secure software may check these bits
7977 //               to apply write permissions to a Non-secure OTP programming API.
7978 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
7979 //               0x1 -> Page can be read by Non-secure software
7980 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
7981 //               0x3 -> Page can not be accessed by Non-secure software.
7982 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_RESET  "-"
7983 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
7984 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_MSB    _u(3)
7985 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_LSB    _u(2)
7986 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_ACCESS "RO"
7987 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
7988 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
7989 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
7990 #define OTP_DATA_PAGE34_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
7991 // -----------------------------------------------------------------------------
7992 // Field       : OTP_DATA_PAGE34_LOCK1_LOCK_S
7993 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
7994 //               so lock state can be advanced permanently from any state to any
7995 //               less-permissive state by programming OTP. Software can also
7996 //               advance the lock state temporarily (until next OTP reset) using
7997 //               the SW_LOCKx registers.
7998 //               0x0 -> Page is fully accessible by Secure software.
7999 //               0x1 -> Page can be read by Secure software, but can not be written.
8000 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8001 //               0x3 -> Page can not be accessed by Secure software.
8002 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_RESET  "-"
8003 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_BITS   _u(0x00000003)
8004 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_MSB    _u(1)
8005 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_LSB    _u(0)
8006 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_ACCESS "RO"
8007 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8008 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8009 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8010 #define OTP_DATA_PAGE34_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8011 // =============================================================================
8012 // Register    : OTP_DATA_PAGE35_LOCK0
8013 // Description : Lock configuration LSBs for page 35 (rows 0x8c0 through 0x8ff).
8014 //               Locks are stored with 3-way majority vote encoding, so that
8015 //               bits can be set independently.
8016 //
8017 //               This OTP location is always readable, and is write-protected by
8018 //               its own permissions.
8019 #define OTP_DATA_PAGE35_LOCK0_ROW _u(0x00000fc6)
8020 #define OTP_DATA_PAGE35_LOCK0_BITS   _u(0x00ffff7f)
8021 #define OTP_DATA_PAGE35_LOCK0_RESET  _u(0x00000000)
8022 #define OTP_DATA_PAGE35_LOCK0_WIDTH  _u(24)
8023 // -----------------------------------------------------------------------------
8024 // Field       : OTP_DATA_PAGE35_LOCK0_R2
8025 // Description : Redundant copy of bits 7:0
8026 #define OTP_DATA_PAGE35_LOCK0_R2_RESET  "-"
8027 #define OTP_DATA_PAGE35_LOCK0_R2_BITS   _u(0x00ff0000)
8028 #define OTP_DATA_PAGE35_LOCK0_R2_MSB    _u(23)
8029 #define OTP_DATA_PAGE35_LOCK0_R2_LSB    _u(16)
8030 #define OTP_DATA_PAGE35_LOCK0_R2_ACCESS "RO"
8031 // -----------------------------------------------------------------------------
8032 // Field       : OTP_DATA_PAGE35_LOCK0_R1
8033 // Description : Redundant copy of bits 7:0
8034 #define OTP_DATA_PAGE35_LOCK0_R1_RESET  "-"
8035 #define OTP_DATA_PAGE35_LOCK0_R1_BITS   _u(0x0000ff00)
8036 #define OTP_DATA_PAGE35_LOCK0_R1_MSB    _u(15)
8037 #define OTP_DATA_PAGE35_LOCK0_R1_LSB    _u(8)
8038 #define OTP_DATA_PAGE35_LOCK0_R1_ACCESS "RO"
8039 // -----------------------------------------------------------------------------
8040 // Field       : OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE
8041 // Description : State when at least one key is registered for this page and no
8042 //               matching key has been entered.
8043 //               0x0 -> read_only
8044 //               0x1 -> inaccessible
8045 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_RESET  "-"
8046 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8047 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_MSB    _u(6)
8048 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_LSB    _u(6)
8049 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_ACCESS "RO"
8050 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8051 #define OTP_DATA_PAGE35_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8052 // -----------------------------------------------------------------------------
8053 // Field       : OTP_DATA_PAGE35_LOCK0_KEY_R
8054 // Description : Index 1-6 of a hardware key which must be entered to grant read
8055 //               access, or 0 if no such key is required.
8056 #define OTP_DATA_PAGE35_LOCK0_KEY_R_RESET  "-"
8057 #define OTP_DATA_PAGE35_LOCK0_KEY_R_BITS   _u(0x00000038)
8058 #define OTP_DATA_PAGE35_LOCK0_KEY_R_MSB    _u(5)
8059 #define OTP_DATA_PAGE35_LOCK0_KEY_R_LSB    _u(3)
8060 #define OTP_DATA_PAGE35_LOCK0_KEY_R_ACCESS "RO"
8061 // -----------------------------------------------------------------------------
8062 // Field       : OTP_DATA_PAGE35_LOCK0_KEY_W
8063 // Description : Index 1-6 of a hardware key which must be entered to grant
8064 //               write access, or 0 if no such key is required.
8065 #define OTP_DATA_PAGE35_LOCK0_KEY_W_RESET  "-"
8066 #define OTP_DATA_PAGE35_LOCK0_KEY_W_BITS   _u(0x00000007)
8067 #define OTP_DATA_PAGE35_LOCK0_KEY_W_MSB    _u(2)
8068 #define OTP_DATA_PAGE35_LOCK0_KEY_W_LSB    _u(0)
8069 #define OTP_DATA_PAGE35_LOCK0_KEY_W_ACCESS "RO"
8070 // =============================================================================
8071 // Register    : OTP_DATA_PAGE35_LOCK1
8072 // Description : Lock configuration MSBs for page 35 (rows 0x8c0 through 0x8ff).
8073 //               Locks are stored with 3-way majority vote encoding, so that
8074 //               bits can be set independently.
8075 //
8076 //               This OTP location is always readable, and is write-protected by
8077 //               its own permissions.
8078 #define OTP_DATA_PAGE35_LOCK1_ROW _u(0x00000fc7)
8079 #define OTP_DATA_PAGE35_LOCK1_BITS   _u(0x00ffff3f)
8080 #define OTP_DATA_PAGE35_LOCK1_RESET  _u(0x00000000)
8081 #define OTP_DATA_PAGE35_LOCK1_WIDTH  _u(24)
8082 // -----------------------------------------------------------------------------
8083 // Field       : OTP_DATA_PAGE35_LOCK1_R2
8084 // Description : Redundant copy of bits 7:0
8085 #define OTP_DATA_PAGE35_LOCK1_R2_RESET  "-"
8086 #define OTP_DATA_PAGE35_LOCK1_R2_BITS   _u(0x00ff0000)
8087 #define OTP_DATA_PAGE35_LOCK1_R2_MSB    _u(23)
8088 #define OTP_DATA_PAGE35_LOCK1_R2_LSB    _u(16)
8089 #define OTP_DATA_PAGE35_LOCK1_R2_ACCESS "RO"
8090 // -----------------------------------------------------------------------------
8091 // Field       : OTP_DATA_PAGE35_LOCK1_R1
8092 // Description : Redundant copy of bits 7:0
8093 #define OTP_DATA_PAGE35_LOCK1_R1_RESET  "-"
8094 #define OTP_DATA_PAGE35_LOCK1_R1_BITS   _u(0x0000ff00)
8095 #define OTP_DATA_PAGE35_LOCK1_R1_MSB    _u(15)
8096 #define OTP_DATA_PAGE35_LOCK1_R1_LSB    _u(8)
8097 #define OTP_DATA_PAGE35_LOCK1_R1_ACCESS "RO"
8098 // -----------------------------------------------------------------------------
8099 // Field       : OTP_DATA_PAGE35_LOCK1_LOCK_BL
8100 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
8101 //               USB bootloader) to store their own OTP access permissions. No
8102 //               hardware effect, and no corresponding SW_LOCKx registers.
8103 //               0x0 -> Bootloader permits user reads and writes to this page
8104 //               0x1 -> Bootloader permits user reads of this page
8105 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
8106 //               0x3 -> Bootloader does not permit user access to this page
8107 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_RESET  "-"
8108 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_BITS   _u(0x00000030)
8109 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_MSB    _u(5)
8110 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_LSB    _u(4)
8111 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_ACCESS "RO"
8112 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
8113 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
8114 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
8115 #define OTP_DATA_PAGE35_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
8116 // -----------------------------------------------------------------------------
8117 // Field       : OTP_DATA_PAGE35_LOCK1_LOCK_NS
8118 // Description : Lock state for Non-secure accesses to this page. Thermometer-
8119 //               coded, so lock state can be advanced permanently from any state
8120 //               to any less-permissive state by programming OTP. Software can
8121 //               also advance the lock state temporarily (until next OTP reset)
8122 //               using the SW_LOCKx registers.
8123 //
8124 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
8125 //               as the SBPI programming interface is not accessible to Non-
8126 //               secure software. However, Secure software may check these bits
8127 //               to apply write permissions to a Non-secure OTP programming API.
8128 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
8129 //               0x1 -> Page can be read by Non-secure software
8130 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8131 //               0x3 -> Page can not be accessed by Non-secure software.
8132 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_RESET  "-"
8133 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
8134 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_MSB    _u(3)
8135 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_LSB    _u(2)
8136 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_ACCESS "RO"
8137 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
8138 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
8139 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
8140 #define OTP_DATA_PAGE35_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
8141 // -----------------------------------------------------------------------------
8142 // Field       : OTP_DATA_PAGE35_LOCK1_LOCK_S
8143 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
8144 //               so lock state can be advanced permanently from any state to any
8145 //               less-permissive state by programming OTP. Software can also
8146 //               advance the lock state temporarily (until next OTP reset) using
8147 //               the SW_LOCKx registers.
8148 //               0x0 -> Page is fully accessible by Secure software.
8149 //               0x1 -> Page can be read by Secure software, but can not be written.
8150 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8151 //               0x3 -> Page can not be accessed by Secure software.
8152 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_RESET  "-"
8153 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_BITS   _u(0x00000003)
8154 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_MSB    _u(1)
8155 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_LSB    _u(0)
8156 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_ACCESS "RO"
8157 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8158 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8159 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8160 #define OTP_DATA_PAGE35_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8161 // =============================================================================
8162 // Register    : OTP_DATA_PAGE36_LOCK0
8163 // Description : Lock configuration LSBs for page 36 (rows 0x900 through 0x93f).
8164 //               Locks are stored with 3-way majority vote encoding, so that
8165 //               bits can be set independently.
8166 //
8167 //               This OTP location is always readable, and is write-protected by
8168 //               its own permissions.
8169 #define OTP_DATA_PAGE36_LOCK0_ROW _u(0x00000fc8)
8170 #define OTP_DATA_PAGE36_LOCK0_BITS   _u(0x00ffff7f)
8171 #define OTP_DATA_PAGE36_LOCK0_RESET  _u(0x00000000)
8172 #define OTP_DATA_PAGE36_LOCK0_WIDTH  _u(24)
8173 // -----------------------------------------------------------------------------
8174 // Field       : OTP_DATA_PAGE36_LOCK0_R2
8175 // Description : Redundant copy of bits 7:0
8176 #define OTP_DATA_PAGE36_LOCK0_R2_RESET  "-"
8177 #define OTP_DATA_PAGE36_LOCK0_R2_BITS   _u(0x00ff0000)
8178 #define OTP_DATA_PAGE36_LOCK0_R2_MSB    _u(23)
8179 #define OTP_DATA_PAGE36_LOCK0_R2_LSB    _u(16)
8180 #define OTP_DATA_PAGE36_LOCK0_R2_ACCESS "RO"
8181 // -----------------------------------------------------------------------------
8182 // Field       : OTP_DATA_PAGE36_LOCK0_R1
8183 // Description : Redundant copy of bits 7:0
8184 #define OTP_DATA_PAGE36_LOCK0_R1_RESET  "-"
8185 #define OTP_DATA_PAGE36_LOCK0_R1_BITS   _u(0x0000ff00)
8186 #define OTP_DATA_PAGE36_LOCK0_R1_MSB    _u(15)
8187 #define OTP_DATA_PAGE36_LOCK0_R1_LSB    _u(8)
8188 #define OTP_DATA_PAGE36_LOCK0_R1_ACCESS "RO"
8189 // -----------------------------------------------------------------------------
8190 // Field       : OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE
8191 // Description : State when at least one key is registered for this page and no
8192 //               matching key has been entered.
8193 //               0x0 -> read_only
8194 //               0x1 -> inaccessible
8195 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_RESET  "-"
8196 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8197 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_MSB    _u(6)
8198 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_LSB    _u(6)
8199 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_ACCESS "RO"
8200 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8201 #define OTP_DATA_PAGE36_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8202 // -----------------------------------------------------------------------------
8203 // Field       : OTP_DATA_PAGE36_LOCK0_KEY_R
8204 // Description : Index 1-6 of a hardware key which must be entered to grant read
8205 //               access, or 0 if no such key is required.
8206 #define OTP_DATA_PAGE36_LOCK0_KEY_R_RESET  "-"
8207 #define OTP_DATA_PAGE36_LOCK0_KEY_R_BITS   _u(0x00000038)
8208 #define OTP_DATA_PAGE36_LOCK0_KEY_R_MSB    _u(5)
8209 #define OTP_DATA_PAGE36_LOCK0_KEY_R_LSB    _u(3)
8210 #define OTP_DATA_PAGE36_LOCK0_KEY_R_ACCESS "RO"
8211 // -----------------------------------------------------------------------------
8212 // Field       : OTP_DATA_PAGE36_LOCK0_KEY_W
8213 // Description : Index 1-6 of a hardware key which must be entered to grant
8214 //               write access, or 0 if no such key is required.
8215 #define OTP_DATA_PAGE36_LOCK0_KEY_W_RESET  "-"
8216 #define OTP_DATA_PAGE36_LOCK0_KEY_W_BITS   _u(0x00000007)
8217 #define OTP_DATA_PAGE36_LOCK0_KEY_W_MSB    _u(2)
8218 #define OTP_DATA_PAGE36_LOCK0_KEY_W_LSB    _u(0)
8219 #define OTP_DATA_PAGE36_LOCK0_KEY_W_ACCESS "RO"
8220 // =============================================================================
8221 // Register    : OTP_DATA_PAGE36_LOCK1
8222 // Description : Lock configuration MSBs for page 36 (rows 0x900 through 0x93f).
8223 //               Locks are stored with 3-way majority vote encoding, so that
8224 //               bits can be set independently.
8225 //
8226 //               This OTP location is always readable, and is write-protected by
8227 //               its own permissions.
8228 #define OTP_DATA_PAGE36_LOCK1_ROW _u(0x00000fc9)
8229 #define OTP_DATA_PAGE36_LOCK1_BITS   _u(0x00ffff3f)
8230 #define OTP_DATA_PAGE36_LOCK1_RESET  _u(0x00000000)
8231 #define OTP_DATA_PAGE36_LOCK1_WIDTH  _u(24)
8232 // -----------------------------------------------------------------------------
8233 // Field       : OTP_DATA_PAGE36_LOCK1_R2
8234 // Description : Redundant copy of bits 7:0
8235 #define OTP_DATA_PAGE36_LOCK1_R2_RESET  "-"
8236 #define OTP_DATA_PAGE36_LOCK1_R2_BITS   _u(0x00ff0000)
8237 #define OTP_DATA_PAGE36_LOCK1_R2_MSB    _u(23)
8238 #define OTP_DATA_PAGE36_LOCK1_R2_LSB    _u(16)
8239 #define OTP_DATA_PAGE36_LOCK1_R2_ACCESS "RO"
8240 // -----------------------------------------------------------------------------
8241 // Field       : OTP_DATA_PAGE36_LOCK1_R1
8242 // Description : Redundant copy of bits 7:0
8243 #define OTP_DATA_PAGE36_LOCK1_R1_RESET  "-"
8244 #define OTP_DATA_PAGE36_LOCK1_R1_BITS   _u(0x0000ff00)
8245 #define OTP_DATA_PAGE36_LOCK1_R1_MSB    _u(15)
8246 #define OTP_DATA_PAGE36_LOCK1_R1_LSB    _u(8)
8247 #define OTP_DATA_PAGE36_LOCK1_R1_ACCESS "RO"
8248 // -----------------------------------------------------------------------------
8249 // Field       : OTP_DATA_PAGE36_LOCK1_LOCK_BL
8250 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
8251 //               USB bootloader) to store their own OTP access permissions. No
8252 //               hardware effect, and no corresponding SW_LOCKx registers.
8253 //               0x0 -> Bootloader permits user reads and writes to this page
8254 //               0x1 -> Bootloader permits user reads of this page
8255 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
8256 //               0x3 -> Bootloader does not permit user access to this page
8257 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_RESET  "-"
8258 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_BITS   _u(0x00000030)
8259 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_MSB    _u(5)
8260 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_LSB    _u(4)
8261 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_ACCESS "RO"
8262 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
8263 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
8264 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
8265 #define OTP_DATA_PAGE36_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
8266 // -----------------------------------------------------------------------------
8267 // Field       : OTP_DATA_PAGE36_LOCK1_LOCK_NS
8268 // Description : Lock state for Non-secure accesses to this page. Thermometer-
8269 //               coded, so lock state can be advanced permanently from any state
8270 //               to any less-permissive state by programming OTP. Software can
8271 //               also advance the lock state temporarily (until next OTP reset)
8272 //               using the SW_LOCKx registers.
8273 //
8274 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
8275 //               as the SBPI programming interface is not accessible to Non-
8276 //               secure software. However, Secure software may check these bits
8277 //               to apply write permissions to a Non-secure OTP programming API.
8278 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
8279 //               0x1 -> Page can be read by Non-secure software
8280 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8281 //               0x3 -> Page can not be accessed by Non-secure software.
8282 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_RESET  "-"
8283 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
8284 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_MSB    _u(3)
8285 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_LSB    _u(2)
8286 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_ACCESS "RO"
8287 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
8288 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
8289 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
8290 #define OTP_DATA_PAGE36_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
8291 // -----------------------------------------------------------------------------
8292 // Field       : OTP_DATA_PAGE36_LOCK1_LOCK_S
8293 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
8294 //               so lock state can be advanced permanently from any state to any
8295 //               less-permissive state by programming OTP. Software can also
8296 //               advance the lock state temporarily (until next OTP reset) using
8297 //               the SW_LOCKx registers.
8298 //               0x0 -> Page is fully accessible by Secure software.
8299 //               0x1 -> Page can be read by Secure software, but can not be written.
8300 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8301 //               0x3 -> Page can not be accessed by Secure software.
8302 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_RESET  "-"
8303 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_BITS   _u(0x00000003)
8304 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_MSB    _u(1)
8305 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_LSB    _u(0)
8306 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_ACCESS "RO"
8307 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8308 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8309 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8310 #define OTP_DATA_PAGE36_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8311 // =============================================================================
8312 // Register    : OTP_DATA_PAGE37_LOCK0
8313 // Description : Lock configuration LSBs for page 37 (rows 0x940 through 0x97f).
8314 //               Locks are stored with 3-way majority vote encoding, so that
8315 //               bits can be set independently.
8316 //
8317 //               This OTP location is always readable, and is write-protected by
8318 //               its own permissions.
8319 #define OTP_DATA_PAGE37_LOCK0_ROW _u(0x00000fca)
8320 #define OTP_DATA_PAGE37_LOCK0_BITS   _u(0x00ffff7f)
8321 #define OTP_DATA_PAGE37_LOCK0_RESET  _u(0x00000000)
8322 #define OTP_DATA_PAGE37_LOCK0_WIDTH  _u(24)
8323 // -----------------------------------------------------------------------------
8324 // Field       : OTP_DATA_PAGE37_LOCK0_R2
8325 // Description : Redundant copy of bits 7:0
8326 #define OTP_DATA_PAGE37_LOCK0_R2_RESET  "-"
8327 #define OTP_DATA_PAGE37_LOCK0_R2_BITS   _u(0x00ff0000)
8328 #define OTP_DATA_PAGE37_LOCK0_R2_MSB    _u(23)
8329 #define OTP_DATA_PAGE37_LOCK0_R2_LSB    _u(16)
8330 #define OTP_DATA_PAGE37_LOCK0_R2_ACCESS "RO"
8331 // -----------------------------------------------------------------------------
8332 // Field       : OTP_DATA_PAGE37_LOCK0_R1
8333 // Description : Redundant copy of bits 7:0
8334 #define OTP_DATA_PAGE37_LOCK0_R1_RESET  "-"
8335 #define OTP_DATA_PAGE37_LOCK0_R1_BITS   _u(0x0000ff00)
8336 #define OTP_DATA_PAGE37_LOCK0_R1_MSB    _u(15)
8337 #define OTP_DATA_PAGE37_LOCK0_R1_LSB    _u(8)
8338 #define OTP_DATA_PAGE37_LOCK0_R1_ACCESS "RO"
8339 // -----------------------------------------------------------------------------
8340 // Field       : OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE
8341 // Description : State when at least one key is registered for this page and no
8342 //               matching key has been entered.
8343 //               0x0 -> read_only
8344 //               0x1 -> inaccessible
8345 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_RESET  "-"
8346 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8347 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_MSB    _u(6)
8348 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_LSB    _u(6)
8349 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_ACCESS "RO"
8350 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8351 #define OTP_DATA_PAGE37_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8352 // -----------------------------------------------------------------------------
8353 // Field       : OTP_DATA_PAGE37_LOCK0_KEY_R
8354 // Description : Index 1-6 of a hardware key which must be entered to grant read
8355 //               access, or 0 if no such key is required.
8356 #define OTP_DATA_PAGE37_LOCK0_KEY_R_RESET  "-"
8357 #define OTP_DATA_PAGE37_LOCK0_KEY_R_BITS   _u(0x00000038)
8358 #define OTP_DATA_PAGE37_LOCK0_KEY_R_MSB    _u(5)
8359 #define OTP_DATA_PAGE37_LOCK0_KEY_R_LSB    _u(3)
8360 #define OTP_DATA_PAGE37_LOCK0_KEY_R_ACCESS "RO"
8361 // -----------------------------------------------------------------------------
8362 // Field       : OTP_DATA_PAGE37_LOCK0_KEY_W
8363 // Description : Index 1-6 of a hardware key which must be entered to grant
8364 //               write access, or 0 if no such key is required.
8365 #define OTP_DATA_PAGE37_LOCK0_KEY_W_RESET  "-"
8366 #define OTP_DATA_PAGE37_LOCK0_KEY_W_BITS   _u(0x00000007)
8367 #define OTP_DATA_PAGE37_LOCK0_KEY_W_MSB    _u(2)
8368 #define OTP_DATA_PAGE37_LOCK0_KEY_W_LSB    _u(0)
8369 #define OTP_DATA_PAGE37_LOCK0_KEY_W_ACCESS "RO"
8370 // =============================================================================
8371 // Register    : OTP_DATA_PAGE37_LOCK1
8372 // Description : Lock configuration MSBs for page 37 (rows 0x940 through 0x97f).
8373 //               Locks are stored with 3-way majority vote encoding, so that
8374 //               bits can be set independently.
8375 //
8376 //               This OTP location is always readable, and is write-protected by
8377 //               its own permissions.
8378 #define OTP_DATA_PAGE37_LOCK1_ROW _u(0x00000fcb)
8379 #define OTP_DATA_PAGE37_LOCK1_BITS   _u(0x00ffff3f)
8380 #define OTP_DATA_PAGE37_LOCK1_RESET  _u(0x00000000)
8381 #define OTP_DATA_PAGE37_LOCK1_WIDTH  _u(24)
8382 // -----------------------------------------------------------------------------
8383 // Field       : OTP_DATA_PAGE37_LOCK1_R2
8384 // Description : Redundant copy of bits 7:0
8385 #define OTP_DATA_PAGE37_LOCK1_R2_RESET  "-"
8386 #define OTP_DATA_PAGE37_LOCK1_R2_BITS   _u(0x00ff0000)
8387 #define OTP_DATA_PAGE37_LOCK1_R2_MSB    _u(23)
8388 #define OTP_DATA_PAGE37_LOCK1_R2_LSB    _u(16)
8389 #define OTP_DATA_PAGE37_LOCK1_R2_ACCESS "RO"
8390 // -----------------------------------------------------------------------------
8391 // Field       : OTP_DATA_PAGE37_LOCK1_R1
8392 // Description : Redundant copy of bits 7:0
8393 #define OTP_DATA_PAGE37_LOCK1_R1_RESET  "-"
8394 #define OTP_DATA_PAGE37_LOCK1_R1_BITS   _u(0x0000ff00)
8395 #define OTP_DATA_PAGE37_LOCK1_R1_MSB    _u(15)
8396 #define OTP_DATA_PAGE37_LOCK1_R1_LSB    _u(8)
8397 #define OTP_DATA_PAGE37_LOCK1_R1_ACCESS "RO"
8398 // -----------------------------------------------------------------------------
8399 // Field       : OTP_DATA_PAGE37_LOCK1_LOCK_BL
8400 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
8401 //               USB bootloader) to store their own OTP access permissions. No
8402 //               hardware effect, and no corresponding SW_LOCKx registers.
8403 //               0x0 -> Bootloader permits user reads and writes to this page
8404 //               0x1 -> Bootloader permits user reads of this page
8405 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
8406 //               0x3 -> Bootloader does not permit user access to this page
8407 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_RESET  "-"
8408 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_BITS   _u(0x00000030)
8409 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_MSB    _u(5)
8410 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_LSB    _u(4)
8411 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_ACCESS "RO"
8412 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
8413 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
8414 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
8415 #define OTP_DATA_PAGE37_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
8416 // -----------------------------------------------------------------------------
8417 // Field       : OTP_DATA_PAGE37_LOCK1_LOCK_NS
8418 // Description : Lock state for Non-secure accesses to this page. Thermometer-
8419 //               coded, so lock state can be advanced permanently from any state
8420 //               to any less-permissive state by programming OTP. Software can
8421 //               also advance the lock state temporarily (until next OTP reset)
8422 //               using the SW_LOCKx registers.
8423 //
8424 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
8425 //               as the SBPI programming interface is not accessible to Non-
8426 //               secure software. However, Secure software may check these bits
8427 //               to apply write permissions to a Non-secure OTP programming API.
8428 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
8429 //               0x1 -> Page can be read by Non-secure software
8430 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8431 //               0x3 -> Page can not be accessed by Non-secure software.
8432 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_RESET  "-"
8433 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
8434 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_MSB    _u(3)
8435 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_LSB    _u(2)
8436 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_ACCESS "RO"
8437 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
8438 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
8439 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
8440 #define OTP_DATA_PAGE37_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
8441 // -----------------------------------------------------------------------------
8442 // Field       : OTP_DATA_PAGE37_LOCK1_LOCK_S
8443 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
8444 //               so lock state can be advanced permanently from any state to any
8445 //               less-permissive state by programming OTP. Software can also
8446 //               advance the lock state temporarily (until next OTP reset) using
8447 //               the SW_LOCKx registers.
8448 //               0x0 -> Page is fully accessible by Secure software.
8449 //               0x1 -> Page can be read by Secure software, but can not be written.
8450 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8451 //               0x3 -> Page can not be accessed by Secure software.
8452 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_RESET  "-"
8453 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_BITS   _u(0x00000003)
8454 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_MSB    _u(1)
8455 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_LSB    _u(0)
8456 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_ACCESS "RO"
8457 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8458 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8459 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8460 #define OTP_DATA_PAGE37_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8461 // =============================================================================
8462 // Register    : OTP_DATA_PAGE38_LOCK0
8463 // Description : Lock configuration LSBs for page 38 (rows 0x980 through 0x9bf).
8464 //               Locks are stored with 3-way majority vote encoding, so that
8465 //               bits can be set independently.
8466 //
8467 //               This OTP location is always readable, and is write-protected by
8468 //               its own permissions.
8469 #define OTP_DATA_PAGE38_LOCK0_ROW _u(0x00000fcc)
8470 #define OTP_DATA_PAGE38_LOCK0_BITS   _u(0x00ffff7f)
8471 #define OTP_DATA_PAGE38_LOCK0_RESET  _u(0x00000000)
8472 #define OTP_DATA_PAGE38_LOCK0_WIDTH  _u(24)
8473 // -----------------------------------------------------------------------------
8474 // Field       : OTP_DATA_PAGE38_LOCK0_R2
8475 // Description : Redundant copy of bits 7:0
8476 #define OTP_DATA_PAGE38_LOCK0_R2_RESET  "-"
8477 #define OTP_DATA_PAGE38_LOCK0_R2_BITS   _u(0x00ff0000)
8478 #define OTP_DATA_PAGE38_LOCK0_R2_MSB    _u(23)
8479 #define OTP_DATA_PAGE38_LOCK0_R2_LSB    _u(16)
8480 #define OTP_DATA_PAGE38_LOCK0_R2_ACCESS "RO"
8481 // -----------------------------------------------------------------------------
8482 // Field       : OTP_DATA_PAGE38_LOCK0_R1
8483 // Description : Redundant copy of bits 7:0
8484 #define OTP_DATA_PAGE38_LOCK0_R1_RESET  "-"
8485 #define OTP_DATA_PAGE38_LOCK0_R1_BITS   _u(0x0000ff00)
8486 #define OTP_DATA_PAGE38_LOCK0_R1_MSB    _u(15)
8487 #define OTP_DATA_PAGE38_LOCK0_R1_LSB    _u(8)
8488 #define OTP_DATA_PAGE38_LOCK0_R1_ACCESS "RO"
8489 // -----------------------------------------------------------------------------
8490 // Field       : OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE
8491 // Description : State when at least one key is registered for this page and no
8492 //               matching key has been entered.
8493 //               0x0 -> read_only
8494 //               0x1 -> inaccessible
8495 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_RESET  "-"
8496 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8497 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_MSB    _u(6)
8498 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_LSB    _u(6)
8499 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_ACCESS "RO"
8500 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8501 #define OTP_DATA_PAGE38_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8502 // -----------------------------------------------------------------------------
8503 // Field       : OTP_DATA_PAGE38_LOCK0_KEY_R
8504 // Description : Index 1-6 of a hardware key which must be entered to grant read
8505 //               access, or 0 if no such key is required.
8506 #define OTP_DATA_PAGE38_LOCK0_KEY_R_RESET  "-"
8507 #define OTP_DATA_PAGE38_LOCK0_KEY_R_BITS   _u(0x00000038)
8508 #define OTP_DATA_PAGE38_LOCK0_KEY_R_MSB    _u(5)
8509 #define OTP_DATA_PAGE38_LOCK0_KEY_R_LSB    _u(3)
8510 #define OTP_DATA_PAGE38_LOCK0_KEY_R_ACCESS "RO"
8511 // -----------------------------------------------------------------------------
8512 // Field       : OTP_DATA_PAGE38_LOCK0_KEY_W
8513 // Description : Index 1-6 of a hardware key which must be entered to grant
8514 //               write access, or 0 if no such key is required.
8515 #define OTP_DATA_PAGE38_LOCK0_KEY_W_RESET  "-"
8516 #define OTP_DATA_PAGE38_LOCK0_KEY_W_BITS   _u(0x00000007)
8517 #define OTP_DATA_PAGE38_LOCK0_KEY_W_MSB    _u(2)
8518 #define OTP_DATA_PAGE38_LOCK0_KEY_W_LSB    _u(0)
8519 #define OTP_DATA_PAGE38_LOCK0_KEY_W_ACCESS "RO"
8520 // =============================================================================
8521 // Register    : OTP_DATA_PAGE38_LOCK1
8522 // Description : Lock configuration MSBs for page 38 (rows 0x980 through 0x9bf).
8523 //               Locks are stored with 3-way majority vote encoding, so that
8524 //               bits can be set independently.
8525 //
8526 //               This OTP location is always readable, and is write-protected by
8527 //               its own permissions.
8528 #define OTP_DATA_PAGE38_LOCK1_ROW _u(0x00000fcd)
8529 #define OTP_DATA_PAGE38_LOCK1_BITS   _u(0x00ffff3f)
8530 #define OTP_DATA_PAGE38_LOCK1_RESET  _u(0x00000000)
8531 #define OTP_DATA_PAGE38_LOCK1_WIDTH  _u(24)
8532 // -----------------------------------------------------------------------------
8533 // Field       : OTP_DATA_PAGE38_LOCK1_R2
8534 // Description : Redundant copy of bits 7:0
8535 #define OTP_DATA_PAGE38_LOCK1_R2_RESET  "-"
8536 #define OTP_DATA_PAGE38_LOCK1_R2_BITS   _u(0x00ff0000)
8537 #define OTP_DATA_PAGE38_LOCK1_R2_MSB    _u(23)
8538 #define OTP_DATA_PAGE38_LOCK1_R2_LSB    _u(16)
8539 #define OTP_DATA_PAGE38_LOCK1_R2_ACCESS "RO"
8540 // -----------------------------------------------------------------------------
8541 // Field       : OTP_DATA_PAGE38_LOCK1_R1
8542 // Description : Redundant copy of bits 7:0
8543 #define OTP_DATA_PAGE38_LOCK1_R1_RESET  "-"
8544 #define OTP_DATA_PAGE38_LOCK1_R1_BITS   _u(0x0000ff00)
8545 #define OTP_DATA_PAGE38_LOCK1_R1_MSB    _u(15)
8546 #define OTP_DATA_PAGE38_LOCK1_R1_LSB    _u(8)
8547 #define OTP_DATA_PAGE38_LOCK1_R1_ACCESS "RO"
8548 // -----------------------------------------------------------------------------
8549 // Field       : OTP_DATA_PAGE38_LOCK1_LOCK_BL
8550 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
8551 //               USB bootloader) to store their own OTP access permissions. No
8552 //               hardware effect, and no corresponding SW_LOCKx registers.
8553 //               0x0 -> Bootloader permits user reads and writes to this page
8554 //               0x1 -> Bootloader permits user reads of this page
8555 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
8556 //               0x3 -> Bootloader does not permit user access to this page
8557 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_RESET  "-"
8558 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_BITS   _u(0x00000030)
8559 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_MSB    _u(5)
8560 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_LSB    _u(4)
8561 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_ACCESS "RO"
8562 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
8563 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
8564 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
8565 #define OTP_DATA_PAGE38_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
8566 // -----------------------------------------------------------------------------
8567 // Field       : OTP_DATA_PAGE38_LOCK1_LOCK_NS
8568 // Description : Lock state for Non-secure accesses to this page. Thermometer-
8569 //               coded, so lock state can be advanced permanently from any state
8570 //               to any less-permissive state by programming OTP. Software can
8571 //               also advance the lock state temporarily (until next OTP reset)
8572 //               using the SW_LOCKx registers.
8573 //
8574 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
8575 //               as the SBPI programming interface is not accessible to Non-
8576 //               secure software. However, Secure software may check these bits
8577 //               to apply write permissions to a Non-secure OTP programming API.
8578 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
8579 //               0x1 -> Page can be read by Non-secure software
8580 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8581 //               0x3 -> Page can not be accessed by Non-secure software.
8582 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_RESET  "-"
8583 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
8584 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_MSB    _u(3)
8585 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_LSB    _u(2)
8586 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_ACCESS "RO"
8587 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
8588 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
8589 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
8590 #define OTP_DATA_PAGE38_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
8591 // -----------------------------------------------------------------------------
8592 // Field       : OTP_DATA_PAGE38_LOCK1_LOCK_S
8593 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
8594 //               so lock state can be advanced permanently from any state to any
8595 //               less-permissive state by programming OTP. Software can also
8596 //               advance the lock state temporarily (until next OTP reset) using
8597 //               the SW_LOCKx registers.
8598 //               0x0 -> Page is fully accessible by Secure software.
8599 //               0x1 -> Page can be read by Secure software, but can not be written.
8600 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8601 //               0x3 -> Page can not be accessed by Secure software.
8602 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_RESET  "-"
8603 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_BITS   _u(0x00000003)
8604 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_MSB    _u(1)
8605 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_LSB    _u(0)
8606 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_ACCESS "RO"
8607 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8608 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8609 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8610 #define OTP_DATA_PAGE38_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8611 // =============================================================================
8612 // Register    : OTP_DATA_PAGE39_LOCK0
8613 // Description : Lock configuration LSBs for page 39 (rows 0x9c0 through 0x9ff).
8614 //               Locks are stored with 3-way majority vote encoding, so that
8615 //               bits can be set independently.
8616 //
8617 //               This OTP location is always readable, and is write-protected by
8618 //               its own permissions.
8619 #define OTP_DATA_PAGE39_LOCK0_ROW _u(0x00000fce)
8620 #define OTP_DATA_PAGE39_LOCK0_BITS   _u(0x00ffff7f)
8621 #define OTP_DATA_PAGE39_LOCK0_RESET  _u(0x00000000)
8622 #define OTP_DATA_PAGE39_LOCK0_WIDTH  _u(24)
8623 // -----------------------------------------------------------------------------
8624 // Field       : OTP_DATA_PAGE39_LOCK0_R2
8625 // Description : Redundant copy of bits 7:0
8626 #define OTP_DATA_PAGE39_LOCK0_R2_RESET  "-"
8627 #define OTP_DATA_PAGE39_LOCK0_R2_BITS   _u(0x00ff0000)
8628 #define OTP_DATA_PAGE39_LOCK0_R2_MSB    _u(23)
8629 #define OTP_DATA_PAGE39_LOCK0_R2_LSB    _u(16)
8630 #define OTP_DATA_PAGE39_LOCK0_R2_ACCESS "RO"
8631 // -----------------------------------------------------------------------------
8632 // Field       : OTP_DATA_PAGE39_LOCK0_R1
8633 // Description : Redundant copy of bits 7:0
8634 #define OTP_DATA_PAGE39_LOCK0_R1_RESET  "-"
8635 #define OTP_DATA_PAGE39_LOCK0_R1_BITS   _u(0x0000ff00)
8636 #define OTP_DATA_PAGE39_LOCK0_R1_MSB    _u(15)
8637 #define OTP_DATA_PAGE39_LOCK0_R1_LSB    _u(8)
8638 #define OTP_DATA_PAGE39_LOCK0_R1_ACCESS "RO"
8639 // -----------------------------------------------------------------------------
8640 // Field       : OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE
8641 // Description : State when at least one key is registered for this page and no
8642 //               matching key has been entered.
8643 //               0x0 -> read_only
8644 //               0x1 -> inaccessible
8645 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_RESET  "-"
8646 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8647 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_MSB    _u(6)
8648 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_LSB    _u(6)
8649 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_ACCESS "RO"
8650 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8651 #define OTP_DATA_PAGE39_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8652 // -----------------------------------------------------------------------------
8653 // Field       : OTP_DATA_PAGE39_LOCK0_KEY_R
8654 // Description : Index 1-6 of a hardware key which must be entered to grant read
8655 //               access, or 0 if no such key is required.
8656 #define OTP_DATA_PAGE39_LOCK0_KEY_R_RESET  "-"
8657 #define OTP_DATA_PAGE39_LOCK0_KEY_R_BITS   _u(0x00000038)
8658 #define OTP_DATA_PAGE39_LOCK0_KEY_R_MSB    _u(5)
8659 #define OTP_DATA_PAGE39_LOCK0_KEY_R_LSB    _u(3)
8660 #define OTP_DATA_PAGE39_LOCK0_KEY_R_ACCESS "RO"
8661 // -----------------------------------------------------------------------------
8662 // Field       : OTP_DATA_PAGE39_LOCK0_KEY_W
8663 // Description : Index 1-6 of a hardware key which must be entered to grant
8664 //               write access, or 0 if no such key is required.
8665 #define OTP_DATA_PAGE39_LOCK0_KEY_W_RESET  "-"
8666 #define OTP_DATA_PAGE39_LOCK0_KEY_W_BITS   _u(0x00000007)
8667 #define OTP_DATA_PAGE39_LOCK0_KEY_W_MSB    _u(2)
8668 #define OTP_DATA_PAGE39_LOCK0_KEY_W_LSB    _u(0)
8669 #define OTP_DATA_PAGE39_LOCK0_KEY_W_ACCESS "RO"
8670 // =============================================================================
8671 // Register    : OTP_DATA_PAGE39_LOCK1
8672 // Description : Lock configuration MSBs for page 39 (rows 0x9c0 through 0x9ff).
8673 //               Locks are stored with 3-way majority vote encoding, so that
8674 //               bits can be set independently.
8675 //
8676 //               This OTP location is always readable, and is write-protected by
8677 //               its own permissions.
8678 #define OTP_DATA_PAGE39_LOCK1_ROW _u(0x00000fcf)
8679 #define OTP_DATA_PAGE39_LOCK1_BITS   _u(0x00ffff3f)
8680 #define OTP_DATA_PAGE39_LOCK1_RESET  _u(0x00000000)
8681 #define OTP_DATA_PAGE39_LOCK1_WIDTH  _u(24)
8682 // -----------------------------------------------------------------------------
8683 // Field       : OTP_DATA_PAGE39_LOCK1_R2
8684 // Description : Redundant copy of bits 7:0
8685 #define OTP_DATA_PAGE39_LOCK1_R2_RESET  "-"
8686 #define OTP_DATA_PAGE39_LOCK1_R2_BITS   _u(0x00ff0000)
8687 #define OTP_DATA_PAGE39_LOCK1_R2_MSB    _u(23)
8688 #define OTP_DATA_PAGE39_LOCK1_R2_LSB    _u(16)
8689 #define OTP_DATA_PAGE39_LOCK1_R2_ACCESS "RO"
8690 // -----------------------------------------------------------------------------
8691 // Field       : OTP_DATA_PAGE39_LOCK1_R1
8692 // Description : Redundant copy of bits 7:0
8693 #define OTP_DATA_PAGE39_LOCK1_R1_RESET  "-"
8694 #define OTP_DATA_PAGE39_LOCK1_R1_BITS   _u(0x0000ff00)
8695 #define OTP_DATA_PAGE39_LOCK1_R1_MSB    _u(15)
8696 #define OTP_DATA_PAGE39_LOCK1_R1_LSB    _u(8)
8697 #define OTP_DATA_PAGE39_LOCK1_R1_ACCESS "RO"
8698 // -----------------------------------------------------------------------------
8699 // Field       : OTP_DATA_PAGE39_LOCK1_LOCK_BL
8700 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
8701 //               USB bootloader) to store their own OTP access permissions. No
8702 //               hardware effect, and no corresponding SW_LOCKx registers.
8703 //               0x0 -> Bootloader permits user reads and writes to this page
8704 //               0x1 -> Bootloader permits user reads of this page
8705 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
8706 //               0x3 -> Bootloader does not permit user access to this page
8707 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_RESET  "-"
8708 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_BITS   _u(0x00000030)
8709 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_MSB    _u(5)
8710 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_LSB    _u(4)
8711 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_ACCESS "RO"
8712 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
8713 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
8714 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
8715 #define OTP_DATA_PAGE39_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
8716 // -----------------------------------------------------------------------------
8717 // Field       : OTP_DATA_PAGE39_LOCK1_LOCK_NS
8718 // Description : Lock state for Non-secure accesses to this page. Thermometer-
8719 //               coded, so lock state can be advanced permanently from any state
8720 //               to any less-permissive state by programming OTP. Software can
8721 //               also advance the lock state temporarily (until next OTP reset)
8722 //               using the SW_LOCKx registers.
8723 //
8724 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
8725 //               as the SBPI programming interface is not accessible to Non-
8726 //               secure software. However, Secure software may check these bits
8727 //               to apply write permissions to a Non-secure OTP programming API.
8728 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
8729 //               0x1 -> Page can be read by Non-secure software
8730 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8731 //               0x3 -> Page can not be accessed by Non-secure software.
8732 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_RESET  "-"
8733 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
8734 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_MSB    _u(3)
8735 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_LSB    _u(2)
8736 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_ACCESS "RO"
8737 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
8738 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
8739 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
8740 #define OTP_DATA_PAGE39_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
8741 // -----------------------------------------------------------------------------
8742 // Field       : OTP_DATA_PAGE39_LOCK1_LOCK_S
8743 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
8744 //               so lock state can be advanced permanently from any state to any
8745 //               less-permissive state by programming OTP. Software can also
8746 //               advance the lock state temporarily (until next OTP reset) using
8747 //               the SW_LOCKx registers.
8748 //               0x0 -> Page is fully accessible by Secure software.
8749 //               0x1 -> Page can be read by Secure software, but can not be written.
8750 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8751 //               0x3 -> Page can not be accessed by Secure software.
8752 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_RESET  "-"
8753 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_BITS   _u(0x00000003)
8754 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_MSB    _u(1)
8755 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_LSB    _u(0)
8756 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_ACCESS "RO"
8757 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8758 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8759 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8760 #define OTP_DATA_PAGE39_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8761 // =============================================================================
8762 // Register    : OTP_DATA_PAGE40_LOCK0
8763 // Description : Lock configuration LSBs for page 40 (rows 0xa00 through 0xa3f).
8764 //               Locks are stored with 3-way majority vote encoding, so that
8765 //               bits can be set independently.
8766 //
8767 //               This OTP location is always readable, and is write-protected by
8768 //               its own permissions.
8769 #define OTP_DATA_PAGE40_LOCK0_ROW _u(0x00000fd0)
8770 #define OTP_DATA_PAGE40_LOCK0_BITS   _u(0x00ffff7f)
8771 #define OTP_DATA_PAGE40_LOCK0_RESET  _u(0x00000000)
8772 #define OTP_DATA_PAGE40_LOCK0_WIDTH  _u(24)
8773 // -----------------------------------------------------------------------------
8774 // Field       : OTP_DATA_PAGE40_LOCK0_R2
8775 // Description : Redundant copy of bits 7:0
8776 #define OTP_DATA_PAGE40_LOCK0_R2_RESET  "-"
8777 #define OTP_DATA_PAGE40_LOCK0_R2_BITS   _u(0x00ff0000)
8778 #define OTP_DATA_PAGE40_LOCK0_R2_MSB    _u(23)
8779 #define OTP_DATA_PAGE40_LOCK0_R2_LSB    _u(16)
8780 #define OTP_DATA_PAGE40_LOCK0_R2_ACCESS "RO"
8781 // -----------------------------------------------------------------------------
8782 // Field       : OTP_DATA_PAGE40_LOCK0_R1
8783 // Description : Redundant copy of bits 7:0
8784 #define OTP_DATA_PAGE40_LOCK0_R1_RESET  "-"
8785 #define OTP_DATA_PAGE40_LOCK0_R1_BITS   _u(0x0000ff00)
8786 #define OTP_DATA_PAGE40_LOCK0_R1_MSB    _u(15)
8787 #define OTP_DATA_PAGE40_LOCK0_R1_LSB    _u(8)
8788 #define OTP_DATA_PAGE40_LOCK0_R1_ACCESS "RO"
8789 // -----------------------------------------------------------------------------
8790 // Field       : OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE
8791 // Description : State when at least one key is registered for this page and no
8792 //               matching key has been entered.
8793 //               0x0 -> read_only
8794 //               0x1 -> inaccessible
8795 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_RESET  "-"
8796 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8797 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_MSB    _u(6)
8798 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_LSB    _u(6)
8799 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_ACCESS "RO"
8800 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8801 #define OTP_DATA_PAGE40_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8802 // -----------------------------------------------------------------------------
8803 // Field       : OTP_DATA_PAGE40_LOCK0_KEY_R
8804 // Description : Index 1-6 of a hardware key which must be entered to grant read
8805 //               access, or 0 if no such key is required.
8806 #define OTP_DATA_PAGE40_LOCK0_KEY_R_RESET  "-"
8807 #define OTP_DATA_PAGE40_LOCK0_KEY_R_BITS   _u(0x00000038)
8808 #define OTP_DATA_PAGE40_LOCK0_KEY_R_MSB    _u(5)
8809 #define OTP_DATA_PAGE40_LOCK0_KEY_R_LSB    _u(3)
8810 #define OTP_DATA_PAGE40_LOCK0_KEY_R_ACCESS "RO"
8811 // -----------------------------------------------------------------------------
8812 // Field       : OTP_DATA_PAGE40_LOCK0_KEY_W
8813 // Description : Index 1-6 of a hardware key which must be entered to grant
8814 //               write access, or 0 if no such key is required.
8815 #define OTP_DATA_PAGE40_LOCK0_KEY_W_RESET  "-"
8816 #define OTP_DATA_PAGE40_LOCK0_KEY_W_BITS   _u(0x00000007)
8817 #define OTP_DATA_PAGE40_LOCK0_KEY_W_MSB    _u(2)
8818 #define OTP_DATA_PAGE40_LOCK0_KEY_W_LSB    _u(0)
8819 #define OTP_DATA_PAGE40_LOCK0_KEY_W_ACCESS "RO"
8820 // =============================================================================
8821 // Register    : OTP_DATA_PAGE40_LOCK1
8822 // Description : Lock configuration MSBs for page 40 (rows 0xa00 through 0xa3f).
8823 //               Locks are stored with 3-way majority vote encoding, so that
8824 //               bits can be set independently.
8825 //
8826 //               This OTP location is always readable, and is write-protected by
8827 //               its own permissions.
8828 #define OTP_DATA_PAGE40_LOCK1_ROW _u(0x00000fd1)
8829 #define OTP_DATA_PAGE40_LOCK1_BITS   _u(0x00ffff3f)
8830 #define OTP_DATA_PAGE40_LOCK1_RESET  _u(0x00000000)
8831 #define OTP_DATA_PAGE40_LOCK1_WIDTH  _u(24)
8832 // -----------------------------------------------------------------------------
8833 // Field       : OTP_DATA_PAGE40_LOCK1_R2
8834 // Description : Redundant copy of bits 7:0
8835 #define OTP_DATA_PAGE40_LOCK1_R2_RESET  "-"
8836 #define OTP_DATA_PAGE40_LOCK1_R2_BITS   _u(0x00ff0000)
8837 #define OTP_DATA_PAGE40_LOCK1_R2_MSB    _u(23)
8838 #define OTP_DATA_PAGE40_LOCK1_R2_LSB    _u(16)
8839 #define OTP_DATA_PAGE40_LOCK1_R2_ACCESS "RO"
8840 // -----------------------------------------------------------------------------
8841 // Field       : OTP_DATA_PAGE40_LOCK1_R1
8842 // Description : Redundant copy of bits 7:0
8843 #define OTP_DATA_PAGE40_LOCK1_R1_RESET  "-"
8844 #define OTP_DATA_PAGE40_LOCK1_R1_BITS   _u(0x0000ff00)
8845 #define OTP_DATA_PAGE40_LOCK1_R1_MSB    _u(15)
8846 #define OTP_DATA_PAGE40_LOCK1_R1_LSB    _u(8)
8847 #define OTP_DATA_PAGE40_LOCK1_R1_ACCESS "RO"
8848 // -----------------------------------------------------------------------------
8849 // Field       : OTP_DATA_PAGE40_LOCK1_LOCK_BL
8850 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
8851 //               USB bootloader) to store their own OTP access permissions. No
8852 //               hardware effect, and no corresponding SW_LOCKx registers.
8853 //               0x0 -> Bootloader permits user reads and writes to this page
8854 //               0x1 -> Bootloader permits user reads of this page
8855 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
8856 //               0x3 -> Bootloader does not permit user access to this page
8857 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_RESET  "-"
8858 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_BITS   _u(0x00000030)
8859 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_MSB    _u(5)
8860 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_LSB    _u(4)
8861 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_ACCESS "RO"
8862 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
8863 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
8864 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
8865 #define OTP_DATA_PAGE40_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
8866 // -----------------------------------------------------------------------------
8867 // Field       : OTP_DATA_PAGE40_LOCK1_LOCK_NS
8868 // Description : Lock state for Non-secure accesses to this page. Thermometer-
8869 //               coded, so lock state can be advanced permanently from any state
8870 //               to any less-permissive state by programming OTP. Software can
8871 //               also advance the lock state temporarily (until next OTP reset)
8872 //               using the SW_LOCKx registers.
8873 //
8874 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
8875 //               as the SBPI programming interface is not accessible to Non-
8876 //               secure software. However, Secure software may check these bits
8877 //               to apply write permissions to a Non-secure OTP programming API.
8878 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
8879 //               0x1 -> Page can be read by Non-secure software
8880 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8881 //               0x3 -> Page can not be accessed by Non-secure software.
8882 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_RESET  "-"
8883 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
8884 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_MSB    _u(3)
8885 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_LSB    _u(2)
8886 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_ACCESS "RO"
8887 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
8888 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
8889 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
8890 #define OTP_DATA_PAGE40_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
8891 // -----------------------------------------------------------------------------
8892 // Field       : OTP_DATA_PAGE40_LOCK1_LOCK_S
8893 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
8894 //               so lock state can be advanced permanently from any state to any
8895 //               less-permissive state by programming OTP. Software can also
8896 //               advance the lock state temporarily (until next OTP reset) using
8897 //               the SW_LOCKx registers.
8898 //               0x0 -> Page is fully accessible by Secure software.
8899 //               0x1 -> Page can be read by Secure software, but can not be written.
8900 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
8901 //               0x3 -> Page can not be accessed by Secure software.
8902 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_RESET  "-"
8903 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_BITS   _u(0x00000003)
8904 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_MSB    _u(1)
8905 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_LSB    _u(0)
8906 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_ACCESS "RO"
8907 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
8908 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
8909 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
8910 #define OTP_DATA_PAGE40_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
8911 // =============================================================================
8912 // Register    : OTP_DATA_PAGE41_LOCK0
8913 // Description : Lock configuration LSBs for page 41 (rows 0xa40 through 0xa7f).
8914 //               Locks are stored with 3-way majority vote encoding, so that
8915 //               bits can be set independently.
8916 //
8917 //               This OTP location is always readable, and is write-protected by
8918 //               its own permissions.
8919 #define OTP_DATA_PAGE41_LOCK0_ROW _u(0x00000fd2)
8920 #define OTP_DATA_PAGE41_LOCK0_BITS   _u(0x00ffff7f)
8921 #define OTP_DATA_PAGE41_LOCK0_RESET  _u(0x00000000)
8922 #define OTP_DATA_PAGE41_LOCK0_WIDTH  _u(24)
8923 // -----------------------------------------------------------------------------
8924 // Field       : OTP_DATA_PAGE41_LOCK0_R2
8925 // Description : Redundant copy of bits 7:0
8926 #define OTP_DATA_PAGE41_LOCK0_R2_RESET  "-"
8927 #define OTP_DATA_PAGE41_LOCK0_R2_BITS   _u(0x00ff0000)
8928 #define OTP_DATA_PAGE41_LOCK0_R2_MSB    _u(23)
8929 #define OTP_DATA_PAGE41_LOCK0_R2_LSB    _u(16)
8930 #define OTP_DATA_PAGE41_LOCK0_R2_ACCESS "RO"
8931 // -----------------------------------------------------------------------------
8932 // Field       : OTP_DATA_PAGE41_LOCK0_R1
8933 // Description : Redundant copy of bits 7:0
8934 #define OTP_DATA_PAGE41_LOCK0_R1_RESET  "-"
8935 #define OTP_DATA_PAGE41_LOCK0_R1_BITS   _u(0x0000ff00)
8936 #define OTP_DATA_PAGE41_LOCK0_R1_MSB    _u(15)
8937 #define OTP_DATA_PAGE41_LOCK0_R1_LSB    _u(8)
8938 #define OTP_DATA_PAGE41_LOCK0_R1_ACCESS "RO"
8939 // -----------------------------------------------------------------------------
8940 // Field       : OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE
8941 // Description : State when at least one key is registered for this page and no
8942 //               matching key has been entered.
8943 //               0x0 -> read_only
8944 //               0x1 -> inaccessible
8945 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_RESET  "-"
8946 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
8947 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_MSB    _u(6)
8948 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_LSB    _u(6)
8949 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_ACCESS "RO"
8950 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
8951 #define OTP_DATA_PAGE41_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
8952 // -----------------------------------------------------------------------------
8953 // Field       : OTP_DATA_PAGE41_LOCK0_KEY_R
8954 // Description : Index 1-6 of a hardware key which must be entered to grant read
8955 //               access, or 0 if no such key is required.
8956 #define OTP_DATA_PAGE41_LOCK0_KEY_R_RESET  "-"
8957 #define OTP_DATA_PAGE41_LOCK0_KEY_R_BITS   _u(0x00000038)
8958 #define OTP_DATA_PAGE41_LOCK0_KEY_R_MSB    _u(5)
8959 #define OTP_DATA_PAGE41_LOCK0_KEY_R_LSB    _u(3)
8960 #define OTP_DATA_PAGE41_LOCK0_KEY_R_ACCESS "RO"
8961 // -----------------------------------------------------------------------------
8962 // Field       : OTP_DATA_PAGE41_LOCK0_KEY_W
8963 // Description : Index 1-6 of a hardware key which must be entered to grant
8964 //               write access, or 0 if no such key is required.
8965 #define OTP_DATA_PAGE41_LOCK0_KEY_W_RESET  "-"
8966 #define OTP_DATA_PAGE41_LOCK0_KEY_W_BITS   _u(0x00000007)
8967 #define OTP_DATA_PAGE41_LOCK0_KEY_W_MSB    _u(2)
8968 #define OTP_DATA_PAGE41_LOCK0_KEY_W_LSB    _u(0)
8969 #define OTP_DATA_PAGE41_LOCK0_KEY_W_ACCESS "RO"
8970 // =============================================================================
8971 // Register    : OTP_DATA_PAGE41_LOCK1
8972 // Description : Lock configuration MSBs for page 41 (rows 0xa40 through 0xa7f).
8973 //               Locks are stored with 3-way majority vote encoding, so that
8974 //               bits can be set independently.
8975 //
8976 //               This OTP location is always readable, and is write-protected by
8977 //               its own permissions.
8978 #define OTP_DATA_PAGE41_LOCK1_ROW _u(0x00000fd3)
8979 #define OTP_DATA_PAGE41_LOCK1_BITS   _u(0x00ffff3f)
8980 #define OTP_DATA_PAGE41_LOCK1_RESET  _u(0x00000000)
8981 #define OTP_DATA_PAGE41_LOCK1_WIDTH  _u(24)
8982 // -----------------------------------------------------------------------------
8983 // Field       : OTP_DATA_PAGE41_LOCK1_R2
8984 // Description : Redundant copy of bits 7:0
8985 #define OTP_DATA_PAGE41_LOCK1_R2_RESET  "-"
8986 #define OTP_DATA_PAGE41_LOCK1_R2_BITS   _u(0x00ff0000)
8987 #define OTP_DATA_PAGE41_LOCK1_R2_MSB    _u(23)
8988 #define OTP_DATA_PAGE41_LOCK1_R2_LSB    _u(16)
8989 #define OTP_DATA_PAGE41_LOCK1_R2_ACCESS "RO"
8990 // -----------------------------------------------------------------------------
8991 // Field       : OTP_DATA_PAGE41_LOCK1_R1
8992 // Description : Redundant copy of bits 7:0
8993 #define OTP_DATA_PAGE41_LOCK1_R1_RESET  "-"
8994 #define OTP_DATA_PAGE41_LOCK1_R1_BITS   _u(0x0000ff00)
8995 #define OTP_DATA_PAGE41_LOCK1_R1_MSB    _u(15)
8996 #define OTP_DATA_PAGE41_LOCK1_R1_LSB    _u(8)
8997 #define OTP_DATA_PAGE41_LOCK1_R1_ACCESS "RO"
8998 // -----------------------------------------------------------------------------
8999 // Field       : OTP_DATA_PAGE41_LOCK1_LOCK_BL
9000 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9001 //               USB bootloader) to store their own OTP access permissions. No
9002 //               hardware effect, and no corresponding SW_LOCKx registers.
9003 //               0x0 -> Bootloader permits user reads and writes to this page
9004 //               0x1 -> Bootloader permits user reads of this page
9005 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9006 //               0x3 -> Bootloader does not permit user access to this page
9007 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_RESET  "-"
9008 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9009 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_MSB    _u(5)
9010 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_LSB    _u(4)
9011 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_ACCESS "RO"
9012 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9013 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9014 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9015 #define OTP_DATA_PAGE41_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9016 // -----------------------------------------------------------------------------
9017 // Field       : OTP_DATA_PAGE41_LOCK1_LOCK_NS
9018 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9019 //               coded, so lock state can be advanced permanently from any state
9020 //               to any less-permissive state by programming OTP. Software can
9021 //               also advance the lock state temporarily (until next OTP reset)
9022 //               using the SW_LOCKx registers.
9023 //
9024 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9025 //               as the SBPI programming interface is not accessible to Non-
9026 //               secure software. However, Secure software may check these bits
9027 //               to apply write permissions to a Non-secure OTP programming API.
9028 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9029 //               0x1 -> Page can be read by Non-secure software
9030 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9031 //               0x3 -> Page can not be accessed by Non-secure software.
9032 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_RESET  "-"
9033 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9034 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_MSB    _u(3)
9035 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_LSB    _u(2)
9036 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_ACCESS "RO"
9037 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9038 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9039 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9040 #define OTP_DATA_PAGE41_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9041 // -----------------------------------------------------------------------------
9042 // Field       : OTP_DATA_PAGE41_LOCK1_LOCK_S
9043 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9044 //               so lock state can be advanced permanently from any state to any
9045 //               less-permissive state by programming OTP. Software can also
9046 //               advance the lock state temporarily (until next OTP reset) using
9047 //               the SW_LOCKx registers.
9048 //               0x0 -> Page is fully accessible by Secure software.
9049 //               0x1 -> Page can be read by Secure software, but can not be written.
9050 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9051 //               0x3 -> Page can not be accessed by Secure software.
9052 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_RESET  "-"
9053 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_BITS   _u(0x00000003)
9054 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_MSB    _u(1)
9055 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_LSB    _u(0)
9056 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_ACCESS "RO"
9057 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9058 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9059 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9060 #define OTP_DATA_PAGE41_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9061 // =============================================================================
9062 // Register    : OTP_DATA_PAGE42_LOCK0
9063 // Description : Lock configuration LSBs for page 42 (rows 0xa80 through 0xabf).
9064 //               Locks are stored with 3-way majority vote encoding, so that
9065 //               bits can be set independently.
9066 //
9067 //               This OTP location is always readable, and is write-protected by
9068 //               its own permissions.
9069 #define OTP_DATA_PAGE42_LOCK0_ROW _u(0x00000fd4)
9070 #define OTP_DATA_PAGE42_LOCK0_BITS   _u(0x00ffff7f)
9071 #define OTP_DATA_PAGE42_LOCK0_RESET  _u(0x00000000)
9072 #define OTP_DATA_PAGE42_LOCK0_WIDTH  _u(24)
9073 // -----------------------------------------------------------------------------
9074 // Field       : OTP_DATA_PAGE42_LOCK0_R2
9075 // Description : Redundant copy of bits 7:0
9076 #define OTP_DATA_PAGE42_LOCK0_R2_RESET  "-"
9077 #define OTP_DATA_PAGE42_LOCK0_R2_BITS   _u(0x00ff0000)
9078 #define OTP_DATA_PAGE42_LOCK0_R2_MSB    _u(23)
9079 #define OTP_DATA_PAGE42_LOCK0_R2_LSB    _u(16)
9080 #define OTP_DATA_PAGE42_LOCK0_R2_ACCESS "RO"
9081 // -----------------------------------------------------------------------------
9082 // Field       : OTP_DATA_PAGE42_LOCK0_R1
9083 // Description : Redundant copy of bits 7:0
9084 #define OTP_DATA_PAGE42_LOCK0_R1_RESET  "-"
9085 #define OTP_DATA_PAGE42_LOCK0_R1_BITS   _u(0x0000ff00)
9086 #define OTP_DATA_PAGE42_LOCK0_R1_MSB    _u(15)
9087 #define OTP_DATA_PAGE42_LOCK0_R1_LSB    _u(8)
9088 #define OTP_DATA_PAGE42_LOCK0_R1_ACCESS "RO"
9089 // -----------------------------------------------------------------------------
9090 // Field       : OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE
9091 // Description : State when at least one key is registered for this page and no
9092 //               matching key has been entered.
9093 //               0x0 -> read_only
9094 //               0x1 -> inaccessible
9095 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_RESET  "-"
9096 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9097 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_MSB    _u(6)
9098 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_LSB    _u(6)
9099 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_ACCESS "RO"
9100 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
9101 #define OTP_DATA_PAGE42_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
9102 // -----------------------------------------------------------------------------
9103 // Field       : OTP_DATA_PAGE42_LOCK0_KEY_R
9104 // Description : Index 1-6 of a hardware key which must be entered to grant read
9105 //               access, or 0 if no such key is required.
9106 #define OTP_DATA_PAGE42_LOCK0_KEY_R_RESET  "-"
9107 #define OTP_DATA_PAGE42_LOCK0_KEY_R_BITS   _u(0x00000038)
9108 #define OTP_DATA_PAGE42_LOCK0_KEY_R_MSB    _u(5)
9109 #define OTP_DATA_PAGE42_LOCK0_KEY_R_LSB    _u(3)
9110 #define OTP_DATA_PAGE42_LOCK0_KEY_R_ACCESS "RO"
9111 // -----------------------------------------------------------------------------
9112 // Field       : OTP_DATA_PAGE42_LOCK0_KEY_W
9113 // Description : Index 1-6 of a hardware key which must be entered to grant
9114 //               write access, or 0 if no such key is required.
9115 #define OTP_DATA_PAGE42_LOCK0_KEY_W_RESET  "-"
9116 #define OTP_DATA_PAGE42_LOCK0_KEY_W_BITS   _u(0x00000007)
9117 #define OTP_DATA_PAGE42_LOCK0_KEY_W_MSB    _u(2)
9118 #define OTP_DATA_PAGE42_LOCK0_KEY_W_LSB    _u(0)
9119 #define OTP_DATA_PAGE42_LOCK0_KEY_W_ACCESS "RO"
9120 // =============================================================================
9121 // Register    : OTP_DATA_PAGE42_LOCK1
9122 // Description : Lock configuration MSBs for page 42 (rows 0xa80 through 0xabf).
9123 //               Locks are stored with 3-way majority vote encoding, so that
9124 //               bits can be set independently.
9125 //
9126 //               This OTP location is always readable, and is write-protected by
9127 //               its own permissions.
9128 #define OTP_DATA_PAGE42_LOCK1_ROW _u(0x00000fd5)
9129 #define OTP_DATA_PAGE42_LOCK1_BITS   _u(0x00ffff3f)
9130 #define OTP_DATA_PAGE42_LOCK1_RESET  _u(0x00000000)
9131 #define OTP_DATA_PAGE42_LOCK1_WIDTH  _u(24)
9132 // -----------------------------------------------------------------------------
9133 // Field       : OTP_DATA_PAGE42_LOCK1_R2
9134 // Description : Redundant copy of bits 7:0
9135 #define OTP_DATA_PAGE42_LOCK1_R2_RESET  "-"
9136 #define OTP_DATA_PAGE42_LOCK1_R2_BITS   _u(0x00ff0000)
9137 #define OTP_DATA_PAGE42_LOCK1_R2_MSB    _u(23)
9138 #define OTP_DATA_PAGE42_LOCK1_R2_LSB    _u(16)
9139 #define OTP_DATA_PAGE42_LOCK1_R2_ACCESS "RO"
9140 // -----------------------------------------------------------------------------
9141 // Field       : OTP_DATA_PAGE42_LOCK1_R1
9142 // Description : Redundant copy of bits 7:0
9143 #define OTP_DATA_PAGE42_LOCK1_R1_RESET  "-"
9144 #define OTP_DATA_PAGE42_LOCK1_R1_BITS   _u(0x0000ff00)
9145 #define OTP_DATA_PAGE42_LOCK1_R1_MSB    _u(15)
9146 #define OTP_DATA_PAGE42_LOCK1_R1_LSB    _u(8)
9147 #define OTP_DATA_PAGE42_LOCK1_R1_ACCESS "RO"
9148 // -----------------------------------------------------------------------------
9149 // Field       : OTP_DATA_PAGE42_LOCK1_LOCK_BL
9150 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9151 //               USB bootloader) to store their own OTP access permissions. No
9152 //               hardware effect, and no corresponding SW_LOCKx registers.
9153 //               0x0 -> Bootloader permits user reads and writes to this page
9154 //               0x1 -> Bootloader permits user reads of this page
9155 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9156 //               0x3 -> Bootloader does not permit user access to this page
9157 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_RESET  "-"
9158 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9159 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_MSB    _u(5)
9160 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_LSB    _u(4)
9161 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_ACCESS "RO"
9162 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9163 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9164 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9165 #define OTP_DATA_PAGE42_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9166 // -----------------------------------------------------------------------------
9167 // Field       : OTP_DATA_PAGE42_LOCK1_LOCK_NS
9168 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9169 //               coded, so lock state can be advanced permanently from any state
9170 //               to any less-permissive state by programming OTP. Software can
9171 //               also advance the lock state temporarily (until next OTP reset)
9172 //               using the SW_LOCKx registers.
9173 //
9174 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9175 //               as the SBPI programming interface is not accessible to Non-
9176 //               secure software. However, Secure software may check these bits
9177 //               to apply write permissions to a Non-secure OTP programming API.
9178 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9179 //               0x1 -> Page can be read by Non-secure software
9180 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9181 //               0x3 -> Page can not be accessed by Non-secure software.
9182 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_RESET  "-"
9183 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9184 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_MSB    _u(3)
9185 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_LSB    _u(2)
9186 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_ACCESS "RO"
9187 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9188 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9189 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9190 #define OTP_DATA_PAGE42_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9191 // -----------------------------------------------------------------------------
9192 // Field       : OTP_DATA_PAGE42_LOCK1_LOCK_S
9193 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9194 //               so lock state can be advanced permanently from any state to any
9195 //               less-permissive state by programming OTP. Software can also
9196 //               advance the lock state temporarily (until next OTP reset) using
9197 //               the SW_LOCKx registers.
9198 //               0x0 -> Page is fully accessible by Secure software.
9199 //               0x1 -> Page can be read by Secure software, but can not be written.
9200 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9201 //               0x3 -> Page can not be accessed by Secure software.
9202 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_RESET  "-"
9203 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_BITS   _u(0x00000003)
9204 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_MSB    _u(1)
9205 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_LSB    _u(0)
9206 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_ACCESS "RO"
9207 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9208 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9209 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9210 #define OTP_DATA_PAGE42_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9211 // =============================================================================
9212 // Register    : OTP_DATA_PAGE43_LOCK0
9213 // Description : Lock configuration LSBs for page 43 (rows 0xac0 through 0xaff).
9214 //               Locks are stored with 3-way majority vote encoding, so that
9215 //               bits can be set independently.
9216 //
9217 //               This OTP location is always readable, and is write-protected by
9218 //               its own permissions.
9219 #define OTP_DATA_PAGE43_LOCK0_ROW _u(0x00000fd6)
9220 #define OTP_DATA_PAGE43_LOCK0_BITS   _u(0x00ffff7f)
9221 #define OTP_DATA_PAGE43_LOCK0_RESET  _u(0x00000000)
9222 #define OTP_DATA_PAGE43_LOCK0_WIDTH  _u(24)
9223 // -----------------------------------------------------------------------------
9224 // Field       : OTP_DATA_PAGE43_LOCK0_R2
9225 // Description : Redundant copy of bits 7:0
9226 #define OTP_DATA_PAGE43_LOCK0_R2_RESET  "-"
9227 #define OTP_DATA_PAGE43_LOCK0_R2_BITS   _u(0x00ff0000)
9228 #define OTP_DATA_PAGE43_LOCK0_R2_MSB    _u(23)
9229 #define OTP_DATA_PAGE43_LOCK0_R2_LSB    _u(16)
9230 #define OTP_DATA_PAGE43_LOCK0_R2_ACCESS "RO"
9231 // -----------------------------------------------------------------------------
9232 // Field       : OTP_DATA_PAGE43_LOCK0_R1
9233 // Description : Redundant copy of bits 7:0
9234 #define OTP_DATA_PAGE43_LOCK0_R1_RESET  "-"
9235 #define OTP_DATA_PAGE43_LOCK0_R1_BITS   _u(0x0000ff00)
9236 #define OTP_DATA_PAGE43_LOCK0_R1_MSB    _u(15)
9237 #define OTP_DATA_PAGE43_LOCK0_R1_LSB    _u(8)
9238 #define OTP_DATA_PAGE43_LOCK0_R1_ACCESS "RO"
9239 // -----------------------------------------------------------------------------
9240 // Field       : OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE
9241 // Description : State when at least one key is registered for this page and no
9242 //               matching key has been entered.
9243 //               0x0 -> read_only
9244 //               0x1 -> inaccessible
9245 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_RESET  "-"
9246 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9247 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_MSB    _u(6)
9248 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_LSB    _u(6)
9249 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_ACCESS "RO"
9250 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
9251 #define OTP_DATA_PAGE43_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
9252 // -----------------------------------------------------------------------------
9253 // Field       : OTP_DATA_PAGE43_LOCK0_KEY_R
9254 // Description : Index 1-6 of a hardware key which must be entered to grant read
9255 //               access, or 0 if no such key is required.
9256 #define OTP_DATA_PAGE43_LOCK0_KEY_R_RESET  "-"
9257 #define OTP_DATA_PAGE43_LOCK0_KEY_R_BITS   _u(0x00000038)
9258 #define OTP_DATA_PAGE43_LOCK0_KEY_R_MSB    _u(5)
9259 #define OTP_DATA_PAGE43_LOCK0_KEY_R_LSB    _u(3)
9260 #define OTP_DATA_PAGE43_LOCK0_KEY_R_ACCESS "RO"
9261 // -----------------------------------------------------------------------------
9262 // Field       : OTP_DATA_PAGE43_LOCK0_KEY_W
9263 // Description : Index 1-6 of a hardware key which must be entered to grant
9264 //               write access, or 0 if no such key is required.
9265 #define OTP_DATA_PAGE43_LOCK0_KEY_W_RESET  "-"
9266 #define OTP_DATA_PAGE43_LOCK0_KEY_W_BITS   _u(0x00000007)
9267 #define OTP_DATA_PAGE43_LOCK0_KEY_W_MSB    _u(2)
9268 #define OTP_DATA_PAGE43_LOCK0_KEY_W_LSB    _u(0)
9269 #define OTP_DATA_PAGE43_LOCK0_KEY_W_ACCESS "RO"
9270 // =============================================================================
9271 // Register    : OTP_DATA_PAGE43_LOCK1
9272 // Description : Lock configuration MSBs for page 43 (rows 0xac0 through 0xaff).
9273 //               Locks are stored with 3-way majority vote encoding, so that
9274 //               bits can be set independently.
9275 //
9276 //               This OTP location is always readable, and is write-protected by
9277 //               its own permissions.
9278 #define OTP_DATA_PAGE43_LOCK1_ROW _u(0x00000fd7)
9279 #define OTP_DATA_PAGE43_LOCK1_BITS   _u(0x00ffff3f)
9280 #define OTP_DATA_PAGE43_LOCK1_RESET  _u(0x00000000)
9281 #define OTP_DATA_PAGE43_LOCK1_WIDTH  _u(24)
9282 // -----------------------------------------------------------------------------
9283 // Field       : OTP_DATA_PAGE43_LOCK1_R2
9284 // Description : Redundant copy of bits 7:0
9285 #define OTP_DATA_PAGE43_LOCK1_R2_RESET  "-"
9286 #define OTP_DATA_PAGE43_LOCK1_R2_BITS   _u(0x00ff0000)
9287 #define OTP_DATA_PAGE43_LOCK1_R2_MSB    _u(23)
9288 #define OTP_DATA_PAGE43_LOCK1_R2_LSB    _u(16)
9289 #define OTP_DATA_PAGE43_LOCK1_R2_ACCESS "RO"
9290 // -----------------------------------------------------------------------------
9291 // Field       : OTP_DATA_PAGE43_LOCK1_R1
9292 // Description : Redundant copy of bits 7:0
9293 #define OTP_DATA_PAGE43_LOCK1_R1_RESET  "-"
9294 #define OTP_DATA_PAGE43_LOCK1_R1_BITS   _u(0x0000ff00)
9295 #define OTP_DATA_PAGE43_LOCK1_R1_MSB    _u(15)
9296 #define OTP_DATA_PAGE43_LOCK1_R1_LSB    _u(8)
9297 #define OTP_DATA_PAGE43_LOCK1_R1_ACCESS "RO"
9298 // -----------------------------------------------------------------------------
9299 // Field       : OTP_DATA_PAGE43_LOCK1_LOCK_BL
9300 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9301 //               USB bootloader) to store their own OTP access permissions. No
9302 //               hardware effect, and no corresponding SW_LOCKx registers.
9303 //               0x0 -> Bootloader permits user reads and writes to this page
9304 //               0x1 -> Bootloader permits user reads of this page
9305 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9306 //               0x3 -> Bootloader does not permit user access to this page
9307 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_RESET  "-"
9308 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9309 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_MSB    _u(5)
9310 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_LSB    _u(4)
9311 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_ACCESS "RO"
9312 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9313 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9314 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9315 #define OTP_DATA_PAGE43_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9316 // -----------------------------------------------------------------------------
9317 // Field       : OTP_DATA_PAGE43_LOCK1_LOCK_NS
9318 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9319 //               coded, so lock state can be advanced permanently from any state
9320 //               to any less-permissive state by programming OTP. Software can
9321 //               also advance the lock state temporarily (until next OTP reset)
9322 //               using the SW_LOCKx registers.
9323 //
9324 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9325 //               as the SBPI programming interface is not accessible to Non-
9326 //               secure software. However, Secure software may check these bits
9327 //               to apply write permissions to a Non-secure OTP programming API.
9328 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9329 //               0x1 -> Page can be read by Non-secure software
9330 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9331 //               0x3 -> Page can not be accessed by Non-secure software.
9332 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_RESET  "-"
9333 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9334 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_MSB    _u(3)
9335 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_LSB    _u(2)
9336 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_ACCESS "RO"
9337 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9338 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9339 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9340 #define OTP_DATA_PAGE43_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9341 // -----------------------------------------------------------------------------
9342 // Field       : OTP_DATA_PAGE43_LOCK1_LOCK_S
9343 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9344 //               so lock state can be advanced permanently from any state to any
9345 //               less-permissive state by programming OTP. Software can also
9346 //               advance the lock state temporarily (until next OTP reset) using
9347 //               the SW_LOCKx registers.
9348 //               0x0 -> Page is fully accessible by Secure software.
9349 //               0x1 -> Page can be read by Secure software, but can not be written.
9350 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9351 //               0x3 -> Page can not be accessed by Secure software.
9352 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_RESET  "-"
9353 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_BITS   _u(0x00000003)
9354 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_MSB    _u(1)
9355 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_LSB    _u(0)
9356 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_ACCESS "RO"
9357 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9358 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9359 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9360 #define OTP_DATA_PAGE43_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9361 // =============================================================================
9362 // Register    : OTP_DATA_PAGE44_LOCK0
9363 // Description : Lock configuration LSBs for page 44 (rows 0xb00 through 0xb3f).
9364 //               Locks are stored with 3-way majority vote encoding, so that
9365 //               bits can be set independently.
9366 //
9367 //               This OTP location is always readable, and is write-protected by
9368 //               its own permissions.
9369 #define OTP_DATA_PAGE44_LOCK0_ROW _u(0x00000fd8)
9370 #define OTP_DATA_PAGE44_LOCK0_BITS   _u(0x00ffff7f)
9371 #define OTP_DATA_PAGE44_LOCK0_RESET  _u(0x00000000)
9372 #define OTP_DATA_PAGE44_LOCK0_WIDTH  _u(24)
9373 // -----------------------------------------------------------------------------
9374 // Field       : OTP_DATA_PAGE44_LOCK0_R2
9375 // Description : Redundant copy of bits 7:0
9376 #define OTP_DATA_PAGE44_LOCK0_R2_RESET  "-"
9377 #define OTP_DATA_PAGE44_LOCK0_R2_BITS   _u(0x00ff0000)
9378 #define OTP_DATA_PAGE44_LOCK0_R2_MSB    _u(23)
9379 #define OTP_DATA_PAGE44_LOCK0_R2_LSB    _u(16)
9380 #define OTP_DATA_PAGE44_LOCK0_R2_ACCESS "RO"
9381 // -----------------------------------------------------------------------------
9382 // Field       : OTP_DATA_PAGE44_LOCK0_R1
9383 // Description : Redundant copy of bits 7:0
9384 #define OTP_DATA_PAGE44_LOCK0_R1_RESET  "-"
9385 #define OTP_DATA_PAGE44_LOCK0_R1_BITS   _u(0x0000ff00)
9386 #define OTP_DATA_PAGE44_LOCK0_R1_MSB    _u(15)
9387 #define OTP_DATA_PAGE44_LOCK0_R1_LSB    _u(8)
9388 #define OTP_DATA_PAGE44_LOCK0_R1_ACCESS "RO"
9389 // -----------------------------------------------------------------------------
9390 // Field       : OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE
9391 // Description : State when at least one key is registered for this page and no
9392 //               matching key has been entered.
9393 //               0x0 -> read_only
9394 //               0x1 -> inaccessible
9395 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_RESET  "-"
9396 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9397 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_MSB    _u(6)
9398 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_LSB    _u(6)
9399 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_ACCESS "RO"
9400 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
9401 #define OTP_DATA_PAGE44_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
9402 // -----------------------------------------------------------------------------
9403 // Field       : OTP_DATA_PAGE44_LOCK0_KEY_R
9404 // Description : Index 1-6 of a hardware key which must be entered to grant read
9405 //               access, or 0 if no such key is required.
9406 #define OTP_DATA_PAGE44_LOCK0_KEY_R_RESET  "-"
9407 #define OTP_DATA_PAGE44_LOCK0_KEY_R_BITS   _u(0x00000038)
9408 #define OTP_DATA_PAGE44_LOCK0_KEY_R_MSB    _u(5)
9409 #define OTP_DATA_PAGE44_LOCK0_KEY_R_LSB    _u(3)
9410 #define OTP_DATA_PAGE44_LOCK0_KEY_R_ACCESS "RO"
9411 // -----------------------------------------------------------------------------
9412 // Field       : OTP_DATA_PAGE44_LOCK0_KEY_W
9413 // Description : Index 1-6 of a hardware key which must be entered to grant
9414 //               write access, or 0 if no such key is required.
9415 #define OTP_DATA_PAGE44_LOCK0_KEY_W_RESET  "-"
9416 #define OTP_DATA_PAGE44_LOCK0_KEY_W_BITS   _u(0x00000007)
9417 #define OTP_DATA_PAGE44_LOCK0_KEY_W_MSB    _u(2)
9418 #define OTP_DATA_PAGE44_LOCK0_KEY_W_LSB    _u(0)
9419 #define OTP_DATA_PAGE44_LOCK0_KEY_W_ACCESS "RO"
9420 // =============================================================================
9421 // Register    : OTP_DATA_PAGE44_LOCK1
9422 // Description : Lock configuration MSBs for page 44 (rows 0xb00 through 0xb3f).
9423 //               Locks are stored with 3-way majority vote encoding, so that
9424 //               bits can be set independently.
9425 //
9426 //               This OTP location is always readable, and is write-protected by
9427 //               its own permissions.
9428 #define OTP_DATA_PAGE44_LOCK1_ROW _u(0x00000fd9)
9429 #define OTP_DATA_PAGE44_LOCK1_BITS   _u(0x00ffff3f)
9430 #define OTP_DATA_PAGE44_LOCK1_RESET  _u(0x00000000)
9431 #define OTP_DATA_PAGE44_LOCK1_WIDTH  _u(24)
9432 // -----------------------------------------------------------------------------
9433 // Field       : OTP_DATA_PAGE44_LOCK1_R2
9434 // Description : Redundant copy of bits 7:0
9435 #define OTP_DATA_PAGE44_LOCK1_R2_RESET  "-"
9436 #define OTP_DATA_PAGE44_LOCK1_R2_BITS   _u(0x00ff0000)
9437 #define OTP_DATA_PAGE44_LOCK1_R2_MSB    _u(23)
9438 #define OTP_DATA_PAGE44_LOCK1_R2_LSB    _u(16)
9439 #define OTP_DATA_PAGE44_LOCK1_R2_ACCESS "RO"
9440 // -----------------------------------------------------------------------------
9441 // Field       : OTP_DATA_PAGE44_LOCK1_R1
9442 // Description : Redundant copy of bits 7:0
9443 #define OTP_DATA_PAGE44_LOCK1_R1_RESET  "-"
9444 #define OTP_DATA_PAGE44_LOCK1_R1_BITS   _u(0x0000ff00)
9445 #define OTP_DATA_PAGE44_LOCK1_R1_MSB    _u(15)
9446 #define OTP_DATA_PAGE44_LOCK1_R1_LSB    _u(8)
9447 #define OTP_DATA_PAGE44_LOCK1_R1_ACCESS "RO"
9448 // -----------------------------------------------------------------------------
9449 // Field       : OTP_DATA_PAGE44_LOCK1_LOCK_BL
9450 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9451 //               USB bootloader) to store their own OTP access permissions. No
9452 //               hardware effect, and no corresponding SW_LOCKx registers.
9453 //               0x0 -> Bootloader permits user reads and writes to this page
9454 //               0x1 -> Bootloader permits user reads of this page
9455 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9456 //               0x3 -> Bootloader does not permit user access to this page
9457 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_RESET  "-"
9458 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9459 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_MSB    _u(5)
9460 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_LSB    _u(4)
9461 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_ACCESS "RO"
9462 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9463 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9464 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9465 #define OTP_DATA_PAGE44_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9466 // -----------------------------------------------------------------------------
9467 // Field       : OTP_DATA_PAGE44_LOCK1_LOCK_NS
9468 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9469 //               coded, so lock state can be advanced permanently from any state
9470 //               to any less-permissive state by programming OTP. Software can
9471 //               also advance the lock state temporarily (until next OTP reset)
9472 //               using the SW_LOCKx registers.
9473 //
9474 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9475 //               as the SBPI programming interface is not accessible to Non-
9476 //               secure software. However, Secure software may check these bits
9477 //               to apply write permissions to a Non-secure OTP programming API.
9478 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9479 //               0x1 -> Page can be read by Non-secure software
9480 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9481 //               0x3 -> Page can not be accessed by Non-secure software.
9482 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_RESET  "-"
9483 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9484 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_MSB    _u(3)
9485 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_LSB    _u(2)
9486 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_ACCESS "RO"
9487 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9488 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9489 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9490 #define OTP_DATA_PAGE44_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9491 // -----------------------------------------------------------------------------
9492 // Field       : OTP_DATA_PAGE44_LOCK1_LOCK_S
9493 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9494 //               so lock state can be advanced permanently from any state to any
9495 //               less-permissive state by programming OTP. Software can also
9496 //               advance the lock state temporarily (until next OTP reset) using
9497 //               the SW_LOCKx registers.
9498 //               0x0 -> Page is fully accessible by Secure software.
9499 //               0x1 -> Page can be read by Secure software, but can not be written.
9500 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9501 //               0x3 -> Page can not be accessed by Secure software.
9502 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_RESET  "-"
9503 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_BITS   _u(0x00000003)
9504 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_MSB    _u(1)
9505 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_LSB    _u(0)
9506 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_ACCESS "RO"
9507 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9508 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9509 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9510 #define OTP_DATA_PAGE44_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9511 // =============================================================================
9512 // Register    : OTP_DATA_PAGE45_LOCK0
9513 // Description : Lock configuration LSBs for page 45 (rows 0xb40 through 0xb7f).
9514 //               Locks are stored with 3-way majority vote encoding, so that
9515 //               bits can be set independently.
9516 //
9517 //               This OTP location is always readable, and is write-protected by
9518 //               its own permissions.
9519 #define OTP_DATA_PAGE45_LOCK0_ROW _u(0x00000fda)
9520 #define OTP_DATA_PAGE45_LOCK0_BITS   _u(0x00ffff7f)
9521 #define OTP_DATA_PAGE45_LOCK0_RESET  _u(0x00000000)
9522 #define OTP_DATA_PAGE45_LOCK0_WIDTH  _u(24)
9523 // -----------------------------------------------------------------------------
9524 // Field       : OTP_DATA_PAGE45_LOCK0_R2
9525 // Description : Redundant copy of bits 7:0
9526 #define OTP_DATA_PAGE45_LOCK0_R2_RESET  "-"
9527 #define OTP_DATA_PAGE45_LOCK0_R2_BITS   _u(0x00ff0000)
9528 #define OTP_DATA_PAGE45_LOCK0_R2_MSB    _u(23)
9529 #define OTP_DATA_PAGE45_LOCK0_R2_LSB    _u(16)
9530 #define OTP_DATA_PAGE45_LOCK0_R2_ACCESS "RO"
9531 // -----------------------------------------------------------------------------
9532 // Field       : OTP_DATA_PAGE45_LOCK0_R1
9533 // Description : Redundant copy of bits 7:0
9534 #define OTP_DATA_PAGE45_LOCK0_R1_RESET  "-"
9535 #define OTP_DATA_PAGE45_LOCK0_R1_BITS   _u(0x0000ff00)
9536 #define OTP_DATA_PAGE45_LOCK0_R1_MSB    _u(15)
9537 #define OTP_DATA_PAGE45_LOCK0_R1_LSB    _u(8)
9538 #define OTP_DATA_PAGE45_LOCK0_R1_ACCESS "RO"
9539 // -----------------------------------------------------------------------------
9540 // Field       : OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE
9541 // Description : State when at least one key is registered for this page and no
9542 //               matching key has been entered.
9543 //               0x0 -> read_only
9544 //               0x1 -> inaccessible
9545 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_RESET  "-"
9546 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9547 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_MSB    _u(6)
9548 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_LSB    _u(6)
9549 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_ACCESS "RO"
9550 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
9551 #define OTP_DATA_PAGE45_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
9552 // -----------------------------------------------------------------------------
9553 // Field       : OTP_DATA_PAGE45_LOCK0_KEY_R
9554 // Description : Index 1-6 of a hardware key which must be entered to grant read
9555 //               access, or 0 if no such key is required.
9556 #define OTP_DATA_PAGE45_LOCK0_KEY_R_RESET  "-"
9557 #define OTP_DATA_PAGE45_LOCK0_KEY_R_BITS   _u(0x00000038)
9558 #define OTP_DATA_PAGE45_LOCK0_KEY_R_MSB    _u(5)
9559 #define OTP_DATA_PAGE45_LOCK0_KEY_R_LSB    _u(3)
9560 #define OTP_DATA_PAGE45_LOCK0_KEY_R_ACCESS "RO"
9561 // -----------------------------------------------------------------------------
9562 // Field       : OTP_DATA_PAGE45_LOCK0_KEY_W
9563 // Description : Index 1-6 of a hardware key which must be entered to grant
9564 //               write access, or 0 if no such key is required.
9565 #define OTP_DATA_PAGE45_LOCK0_KEY_W_RESET  "-"
9566 #define OTP_DATA_PAGE45_LOCK0_KEY_W_BITS   _u(0x00000007)
9567 #define OTP_DATA_PAGE45_LOCK0_KEY_W_MSB    _u(2)
9568 #define OTP_DATA_PAGE45_LOCK0_KEY_W_LSB    _u(0)
9569 #define OTP_DATA_PAGE45_LOCK0_KEY_W_ACCESS "RO"
9570 // =============================================================================
9571 // Register    : OTP_DATA_PAGE45_LOCK1
9572 // Description : Lock configuration MSBs for page 45 (rows 0xb40 through 0xb7f).
9573 //               Locks are stored with 3-way majority vote encoding, so that
9574 //               bits can be set independently.
9575 //
9576 //               This OTP location is always readable, and is write-protected by
9577 //               its own permissions.
9578 #define OTP_DATA_PAGE45_LOCK1_ROW _u(0x00000fdb)
9579 #define OTP_DATA_PAGE45_LOCK1_BITS   _u(0x00ffff3f)
9580 #define OTP_DATA_PAGE45_LOCK1_RESET  _u(0x00000000)
9581 #define OTP_DATA_PAGE45_LOCK1_WIDTH  _u(24)
9582 // -----------------------------------------------------------------------------
9583 // Field       : OTP_DATA_PAGE45_LOCK1_R2
9584 // Description : Redundant copy of bits 7:0
9585 #define OTP_DATA_PAGE45_LOCK1_R2_RESET  "-"
9586 #define OTP_DATA_PAGE45_LOCK1_R2_BITS   _u(0x00ff0000)
9587 #define OTP_DATA_PAGE45_LOCK1_R2_MSB    _u(23)
9588 #define OTP_DATA_PAGE45_LOCK1_R2_LSB    _u(16)
9589 #define OTP_DATA_PAGE45_LOCK1_R2_ACCESS "RO"
9590 // -----------------------------------------------------------------------------
9591 // Field       : OTP_DATA_PAGE45_LOCK1_R1
9592 // Description : Redundant copy of bits 7:0
9593 #define OTP_DATA_PAGE45_LOCK1_R1_RESET  "-"
9594 #define OTP_DATA_PAGE45_LOCK1_R1_BITS   _u(0x0000ff00)
9595 #define OTP_DATA_PAGE45_LOCK1_R1_MSB    _u(15)
9596 #define OTP_DATA_PAGE45_LOCK1_R1_LSB    _u(8)
9597 #define OTP_DATA_PAGE45_LOCK1_R1_ACCESS "RO"
9598 // -----------------------------------------------------------------------------
9599 // Field       : OTP_DATA_PAGE45_LOCK1_LOCK_BL
9600 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9601 //               USB bootloader) to store their own OTP access permissions. No
9602 //               hardware effect, and no corresponding SW_LOCKx registers.
9603 //               0x0 -> Bootloader permits user reads and writes to this page
9604 //               0x1 -> Bootloader permits user reads of this page
9605 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9606 //               0x3 -> Bootloader does not permit user access to this page
9607 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_RESET  "-"
9608 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9609 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_MSB    _u(5)
9610 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_LSB    _u(4)
9611 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_ACCESS "RO"
9612 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9613 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9614 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9615 #define OTP_DATA_PAGE45_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9616 // -----------------------------------------------------------------------------
9617 // Field       : OTP_DATA_PAGE45_LOCK1_LOCK_NS
9618 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9619 //               coded, so lock state can be advanced permanently from any state
9620 //               to any less-permissive state by programming OTP. Software can
9621 //               also advance the lock state temporarily (until next OTP reset)
9622 //               using the SW_LOCKx registers.
9623 //
9624 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9625 //               as the SBPI programming interface is not accessible to Non-
9626 //               secure software. However, Secure software may check these bits
9627 //               to apply write permissions to a Non-secure OTP programming API.
9628 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9629 //               0x1 -> Page can be read by Non-secure software
9630 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9631 //               0x3 -> Page can not be accessed by Non-secure software.
9632 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_RESET  "-"
9633 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9634 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_MSB    _u(3)
9635 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_LSB    _u(2)
9636 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_ACCESS "RO"
9637 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9638 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9639 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9640 #define OTP_DATA_PAGE45_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9641 // -----------------------------------------------------------------------------
9642 // Field       : OTP_DATA_PAGE45_LOCK1_LOCK_S
9643 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9644 //               so lock state can be advanced permanently from any state to any
9645 //               less-permissive state by programming OTP. Software can also
9646 //               advance the lock state temporarily (until next OTP reset) using
9647 //               the SW_LOCKx registers.
9648 //               0x0 -> Page is fully accessible by Secure software.
9649 //               0x1 -> Page can be read by Secure software, but can not be written.
9650 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9651 //               0x3 -> Page can not be accessed by Secure software.
9652 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_RESET  "-"
9653 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_BITS   _u(0x00000003)
9654 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_MSB    _u(1)
9655 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_LSB    _u(0)
9656 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_ACCESS "RO"
9657 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9658 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9659 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9660 #define OTP_DATA_PAGE45_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9661 // =============================================================================
9662 // Register    : OTP_DATA_PAGE46_LOCK0
9663 // Description : Lock configuration LSBs for page 46 (rows 0xb80 through 0xbbf).
9664 //               Locks are stored with 3-way majority vote encoding, so that
9665 //               bits can be set independently.
9666 //
9667 //               This OTP location is always readable, and is write-protected by
9668 //               its own permissions.
9669 #define OTP_DATA_PAGE46_LOCK0_ROW _u(0x00000fdc)
9670 #define OTP_DATA_PAGE46_LOCK0_BITS   _u(0x00ffff7f)
9671 #define OTP_DATA_PAGE46_LOCK0_RESET  _u(0x00000000)
9672 #define OTP_DATA_PAGE46_LOCK0_WIDTH  _u(24)
9673 // -----------------------------------------------------------------------------
9674 // Field       : OTP_DATA_PAGE46_LOCK0_R2
9675 // Description : Redundant copy of bits 7:0
9676 #define OTP_DATA_PAGE46_LOCK0_R2_RESET  "-"
9677 #define OTP_DATA_PAGE46_LOCK0_R2_BITS   _u(0x00ff0000)
9678 #define OTP_DATA_PAGE46_LOCK0_R2_MSB    _u(23)
9679 #define OTP_DATA_PAGE46_LOCK0_R2_LSB    _u(16)
9680 #define OTP_DATA_PAGE46_LOCK0_R2_ACCESS "RO"
9681 // -----------------------------------------------------------------------------
9682 // Field       : OTP_DATA_PAGE46_LOCK0_R1
9683 // Description : Redundant copy of bits 7:0
9684 #define OTP_DATA_PAGE46_LOCK0_R1_RESET  "-"
9685 #define OTP_DATA_PAGE46_LOCK0_R1_BITS   _u(0x0000ff00)
9686 #define OTP_DATA_PAGE46_LOCK0_R1_MSB    _u(15)
9687 #define OTP_DATA_PAGE46_LOCK0_R1_LSB    _u(8)
9688 #define OTP_DATA_PAGE46_LOCK0_R1_ACCESS "RO"
9689 // -----------------------------------------------------------------------------
9690 // Field       : OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE
9691 // Description : State when at least one key is registered for this page and no
9692 //               matching key has been entered.
9693 //               0x0 -> read_only
9694 //               0x1 -> inaccessible
9695 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_RESET  "-"
9696 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9697 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_MSB    _u(6)
9698 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_LSB    _u(6)
9699 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_ACCESS "RO"
9700 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
9701 #define OTP_DATA_PAGE46_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
9702 // -----------------------------------------------------------------------------
9703 // Field       : OTP_DATA_PAGE46_LOCK0_KEY_R
9704 // Description : Index 1-6 of a hardware key which must be entered to grant read
9705 //               access, or 0 if no such key is required.
9706 #define OTP_DATA_PAGE46_LOCK0_KEY_R_RESET  "-"
9707 #define OTP_DATA_PAGE46_LOCK0_KEY_R_BITS   _u(0x00000038)
9708 #define OTP_DATA_PAGE46_LOCK0_KEY_R_MSB    _u(5)
9709 #define OTP_DATA_PAGE46_LOCK0_KEY_R_LSB    _u(3)
9710 #define OTP_DATA_PAGE46_LOCK0_KEY_R_ACCESS "RO"
9711 // -----------------------------------------------------------------------------
9712 // Field       : OTP_DATA_PAGE46_LOCK0_KEY_W
9713 // Description : Index 1-6 of a hardware key which must be entered to grant
9714 //               write access, or 0 if no such key is required.
9715 #define OTP_DATA_PAGE46_LOCK0_KEY_W_RESET  "-"
9716 #define OTP_DATA_PAGE46_LOCK0_KEY_W_BITS   _u(0x00000007)
9717 #define OTP_DATA_PAGE46_LOCK0_KEY_W_MSB    _u(2)
9718 #define OTP_DATA_PAGE46_LOCK0_KEY_W_LSB    _u(0)
9719 #define OTP_DATA_PAGE46_LOCK0_KEY_W_ACCESS "RO"
9720 // =============================================================================
9721 // Register    : OTP_DATA_PAGE46_LOCK1
9722 // Description : Lock configuration MSBs for page 46 (rows 0xb80 through 0xbbf).
9723 //               Locks are stored with 3-way majority vote encoding, so that
9724 //               bits can be set independently.
9725 //
9726 //               This OTP location is always readable, and is write-protected by
9727 //               its own permissions.
9728 #define OTP_DATA_PAGE46_LOCK1_ROW _u(0x00000fdd)
9729 #define OTP_DATA_PAGE46_LOCK1_BITS   _u(0x00ffff3f)
9730 #define OTP_DATA_PAGE46_LOCK1_RESET  _u(0x00000000)
9731 #define OTP_DATA_PAGE46_LOCK1_WIDTH  _u(24)
9732 // -----------------------------------------------------------------------------
9733 // Field       : OTP_DATA_PAGE46_LOCK1_R2
9734 // Description : Redundant copy of bits 7:0
9735 #define OTP_DATA_PAGE46_LOCK1_R2_RESET  "-"
9736 #define OTP_DATA_PAGE46_LOCK1_R2_BITS   _u(0x00ff0000)
9737 #define OTP_DATA_PAGE46_LOCK1_R2_MSB    _u(23)
9738 #define OTP_DATA_PAGE46_LOCK1_R2_LSB    _u(16)
9739 #define OTP_DATA_PAGE46_LOCK1_R2_ACCESS "RO"
9740 // -----------------------------------------------------------------------------
9741 // Field       : OTP_DATA_PAGE46_LOCK1_R1
9742 // Description : Redundant copy of bits 7:0
9743 #define OTP_DATA_PAGE46_LOCK1_R1_RESET  "-"
9744 #define OTP_DATA_PAGE46_LOCK1_R1_BITS   _u(0x0000ff00)
9745 #define OTP_DATA_PAGE46_LOCK1_R1_MSB    _u(15)
9746 #define OTP_DATA_PAGE46_LOCK1_R1_LSB    _u(8)
9747 #define OTP_DATA_PAGE46_LOCK1_R1_ACCESS "RO"
9748 // -----------------------------------------------------------------------------
9749 // Field       : OTP_DATA_PAGE46_LOCK1_LOCK_BL
9750 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9751 //               USB bootloader) to store their own OTP access permissions. No
9752 //               hardware effect, and no corresponding SW_LOCKx registers.
9753 //               0x0 -> Bootloader permits user reads and writes to this page
9754 //               0x1 -> Bootloader permits user reads of this page
9755 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9756 //               0x3 -> Bootloader does not permit user access to this page
9757 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_RESET  "-"
9758 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9759 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_MSB    _u(5)
9760 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_LSB    _u(4)
9761 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_ACCESS "RO"
9762 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9763 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9764 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9765 #define OTP_DATA_PAGE46_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9766 // -----------------------------------------------------------------------------
9767 // Field       : OTP_DATA_PAGE46_LOCK1_LOCK_NS
9768 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9769 //               coded, so lock state can be advanced permanently from any state
9770 //               to any less-permissive state by programming OTP. Software can
9771 //               also advance the lock state temporarily (until next OTP reset)
9772 //               using the SW_LOCKx registers.
9773 //
9774 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9775 //               as the SBPI programming interface is not accessible to Non-
9776 //               secure software. However, Secure software may check these bits
9777 //               to apply write permissions to a Non-secure OTP programming API.
9778 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9779 //               0x1 -> Page can be read by Non-secure software
9780 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9781 //               0x3 -> Page can not be accessed by Non-secure software.
9782 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_RESET  "-"
9783 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9784 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_MSB    _u(3)
9785 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_LSB    _u(2)
9786 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_ACCESS "RO"
9787 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9788 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9789 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9790 #define OTP_DATA_PAGE46_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9791 // -----------------------------------------------------------------------------
9792 // Field       : OTP_DATA_PAGE46_LOCK1_LOCK_S
9793 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9794 //               so lock state can be advanced permanently from any state to any
9795 //               less-permissive state by programming OTP. Software can also
9796 //               advance the lock state temporarily (until next OTP reset) using
9797 //               the SW_LOCKx registers.
9798 //               0x0 -> Page is fully accessible by Secure software.
9799 //               0x1 -> Page can be read by Secure software, but can not be written.
9800 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9801 //               0x3 -> Page can not be accessed by Secure software.
9802 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_RESET  "-"
9803 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_BITS   _u(0x00000003)
9804 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_MSB    _u(1)
9805 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_LSB    _u(0)
9806 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_ACCESS "RO"
9807 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9808 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9809 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9810 #define OTP_DATA_PAGE46_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9811 // =============================================================================
9812 // Register    : OTP_DATA_PAGE47_LOCK0
9813 // Description : Lock configuration LSBs for page 47 (rows 0xbc0 through 0xbff).
9814 //               Locks are stored with 3-way majority vote encoding, so that
9815 //               bits can be set independently.
9816 //
9817 //               This OTP location is always readable, and is write-protected by
9818 //               its own permissions.
9819 #define OTP_DATA_PAGE47_LOCK0_ROW _u(0x00000fde)
9820 #define OTP_DATA_PAGE47_LOCK0_BITS   _u(0x00ffff7f)
9821 #define OTP_DATA_PAGE47_LOCK0_RESET  _u(0x00000000)
9822 #define OTP_DATA_PAGE47_LOCK0_WIDTH  _u(24)
9823 // -----------------------------------------------------------------------------
9824 // Field       : OTP_DATA_PAGE47_LOCK0_R2
9825 // Description : Redundant copy of bits 7:0
9826 #define OTP_DATA_PAGE47_LOCK0_R2_RESET  "-"
9827 #define OTP_DATA_PAGE47_LOCK0_R2_BITS   _u(0x00ff0000)
9828 #define OTP_DATA_PAGE47_LOCK0_R2_MSB    _u(23)
9829 #define OTP_DATA_PAGE47_LOCK0_R2_LSB    _u(16)
9830 #define OTP_DATA_PAGE47_LOCK0_R2_ACCESS "RO"
9831 // -----------------------------------------------------------------------------
9832 // Field       : OTP_DATA_PAGE47_LOCK0_R1
9833 // Description : Redundant copy of bits 7:0
9834 #define OTP_DATA_PAGE47_LOCK0_R1_RESET  "-"
9835 #define OTP_DATA_PAGE47_LOCK0_R1_BITS   _u(0x0000ff00)
9836 #define OTP_DATA_PAGE47_LOCK0_R1_MSB    _u(15)
9837 #define OTP_DATA_PAGE47_LOCK0_R1_LSB    _u(8)
9838 #define OTP_DATA_PAGE47_LOCK0_R1_ACCESS "RO"
9839 // -----------------------------------------------------------------------------
9840 // Field       : OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE
9841 // Description : State when at least one key is registered for this page and no
9842 //               matching key has been entered.
9843 //               0x0 -> read_only
9844 //               0x1 -> inaccessible
9845 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_RESET  "-"
9846 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9847 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_MSB    _u(6)
9848 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_LSB    _u(6)
9849 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_ACCESS "RO"
9850 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
9851 #define OTP_DATA_PAGE47_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
9852 // -----------------------------------------------------------------------------
9853 // Field       : OTP_DATA_PAGE47_LOCK0_KEY_R
9854 // Description : Index 1-6 of a hardware key which must be entered to grant read
9855 //               access, or 0 if no such key is required.
9856 #define OTP_DATA_PAGE47_LOCK0_KEY_R_RESET  "-"
9857 #define OTP_DATA_PAGE47_LOCK0_KEY_R_BITS   _u(0x00000038)
9858 #define OTP_DATA_PAGE47_LOCK0_KEY_R_MSB    _u(5)
9859 #define OTP_DATA_PAGE47_LOCK0_KEY_R_LSB    _u(3)
9860 #define OTP_DATA_PAGE47_LOCK0_KEY_R_ACCESS "RO"
9861 // -----------------------------------------------------------------------------
9862 // Field       : OTP_DATA_PAGE47_LOCK0_KEY_W
9863 // Description : Index 1-6 of a hardware key which must be entered to grant
9864 //               write access, or 0 if no such key is required.
9865 #define OTP_DATA_PAGE47_LOCK0_KEY_W_RESET  "-"
9866 #define OTP_DATA_PAGE47_LOCK0_KEY_W_BITS   _u(0x00000007)
9867 #define OTP_DATA_PAGE47_LOCK0_KEY_W_MSB    _u(2)
9868 #define OTP_DATA_PAGE47_LOCK0_KEY_W_LSB    _u(0)
9869 #define OTP_DATA_PAGE47_LOCK0_KEY_W_ACCESS "RO"
9870 // =============================================================================
9871 // Register    : OTP_DATA_PAGE47_LOCK1
9872 // Description : Lock configuration MSBs for page 47 (rows 0xbc0 through 0xbff).
9873 //               Locks are stored with 3-way majority vote encoding, so that
9874 //               bits can be set independently.
9875 //
9876 //               This OTP location is always readable, and is write-protected by
9877 //               its own permissions.
9878 #define OTP_DATA_PAGE47_LOCK1_ROW _u(0x00000fdf)
9879 #define OTP_DATA_PAGE47_LOCK1_BITS   _u(0x00ffff3f)
9880 #define OTP_DATA_PAGE47_LOCK1_RESET  _u(0x00000000)
9881 #define OTP_DATA_PAGE47_LOCK1_WIDTH  _u(24)
9882 // -----------------------------------------------------------------------------
9883 // Field       : OTP_DATA_PAGE47_LOCK1_R2
9884 // Description : Redundant copy of bits 7:0
9885 #define OTP_DATA_PAGE47_LOCK1_R2_RESET  "-"
9886 #define OTP_DATA_PAGE47_LOCK1_R2_BITS   _u(0x00ff0000)
9887 #define OTP_DATA_PAGE47_LOCK1_R2_MSB    _u(23)
9888 #define OTP_DATA_PAGE47_LOCK1_R2_LSB    _u(16)
9889 #define OTP_DATA_PAGE47_LOCK1_R2_ACCESS "RO"
9890 // -----------------------------------------------------------------------------
9891 // Field       : OTP_DATA_PAGE47_LOCK1_R1
9892 // Description : Redundant copy of bits 7:0
9893 #define OTP_DATA_PAGE47_LOCK1_R1_RESET  "-"
9894 #define OTP_DATA_PAGE47_LOCK1_R1_BITS   _u(0x0000ff00)
9895 #define OTP_DATA_PAGE47_LOCK1_R1_MSB    _u(15)
9896 #define OTP_DATA_PAGE47_LOCK1_R1_LSB    _u(8)
9897 #define OTP_DATA_PAGE47_LOCK1_R1_ACCESS "RO"
9898 // -----------------------------------------------------------------------------
9899 // Field       : OTP_DATA_PAGE47_LOCK1_LOCK_BL
9900 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
9901 //               USB bootloader) to store their own OTP access permissions. No
9902 //               hardware effect, and no corresponding SW_LOCKx registers.
9903 //               0x0 -> Bootloader permits user reads and writes to this page
9904 //               0x1 -> Bootloader permits user reads of this page
9905 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
9906 //               0x3 -> Bootloader does not permit user access to this page
9907 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_RESET  "-"
9908 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_BITS   _u(0x00000030)
9909 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_MSB    _u(5)
9910 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_LSB    _u(4)
9911 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_ACCESS "RO"
9912 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
9913 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
9914 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
9915 #define OTP_DATA_PAGE47_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
9916 // -----------------------------------------------------------------------------
9917 // Field       : OTP_DATA_PAGE47_LOCK1_LOCK_NS
9918 // Description : Lock state for Non-secure accesses to this page. Thermometer-
9919 //               coded, so lock state can be advanced permanently from any state
9920 //               to any less-permissive state by programming OTP. Software can
9921 //               also advance the lock state temporarily (until next OTP reset)
9922 //               using the SW_LOCKx registers.
9923 //
9924 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
9925 //               as the SBPI programming interface is not accessible to Non-
9926 //               secure software. However, Secure software may check these bits
9927 //               to apply write permissions to a Non-secure OTP programming API.
9928 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
9929 //               0x1 -> Page can be read by Non-secure software
9930 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9931 //               0x3 -> Page can not be accessed by Non-secure software.
9932 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_RESET  "-"
9933 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
9934 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_MSB    _u(3)
9935 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_LSB    _u(2)
9936 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_ACCESS "RO"
9937 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
9938 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
9939 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
9940 #define OTP_DATA_PAGE47_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
9941 // -----------------------------------------------------------------------------
9942 // Field       : OTP_DATA_PAGE47_LOCK1_LOCK_S
9943 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
9944 //               so lock state can be advanced permanently from any state to any
9945 //               less-permissive state by programming OTP. Software can also
9946 //               advance the lock state temporarily (until next OTP reset) using
9947 //               the SW_LOCKx registers.
9948 //               0x0 -> Page is fully accessible by Secure software.
9949 //               0x1 -> Page can be read by Secure software, but can not be written.
9950 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
9951 //               0x3 -> Page can not be accessed by Secure software.
9952 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_RESET  "-"
9953 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_BITS   _u(0x00000003)
9954 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_MSB    _u(1)
9955 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_LSB    _u(0)
9956 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_ACCESS "RO"
9957 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
9958 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
9959 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
9960 #define OTP_DATA_PAGE47_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
9961 // =============================================================================
9962 // Register    : OTP_DATA_PAGE48_LOCK0
9963 // Description : Lock configuration LSBs for page 48 (rows 0xc00 through 0xc3f).
9964 //               Locks are stored with 3-way majority vote encoding, so that
9965 //               bits can be set independently.
9966 //
9967 //               This OTP location is always readable, and is write-protected by
9968 //               its own permissions.
9969 #define OTP_DATA_PAGE48_LOCK0_ROW _u(0x00000fe0)
9970 #define OTP_DATA_PAGE48_LOCK0_BITS   _u(0x00ffff7f)
9971 #define OTP_DATA_PAGE48_LOCK0_RESET  _u(0x00000000)
9972 #define OTP_DATA_PAGE48_LOCK0_WIDTH  _u(24)
9973 // -----------------------------------------------------------------------------
9974 // Field       : OTP_DATA_PAGE48_LOCK0_R2
9975 // Description : Redundant copy of bits 7:0
9976 #define OTP_DATA_PAGE48_LOCK0_R2_RESET  "-"
9977 #define OTP_DATA_PAGE48_LOCK0_R2_BITS   _u(0x00ff0000)
9978 #define OTP_DATA_PAGE48_LOCK0_R2_MSB    _u(23)
9979 #define OTP_DATA_PAGE48_LOCK0_R2_LSB    _u(16)
9980 #define OTP_DATA_PAGE48_LOCK0_R2_ACCESS "RO"
9981 // -----------------------------------------------------------------------------
9982 // Field       : OTP_DATA_PAGE48_LOCK0_R1
9983 // Description : Redundant copy of bits 7:0
9984 #define OTP_DATA_PAGE48_LOCK0_R1_RESET  "-"
9985 #define OTP_DATA_PAGE48_LOCK0_R1_BITS   _u(0x0000ff00)
9986 #define OTP_DATA_PAGE48_LOCK0_R1_MSB    _u(15)
9987 #define OTP_DATA_PAGE48_LOCK0_R1_LSB    _u(8)
9988 #define OTP_DATA_PAGE48_LOCK0_R1_ACCESS "RO"
9989 // -----------------------------------------------------------------------------
9990 // Field       : OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE
9991 // Description : State when at least one key is registered for this page and no
9992 //               matching key has been entered.
9993 //               0x0 -> read_only
9994 //               0x1 -> inaccessible
9995 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_RESET  "-"
9996 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
9997 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_MSB    _u(6)
9998 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_LSB    _u(6)
9999 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_ACCESS "RO"
10000 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10001 #define OTP_DATA_PAGE48_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10002 // -----------------------------------------------------------------------------
10003 // Field       : OTP_DATA_PAGE48_LOCK0_KEY_R
10004 // Description : Index 1-6 of a hardware key which must be entered to grant read
10005 //               access, or 0 if no such key is required.
10006 #define OTP_DATA_PAGE48_LOCK0_KEY_R_RESET  "-"
10007 #define OTP_DATA_PAGE48_LOCK0_KEY_R_BITS   _u(0x00000038)
10008 #define OTP_DATA_PAGE48_LOCK0_KEY_R_MSB    _u(5)
10009 #define OTP_DATA_PAGE48_LOCK0_KEY_R_LSB    _u(3)
10010 #define OTP_DATA_PAGE48_LOCK0_KEY_R_ACCESS "RO"
10011 // -----------------------------------------------------------------------------
10012 // Field       : OTP_DATA_PAGE48_LOCK0_KEY_W
10013 // Description : Index 1-6 of a hardware key which must be entered to grant
10014 //               write access, or 0 if no such key is required.
10015 #define OTP_DATA_PAGE48_LOCK0_KEY_W_RESET  "-"
10016 #define OTP_DATA_PAGE48_LOCK0_KEY_W_BITS   _u(0x00000007)
10017 #define OTP_DATA_PAGE48_LOCK0_KEY_W_MSB    _u(2)
10018 #define OTP_DATA_PAGE48_LOCK0_KEY_W_LSB    _u(0)
10019 #define OTP_DATA_PAGE48_LOCK0_KEY_W_ACCESS "RO"
10020 // =============================================================================
10021 // Register    : OTP_DATA_PAGE48_LOCK1
10022 // Description : Lock configuration MSBs for page 48 (rows 0xc00 through 0xc3f).
10023 //               Locks are stored with 3-way majority vote encoding, so that
10024 //               bits can be set independently.
10025 //
10026 //               This OTP location is always readable, and is write-protected by
10027 //               its own permissions.
10028 #define OTP_DATA_PAGE48_LOCK1_ROW _u(0x00000fe1)
10029 #define OTP_DATA_PAGE48_LOCK1_BITS   _u(0x00ffff3f)
10030 #define OTP_DATA_PAGE48_LOCK1_RESET  _u(0x00000000)
10031 #define OTP_DATA_PAGE48_LOCK1_WIDTH  _u(24)
10032 // -----------------------------------------------------------------------------
10033 // Field       : OTP_DATA_PAGE48_LOCK1_R2
10034 // Description : Redundant copy of bits 7:0
10035 #define OTP_DATA_PAGE48_LOCK1_R2_RESET  "-"
10036 #define OTP_DATA_PAGE48_LOCK1_R2_BITS   _u(0x00ff0000)
10037 #define OTP_DATA_PAGE48_LOCK1_R2_MSB    _u(23)
10038 #define OTP_DATA_PAGE48_LOCK1_R2_LSB    _u(16)
10039 #define OTP_DATA_PAGE48_LOCK1_R2_ACCESS "RO"
10040 // -----------------------------------------------------------------------------
10041 // Field       : OTP_DATA_PAGE48_LOCK1_R1
10042 // Description : Redundant copy of bits 7:0
10043 #define OTP_DATA_PAGE48_LOCK1_R1_RESET  "-"
10044 #define OTP_DATA_PAGE48_LOCK1_R1_BITS   _u(0x0000ff00)
10045 #define OTP_DATA_PAGE48_LOCK1_R1_MSB    _u(15)
10046 #define OTP_DATA_PAGE48_LOCK1_R1_LSB    _u(8)
10047 #define OTP_DATA_PAGE48_LOCK1_R1_ACCESS "RO"
10048 // -----------------------------------------------------------------------------
10049 // Field       : OTP_DATA_PAGE48_LOCK1_LOCK_BL
10050 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10051 //               USB bootloader) to store their own OTP access permissions. No
10052 //               hardware effect, and no corresponding SW_LOCKx registers.
10053 //               0x0 -> Bootloader permits user reads and writes to this page
10054 //               0x1 -> Bootloader permits user reads of this page
10055 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10056 //               0x3 -> Bootloader does not permit user access to this page
10057 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_RESET  "-"
10058 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10059 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_MSB    _u(5)
10060 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_LSB    _u(4)
10061 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_ACCESS "RO"
10062 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10063 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10064 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10065 #define OTP_DATA_PAGE48_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10066 // -----------------------------------------------------------------------------
10067 // Field       : OTP_DATA_PAGE48_LOCK1_LOCK_NS
10068 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10069 //               coded, so lock state can be advanced permanently from any state
10070 //               to any less-permissive state by programming OTP. Software can
10071 //               also advance the lock state temporarily (until next OTP reset)
10072 //               using the SW_LOCKx registers.
10073 //
10074 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10075 //               as the SBPI programming interface is not accessible to Non-
10076 //               secure software. However, Secure software may check these bits
10077 //               to apply write permissions to a Non-secure OTP programming API.
10078 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10079 //               0x1 -> Page can be read by Non-secure software
10080 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10081 //               0x3 -> Page can not be accessed by Non-secure software.
10082 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_RESET  "-"
10083 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10084 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_MSB    _u(3)
10085 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_LSB    _u(2)
10086 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_ACCESS "RO"
10087 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10088 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10089 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10090 #define OTP_DATA_PAGE48_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10091 // -----------------------------------------------------------------------------
10092 // Field       : OTP_DATA_PAGE48_LOCK1_LOCK_S
10093 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10094 //               so lock state can be advanced permanently from any state to any
10095 //               less-permissive state by programming OTP. Software can also
10096 //               advance the lock state temporarily (until next OTP reset) using
10097 //               the SW_LOCKx registers.
10098 //               0x0 -> Page is fully accessible by Secure software.
10099 //               0x1 -> Page can be read by Secure software, but can not be written.
10100 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10101 //               0x3 -> Page can not be accessed by Secure software.
10102 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_RESET  "-"
10103 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_BITS   _u(0x00000003)
10104 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_MSB    _u(1)
10105 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_LSB    _u(0)
10106 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_ACCESS "RO"
10107 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
10108 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
10109 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
10110 #define OTP_DATA_PAGE48_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
10111 // =============================================================================
10112 // Register    : OTP_DATA_PAGE49_LOCK0
10113 // Description : Lock configuration LSBs for page 49 (rows 0xc40 through 0xc7f).
10114 //               Locks are stored with 3-way majority vote encoding, so that
10115 //               bits can be set independently.
10116 //
10117 //               This OTP location is always readable, and is write-protected by
10118 //               its own permissions.
10119 #define OTP_DATA_PAGE49_LOCK0_ROW _u(0x00000fe2)
10120 #define OTP_DATA_PAGE49_LOCK0_BITS   _u(0x00ffff7f)
10121 #define OTP_DATA_PAGE49_LOCK0_RESET  _u(0x00000000)
10122 #define OTP_DATA_PAGE49_LOCK0_WIDTH  _u(24)
10123 // -----------------------------------------------------------------------------
10124 // Field       : OTP_DATA_PAGE49_LOCK0_R2
10125 // Description : Redundant copy of bits 7:0
10126 #define OTP_DATA_PAGE49_LOCK0_R2_RESET  "-"
10127 #define OTP_DATA_PAGE49_LOCK0_R2_BITS   _u(0x00ff0000)
10128 #define OTP_DATA_PAGE49_LOCK0_R2_MSB    _u(23)
10129 #define OTP_DATA_PAGE49_LOCK0_R2_LSB    _u(16)
10130 #define OTP_DATA_PAGE49_LOCK0_R2_ACCESS "RO"
10131 // -----------------------------------------------------------------------------
10132 // Field       : OTP_DATA_PAGE49_LOCK0_R1
10133 // Description : Redundant copy of bits 7:0
10134 #define OTP_DATA_PAGE49_LOCK0_R1_RESET  "-"
10135 #define OTP_DATA_PAGE49_LOCK0_R1_BITS   _u(0x0000ff00)
10136 #define OTP_DATA_PAGE49_LOCK0_R1_MSB    _u(15)
10137 #define OTP_DATA_PAGE49_LOCK0_R1_LSB    _u(8)
10138 #define OTP_DATA_PAGE49_LOCK0_R1_ACCESS "RO"
10139 // -----------------------------------------------------------------------------
10140 // Field       : OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE
10141 // Description : State when at least one key is registered for this page and no
10142 //               matching key has been entered.
10143 //               0x0 -> read_only
10144 //               0x1 -> inaccessible
10145 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_RESET  "-"
10146 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
10147 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_MSB    _u(6)
10148 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_LSB    _u(6)
10149 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_ACCESS "RO"
10150 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10151 #define OTP_DATA_PAGE49_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10152 // -----------------------------------------------------------------------------
10153 // Field       : OTP_DATA_PAGE49_LOCK0_KEY_R
10154 // Description : Index 1-6 of a hardware key which must be entered to grant read
10155 //               access, or 0 if no such key is required.
10156 #define OTP_DATA_PAGE49_LOCK0_KEY_R_RESET  "-"
10157 #define OTP_DATA_PAGE49_LOCK0_KEY_R_BITS   _u(0x00000038)
10158 #define OTP_DATA_PAGE49_LOCK0_KEY_R_MSB    _u(5)
10159 #define OTP_DATA_PAGE49_LOCK0_KEY_R_LSB    _u(3)
10160 #define OTP_DATA_PAGE49_LOCK0_KEY_R_ACCESS "RO"
10161 // -----------------------------------------------------------------------------
10162 // Field       : OTP_DATA_PAGE49_LOCK0_KEY_W
10163 // Description : Index 1-6 of a hardware key which must be entered to grant
10164 //               write access, or 0 if no such key is required.
10165 #define OTP_DATA_PAGE49_LOCK0_KEY_W_RESET  "-"
10166 #define OTP_DATA_PAGE49_LOCK0_KEY_W_BITS   _u(0x00000007)
10167 #define OTP_DATA_PAGE49_LOCK0_KEY_W_MSB    _u(2)
10168 #define OTP_DATA_PAGE49_LOCK0_KEY_W_LSB    _u(0)
10169 #define OTP_DATA_PAGE49_LOCK0_KEY_W_ACCESS "RO"
10170 // =============================================================================
10171 // Register    : OTP_DATA_PAGE49_LOCK1
10172 // Description : Lock configuration MSBs for page 49 (rows 0xc40 through 0xc7f).
10173 //               Locks are stored with 3-way majority vote encoding, so that
10174 //               bits can be set independently.
10175 //
10176 //               This OTP location is always readable, and is write-protected by
10177 //               its own permissions.
10178 #define OTP_DATA_PAGE49_LOCK1_ROW _u(0x00000fe3)
10179 #define OTP_DATA_PAGE49_LOCK1_BITS   _u(0x00ffff3f)
10180 #define OTP_DATA_PAGE49_LOCK1_RESET  _u(0x00000000)
10181 #define OTP_DATA_PAGE49_LOCK1_WIDTH  _u(24)
10182 // -----------------------------------------------------------------------------
10183 // Field       : OTP_DATA_PAGE49_LOCK1_R2
10184 // Description : Redundant copy of bits 7:0
10185 #define OTP_DATA_PAGE49_LOCK1_R2_RESET  "-"
10186 #define OTP_DATA_PAGE49_LOCK1_R2_BITS   _u(0x00ff0000)
10187 #define OTP_DATA_PAGE49_LOCK1_R2_MSB    _u(23)
10188 #define OTP_DATA_PAGE49_LOCK1_R2_LSB    _u(16)
10189 #define OTP_DATA_PAGE49_LOCK1_R2_ACCESS "RO"
10190 // -----------------------------------------------------------------------------
10191 // Field       : OTP_DATA_PAGE49_LOCK1_R1
10192 // Description : Redundant copy of bits 7:0
10193 #define OTP_DATA_PAGE49_LOCK1_R1_RESET  "-"
10194 #define OTP_DATA_PAGE49_LOCK1_R1_BITS   _u(0x0000ff00)
10195 #define OTP_DATA_PAGE49_LOCK1_R1_MSB    _u(15)
10196 #define OTP_DATA_PAGE49_LOCK1_R1_LSB    _u(8)
10197 #define OTP_DATA_PAGE49_LOCK1_R1_ACCESS "RO"
10198 // -----------------------------------------------------------------------------
10199 // Field       : OTP_DATA_PAGE49_LOCK1_LOCK_BL
10200 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10201 //               USB bootloader) to store their own OTP access permissions. No
10202 //               hardware effect, and no corresponding SW_LOCKx registers.
10203 //               0x0 -> Bootloader permits user reads and writes to this page
10204 //               0x1 -> Bootloader permits user reads of this page
10205 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10206 //               0x3 -> Bootloader does not permit user access to this page
10207 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_RESET  "-"
10208 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10209 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_MSB    _u(5)
10210 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_LSB    _u(4)
10211 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_ACCESS "RO"
10212 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10213 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10214 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10215 #define OTP_DATA_PAGE49_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10216 // -----------------------------------------------------------------------------
10217 // Field       : OTP_DATA_PAGE49_LOCK1_LOCK_NS
10218 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10219 //               coded, so lock state can be advanced permanently from any state
10220 //               to any less-permissive state by programming OTP. Software can
10221 //               also advance the lock state temporarily (until next OTP reset)
10222 //               using the SW_LOCKx registers.
10223 //
10224 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10225 //               as the SBPI programming interface is not accessible to Non-
10226 //               secure software. However, Secure software may check these bits
10227 //               to apply write permissions to a Non-secure OTP programming API.
10228 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10229 //               0x1 -> Page can be read by Non-secure software
10230 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10231 //               0x3 -> Page can not be accessed by Non-secure software.
10232 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_RESET  "-"
10233 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10234 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_MSB    _u(3)
10235 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_LSB    _u(2)
10236 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_ACCESS "RO"
10237 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10238 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10239 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10240 #define OTP_DATA_PAGE49_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10241 // -----------------------------------------------------------------------------
10242 // Field       : OTP_DATA_PAGE49_LOCK1_LOCK_S
10243 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10244 //               so lock state can be advanced permanently from any state to any
10245 //               less-permissive state by programming OTP. Software can also
10246 //               advance the lock state temporarily (until next OTP reset) using
10247 //               the SW_LOCKx registers.
10248 //               0x0 -> Page is fully accessible by Secure software.
10249 //               0x1 -> Page can be read by Secure software, but can not be written.
10250 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10251 //               0x3 -> Page can not be accessed by Secure software.
10252 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_RESET  "-"
10253 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_BITS   _u(0x00000003)
10254 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_MSB    _u(1)
10255 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_LSB    _u(0)
10256 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_ACCESS "RO"
10257 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
10258 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
10259 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
10260 #define OTP_DATA_PAGE49_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
10261 // =============================================================================
10262 // Register    : OTP_DATA_PAGE50_LOCK0
10263 // Description : Lock configuration LSBs for page 50 (rows 0xc80 through 0xcbf).
10264 //               Locks are stored with 3-way majority vote encoding, so that
10265 //               bits can be set independently.
10266 //
10267 //               This OTP location is always readable, and is write-protected by
10268 //               its own permissions.
10269 #define OTP_DATA_PAGE50_LOCK0_ROW _u(0x00000fe4)
10270 #define OTP_DATA_PAGE50_LOCK0_BITS   _u(0x00ffff7f)
10271 #define OTP_DATA_PAGE50_LOCK0_RESET  _u(0x00000000)
10272 #define OTP_DATA_PAGE50_LOCK0_WIDTH  _u(24)
10273 // -----------------------------------------------------------------------------
10274 // Field       : OTP_DATA_PAGE50_LOCK0_R2
10275 // Description : Redundant copy of bits 7:0
10276 #define OTP_DATA_PAGE50_LOCK0_R2_RESET  "-"
10277 #define OTP_DATA_PAGE50_LOCK0_R2_BITS   _u(0x00ff0000)
10278 #define OTP_DATA_PAGE50_LOCK0_R2_MSB    _u(23)
10279 #define OTP_DATA_PAGE50_LOCK0_R2_LSB    _u(16)
10280 #define OTP_DATA_PAGE50_LOCK0_R2_ACCESS "RO"
10281 // -----------------------------------------------------------------------------
10282 // Field       : OTP_DATA_PAGE50_LOCK0_R1
10283 // Description : Redundant copy of bits 7:0
10284 #define OTP_DATA_PAGE50_LOCK0_R1_RESET  "-"
10285 #define OTP_DATA_PAGE50_LOCK0_R1_BITS   _u(0x0000ff00)
10286 #define OTP_DATA_PAGE50_LOCK0_R1_MSB    _u(15)
10287 #define OTP_DATA_PAGE50_LOCK0_R1_LSB    _u(8)
10288 #define OTP_DATA_PAGE50_LOCK0_R1_ACCESS "RO"
10289 // -----------------------------------------------------------------------------
10290 // Field       : OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE
10291 // Description : State when at least one key is registered for this page and no
10292 //               matching key has been entered.
10293 //               0x0 -> read_only
10294 //               0x1 -> inaccessible
10295 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_RESET  "-"
10296 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
10297 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_MSB    _u(6)
10298 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_LSB    _u(6)
10299 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_ACCESS "RO"
10300 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10301 #define OTP_DATA_PAGE50_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10302 // -----------------------------------------------------------------------------
10303 // Field       : OTP_DATA_PAGE50_LOCK0_KEY_R
10304 // Description : Index 1-6 of a hardware key which must be entered to grant read
10305 //               access, or 0 if no such key is required.
10306 #define OTP_DATA_PAGE50_LOCK0_KEY_R_RESET  "-"
10307 #define OTP_DATA_PAGE50_LOCK0_KEY_R_BITS   _u(0x00000038)
10308 #define OTP_DATA_PAGE50_LOCK0_KEY_R_MSB    _u(5)
10309 #define OTP_DATA_PAGE50_LOCK0_KEY_R_LSB    _u(3)
10310 #define OTP_DATA_PAGE50_LOCK0_KEY_R_ACCESS "RO"
10311 // -----------------------------------------------------------------------------
10312 // Field       : OTP_DATA_PAGE50_LOCK0_KEY_W
10313 // Description : Index 1-6 of a hardware key which must be entered to grant
10314 //               write access, or 0 if no such key is required.
10315 #define OTP_DATA_PAGE50_LOCK0_KEY_W_RESET  "-"
10316 #define OTP_DATA_PAGE50_LOCK0_KEY_W_BITS   _u(0x00000007)
10317 #define OTP_DATA_PAGE50_LOCK0_KEY_W_MSB    _u(2)
10318 #define OTP_DATA_PAGE50_LOCK0_KEY_W_LSB    _u(0)
10319 #define OTP_DATA_PAGE50_LOCK0_KEY_W_ACCESS "RO"
10320 // =============================================================================
10321 // Register    : OTP_DATA_PAGE50_LOCK1
10322 // Description : Lock configuration MSBs for page 50 (rows 0xc80 through 0xcbf).
10323 //               Locks are stored with 3-way majority vote encoding, so that
10324 //               bits can be set independently.
10325 //
10326 //               This OTP location is always readable, and is write-protected by
10327 //               its own permissions.
10328 #define OTP_DATA_PAGE50_LOCK1_ROW _u(0x00000fe5)
10329 #define OTP_DATA_PAGE50_LOCK1_BITS   _u(0x00ffff3f)
10330 #define OTP_DATA_PAGE50_LOCK1_RESET  _u(0x00000000)
10331 #define OTP_DATA_PAGE50_LOCK1_WIDTH  _u(24)
10332 // -----------------------------------------------------------------------------
10333 // Field       : OTP_DATA_PAGE50_LOCK1_R2
10334 // Description : Redundant copy of bits 7:0
10335 #define OTP_DATA_PAGE50_LOCK1_R2_RESET  "-"
10336 #define OTP_DATA_PAGE50_LOCK1_R2_BITS   _u(0x00ff0000)
10337 #define OTP_DATA_PAGE50_LOCK1_R2_MSB    _u(23)
10338 #define OTP_DATA_PAGE50_LOCK1_R2_LSB    _u(16)
10339 #define OTP_DATA_PAGE50_LOCK1_R2_ACCESS "RO"
10340 // -----------------------------------------------------------------------------
10341 // Field       : OTP_DATA_PAGE50_LOCK1_R1
10342 // Description : Redundant copy of bits 7:0
10343 #define OTP_DATA_PAGE50_LOCK1_R1_RESET  "-"
10344 #define OTP_DATA_PAGE50_LOCK1_R1_BITS   _u(0x0000ff00)
10345 #define OTP_DATA_PAGE50_LOCK1_R1_MSB    _u(15)
10346 #define OTP_DATA_PAGE50_LOCK1_R1_LSB    _u(8)
10347 #define OTP_DATA_PAGE50_LOCK1_R1_ACCESS "RO"
10348 // -----------------------------------------------------------------------------
10349 // Field       : OTP_DATA_PAGE50_LOCK1_LOCK_BL
10350 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10351 //               USB bootloader) to store their own OTP access permissions. No
10352 //               hardware effect, and no corresponding SW_LOCKx registers.
10353 //               0x0 -> Bootloader permits user reads and writes to this page
10354 //               0x1 -> Bootloader permits user reads of this page
10355 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10356 //               0x3 -> Bootloader does not permit user access to this page
10357 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_RESET  "-"
10358 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10359 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_MSB    _u(5)
10360 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_LSB    _u(4)
10361 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_ACCESS "RO"
10362 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10363 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10364 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10365 #define OTP_DATA_PAGE50_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10366 // -----------------------------------------------------------------------------
10367 // Field       : OTP_DATA_PAGE50_LOCK1_LOCK_NS
10368 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10369 //               coded, so lock state can be advanced permanently from any state
10370 //               to any less-permissive state by programming OTP. Software can
10371 //               also advance the lock state temporarily (until next OTP reset)
10372 //               using the SW_LOCKx registers.
10373 //
10374 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10375 //               as the SBPI programming interface is not accessible to Non-
10376 //               secure software. However, Secure software may check these bits
10377 //               to apply write permissions to a Non-secure OTP programming API.
10378 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10379 //               0x1 -> Page can be read by Non-secure software
10380 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10381 //               0x3 -> Page can not be accessed by Non-secure software.
10382 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_RESET  "-"
10383 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10384 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_MSB    _u(3)
10385 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_LSB    _u(2)
10386 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_ACCESS "RO"
10387 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10388 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10389 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10390 #define OTP_DATA_PAGE50_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10391 // -----------------------------------------------------------------------------
10392 // Field       : OTP_DATA_PAGE50_LOCK1_LOCK_S
10393 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10394 //               so lock state can be advanced permanently from any state to any
10395 //               less-permissive state by programming OTP. Software can also
10396 //               advance the lock state temporarily (until next OTP reset) using
10397 //               the SW_LOCKx registers.
10398 //               0x0 -> Page is fully accessible by Secure software.
10399 //               0x1 -> Page can be read by Secure software, but can not be written.
10400 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10401 //               0x3 -> Page can not be accessed by Secure software.
10402 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_RESET  "-"
10403 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_BITS   _u(0x00000003)
10404 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_MSB    _u(1)
10405 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_LSB    _u(0)
10406 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_ACCESS "RO"
10407 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
10408 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
10409 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
10410 #define OTP_DATA_PAGE50_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
10411 // =============================================================================
10412 // Register    : OTP_DATA_PAGE51_LOCK0
10413 // Description : Lock configuration LSBs for page 51 (rows 0xcc0 through 0xcff).
10414 //               Locks are stored with 3-way majority vote encoding, so that
10415 //               bits can be set independently.
10416 //
10417 //               This OTP location is always readable, and is write-protected by
10418 //               its own permissions.
10419 #define OTP_DATA_PAGE51_LOCK0_ROW _u(0x00000fe6)
10420 #define OTP_DATA_PAGE51_LOCK0_BITS   _u(0x00ffff7f)
10421 #define OTP_DATA_PAGE51_LOCK0_RESET  _u(0x00000000)
10422 #define OTP_DATA_PAGE51_LOCK0_WIDTH  _u(24)
10423 // -----------------------------------------------------------------------------
10424 // Field       : OTP_DATA_PAGE51_LOCK0_R2
10425 // Description : Redundant copy of bits 7:0
10426 #define OTP_DATA_PAGE51_LOCK0_R2_RESET  "-"
10427 #define OTP_DATA_PAGE51_LOCK0_R2_BITS   _u(0x00ff0000)
10428 #define OTP_DATA_PAGE51_LOCK0_R2_MSB    _u(23)
10429 #define OTP_DATA_PAGE51_LOCK0_R2_LSB    _u(16)
10430 #define OTP_DATA_PAGE51_LOCK0_R2_ACCESS "RO"
10431 // -----------------------------------------------------------------------------
10432 // Field       : OTP_DATA_PAGE51_LOCK0_R1
10433 // Description : Redundant copy of bits 7:0
10434 #define OTP_DATA_PAGE51_LOCK0_R1_RESET  "-"
10435 #define OTP_DATA_PAGE51_LOCK0_R1_BITS   _u(0x0000ff00)
10436 #define OTP_DATA_PAGE51_LOCK0_R1_MSB    _u(15)
10437 #define OTP_DATA_PAGE51_LOCK0_R1_LSB    _u(8)
10438 #define OTP_DATA_PAGE51_LOCK0_R1_ACCESS "RO"
10439 // -----------------------------------------------------------------------------
10440 // Field       : OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE
10441 // Description : State when at least one key is registered for this page and no
10442 //               matching key has been entered.
10443 //               0x0 -> read_only
10444 //               0x1 -> inaccessible
10445 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_RESET  "-"
10446 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
10447 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_MSB    _u(6)
10448 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_LSB    _u(6)
10449 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_ACCESS "RO"
10450 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10451 #define OTP_DATA_PAGE51_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10452 // -----------------------------------------------------------------------------
10453 // Field       : OTP_DATA_PAGE51_LOCK0_KEY_R
10454 // Description : Index 1-6 of a hardware key which must be entered to grant read
10455 //               access, or 0 if no such key is required.
10456 #define OTP_DATA_PAGE51_LOCK0_KEY_R_RESET  "-"
10457 #define OTP_DATA_PAGE51_LOCK0_KEY_R_BITS   _u(0x00000038)
10458 #define OTP_DATA_PAGE51_LOCK0_KEY_R_MSB    _u(5)
10459 #define OTP_DATA_PAGE51_LOCK0_KEY_R_LSB    _u(3)
10460 #define OTP_DATA_PAGE51_LOCK0_KEY_R_ACCESS "RO"
10461 // -----------------------------------------------------------------------------
10462 // Field       : OTP_DATA_PAGE51_LOCK0_KEY_W
10463 // Description : Index 1-6 of a hardware key which must be entered to grant
10464 //               write access, or 0 if no such key is required.
10465 #define OTP_DATA_PAGE51_LOCK0_KEY_W_RESET  "-"
10466 #define OTP_DATA_PAGE51_LOCK0_KEY_W_BITS   _u(0x00000007)
10467 #define OTP_DATA_PAGE51_LOCK0_KEY_W_MSB    _u(2)
10468 #define OTP_DATA_PAGE51_LOCK0_KEY_W_LSB    _u(0)
10469 #define OTP_DATA_PAGE51_LOCK0_KEY_W_ACCESS "RO"
10470 // =============================================================================
10471 // Register    : OTP_DATA_PAGE51_LOCK1
10472 // Description : Lock configuration MSBs for page 51 (rows 0xcc0 through 0xcff).
10473 //               Locks are stored with 3-way majority vote encoding, so that
10474 //               bits can be set independently.
10475 //
10476 //               This OTP location is always readable, and is write-protected by
10477 //               its own permissions.
10478 #define OTP_DATA_PAGE51_LOCK1_ROW _u(0x00000fe7)
10479 #define OTP_DATA_PAGE51_LOCK1_BITS   _u(0x00ffff3f)
10480 #define OTP_DATA_PAGE51_LOCK1_RESET  _u(0x00000000)
10481 #define OTP_DATA_PAGE51_LOCK1_WIDTH  _u(24)
10482 // -----------------------------------------------------------------------------
10483 // Field       : OTP_DATA_PAGE51_LOCK1_R2
10484 // Description : Redundant copy of bits 7:0
10485 #define OTP_DATA_PAGE51_LOCK1_R2_RESET  "-"
10486 #define OTP_DATA_PAGE51_LOCK1_R2_BITS   _u(0x00ff0000)
10487 #define OTP_DATA_PAGE51_LOCK1_R2_MSB    _u(23)
10488 #define OTP_DATA_PAGE51_LOCK1_R2_LSB    _u(16)
10489 #define OTP_DATA_PAGE51_LOCK1_R2_ACCESS "RO"
10490 // -----------------------------------------------------------------------------
10491 // Field       : OTP_DATA_PAGE51_LOCK1_R1
10492 // Description : Redundant copy of bits 7:0
10493 #define OTP_DATA_PAGE51_LOCK1_R1_RESET  "-"
10494 #define OTP_DATA_PAGE51_LOCK1_R1_BITS   _u(0x0000ff00)
10495 #define OTP_DATA_PAGE51_LOCK1_R1_MSB    _u(15)
10496 #define OTP_DATA_PAGE51_LOCK1_R1_LSB    _u(8)
10497 #define OTP_DATA_PAGE51_LOCK1_R1_ACCESS "RO"
10498 // -----------------------------------------------------------------------------
10499 // Field       : OTP_DATA_PAGE51_LOCK1_LOCK_BL
10500 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10501 //               USB bootloader) to store their own OTP access permissions. No
10502 //               hardware effect, and no corresponding SW_LOCKx registers.
10503 //               0x0 -> Bootloader permits user reads and writes to this page
10504 //               0x1 -> Bootloader permits user reads of this page
10505 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10506 //               0x3 -> Bootloader does not permit user access to this page
10507 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_RESET  "-"
10508 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10509 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_MSB    _u(5)
10510 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_LSB    _u(4)
10511 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_ACCESS "RO"
10512 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10513 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10514 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10515 #define OTP_DATA_PAGE51_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10516 // -----------------------------------------------------------------------------
10517 // Field       : OTP_DATA_PAGE51_LOCK1_LOCK_NS
10518 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10519 //               coded, so lock state can be advanced permanently from any state
10520 //               to any less-permissive state by programming OTP. Software can
10521 //               also advance the lock state temporarily (until next OTP reset)
10522 //               using the SW_LOCKx registers.
10523 //
10524 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10525 //               as the SBPI programming interface is not accessible to Non-
10526 //               secure software. However, Secure software may check these bits
10527 //               to apply write permissions to a Non-secure OTP programming API.
10528 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10529 //               0x1 -> Page can be read by Non-secure software
10530 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10531 //               0x3 -> Page can not be accessed by Non-secure software.
10532 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_RESET  "-"
10533 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10534 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_MSB    _u(3)
10535 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_LSB    _u(2)
10536 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_ACCESS "RO"
10537 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10538 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10539 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10540 #define OTP_DATA_PAGE51_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10541 // -----------------------------------------------------------------------------
10542 // Field       : OTP_DATA_PAGE51_LOCK1_LOCK_S
10543 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10544 //               so lock state can be advanced permanently from any state to any
10545 //               less-permissive state by programming OTP. Software can also
10546 //               advance the lock state temporarily (until next OTP reset) using
10547 //               the SW_LOCKx registers.
10548 //               0x0 -> Page is fully accessible by Secure software.
10549 //               0x1 -> Page can be read by Secure software, but can not be written.
10550 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10551 //               0x3 -> Page can not be accessed by Secure software.
10552 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_RESET  "-"
10553 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_BITS   _u(0x00000003)
10554 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_MSB    _u(1)
10555 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_LSB    _u(0)
10556 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_ACCESS "RO"
10557 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
10558 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
10559 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
10560 #define OTP_DATA_PAGE51_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
10561 // =============================================================================
10562 // Register    : OTP_DATA_PAGE52_LOCK0
10563 // Description : Lock configuration LSBs for page 52 (rows 0xd00 through 0xd3f).
10564 //               Locks are stored with 3-way majority vote encoding, so that
10565 //               bits can be set independently.
10566 //
10567 //               This OTP location is always readable, and is write-protected by
10568 //               its own permissions.
10569 #define OTP_DATA_PAGE52_LOCK0_ROW _u(0x00000fe8)
10570 #define OTP_DATA_PAGE52_LOCK0_BITS   _u(0x00ffff7f)
10571 #define OTP_DATA_PAGE52_LOCK0_RESET  _u(0x00000000)
10572 #define OTP_DATA_PAGE52_LOCK0_WIDTH  _u(24)
10573 // -----------------------------------------------------------------------------
10574 // Field       : OTP_DATA_PAGE52_LOCK0_R2
10575 // Description : Redundant copy of bits 7:0
10576 #define OTP_DATA_PAGE52_LOCK0_R2_RESET  "-"
10577 #define OTP_DATA_PAGE52_LOCK0_R2_BITS   _u(0x00ff0000)
10578 #define OTP_DATA_PAGE52_LOCK0_R2_MSB    _u(23)
10579 #define OTP_DATA_PAGE52_LOCK0_R2_LSB    _u(16)
10580 #define OTP_DATA_PAGE52_LOCK0_R2_ACCESS "RO"
10581 // -----------------------------------------------------------------------------
10582 // Field       : OTP_DATA_PAGE52_LOCK0_R1
10583 // Description : Redundant copy of bits 7:0
10584 #define OTP_DATA_PAGE52_LOCK0_R1_RESET  "-"
10585 #define OTP_DATA_PAGE52_LOCK0_R1_BITS   _u(0x0000ff00)
10586 #define OTP_DATA_PAGE52_LOCK0_R1_MSB    _u(15)
10587 #define OTP_DATA_PAGE52_LOCK0_R1_LSB    _u(8)
10588 #define OTP_DATA_PAGE52_LOCK0_R1_ACCESS "RO"
10589 // -----------------------------------------------------------------------------
10590 // Field       : OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE
10591 // Description : State when at least one key is registered for this page and no
10592 //               matching key has been entered.
10593 //               0x0 -> read_only
10594 //               0x1 -> inaccessible
10595 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_RESET  "-"
10596 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
10597 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_MSB    _u(6)
10598 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_LSB    _u(6)
10599 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_ACCESS "RO"
10600 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10601 #define OTP_DATA_PAGE52_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10602 // -----------------------------------------------------------------------------
10603 // Field       : OTP_DATA_PAGE52_LOCK0_KEY_R
10604 // Description : Index 1-6 of a hardware key which must be entered to grant read
10605 //               access, or 0 if no such key is required.
10606 #define OTP_DATA_PAGE52_LOCK0_KEY_R_RESET  "-"
10607 #define OTP_DATA_PAGE52_LOCK0_KEY_R_BITS   _u(0x00000038)
10608 #define OTP_DATA_PAGE52_LOCK0_KEY_R_MSB    _u(5)
10609 #define OTP_DATA_PAGE52_LOCK0_KEY_R_LSB    _u(3)
10610 #define OTP_DATA_PAGE52_LOCK0_KEY_R_ACCESS "RO"
10611 // -----------------------------------------------------------------------------
10612 // Field       : OTP_DATA_PAGE52_LOCK0_KEY_W
10613 // Description : Index 1-6 of a hardware key which must be entered to grant
10614 //               write access, or 0 if no such key is required.
10615 #define OTP_DATA_PAGE52_LOCK0_KEY_W_RESET  "-"
10616 #define OTP_DATA_PAGE52_LOCK0_KEY_W_BITS   _u(0x00000007)
10617 #define OTP_DATA_PAGE52_LOCK0_KEY_W_MSB    _u(2)
10618 #define OTP_DATA_PAGE52_LOCK0_KEY_W_LSB    _u(0)
10619 #define OTP_DATA_PAGE52_LOCK0_KEY_W_ACCESS "RO"
10620 // =============================================================================
10621 // Register    : OTP_DATA_PAGE52_LOCK1
10622 // Description : Lock configuration MSBs for page 52 (rows 0xd00 through 0xd3f).
10623 //               Locks are stored with 3-way majority vote encoding, so that
10624 //               bits can be set independently.
10625 //
10626 //               This OTP location is always readable, and is write-protected by
10627 //               its own permissions.
10628 #define OTP_DATA_PAGE52_LOCK1_ROW _u(0x00000fe9)
10629 #define OTP_DATA_PAGE52_LOCK1_BITS   _u(0x00ffff3f)
10630 #define OTP_DATA_PAGE52_LOCK1_RESET  _u(0x00000000)
10631 #define OTP_DATA_PAGE52_LOCK1_WIDTH  _u(24)
10632 // -----------------------------------------------------------------------------
10633 // Field       : OTP_DATA_PAGE52_LOCK1_R2
10634 // Description : Redundant copy of bits 7:0
10635 #define OTP_DATA_PAGE52_LOCK1_R2_RESET  "-"
10636 #define OTP_DATA_PAGE52_LOCK1_R2_BITS   _u(0x00ff0000)
10637 #define OTP_DATA_PAGE52_LOCK1_R2_MSB    _u(23)
10638 #define OTP_DATA_PAGE52_LOCK1_R2_LSB    _u(16)
10639 #define OTP_DATA_PAGE52_LOCK1_R2_ACCESS "RO"
10640 // -----------------------------------------------------------------------------
10641 // Field       : OTP_DATA_PAGE52_LOCK1_R1
10642 // Description : Redundant copy of bits 7:0
10643 #define OTP_DATA_PAGE52_LOCK1_R1_RESET  "-"
10644 #define OTP_DATA_PAGE52_LOCK1_R1_BITS   _u(0x0000ff00)
10645 #define OTP_DATA_PAGE52_LOCK1_R1_MSB    _u(15)
10646 #define OTP_DATA_PAGE52_LOCK1_R1_LSB    _u(8)
10647 #define OTP_DATA_PAGE52_LOCK1_R1_ACCESS "RO"
10648 // -----------------------------------------------------------------------------
10649 // Field       : OTP_DATA_PAGE52_LOCK1_LOCK_BL
10650 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10651 //               USB bootloader) to store their own OTP access permissions. No
10652 //               hardware effect, and no corresponding SW_LOCKx registers.
10653 //               0x0 -> Bootloader permits user reads and writes to this page
10654 //               0x1 -> Bootloader permits user reads of this page
10655 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10656 //               0x3 -> Bootloader does not permit user access to this page
10657 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_RESET  "-"
10658 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10659 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_MSB    _u(5)
10660 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_LSB    _u(4)
10661 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_ACCESS "RO"
10662 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10663 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10664 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10665 #define OTP_DATA_PAGE52_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10666 // -----------------------------------------------------------------------------
10667 // Field       : OTP_DATA_PAGE52_LOCK1_LOCK_NS
10668 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10669 //               coded, so lock state can be advanced permanently from any state
10670 //               to any less-permissive state by programming OTP. Software can
10671 //               also advance the lock state temporarily (until next OTP reset)
10672 //               using the SW_LOCKx registers.
10673 //
10674 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10675 //               as the SBPI programming interface is not accessible to Non-
10676 //               secure software. However, Secure software may check these bits
10677 //               to apply write permissions to a Non-secure OTP programming API.
10678 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10679 //               0x1 -> Page can be read by Non-secure software
10680 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10681 //               0x3 -> Page can not be accessed by Non-secure software.
10682 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_RESET  "-"
10683 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10684 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_MSB    _u(3)
10685 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_LSB    _u(2)
10686 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_ACCESS "RO"
10687 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10688 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10689 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10690 #define OTP_DATA_PAGE52_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10691 // -----------------------------------------------------------------------------
10692 // Field       : OTP_DATA_PAGE52_LOCK1_LOCK_S
10693 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10694 //               so lock state can be advanced permanently from any state to any
10695 //               less-permissive state by programming OTP. Software can also
10696 //               advance the lock state temporarily (until next OTP reset) using
10697 //               the SW_LOCKx registers.
10698 //               0x0 -> Page is fully accessible by Secure software.
10699 //               0x1 -> Page can be read by Secure software, but can not be written.
10700 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10701 //               0x3 -> Page can not be accessed by Secure software.
10702 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_RESET  "-"
10703 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_BITS   _u(0x00000003)
10704 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_MSB    _u(1)
10705 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_LSB    _u(0)
10706 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_ACCESS "RO"
10707 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
10708 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
10709 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
10710 #define OTP_DATA_PAGE52_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
10711 // =============================================================================
10712 // Register    : OTP_DATA_PAGE53_LOCK0
10713 // Description : Lock configuration LSBs for page 53 (rows 0xd40 through 0xd7f).
10714 //               Locks are stored with 3-way majority vote encoding, so that
10715 //               bits can be set independently.
10716 //
10717 //               This OTP location is always readable, and is write-protected by
10718 //               its own permissions.
10719 #define OTP_DATA_PAGE53_LOCK0_ROW _u(0x00000fea)
10720 #define OTP_DATA_PAGE53_LOCK0_BITS   _u(0x00ffff7f)
10721 #define OTP_DATA_PAGE53_LOCK0_RESET  _u(0x00000000)
10722 #define OTP_DATA_PAGE53_LOCK0_WIDTH  _u(24)
10723 // -----------------------------------------------------------------------------
10724 // Field       : OTP_DATA_PAGE53_LOCK0_R2
10725 // Description : Redundant copy of bits 7:0
10726 #define OTP_DATA_PAGE53_LOCK0_R2_RESET  "-"
10727 #define OTP_DATA_PAGE53_LOCK0_R2_BITS   _u(0x00ff0000)
10728 #define OTP_DATA_PAGE53_LOCK0_R2_MSB    _u(23)
10729 #define OTP_DATA_PAGE53_LOCK0_R2_LSB    _u(16)
10730 #define OTP_DATA_PAGE53_LOCK0_R2_ACCESS "RO"
10731 // -----------------------------------------------------------------------------
10732 // Field       : OTP_DATA_PAGE53_LOCK0_R1
10733 // Description : Redundant copy of bits 7:0
10734 #define OTP_DATA_PAGE53_LOCK0_R1_RESET  "-"
10735 #define OTP_DATA_PAGE53_LOCK0_R1_BITS   _u(0x0000ff00)
10736 #define OTP_DATA_PAGE53_LOCK0_R1_MSB    _u(15)
10737 #define OTP_DATA_PAGE53_LOCK0_R1_LSB    _u(8)
10738 #define OTP_DATA_PAGE53_LOCK0_R1_ACCESS "RO"
10739 // -----------------------------------------------------------------------------
10740 // Field       : OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE
10741 // Description : State when at least one key is registered for this page and no
10742 //               matching key has been entered.
10743 //               0x0 -> read_only
10744 //               0x1 -> inaccessible
10745 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_RESET  "-"
10746 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
10747 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_MSB    _u(6)
10748 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_LSB    _u(6)
10749 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_ACCESS "RO"
10750 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10751 #define OTP_DATA_PAGE53_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10752 // -----------------------------------------------------------------------------
10753 // Field       : OTP_DATA_PAGE53_LOCK0_KEY_R
10754 // Description : Index 1-6 of a hardware key which must be entered to grant read
10755 //               access, or 0 if no such key is required.
10756 #define OTP_DATA_PAGE53_LOCK0_KEY_R_RESET  "-"
10757 #define OTP_DATA_PAGE53_LOCK0_KEY_R_BITS   _u(0x00000038)
10758 #define OTP_DATA_PAGE53_LOCK0_KEY_R_MSB    _u(5)
10759 #define OTP_DATA_PAGE53_LOCK0_KEY_R_LSB    _u(3)
10760 #define OTP_DATA_PAGE53_LOCK0_KEY_R_ACCESS "RO"
10761 // -----------------------------------------------------------------------------
10762 // Field       : OTP_DATA_PAGE53_LOCK0_KEY_W
10763 // Description : Index 1-6 of a hardware key which must be entered to grant
10764 //               write access, or 0 if no such key is required.
10765 #define OTP_DATA_PAGE53_LOCK0_KEY_W_RESET  "-"
10766 #define OTP_DATA_PAGE53_LOCK0_KEY_W_BITS   _u(0x00000007)
10767 #define OTP_DATA_PAGE53_LOCK0_KEY_W_MSB    _u(2)
10768 #define OTP_DATA_PAGE53_LOCK0_KEY_W_LSB    _u(0)
10769 #define OTP_DATA_PAGE53_LOCK0_KEY_W_ACCESS "RO"
10770 // =============================================================================
10771 // Register    : OTP_DATA_PAGE53_LOCK1
10772 // Description : Lock configuration MSBs for page 53 (rows 0xd40 through 0xd7f).
10773 //               Locks are stored with 3-way majority vote encoding, so that
10774 //               bits can be set independently.
10775 //
10776 //               This OTP location is always readable, and is write-protected by
10777 //               its own permissions.
10778 #define OTP_DATA_PAGE53_LOCK1_ROW _u(0x00000feb)
10779 #define OTP_DATA_PAGE53_LOCK1_BITS   _u(0x00ffff3f)
10780 #define OTP_DATA_PAGE53_LOCK1_RESET  _u(0x00000000)
10781 #define OTP_DATA_PAGE53_LOCK1_WIDTH  _u(24)
10782 // -----------------------------------------------------------------------------
10783 // Field       : OTP_DATA_PAGE53_LOCK1_R2
10784 // Description : Redundant copy of bits 7:0
10785 #define OTP_DATA_PAGE53_LOCK1_R2_RESET  "-"
10786 #define OTP_DATA_PAGE53_LOCK1_R2_BITS   _u(0x00ff0000)
10787 #define OTP_DATA_PAGE53_LOCK1_R2_MSB    _u(23)
10788 #define OTP_DATA_PAGE53_LOCK1_R2_LSB    _u(16)
10789 #define OTP_DATA_PAGE53_LOCK1_R2_ACCESS "RO"
10790 // -----------------------------------------------------------------------------
10791 // Field       : OTP_DATA_PAGE53_LOCK1_R1
10792 // Description : Redundant copy of bits 7:0
10793 #define OTP_DATA_PAGE53_LOCK1_R1_RESET  "-"
10794 #define OTP_DATA_PAGE53_LOCK1_R1_BITS   _u(0x0000ff00)
10795 #define OTP_DATA_PAGE53_LOCK1_R1_MSB    _u(15)
10796 #define OTP_DATA_PAGE53_LOCK1_R1_LSB    _u(8)
10797 #define OTP_DATA_PAGE53_LOCK1_R1_ACCESS "RO"
10798 // -----------------------------------------------------------------------------
10799 // Field       : OTP_DATA_PAGE53_LOCK1_LOCK_BL
10800 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10801 //               USB bootloader) to store their own OTP access permissions. No
10802 //               hardware effect, and no corresponding SW_LOCKx registers.
10803 //               0x0 -> Bootloader permits user reads and writes to this page
10804 //               0x1 -> Bootloader permits user reads of this page
10805 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10806 //               0x3 -> Bootloader does not permit user access to this page
10807 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_RESET  "-"
10808 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10809 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_MSB    _u(5)
10810 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_LSB    _u(4)
10811 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_ACCESS "RO"
10812 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10813 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10814 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10815 #define OTP_DATA_PAGE53_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10816 // -----------------------------------------------------------------------------
10817 // Field       : OTP_DATA_PAGE53_LOCK1_LOCK_NS
10818 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10819 //               coded, so lock state can be advanced permanently from any state
10820 //               to any less-permissive state by programming OTP. Software can
10821 //               also advance the lock state temporarily (until next OTP reset)
10822 //               using the SW_LOCKx registers.
10823 //
10824 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10825 //               as the SBPI programming interface is not accessible to Non-
10826 //               secure software. However, Secure software may check these bits
10827 //               to apply write permissions to a Non-secure OTP programming API.
10828 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10829 //               0x1 -> Page can be read by Non-secure software
10830 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10831 //               0x3 -> Page can not be accessed by Non-secure software.
10832 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_RESET  "-"
10833 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10834 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_MSB    _u(3)
10835 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_LSB    _u(2)
10836 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_ACCESS "RO"
10837 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10838 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10839 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10840 #define OTP_DATA_PAGE53_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10841 // -----------------------------------------------------------------------------
10842 // Field       : OTP_DATA_PAGE53_LOCK1_LOCK_S
10843 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10844 //               so lock state can be advanced permanently from any state to any
10845 //               less-permissive state by programming OTP. Software can also
10846 //               advance the lock state temporarily (until next OTP reset) using
10847 //               the SW_LOCKx registers.
10848 //               0x0 -> Page is fully accessible by Secure software.
10849 //               0x1 -> Page can be read by Secure software, but can not be written.
10850 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10851 //               0x3 -> Page can not be accessed by Secure software.
10852 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_RESET  "-"
10853 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_BITS   _u(0x00000003)
10854 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_MSB    _u(1)
10855 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_LSB    _u(0)
10856 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_ACCESS "RO"
10857 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
10858 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
10859 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
10860 #define OTP_DATA_PAGE53_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
10861 // =============================================================================
10862 // Register    : OTP_DATA_PAGE54_LOCK0
10863 // Description : Lock configuration LSBs for page 54 (rows 0xd80 through 0xdbf).
10864 //               Locks are stored with 3-way majority vote encoding, so that
10865 //               bits can be set independently.
10866 //
10867 //               This OTP location is always readable, and is write-protected by
10868 //               its own permissions.
10869 #define OTP_DATA_PAGE54_LOCK0_ROW _u(0x00000fec)
10870 #define OTP_DATA_PAGE54_LOCK0_BITS   _u(0x00ffff7f)
10871 #define OTP_DATA_PAGE54_LOCK0_RESET  _u(0x00000000)
10872 #define OTP_DATA_PAGE54_LOCK0_WIDTH  _u(24)
10873 // -----------------------------------------------------------------------------
10874 // Field       : OTP_DATA_PAGE54_LOCK0_R2
10875 // Description : Redundant copy of bits 7:0
10876 #define OTP_DATA_PAGE54_LOCK0_R2_RESET  "-"
10877 #define OTP_DATA_PAGE54_LOCK0_R2_BITS   _u(0x00ff0000)
10878 #define OTP_DATA_PAGE54_LOCK0_R2_MSB    _u(23)
10879 #define OTP_DATA_PAGE54_LOCK0_R2_LSB    _u(16)
10880 #define OTP_DATA_PAGE54_LOCK0_R2_ACCESS "RO"
10881 // -----------------------------------------------------------------------------
10882 // Field       : OTP_DATA_PAGE54_LOCK0_R1
10883 // Description : Redundant copy of bits 7:0
10884 #define OTP_DATA_PAGE54_LOCK0_R1_RESET  "-"
10885 #define OTP_DATA_PAGE54_LOCK0_R1_BITS   _u(0x0000ff00)
10886 #define OTP_DATA_PAGE54_LOCK0_R1_MSB    _u(15)
10887 #define OTP_DATA_PAGE54_LOCK0_R1_LSB    _u(8)
10888 #define OTP_DATA_PAGE54_LOCK0_R1_ACCESS "RO"
10889 // -----------------------------------------------------------------------------
10890 // Field       : OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE
10891 // Description : State when at least one key is registered for this page and no
10892 //               matching key has been entered.
10893 //               0x0 -> read_only
10894 //               0x1 -> inaccessible
10895 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_RESET  "-"
10896 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
10897 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_MSB    _u(6)
10898 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_LSB    _u(6)
10899 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_ACCESS "RO"
10900 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
10901 #define OTP_DATA_PAGE54_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
10902 // -----------------------------------------------------------------------------
10903 // Field       : OTP_DATA_PAGE54_LOCK0_KEY_R
10904 // Description : Index 1-6 of a hardware key which must be entered to grant read
10905 //               access, or 0 if no such key is required.
10906 #define OTP_DATA_PAGE54_LOCK0_KEY_R_RESET  "-"
10907 #define OTP_DATA_PAGE54_LOCK0_KEY_R_BITS   _u(0x00000038)
10908 #define OTP_DATA_PAGE54_LOCK0_KEY_R_MSB    _u(5)
10909 #define OTP_DATA_PAGE54_LOCK0_KEY_R_LSB    _u(3)
10910 #define OTP_DATA_PAGE54_LOCK0_KEY_R_ACCESS "RO"
10911 // -----------------------------------------------------------------------------
10912 // Field       : OTP_DATA_PAGE54_LOCK0_KEY_W
10913 // Description : Index 1-6 of a hardware key which must be entered to grant
10914 //               write access, or 0 if no such key is required.
10915 #define OTP_DATA_PAGE54_LOCK0_KEY_W_RESET  "-"
10916 #define OTP_DATA_PAGE54_LOCK0_KEY_W_BITS   _u(0x00000007)
10917 #define OTP_DATA_PAGE54_LOCK0_KEY_W_MSB    _u(2)
10918 #define OTP_DATA_PAGE54_LOCK0_KEY_W_LSB    _u(0)
10919 #define OTP_DATA_PAGE54_LOCK0_KEY_W_ACCESS "RO"
10920 // =============================================================================
10921 // Register    : OTP_DATA_PAGE54_LOCK1
10922 // Description : Lock configuration MSBs for page 54 (rows 0xd80 through 0xdbf).
10923 //               Locks are stored with 3-way majority vote encoding, so that
10924 //               bits can be set independently.
10925 //
10926 //               This OTP location is always readable, and is write-protected by
10927 //               its own permissions.
10928 #define OTP_DATA_PAGE54_LOCK1_ROW _u(0x00000fed)
10929 #define OTP_DATA_PAGE54_LOCK1_BITS   _u(0x00ffff3f)
10930 #define OTP_DATA_PAGE54_LOCK1_RESET  _u(0x00000000)
10931 #define OTP_DATA_PAGE54_LOCK1_WIDTH  _u(24)
10932 // -----------------------------------------------------------------------------
10933 // Field       : OTP_DATA_PAGE54_LOCK1_R2
10934 // Description : Redundant copy of bits 7:0
10935 #define OTP_DATA_PAGE54_LOCK1_R2_RESET  "-"
10936 #define OTP_DATA_PAGE54_LOCK1_R2_BITS   _u(0x00ff0000)
10937 #define OTP_DATA_PAGE54_LOCK1_R2_MSB    _u(23)
10938 #define OTP_DATA_PAGE54_LOCK1_R2_LSB    _u(16)
10939 #define OTP_DATA_PAGE54_LOCK1_R2_ACCESS "RO"
10940 // -----------------------------------------------------------------------------
10941 // Field       : OTP_DATA_PAGE54_LOCK1_R1
10942 // Description : Redundant copy of bits 7:0
10943 #define OTP_DATA_PAGE54_LOCK1_R1_RESET  "-"
10944 #define OTP_DATA_PAGE54_LOCK1_R1_BITS   _u(0x0000ff00)
10945 #define OTP_DATA_PAGE54_LOCK1_R1_MSB    _u(15)
10946 #define OTP_DATA_PAGE54_LOCK1_R1_LSB    _u(8)
10947 #define OTP_DATA_PAGE54_LOCK1_R1_ACCESS "RO"
10948 // -----------------------------------------------------------------------------
10949 // Field       : OTP_DATA_PAGE54_LOCK1_LOCK_BL
10950 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
10951 //               USB bootloader) to store their own OTP access permissions. No
10952 //               hardware effect, and no corresponding SW_LOCKx registers.
10953 //               0x0 -> Bootloader permits user reads and writes to this page
10954 //               0x1 -> Bootloader permits user reads of this page
10955 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
10956 //               0x3 -> Bootloader does not permit user access to this page
10957 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_RESET  "-"
10958 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_BITS   _u(0x00000030)
10959 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_MSB    _u(5)
10960 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_LSB    _u(4)
10961 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_ACCESS "RO"
10962 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
10963 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
10964 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
10965 #define OTP_DATA_PAGE54_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
10966 // -----------------------------------------------------------------------------
10967 // Field       : OTP_DATA_PAGE54_LOCK1_LOCK_NS
10968 // Description : Lock state for Non-secure accesses to this page. Thermometer-
10969 //               coded, so lock state can be advanced permanently from any state
10970 //               to any less-permissive state by programming OTP. Software can
10971 //               also advance the lock state temporarily (until next OTP reset)
10972 //               using the SW_LOCKx registers.
10973 //
10974 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
10975 //               as the SBPI programming interface is not accessible to Non-
10976 //               secure software. However, Secure software may check these bits
10977 //               to apply write permissions to a Non-secure OTP programming API.
10978 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
10979 //               0x1 -> Page can be read by Non-secure software
10980 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
10981 //               0x3 -> Page can not be accessed by Non-secure software.
10982 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_RESET  "-"
10983 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
10984 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_MSB    _u(3)
10985 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_LSB    _u(2)
10986 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_ACCESS "RO"
10987 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
10988 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
10989 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
10990 #define OTP_DATA_PAGE54_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
10991 // -----------------------------------------------------------------------------
10992 // Field       : OTP_DATA_PAGE54_LOCK1_LOCK_S
10993 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
10994 //               so lock state can be advanced permanently from any state to any
10995 //               less-permissive state by programming OTP. Software can also
10996 //               advance the lock state temporarily (until next OTP reset) using
10997 //               the SW_LOCKx registers.
10998 //               0x0 -> Page is fully accessible by Secure software.
10999 //               0x1 -> Page can be read by Secure software, but can not be written.
11000 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11001 //               0x3 -> Page can not be accessed by Secure software.
11002 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_RESET  "-"
11003 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_BITS   _u(0x00000003)
11004 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_MSB    _u(1)
11005 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_LSB    _u(0)
11006 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_ACCESS "RO"
11007 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11008 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11009 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11010 #define OTP_DATA_PAGE54_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11011 // =============================================================================
11012 // Register    : OTP_DATA_PAGE55_LOCK0
11013 // Description : Lock configuration LSBs for page 55 (rows 0xdc0 through 0xdff).
11014 //               Locks are stored with 3-way majority vote encoding, so that
11015 //               bits can be set independently.
11016 //
11017 //               This OTP location is always readable, and is write-protected by
11018 //               its own permissions.
11019 #define OTP_DATA_PAGE55_LOCK0_ROW _u(0x00000fee)
11020 #define OTP_DATA_PAGE55_LOCK0_BITS   _u(0x00ffff7f)
11021 #define OTP_DATA_PAGE55_LOCK0_RESET  _u(0x00000000)
11022 #define OTP_DATA_PAGE55_LOCK0_WIDTH  _u(24)
11023 // -----------------------------------------------------------------------------
11024 // Field       : OTP_DATA_PAGE55_LOCK0_R2
11025 // Description : Redundant copy of bits 7:0
11026 #define OTP_DATA_PAGE55_LOCK0_R2_RESET  "-"
11027 #define OTP_DATA_PAGE55_LOCK0_R2_BITS   _u(0x00ff0000)
11028 #define OTP_DATA_PAGE55_LOCK0_R2_MSB    _u(23)
11029 #define OTP_DATA_PAGE55_LOCK0_R2_LSB    _u(16)
11030 #define OTP_DATA_PAGE55_LOCK0_R2_ACCESS "RO"
11031 // -----------------------------------------------------------------------------
11032 // Field       : OTP_DATA_PAGE55_LOCK0_R1
11033 // Description : Redundant copy of bits 7:0
11034 #define OTP_DATA_PAGE55_LOCK0_R1_RESET  "-"
11035 #define OTP_DATA_PAGE55_LOCK0_R1_BITS   _u(0x0000ff00)
11036 #define OTP_DATA_PAGE55_LOCK0_R1_MSB    _u(15)
11037 #define OTP_DATA_PAGE55_LOCK0_R1_LSB    _u(8)
11038 #define OTP_DATA_PAGE55_LOCK0_R1_ACCESS "RO"
11039 // -----------------------------------------------------------------------------
11040 // Field       : OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE
11041 // Description : State when at least one key is registered for this page and no
11042 //               matching key has been entered.
11043 //               0x0 -> read_only
11044 //               0x1 -> inaccessible
11045 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_RESET  "-"
11046 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11047 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_MSB    _u(6)
11048 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_LSB    _u(6)
11049 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_ACCESS "RO"
11050 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11051 #define OTP_DATA_PAGE55_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11052 // -----------------------------------------------------------------------------
11053 // Field       : OTP_DATA_PAGE55_LOCK0_KEY_R
11054 // Description : Index 1-6 of a hardware key which must be entered to grant read
11055 //               access, or 0 if no such key is required.
11056 #define OTP_DATA_PAGE55_LOCK0_KEY_R_RESET  "-"
11057 #define OTP_DATA_PAGE55_LOCK0_KEY_R_BITS   _u(0x00000038)
11058 #define OTP_DATA_PAGE55_LOCK0_KEY_R_MSB    _u(5)
11059 #define OTP_DATA_PAGE55_LOCK0_KEY_R_LSB    _u(3)
11060 #define OTP_DATA_PAGE55_LOCK0_KEY_R_ACCESS "RO"
11061 // -----------------------------------------------------------------------------
11062 // Field       : OTP_DATA_PAGE55_LOCK0_KEY_W
11063 // Description : Index 1-6 of a hardware key which must be entered to grant
11064 //               write access, or 0 if no such key is required.
11065 #define OTP_DATA_PAGE55_LOCK0_KEY_W_RESET  "-"
11066 #define OTP_DATA_PAGE55_LOCK0_KEY_W_BITS   _u(0x00000007)
11067 #define OTP_DATA_PAGE55_LOCK0_KEY_W_MSB    _u(2)
11068 #define OTP_DATA_PAGE55_LOCK0_KEY_W_LSB    _u(0)
11069 #define OTP_DATA_PAGE55_LOCK0_KEY_W_ACCESS "RO"
11070 // =============================================================================
11071 // Register    : OTP_DATA_PAGE55_LOCK1
11072 // Description : Lock configuration MSBs for page 55 (rows 0xdc0 through 0xdff).
11073 //               Locks are stored with 3-way majority vote encoding, so that
11074 //               bits can be set independently.
11075 //
11076 //               This OTP location is always readable, and is write-protected by
11077 //               its own permissions.
11078 #define OTP_DATA_PAGE55_LOCK1_ROW _u(0x00000fef)
11079 #define OTP_DATA_PAGE55_LOCK1_BITS   _u(0x00ffff3f)
11080 #define OTP_DATA_PAGE55_LOCK1_RESET  _u(0x00000000)
11081 #define OTP_DATA_PAGE55_LOCK1_WIDTH  _u(24)
11082 // -----------------------------------------------------------------------------
11083 // Field       : OTP_DATA_PAGE55_LOCK1_R2
11084 // Description : Redundant copy of bits 7:0
11085 #define OTP_DATA_PAGE55_LOCK1_R2_RESET  "-"
11086 #define OTP_DATA_PAGE55_LOCK1_R2_BITS   _u(0x00ff0000)
11087 #define OTP_DATA_PAGE55_LOCK1_R2_MSB    _u(23)
11088 #define OTP_DATA_PAGE55_LOCK1_R2_LSB    _u(16)
11089 #define OTP_DATA_PAGE55_LOCK1_R2_ACCESS "RO"
11090 // -----------------------------------------------------------------------------
11091 // Field       : OTP_DATA_PAGE55_LOCK1_R1
11092 // Description : Redundant copy of bits 7:0
11093 #define OTP_DATA_PAGE55_LOCK1_R1_RESET  "-"
11094 #define OTP_DATA_PAGE55_LOCK1_R1_BITS   _u(0x0000ff00)
11095 #define OTP_DATA_PAGE55_LOCK1_R1_MSB    _u(15)
11096 #define OTP_DATA_PAGE55_LOCK1_R1_LSB    _u(8)
11097 #define OTP_DATA_PAGE55_LOCK1_R1_ACCESS "RO"
11098 // -----------------------------------------------------------------------------
11099 // Field       : OTP_DATA_PAGE55_LOCK1_LOCK_BL
11100 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
11101 //               USB bootloader) to store their own OTP access permissions. No
11102 //               hardware effect, and no corresponding SW_LOCKx registers.
11103 //               0x0 -> Bootloader permits user reads and writes to this page
11104 //               0x1 -> Bootloader permits user reads of this page
11105 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
11106 //               0x3 -> Bootloader does not permit user access to this page
11107 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_RESET  "-"
11108 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_BITS   _u(0x00000030)
11109 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_MSB    _u(5)
11110 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_LSB    _u(4)
11111 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_ACCESS "RO"
11112 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
11113 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
11114 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
11115 #define OTP_DATA_PAGE55_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
11116 // -----------------------------------------------------------------------------
11117 // Field       : OTP_DATA_PAGE55_LOCK1_LOCK_NS
11118 // Description : Lock state for Non-secure accesses to this page. Thermometer-
11119 //               coded, so lock state can be advanced permanently from any state
11120 //               to any less-permissive state by programming OTP. Software can
11121 //               also advance the lock state temporarily (until next OTP reset)
11122 //               using the SW_LOCKx registers.
11123 //
11124 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
11125 //               as the SBPI programming interface is not accessible to Non-
11126 //               secure software. However, Secure software may check these bits
11127 //               to apply write permissions to a Non-secure OTP programming API.
11128 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
11129 //               0x1 -> Page can be read by Non-secure software
11130 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11131 //               0x3 -> Page can not be accessed by Non-secure software.
11132 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_RESET  "-"
11133 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
11134 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_MSB    _u(3)
11135 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_LSB    _u(2)
11136 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_ACCESS "RO"
11137 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
11138 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
11139 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
11140 #define OTP_DATA_PAGE55_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
11141 // -----------------------------------------------------------------------------
11142 // Field       : OTP_DATA_PAGE55_LOCK1_LOCK_S
11143 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
11144 //               so lock state can be advanced permanently from any state to any
11145 //               less-permissive state by programming OTP. Software can also
11146 //               advance the lock state temporarily (until next OTP reset) using
11147 //               the SW_LOCKx registers.
11148 //               0x0 -> Page is fully accessible by Secure software.
11149 //               0x1 -> Page can be read by Secure software, but can not be written.
11150 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11151 //               0x3 -> Page can not be accessed by Secure software.
11152 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_RESET  "-"
11153 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_BITS   _u(0x00000003)
11154 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_MSB    _u(1)
11155 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_LSB    _u(0)
11156 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_ACCESS "RO"
11157 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11158 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11159 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11160 #define OTP_DATA_PAGE55_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11161 // =============================================================================
11162 // Register    : OTP_DATA_PAGE56_LOCK0
11163 // Description : Lock configuration LSBs for page 56 (rows 0xe00 through 0xe3f).
11164 //               Locks are stored with 3-way majority vote encoding, so that
11165 //               bits can be set independently.
11166 //
11167 //               This OTP location is always readable, and is write-protected by
11168 //               its own permissions.
11169 #define OTP_DATA_PAGE56_LOCK0_ROW _u(0x00000ff0)
11170 #define OTP_DATA_PAGE56_LOCK0_BITS   _u(0x00ffff7f)
11171 #define OTP_DATA_PAGE56_LOCK0_RESET  _u(0x00000000)
11172 #define OTP_DATA_PAGE56_LOCK0_WIDTH  _u(24)
11173 // -----------------------------------------------------------------------------
11174 // Field       : OTP_DATA_PAGE56_LOCK0_R2
11175 // Description : Redundant copy of bits 7:0
11176 #define OTP_DATA_PAGE56_LOCK0_R2_RESET  "-"
11177 #define OTP_DATA_PAGE56_LOCK0_R2_BITS   _u(0x00ff0000)
11178 #define OTP_DATA_PAGE56_LOCK0_R2_MSB    _u(23)
11179 #define OTP_DATA_PAGE56_LOCK0_R2_LSB    _u(16)
11180 #define OTP_DATA_PAGE56_LOCK0_R2_ACCESS "RO"
11181 // -----------------------------------------------------------------------------
11182 // Field       : OTP_DATA_PAGE56_LOCK0_R1
11183 // Description : Redundant copy of bits 7:0
11184 #define OTP_DATA_PAGE56_LOCK0_R1_RESET  "-"
11185 #define OTP_DATA_PAGE56_LOCK0_R1_BITS   _u(0x0000ff00)
11186 #define OTP_DATA_PAGE56_LOCK0_R1_MSB    _u(15)
11187 #define OTP_DATA_PAGE56_LOCK0_R1_LSB    _u(8)
11188 #define OTP_DATA_PAGE56_LOCK0_R1_ACCESS "RO"
11189 // -----------------------------------------------------------------------------
11190 // Field       : OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE
11191 // Description : State when at least one key is registered for this page and no
11192 //               matching key has been entered.
11193 //               0x0 -> read_only
11194 //               0x1 -> inaccessible
11195 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_RESET  "-"
11196 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11197 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_MSB    _u(6)
11198 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_LSB    _u(6)
11199 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_ACCESS "RO"
11200 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11201 #define OTP_DATA_PAGE56_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11202 // -----------------------------------------------------------------------------
11203 // Field       : OTP_DATA_PAGE56_LOCK0_KEY_R
11204 // Description : Index 1-6 of a hardware key which must be entered to grant read
11205 //               access, or 0 if no such key is required.
11206 #define OTP_DATA_PAGE56_LOCK0_KEY_R_RESET  "-"
11207 #define OTP_DATA_PAGE56_LOCK0_KEY_R_BITS   _u(0x00000038)
11208 #define OTP_DATA_PAGE56_LOCK0_KEY_R_MSB    _u(5)
11209 #define OTP_DATA_PAGE56_LOCK0_KEY_R_LSB    _u(3)
11210 #define OTP_DATA_PAGE56_LOCK0_KEY_R_ACCESS "RO"
11211 // -----------------------------------------------------------------------------
11212 // Field       : OTP_DATA_PAGE56_LOCK0_KEY_W
11213 // Description : Index 1-6 of a hardware key which must be entered to grant
11214 //               write access, or 0 if no such key is required.
11215 #define OTP_DATA_PAGE56_LOCK0_KEY_W_RESET  "-"
11216 #define OTP_DATA_PAGE56_LOCK0_KEY_W_BITS   _u(0x00000007)
11217 #define OTP_DATA_PAGE56_LOCK0_KEY_W_MSB    _u(2)
11218 #define OTP_DATA_PAGE56_LOCK0_KEY_W_LSB    _u(0)
11219 #define OTP_DATA_PAGE56_LOCK0_KEY_W_ACCESS "RO"
11220 // =============================================================================
11221 // Register    : OTP_DATA_PAGE56_LOCK1
11222 // Description : Lock configuration MSBs for page 56 (rows 0xe00 through 0xe3f).
11223 //               Locks are stored with 3-way majority vote encoding, so that
11224 //               bits can be set independently.
11225 //
11226 //               This OTP location is always readable, and is write-protected by
11227 //               its own permissions.
11228 #define OTP_DATA_PAGE56_LOCK1_ROW _u(0x00000ff1)
11229 #define OTP_DATA_PAGE56_LOCK1_BITS   _u(0x00ffff3f)
11230 #define OTP_DATA_PAGE56_LOCK1_RESET  _u(0x00000000)
11231 #define OTP_DATA_PAGE56_LOCK1_WIDTH  _u(24)
11232 // -----------------------------------------------------------------------------
11233 // Field       : OTP_DATA_PAGE56_LOCK1_R2
11234 // Description : Redundant copy of bits 7:0
11235 #define OTP_DATA_PAGE56_LOCK1_R2_RESET  "-"
11236 #define OTP_DATA_PAGE56_LOCK1_R2_BITS   _u(0x00ff0000)
11237 #define OTP_DATA_PAGE56_LOCK1_R2_MSB    _u(23)
11238 #define OTP_DATA_PAGE56_LOCK1_R2_LSB    _u(16)
11239 #define OTP_DATA_PAGE56_LOCK1_R2_ACCESS "RO"
11240 // -----------------------------------------------------------------------------
11241 // Field       : OTP_DATA_PAGE56_LOCK1_R1
11242 // Description : Redundant copy of bits 7:0
11243 #define OTP_DATA_PAGE56_LOCK1_R1_RESET  "-"
11244 #define OTP_DATA_PAGE56_LOCK1_R1_BITS   _u(0x0000ff00)
11245 #define OTP_DATA_PAGE56_LOCK1_R1_MSB    _u(15)
11246 #define OTP_DATA_PAGE56_LOCK1_R1_LSB    _u(8)
11247 #define OTP_DATA_PAGE56_LOCK1_R1_ACCESS "RO"
11248 // -----------------------------------------------------------------------------
11249 // Field       : OTP_DATA_PAGE56_LOCK1_LOCK_BL
11250 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
11251 //               USB bootloader) to store their own OTP access permissions. No
11252 //               hardware effect, and no corresponding SW_LOCKx registers.
11253 //               0x0 -> Bootloader permits user reads and writes to this page
11254 //               0x1 -> Bootloader permits user reads of this page
11255 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
11256 //               0x3 -> Bootloader does not permit user access to this page
11257 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_RESET  "-"
11258 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_BITS   _u(0x00000030)
11259 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_MSB    _u(5)
11260 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_LSB    _u(4)
11261 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_ACCESS "RO"
11262 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
11263 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
11264 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
11265 #define OTP_DATA_PAGE56_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
11266 // -----------------------------------------------------------------------------
11267 // Field       : OTP_DATA_PAGE56_LOCK1_LOCK_NS
11268 // Description : Lock state for Non-secure accesses to this page. Thermometer-
11269 //               coded, so lock state can be advanced permanently from any state
11270 //               to any less-permissive state by programming OTP. Software can
11271 //               also advance the lock state temporarily (until next OTP reset)
11272 //               using the SW_LOCKx registers.
11273 //
11274 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
11275 //               as the SBPI programming interface is not accessible to Non-
11276 //               secure software. However, Secure software may check these bits
11277 //               to apply write permissions to a Non-secure OTP programming API.
11278 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
11279 //               0x1 -> Page can be read by Non-secure software
11280 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11281 //               0x3 -> Page can not be accessed by Non-secure software.
11282 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_RESET  "-"
11283 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
11284 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_MSB    _u(3)
11285 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_LSB    _u(2)
11286 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_ACCESS "RO"
11287 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
11288 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
11289 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
11290 #define OTP_DATA_PAGE56_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
11291 // -----------------------------------------------------------------------------
11292 // Field       : OTP_DATA_PAGE56_LOCK1_LOCK_S
11293 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
11294 //               so lock state can be advanced permanently from any state to any
11295 //               less-permissive state by programming OTP. Software can also
11296 //               advance the lock state temporarily (until next OTP reset) using
11297 //               the SW_LOCKx registers.
11298 //               0x0 -> Page is fully accessible by Secure software.
11299 //               0x1 -> Page can be read by Secure software, but can not be written.
11300 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11301 //               0x3 -> Page can not be accessed by Secure software.
11302 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_RESET  "-"
11303 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_BITS   _u(0x00000003)
11304 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_MSB    _u(1)
11305 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_LSB    _u(0)
11306 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_ACCESS "RO"
11307 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11308 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11309 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11310 #define OTP_DATA_PAGE56_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11311 // =============================================================================
11312 // Register    : OTP_DATA_PAGE57_LOCK0
11313 // Description : Lock configuration LSBs for page 57 (rows 0xe40 through 0xe7f).
11314 //               Locks are stored with 3-way majority vote encoding, so that
11315 //               bits can be set independently.
11316 //
11317 //               This OTP location is always readable, and is write-protected by
11318 //               its own permissions.
11319 #define OTP_DATA_PAGE57_LOCK0_ROW _u(0x00000ff2)
11320 #define OTP_DATA_PAGE57_LOCK0_BITS   _u(0x00ffff7f)
11321 #define OTP_DATA_PAGE57_LOCK0_RESET  _u(0x00000000)
11322 #define OTP_DATA_PAGE57_LOCK0_WIDTH  _u(24)
11323 // -----------------------------------------------------------------------------
11324 // Field       : OTP_DATA_PAGE57_LOCK0_R2
11325 // Description : Redundant copy of bits 7:0
11326 #define OTP_DATA_PAGE57_LOCK0_R2_RESET  "-"
11327 #define OTP_DATA_PAGE57_LOCK0_R2_BITS   _u(0x00ff0000)
11328 #define OTP_DATA_PAGE57_LOCK0_R2_MSB    _u(23)
11329 #define OTP_DATA_PAGE57_LOCK0_R2_LSB    _u(16)
11330 #define OTP_DATA_PAGE57_LOCK0_R2_ACCESS "RO"
11331 // -----------------------------------------------------------------------------
11332 // Field       : OTP_DATA_PAGE57_LOCK0_R1
11333 // Description : Redundant copy of bits 7:0
11334 #define OTP_DATA_PAGE57_LOCK0_R1_RESET  "-"
11335 #define OTP_DATA_PAGE57_LOCK0_R1_BITS   _u(0x0000ff00)
11336 #define OTP_DATA_PAGE57_LOCK0_R1_MSB    _u(15)
11337 #define OTP_DATA_PAGE57_LOCK0_R1_LSB    _u(8)
11338 #define OTP_DATA_PAGE57_LOCK0_R1_ACCESS "RO"
11339 // -----------------------------------------------------------------------------
11340 // Field       : OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE
11341 // Description : State when at least one key is registered for this page and no
11342 //               matching key has been entered.
11343 //               0x0 -> read_only
11344 //               0x1 -> inaccessible
11345 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_RESET  "-"
11346 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11347 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_MSB    _u(6)
11348 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_LSB    _u(6)
11349 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_ACCESS "RO"
11350 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11351 #define OTP_DATA_PAGE57_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11352 // -----------------------------------------------------------------------------
11353 // Field       : OTP_DATA_PAGE57_LOCK0_KEY_R
11354 // Description : Index 1-6 of a hardware key which must be entered to grant read
11355 //               access, or 0 if no such key is required.
11356 #define OTP_DATA_PAGE57_LOCK0_KEY_R_RESET  "-"
11357 #define OTP_DATA_PAGE57_LOCK0_KEY_R_BITS   _u(0x00000038)
11358 #define OTP_DATA_PAGE57_LOCK0_KEY_R_MSB    _u(5)
11359 #define OTP_DATA_PAGE57_LOCK0_KEY_R_LSB    _u(3)
11360 #define OTP_DATA_PAGE57_LOCK0_KEY_R_ACCESS "RO"
11361 // -----------------------------------------------------------------------------
11362 // Field       : OTP_DATA_PAGE57_LOCK0_KEY_W
11363 // Description : Index 1-6 of a hardware key which must be entered to grant
11364 //               write access, or 0 if no such key is required.
11365 #define OTP_DATA_PAGE57_LOCK0_KEY_W_RESET  "-"
11366 #define OTP_DATA_PAGE57_LOCK0_KEY_W_BITS   _u(0x00000007)
11367 #define OTP_DATA_PAGE57_LOCK0_KEY_W_MSB    _u(2)
11368 #define OTP_DATA_PAGE57_LOCK0_KEY_W_LSB    _u(0)
11369 #define OTP_DATA_PAGE57_LOCK0_KEY_W_ACCESS "RO"
11370 // =============================================================================
11371 // Register    : OTP_DATA_PAGE57_LOCK1
11372 // Description : Lock configuration MSBs for page 57 (rows 0xe40 through 0xe7f).
11373 //               Locks are stored with 3-way majority vote encoding, so that
11374 //               bits can be set independently.
11375 //
11376 //               This OTP location is always readable, and is write-protected by
11377 //               its own permissions.
11378 #define OTP_DATA_PAGE57_LOCK1_ROW _u(0x00000ff3)
11379 #define OTP_DATA_PAGE57_LOCK1_BITS   _u(0x00ffff3f)
11380 #define OTP_DATA_PAGE57_LOCK1_RESET  _u(0x00000000)
11381 #define OTP_DATA_PAGE57_LOCK1_WIDTH  _u(24)
11382 // -----------------------------------------------------------------------------
11383 // Field       : OTP_DATA_PAGE57_LOCK1_R2
11384 // Description : Redundant copy of bits 7:0
11385 #define OTP_DATA_PAGE57_LOCK1_R2_RESET  "-"
11386 #define OTP_DATA_PAGE57_LOCK1_R2_BITS   _u(0x00ff0000)
11387 #define OTP_DATA_PAGE57_LOCK1_R2_MSB    _u(23)
11388 #define OTP_DATA_PAGE57_LOCK1_R2_LSB    _u(16)
11389 #define OTP_DATA_PAGE57_LOCK1_R2_ACCESS "RO"
11390 // -----------------------------------------------------------------------------
11391 // Field       : OTP_DATA_PAGE57_LOCK1_R1
11392 // Description : Redundant copy of bits 7:0
11393 #define OTP_DATA_PAGE57_LOCK1_R1_RESET  "-"
11394 #define OTP_DATA_PAGE57_LOCK1_R1_BITS   _u(0x0000ff00)
11395 #define OTP_DATA_PAGE57_LOCK1_R1_MSB    _u(15)
11396 #define OTP_DATA_PAGE57_LOCK1_R1_LSB    _u(8)
11397 #define OTP_DATA_PAGE57_LOCK1_R1_ACCESS "RO"
11398 // -----------------------------------------------------------------------------
11399 // Field       : OTP_DATA_PAGE57_LOCK1_LOCK_BL
11400 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
11401 //               USB bootloader) to store their own OTP access permissions. No
11402 //               hardware effect, and no corresponding SW_LOCKx registers.
11403 //               0x0 -> Bootloader permits user reads and writes to this page
11404 //               0x1 -> Bootloader permits user reads of this page
11405 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
11406 //               0x3 -> Bootloader does not permit user access to this page
11407 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_RESET  "-"
11408 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_BITS   _u(0x00000030)
11409 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_MSB    _u(5)
11410 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_LSB    _u(4)
11411 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_ACCESS "RO"
11412 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
11413 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
11414 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
11415 #define OTP_DATA_PAGE57_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
11416 // -----------------------------------------------------------------------------
11417 // Field       : OTP_DATA_PAGE57_LOCK1_LOCK_NS
11418 // Description : Lock state for Non-secure accesses to this page. Thermometer-
11419 //               coded, so lock state can be advanced permanently from any state
11420 //               to any less-permissive state by programming OTP. Software can
11421 //               also advance the lock state temporarily (until next OTP reset)
11422 //               using the SW_LOCKx registers.
11423 //
11424 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
11425 //               as the SBPI programming interface is not accessible to Non-
11426 //               secure software. However, Secure software may check these bits
11427 //               to apply write permissions to a Non-secure OTP programming API.
11428 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
11429 //               0x1 -> Page can be read by Non-secure software
11430 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11431 //               0x3 -> Page can not be accessed by Non-secure software.
11432 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_RESET  "-"
11433 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
11434 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_MSB    _u(3)
11435 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_LSB    _u(2)
11436 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_ACCESS "RO"
11437 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
11438 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
11439 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
11440 #define OTP_DATA_PAGE57_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
11441 // -----------------------------------------------------------------------------
11442 // Field       : OTP_DATA_PAGE57_LOCK1_LOCK_S
11443 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
11444 //               so lock state can be advanced permanently from any state to any
11445 //               less-permissive state by programming OTP. Software can also
11446 //               advance the lock state temporarily (until next OTP reset) using
11447 //               the SW_LOCKx registers.
11448 //               0x0 -> Page is fully accessible by Secure software.
11449 //               0x1 -> Page can be read by Secure software, but can not be written.
11450 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11451 //               0x3 -> Page can not be accessed by Secure software.
11452 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_RESET  "-"
11453 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_BITS   _u(0x00000003)
11454 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_MSB    _u(1)
11455 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_LSB    _u(0)
11456 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_ACCESS "RO"
11457 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11458 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11459 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11460 #define OTP_DATA_PAGE57_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11461 // =============================================================================
11462 // Register    : OTP_DATA_PAGE58_LOCK0
11463 // Description : Lock configuration LSBs for page 58 (rows 0xe80 through 0xebf).
11464 //               Locks are stored with 3-way majority vote encoding, so that
11465 //               bits can be set independently.
11466 //
11467 //               This OTP location is always readable, and is write-protected by
11468 //               its own permissions.
11469 #define OTP_DATA_PAGE58_LOCK0_ROW _u(0x00000ff4)
11470 #define OTP_DATA_PAGE58_LOCK0_BITS   _u(0x00ffff7f)
11471 #define OTP_DATA_PAGE58_LOCK0_RESET  _u(0x00000000)
11472 #define OTP_DATA_PAGE58_LOCK0_WIDTH  _u(24)
11473 // -----------------------------------------------------------------------------
11474 // Field       : OTP_DATA_PAGE58_LOCK0_R2
11475 // Description : Redundant copy of bits 7:0
11476 #define OTP_DATA_PAGE58_LOCK0_R2_RESET  "-"
11477 #define OTP_DATA_PAGE58_LOCK0_R2_BITS   _u(0x00ff0000)
11478 #define OTP_DATA_PAGE58_LOCK0_R2_MSB    _u(23)
11479 #define OTP_DATA_PAGE58_LOCK0_R2_LSB    _u(16)
11480 #define OTP_DATA_PAGE58_LOCK0_R2_ACCESS "RO"
11481 // -----------------------------------------------------------------------------
11482 // Field       : OTP_DATA_PAGE58_LOCK0_R1
11483 // Description : Redundant copy of bits 7:0
11484 #define OTP_DATA_PAGE58_LOCK0_R1_RESET  "-"
11485 #define OTP_DATA_PAGE58_LOCK0_R1_BITS   _u(0x0000ff00)
11486 #define OTP_DATA_PAGE58_LOCK0_R1_MSB    _u(15)
11487 #define OTP_DATA_PAGE58_LOCK0_R1_LSB    _u(8)
11488 #define OTP_DATA_PAGE58_LOCK0_R1_ACCESS "RO"
11489 // -----------------------------------------------------------------------------
11490 // Field       : OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE
11491 // Description : State when at least one key is registered for this page and no
11492 //               matching key has been entered.
11493 //               0x0 -> read_only
11494 //               0x1 -> inaccessible
11495 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_RESET  "-"
11496 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11497 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_MSB    _u(6)
11498 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_LSB    _u(6)
11499 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_ACCESS "RO"
11500 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11501 #define OTP_DATA_PAGE58_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11502 // -----------------------------------------------------------------------------
11503 // Field       : OTP_DATA_PAGE58_LOCK0_KEY_R
11504 // Description : Index 1-6 of a hardware key which must be entered to grant read
11505 //               access, or 0 if no such key is required.
11506 #define OTP_DATA_PAGE58_LOCK0_KEY_R_RESET  "-"
11507 #define OTP_DATA_PAGE58_LOCK0_KEY_R_BITS   _u(0x00000038)
11508 #define OTP_DATA_PAGE58_LOCK0_KEY_R_MSB    _u(5)
11509 #define OTP_DATA_PAGE58_LOCK0_KEY_R_LSB    _u(3)
11510 #define OTP_DATA_PAGE58_LOCK0_KEY_R_ACCESS "RO"
11511 // -----------------------------------------------------------------------------
11512 // Field       : OTP_DATA_PAGE58_LOCK0_KEY_W
11513 // Description : Index 1-6 of a hardware key which must be entered to grant
11514 //               write access, or 0 if no such key is required.
11515 #define OTP_DATA_PAGE58_LOCK0_KEY_W_RESET  "-"
11516 #define OTP_DATA_PAGE58_LOCK0_KEY_W_BITS   _u(0x00000007)
11517 #define OTP_DATA_PAGE58_LOCK0_KEY_W_MSB    _u(2)
11518 #define OTP_DATA_PAGE58_LOCK0_KEY_W_LSB    _u(0)
11519 #define OTP_DATA_PAGE58_LOCK0_KEY_W_ACCESS "RO"
11520 // =============================================================================
11521 // Register    : OTP_DATA_PAGE58_LOCK1
11522 // Description : Lock configuration MSBs for page 58 (rows 0xe80 through 0xebf).
11523 //               Locks are stored with 3-way majority vote encoding, so that
11524 //               bits can be set independently.
11525 //
11526 //               This OTP location is always readable, and is write-protected by
11527 //               its own permissions.
11528 #define OTP_DATA_PAGE58_LOCK1_ROW _u(0x00000ff5)
11529 #define OTP_DATA_PAGE58_LOCK1_BITS   _u(0x00ffff3f)
11530 #define OTP_DATA_PAGE58_LOCK1_RESET  _u(0x00000000)
11531 #define OTP_DATA_PAGE58_LOCK1_WIDTH  _u(24)
11532 // -----------------------------------------------------------------------------
11533 // Field       : OTP_DATA_PAGE58_LOCK1_R2
11534 // Description : Redundant copy of bits 7:0
11535 #define OTP_DATA_PAGE58_LOCK1_R2_RESET  "-"
11536 #define OTP_DATA_PAGE58_LOCK1_R2_BITS   _u(0x00ff0000)
11537 #define OTP_DATA_PAGE58_LOCK1_R2_MSB    _u(23)
11538 #define OTP_DATA_PAGE58_LOCK1_R2_LSB    _u(16)
11539 #define OTP_DATA_PAGE58_LOCK1_R2_ACCESS "RO"
11540 // -----------------------------------------------------------------------------
11541 // Field       : OTP_DATA_PAGE58_LOCK1_R1
11542 // Description : Redundant copy of bits 7:0
11543 #define OTP_DATA_PAGE58_LOCK1_R1_RESET  "-"
11544 #define OTP_DATA_PAGE58_LOCK1_R1_BITS   _u(0x0000ff00)
11545 #define OTP_DATA_PAGE58_LOCK1_R1_MSB    _u(15)
11546 #define OTP_DATA_PAGE58_LOCK1_R1_LSB    _u(8)
11547 #define OTP_DATA_PAGE58_LOCK1_R1_ACCESS "RO"
11548 // -----------------------------------------------------------------------------
11549 // Field       : OTP_DATA_PAGE58_LOCK1_LOCK_BL
11550 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
11551 //               USB bootloader) to store their own OTP access permissions. No
11552 //               hardware effect, and no corresponding SW_LOCKx registers.
11553 //               0x0 -> Bootloader permits user reads and writes to this page
11554 //               0x1 -> Bootloader permits user reads of this page
11555 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
11556 //               0x3 -> Bootloader does not permit user access to this page
11557 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_RESET  "-"
11558 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_BITS   _u(0x00000030)
11559 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_MSB    _u(5)
11560 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_LSB    _u(4)
11561 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_ACCESS "RO"
11562 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
11563 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
11564 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
11565 #define OTP_DATA_PAGE58_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
11566 // -----------------------------------------------------------------------------
11567 // Field       : OTP_DATA_PAGE58_LOCK1_LOCK_NS
11568 // Description : Lock state for Non-secure accesses to this page. Thermometer-
11569 //               coded, so lock state can be advanced permanently from any state
11570 //               to any less-permissive state by programming OTP. Software can
11571 //               also advance the lock state temporarily (until next OTP reset)
11572 //               using the SW_LOCKx registers.
11573 //
11574 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
11575 //               as the SBPI programming interface is not accessible to Non-
11576 //               secure software. However, Secure software may check these bits
11577 //               to apply write permissions to a Non-secure OTP programming API.
11578 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
11579 //               0x1 -> Page can be read by Non-secure software
11580 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11581 //               0x3 -> Page can not be accessed by Non-secure software.
11582 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_RESET  "-"
11583 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
11584 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_MSB    _u(3)
11585 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_LSB    _u(2)
11586 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_ACCESS "RO"
11587 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
11588 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
11589 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
11590 #define OTP_DATA_PAGE58_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
11591 // -----------------------------------------------------------------------------
11592 // Field       : OTP_DATA_PAGE58_LOCK1_LOCK_S
11593 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
11594 //               so lock state can be advanced permanently from any state to any
11595 //               less-permissive state by programming OTP. Software can also
11596 //               advance the lock state temporarily (until next OTP reset) using
11597 //               the SW_LOCKx registers.
11598 //               0x0 -> Page is fully accessible by Secure software.
11599 //               0x1 -> Page can be read by Secure software, but can not be written.
11600 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11601 //               0x3 -> Page can not be accessed by Secure software.
11602 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_RESET  "-"
11603 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_BITS   _u(0x00000003)
11604 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_MSB    _u(1)
11605 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_LSB    _u(0)
11606 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_ACCESS "RO"
11607 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11608 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11609 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11610 #define OTP_DATA_PAGE58_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11611 // =============================================================================
11612 // Register    : OTP_DATA_PAGE59_LOCK0
11613 // Description : Lock configuration LSBs for page 59 (rows 0xec0 through 0xeff).
11614 //               Locks are stored with 3-way majority vote encoding, so that
11615 //               bits can be set independently.
11616 //
11617 //               This OTP location is always readable, and is write-protected by
11618 //               its own permissions.
11619 #define OTP_DATA_PAGE59_LOCK0_ROW _u(0x00000ff6)
11620 #define OTP_DATA_PAGE59_LOCK0_BITS   _u(0x00ffff7f)
11621 #define OTP_DATA_PAGE59_LOCK0_RESET  _u(0x00000000)
11622 #define OTP_DATA_PAGE59_LOCK0_WIDTH  _u(24)
11623 // -----------------------------------------------------------------------------
11624 // Field       : OTP_DATA_PAGE59_LOCK0_R2
11625 // Description : Redundant copy of bits 7:0
11626 #define OTP_DATA_PAGE59_LOCK0_R2_RESET  "-"
11627 #define OTP_DATA_PAGE59_LOCK0_R2_BITS   _u(0x00ff0000)
11628 #define OTP_DATA_PAGE59_LOCK0_R2_MSB    _u(23)
11629 #define OTP_DATA_PAGE59_LOCK0_R2_LSB    _u(16)
11630 #define OTP_DATA_PAGE59_LOCK0_R2_ACCESS "RO"
11631 // -----------------------------------------------------------------------------
11632 // Field       : OTP_DATA_PAGE59_LOCK0_R1
11633 // Description : Redundant copy of bits 7:0
11634 #define OTP_DATA_PAGE59_LOCK0_R1_RESET  "-"
11635 #define OTP_DATA_PAGE59_LOCK0_R1_BITS   _u(0x0000ff00)
11636 #define OTP_DATA_PAGE59_LOCK0_R1_MSB    _u(15)
11637 #define OTP_DATA_PAGE59_LOCK0_R1_LSB    _u(8)
11638 #define OTP_DATA_PAGE59_LOCK0_R1_ACCESS "RO"
11639 // -----------------------------------------------------------------------------
11640 // Field       : OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE
11641 // Description : State when at least one key is registered for this page and no
11642 //               matching key has been entered.
11643 //               0x0 -> read_only
11644 //               0x1 -> inaccessible
11645 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_RESET  "-"
11646 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11647 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_MSB    _u(6)
11648 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_LSB    _u(6)
11649 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_ACCESS "RO"
11650 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11651 #define OTP_DATA_PAGE59_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11652 // -----------------------------------------------------------------------------
11653 // Field       : OTP_DATA_PAGE59_LOCK0_KEY_R
11654 // Description : Index 1-6 of a hardware key which must be entered to grant read
11655 //               access, or 0 if no such key is required.
11656 #define OTP_DATA_PAGE59_LOCK0_KEY_R_RESET  "-"
11657 #define OTP_DATA_PAGE59_LOCK0_KEY_R_BITS   _u(0x00000038)
11658 #define OTP_DATA_PAGE59_LOCK0_KEY_R_MSB    _u(5)
11659 #define OTP_DATA_PAGE59_LOCK0_KEY_R_LSB    _u(3)
11660 #define OTP_DATA_PAGE59_LOCK0_KEY_R_ACCESS "RO"
11661 // -----------------------------------------------------------------------------
11662 // Field       : OTP_DATA_PAGE59_LOCK0_KEY_W
11663 // Description : Index 1-6 of a hardware key which must be entered to grant
11664 //               write access, or 0 if no such key is required.
11665 #define OTP_DATA_PAGE59_LOCK0_KEY_W_RESET  "-"
11666 #define OTP_DATA_PAGE59_LOCK0_KEY_W_BITS   _u(0x00000007)
11667 #define OTP_DATA_PAGE59_LOCK0_KEY_W_MSB    _u(2)
11668 #define OTP_DATA_PAGE59_LOCK0_KEY_W_LSB    _u(0)
11669 #define OTP_DATA_PAGE59_LOCK0_KEY_W_ACCESS "RO"
11670 // =============================================================================
11671 // Register    : OTP_DATA_PAGE59_LOCK1
11672 // Description : Lock configuration MSBs for page 59 (rows 0xec0 through 0xeff).
11673 //               Locks are stored with 3-way majority vote encoding, so that
11674 //               bits can be set independently.
11675 //
11676 //               This OTP location is always readable, and is write-protected by
11677 //               its own permissions.
11678 #define OTP_DATA_PAGE59_LOCK1_ROW _u(0x00000ff7)
11679 #define OTP_DATA_PAGE59_LOCK1_BITS   _u(0x00ffff3f)
11680 #define OTP_DATA_PAGE59_LOCK1_RESET  _u(0x00000000)
11681 #define OTP_DATA_PAGE59_LOCK1_WIDTH  _u(24)
11682 // -----------------------------------------------------------------------------
11683 // Field       : OTP_DATA_PAGE59_LOCK1_R2
11684 // Description : Redundant copy of bits 7:0
11685 #define OTP_DATA_PAGE59_LOCK1_R2_RESET  "-"
11686 #define OTP_DATA_PAGE59_LOCK1_R2_BITS   _u(0x00ff0000)
11687 #define OTP_DATA_PAGE59_LOCK1_R2_MSB    _u(23)
11688 #define OTP_DATA_PAGE59_LOCK1_R2_LSB    _u(16)
11689 #define OTP_DATA_PAGE59_LOCK1_R2_ACCESS "RO"
11690 // -----------------------------------------------------------------------------
11691 // Field       : OTP_DATA_PAGE59_LOCK1_R1
11692 // Description : Redundant copy of bits 7:0
11693 #define OTP_DATA_PAGE59_LOCK1_R1_RESET  "-"
11694 #define OTP_DATA_PAGE59_LOCK1_R1_BITS   _u(0x0000ff00)
11695 #define OTP_DATA_PAGE59_LOCK1_R1_MSB    _u(15)
11696 #define OTP_DATA_PAGE59_LOCK1_R1_LSB    _u(8)
11697 #define OTP_DATA_PAGE59_LOCK1_R1_ACCESS "RO"
11698 // -----------------------------------------------------------------------------
11699 // Field       : OTP_DATA_PAGE59_LOCK1_LOCK_BL
11700 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
11701 //               USB bootloader) to store their own OTP access permissions. No
11702 //               hardware effect, and no corresponding SW_LOCKx registers.
11703 //               0x0 -> Bootloader permits user reads and writes to this page
11704 //               0x1 -> Bootloader permits user reads of this page
11705 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
11706 //               0x3 -> Bootloader does not permit user access to this page
11707 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_RESET  "-"
11708 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_BITS   _u(0x00000030)
11709 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_MSB    _u(5)
11710 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_LSB    _u(4)
11711 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_ACCESS "RO"
11712 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
11713 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
11714 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
11715 #define OTP_DATA_PAGE59_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
11716 // -----------------------------------------------------------------------------
11717 // Field       : OTP_DATA_PAGE59_LOCK1_LOCK_NS
11718 // Description : Lock state for Non-secure accesses to this page. Thermometer-
11719 //               coded, so lock state can be advanced permanently from any state
11720 //               to any less-permissive state by programming OTP. Software can
11721 //               also advance the lock state temporarily (until next OTP reset)
11722 //               using the SW_LOCKx registers.
11723 //
11724 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
11725 //               as the SBPI programming interface is not accessible to Non-
11726 //               secure software. However, Secure software may check these bits
11727 //               to apply write permissions to a Non-secure OTP programming API.
11728 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
11729 //               0x1 -> Page can be read by Non-secure software
11730 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11731 //               0x3 -> Page can not be accessed by Non-secure software.
11732 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_RESET  "-"
11733 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
11734 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_MSB    _u(3)
11735 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_LSB    _u(2)
11736 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_ACCESS "RO"
11737 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
11738 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
11739 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
11740 #define OTP_DATA_PAGE59_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
11741 // -----------------------------------------------------------------------------
11742 // Field       : OTP_DATA_PAGE59_LOCK1_LOCK_S
11743 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
11744 //               so lock state can be advanced permanently from any state to any
11745 //               less-permissive state by programming OTP. Software can also
11746 //               advance the lock state temporarily (until next OTP reset) using
11747 //               the SW_LOCKx registers.
11748 //               0x0 -> Page is fully accessible by Secure software.
11749 //               0x1 -> Page can be read by Secure software, but can not be written.
11750 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11751 //               0x3 -> Page can not be accessed by Secure software.
11752 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_RESET  "-"
11753 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_BITS   _u(0x00000003)
11754 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_MSB    _u(1)
11755 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_LSB    _u(0)
11756 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_ACCESS "RO"
11757 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11758 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11759 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11760 #define OTP_DATA_PAGE59_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11761 // =============================================================================
11762 // Register    : OTP_DATA_PAGE60_LOCK0
11763 // Description : Lock configuration LSBs for page 60 (rows 0xf00 through 0xf3f).
11764 //               Locks are stored with 3-way majority vote encoding, so that
11765 //               bits can be set independently.
11766 //
11767 //               This OTP location is always readable, and is write-protected by
11768 //               its own permissions.
11769 #define OTP_DATA_PAGE60_LOCK0_ROW _u(0x00000ff8)
11770 #define OTP_DATA_PAGE60_LOCK0_BITS   _u(0x00ffff7f)
11771 #define OTP_DATA_PAGE60_LOCK0_RESET  _u(0x00000000)
11772 #define OTP_DATA_PAGE60_LOCK0_WIDTH  _u(24)
11773 // -----------------------------------------------------------------------------
11774 // Field       : OTP_DATA_PAGE60_LOCK0_R2
11775 // Description : Redundant copy of bits 7:0
11776 #define OTP_DATA_PAGE60_LOCK0_R2_RESET  "-"
11777 #define OTP_DATA_PAGE60_LOCK0_R2_BITS   _u(0x00ff0000)
11778 #define OTP_DATA_PAGE60_LOCK0_R2_MSB    _u(23)
11779 #define OTP_DATA_PAGE60_LOCK0_R2_LSB    _u(16)
11780 #define OTP_DATA_PAGE60_LOCK0_R2_ACCESS "RO"
11781 // -----------------------------------------------------------------------------
11782 // Field       : OTP_DATA_PAGE60_LOCK0_R1
11783 // Description : Redundant copy of bits 7:0
11784 #define OTP_DATA_PAGE60_LOCK0_R1_RESET  "-"
11785 #define OTP_DATA_PAGE60_LOCK0_R1_BITS   _u(0x0000ff00)
11786 #define OTP_DATA_PAGE60_LOCK0_R1_MSB    _u(15)
11787 #define OTP_DATA_PAGE60_LOCK0_R1_LSB    _u(8)
11788 #define OTP_DATA_PAGE60_LOCK0_R1_ACCESS "RO"
11789 // -----------------------------------------------------------------------------
11790 // Field       : OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE
11791 // Description : State when at least one key is registered for this page and no
11792 //               matching key has been entered.
11793 //               0x0 -> read_only
11794 //               0x1 -> inaccessible
11795 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_RESET  "-"
11796 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11797 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_MSB    _u(6)
11798 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_LSB    _u(6)
11799 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_ACCESS "RO"
11800 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11801 #define OTP_DATA_PAGE60_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11802 // -----------------------------------------------------------------------------
11803 // Field       : OTP_DATA_PAGE60_LOCK0_KEY_R
11804 // Description : Index 1-6 of a hardware key which must be entered to grant read
11805 //               access, or 0 if no such key is required.
11806 #define OTP_DATA_PAGE60_LOCK0_KEY_R_RESET  "-"
11807 #define OTP_DATA_PAGE60_LOCK0_KEY_R_BITS   _u(0x00000038)
11808 #define OTP_DATA_PAGE60_LOCK0_KEY_R_MSB    _u(5)
11809 #define OTP_DATA_PAGE60_LOCK0_KEY_R_LSB    _u(3)
11810 #define OTP_DATA_PAGE60_LOCK0_KEY_R_ACCESS "RO"
11811 // -----------------------------------------------------------------------------
11812 // Field       : OTP_DATA_PAGE60_LOCK0_KEY_W
11813 // Description : Index 1-6 of a hardware key which must be entered to grant
11814 //               write access, or 0 if no such key is required.
11815 #define OTP_DATA_PAGE60_LOCK0_KEY_W_RESET  "-"
11816 #define OTP_DATA_PAGE60_LOCK0_KEY_W_BITS   _u(0x00000007)
11817 #define OTP_DATA_PAGE60_LOCK0_KEY_W_MSB    _u(2)
11818 #define OTP_DATA_PAGE60_LOCK0_KEY_W_LSB    _u(0)
11819 #define OTP_DATA_PAGE60_LOCK0_KEY_W_ACCESS "RO"
11820 // =============================================================================
11821 // Register    : OTP_DATA_PAGE60_LOCK1
11822 // Description : Lock configuration MSBs for page 60 (rows 0xf00 through 0xf3f).
11823 //               Locks are stored with 3-way majority vote encoding, so that
11824 //               bits can be set independently.
11825 //
11826 //               This OTP location is always readable, and is write-protected by
11827 //               its own permissions.
11828 #define OTP_DATA_PAGE60_LOCK1_ROW _u(0x00000ff9)
11829 #define OTP_DATA_PAGE60_LOCK1_BITS   _u(0x00ffff3f)
11830 #define OTP_DATA_PAGE60_LOCK1_RESET  _u(0x00000000)
11831 #define OTP_DATA_PAGE60_LOCK1_WIDTH  _u(24)
11832 // -----------------------------------------------------------------------------
11833 // Field       : OTP_DATA_PAGE60_LOCK1_R2
11834 // Description : Redundant copy of bits 7:0
11835 #define OTP_DATA_PAGE60_LOCK1_R2_RESET  "-"
11836 #define OTP_DATA_PAGE60_LOCK1_R2_BITS   _u(0x00ff0000)
11837 #define OTP_DATA_PAGE60_LOCK1_R2_MSB    _u(23)
11838 #define OTP_DATA_PAGE60_LOCK1_R2_LSB    _u(16)
11839 #define OTP_DATA_PAGE60_LOCK1_R2_ACCESS "RO"
11840 // -----------------------------------------------------------------------------
11841 // Field       : OTP_DATA_PAGE60_LOCK1_R1
11842 // Description : Redundant copy of bits 7:0
11843 #define OTP_DATA_PAGE60_LOCK1_R1_RESET  "-"
11844 #define OTP_DATA_PAGE60_LOCK1_R1_BITS   _u(0x0000ff00)
11845 #define OTP_DATA_PAGE60_LOCK1_R1_MSB    _u(15)
11846 #define OTP_DATA_PAGE60_LOCK1_R1_LSB    _u(8)
11847 #define OTP_DATA_PAGE60_LOCK1_R1_ACCESS "RO"
11848 // -----------------------------------------------------------------------------
11849 // Field       : OTP_DATA_PAGE60_LOCK1_LOCK_BL
11850 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
11851 //               USB bootloader) to store their own OTP access permissions. No
11852 //               hardware effect, and no corresponding SW_LOCKx registers.
11853 //               0x0 -> Bootloader permits user reads and writes to this page
11854 //               0x1 -> Bootloader permits user reads of this page
11855 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
11856 //               0x3 -> Bootloader does not permit user access to this page
11857 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_RESET  "-"
11858 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_BITS   _u(0x00000030)
11859 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_MSB    _u(5)
11860 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_LSB    _u(4)
11861 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_ACCESS "RO"
11862 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
11863 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
11864 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
11865 #define OTP_DATA_PAGE60_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
11866 // -----------------------------------------------------------------------------
11867 // Field       : OTP_DATA_PAGE60_LOCK1_LOCK_NS
11868 // Description : Lock state for Non-secure accesses to this page. Thermometer-
11869 //               coded, so lock state can be advanced permanently from any state
11870 //               to any less-permissive state by programming OTP. Software can
11871 //               also advance the lock state temporarily (until next OTP reset)
11872 //               using the SW_LOCKx registers.
11873 //
11874 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
11875 //               as the SBPI programming interface is not accessible to Non-
11876 //               secure software. However, Secure software may check these bits
11877 //               to apply write permissions to a Non-secure OTP programming API.
11878 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
11879 //               0x1 -> Page can be read by Non-secure software
11880 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11881 //               0x3 -> Page can not be accessed by Non-secure software.
11882 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_RESET  "-"
11883 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
11884 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_MSB    _u(3)
11885 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_LSB    _u(2)
11886 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_ACCESS "RO"
11887 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
11888 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
11889 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
11890 #define OTP_DATA_PAGE60_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
11891 // -----------------------------------------------------------------------------
11892 // Field       : OTP_DATA_PAGE60_LOCK1_LOCK_S
11893 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
11894 //               so lock state can be advanced permanently from any state to any
11895 //               less-permissive state by programming OTP. Software can also
11896 //               advance the lock state temporarily (until next OTP reset) using
11897 //               the SW_LOCKx registers.
11898 //               0x0 -> Page is fully accessible by Secure software.
11899 //               0x1 -> Page can be read by Secure software, but can not be written.
11900 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
11901 //               0x3 -> Page can not be accessed by Secure software.
11902 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_RESET  "-"
11903 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_BITS   _u(0x00000003)
11904 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_MSB    _u(1)
11905 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_LSB    _u(0)
11906 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_ACCESS "RO"
11907 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
11908 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
11909 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
11910 #define OTP_DATA_PAGE60_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
11911 // =============================================================================
11912 // Register    : OTP_DATA_PAGE61_LOCK0
11913 // Description : Lock configuration LSBs for page 61 (rows 0xf40 through 0xf7f).
11914 //               Locks are stored with 3-way majority vote encoding, so that
11915 //               bits can be set independently.
11916 //
11917 //               This OTP location is always readable, and is write-protected by
11918 //               its own permissions.
11919 #define OTP_DATA_PAGE61_LOCK0_ROW _u(0x00000ffa)
11920 #define OTP_DATA_PAGE61_LOCK0_BITS   _u(0x00ffff7f)
11921 #define OTP_DATA_PAGE61_LOCK0_RESET  _u(0x00000000)
11922 #define OTP_DATA_PAGE61_LOCK0_WIDTH  _u(24)
11923 // -----------------------------------------------------------------------------
11924 // Field       : OTP_DATA_PAGE61_LOCK0_R2
11925 // Description : Redundant copy of bits 7:0
11926 #define OTP_DATA_PAGE61_LOCK0_R2_RESET  "-"
11927 #define OTP_DATA_PAGE61_LOCK0_R2_BITS   _u(0x00ff0000)
11928 #define OTP_DATA_PAGE61_LOCK0_R2_MSB    _u(23)
11929 #define OTP_DATA_PAGE61_LOCK0_R2_LSB    _u(16)
11930 #define OTP_DATA_PAGE61_LOCK0_R2_ACCESS "RO"
11931 // -----------------------------------------------------------------------------
11932 // Field       : OTP_DATA_PAGE61_LOCK0_R1
11933 // Description : Redundant copy of bits 7:0
11934 #define OTP_DATA_PAGE61_LOCK0_R1_RESET  "-"
11935 #define OTP_DATA_PAGE61_LOCK0_R1_BITS   _u(0x0000ff00)
11936 #define OTP_DATA_PAGE61_LOCK0_R1_MSB    _u(15)
11937 #define OTP_DATA_PAGE61_LOCK0_R1_LSB    _u(8)
11938 #define OTP_DATA_PAGE61_LOCK0_R1_ACCESS "RO"
11939 // -----------------------------------------------------------------------------
11940 // Field       : OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE
11941 // Description : State when at least one key is registered for this page and no
11942 //               matching key has been entered.
11943 //               0x0 -> read_only
11944 //               0x1 -> inaccessible
11945 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_RESET  "-"
11946 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
11947 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_MSB    _u(6)
11948 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_LSB    _u(6)
11949 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_ACCESS "RO"
11950 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
11951 #define OTP_DATA_PAGE61_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
11952 // -----------------------------------------------------------------------------
11953 // Field       : OTP_DATA_PAGE61_LOCK0_KEY_R
11954 // Description : Index 1-6 of a hardware key which must be entered to grant read
11955 //               access, or 0 if no such key is required.
11956 #define OTP_DATA_PAGE61_LOCK0_KEY_R_RESET  "-"
11957 #define OTP_DATA_PAGE61_LOCK0_KEY_R_BITS   _u(0x00000038)
11958 #define OTP_DATA_PAGE61_LOCK0_KEY_R_MSB    _u(5)
11959 #define OTP_DATA_PAGE61_LOCK0_KEY_R_LSB    _u(3)
11960 #define OTP_DATA_PAGE61_LOCK0_KEY_R_ACCESS "RO"
11961 // -----------------------------------------------------------------------------
11962 // Field       : OTP_DATA_PAGE61_LOCK0_KEY_W
11963 // Description : Index 1-6 of a hardware key which must be entered to grant
11964 //               write access, or 0 if no such key is required.
11965 #define OTP_DATA_PAGE61_LOCK0_KEY_W_RESET  "-"
11966 #define OTP_DATA_PAGE61_LOCK0_KEY_W_BITS   _u(0x00000007)
11967 #define OTP_DATA_PAGE61_LOCK0_KEY_W_MSB    _u(2)
11968 #define OTP_DATA_PAGE61_LOCK0_KEY_W_LSB    _u(0)
11969 #define OTP_DATA_PAGE61_LOCK0_KEY_W_ACCESS "RO"
11970 // =============================================================================
11971 // Register    : OTP_DATA_PAGE61_LOCK1
11972 // Description : Lock configuration MSBs for page 61 (rows 0xf40 through 0xf7f).
11973 //               Locks are stored with 3-way majority vote encoding, so that
11974 //               bits can be set independently.
11975 //
11976 //               This OTP location is always readable, and is write-protected by
11977 //               its own permissions.
11978 #define OTP_DATA_PAGE61_LOCK1_ROW _u(0x00000ffb)
11979 #define OTP_DATA_PAGE61_LOCK1_BITS   _u(0x00ffff3f)
11980 #define OTP_DATA_PAGE61_LOCK1_RESET  _u(0x00000000)
11981 #define OTP_DATA_PAGE61_LOCK1_WIDTH  _u(24)
11982 // -----------------------------------------------------------------------------
11983 // Field       : OTP_DATA_PAGE61_LOCK1_R2
11984 // Description : Redundant copy of bits 7:0
11985 #define OTP_DATA_PAGE61_LOCK1_R2_RESET  "-"
11986 #define OTP_DATA_PAGE61_LOCK1_R2_BITS   _u(0x00ff0000)
11987 #define OTP_DATA_PAGE61_LOCK1_R2_MSB    _u(23)
11988 #define OTP_DATA_PAGE61_LOCK1_R2_LSB    _u(16)
11989 #define OTP_DATA_PAGE61_LOCK1_R2_ACCESS "RO"
11990 // -----------------------------------------------------------------------------
11991 // Field       : OTP_DATA_PAGE61_LOCK1_R1
11992 // Description : Redundant copy of bits 7:0
11993 #define OTP_DATA_PAGE61_LOCK1_R1_RESET  "-"
11994 #define OTP_DATA_PAGE61_LOCK1_R1_BITS   _u(0x0000ff00)
11995 #define OTP_DATA_PAGE61_LOCK1_R1_MSB    _u(15)
11996 #define OTP_DATA_PAGE61_LOCK1_R1_LSB    _u(8)
11997 #define OTP_DATA_PAGE61_LOCK1_R1_ACCESS "RO"
11998 // -----------------------------------------------------------------------------
11999 // Field       : OTP_DATA_PAGE61_LOCK1_LOCK_BL
12000 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
12001 //               USB bootloader) to store their own OTP access permissions. No
12002 //               hardware effect, and no corresponding SW_LOCKx registers.
12003 //               0x0 -> Bootloader permits user reads and writes to this page
12004 //               0x1 -> Bootloader permits user reads of this page
12005 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
12006 //               0x3 -> Bootloader does not permit user access to this page
12007 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_RESET  "-"
12008 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_BITS   _u(0x00000030)
12009 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_MSB    _u(5)
12010 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_LSB    _u(4)
12011 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_ACCESS "RO"
12012 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
12013 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
12014 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
12015 #define OTP_DATA_PAGE61_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
12016 // -----------------------------------------------------------------------------
12017 // Field       : OTP_DATA_PAGE61_LOCK1_LOCK_NS
12018 // Description : Lock state for Non-secure accesses to this page. Thermometer-
12019 //               coded, so lock state can be advanced permanently from any state
12020 //               to any less-permissive state by programming OTP. Software can
12021 //               also advance the lock state temporarily (until next OTP reset)
12022 //               using the SW_LOCKx registers.
12023 //
12024 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
12025 //               as the SBPI programming interface is not accessible to Non-
12026 //               secure software. However, Secure software may check these bits
12027 //               to apply write permissions to a Non-secure OTP programming API.
12028 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
12029 //               0x1 -> Page can be read by Non-secure software
12030 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
12031 //               0x3 -> Page can not be accessed by Non-secure software.
12032 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_RESET  "-"
12033 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
12034 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_MSB    _u(3)
12035 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_LSB    _u(2)
12036 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_ACCESS "RO"
12037 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
12038 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
12039 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
12040 #define OTP_DATA_PAGE61_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
12041 // -----------------------------------------------------------------------------
12042 // Field       : OTP_DATA_PAGE61_LOCK1_LOCK_S
12043 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
12044 //               so lock state can be advanced permanently from any state to any
12045 //               less-permissive state by programming OTP. Software can also
12046 //               advance the lock state temporarily (until next OTP reset) using
12047 //               the SW_LOCKx registers.
12048 //               0x0 -> Page is fully accessible by Secure software.
12049 //               0x1 -> Page can be read by Secure software, but can not be written.
12050 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
12051 //               0x3 -> Page can not be accessed by Secure software.
12052 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_RESET  "-"
12053 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_BITS   _u(0x00000003)
12054 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_MSB    _u(1)
12055 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_LSB    _u(0)
12056 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_ACCESS "RO"
12057 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
12058 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
12059 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
12060 #define OTP_DATA_PAGE61_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
12061 // =============================================================================
12062 // Register    : OTP_DATA_PAGE62_LOCK0
12063 // Description : Lock configuration LSBs for page 62 (rows 0xf80 through 0xfbf).
12064 //               Locks are stored with 3-way majority vote encoding, so that
12065 //               bits can be set independently.
12066 //
12067 //               This OTP location is always readable, and is write-protected by
12068 //               its own permissions.
12069 #define OTP_DATA_PAGE62_LOCK0_ROW _u(0x00000ffc)
12070 #define OTP_DATA_PAGE62_LOCK0_BITS   _u(0x00ffff7f)
12071 #define OTP_DATA_PAGE62_LOCK0_RESET  _u(0x00000000)
12072 #define OTP_DATA_PAGE62_LOCK0_WIDTH  _u(24)
12073 // -----------------------------------------------------------------------------
12074 // Field       : OTP_DATA_PAGE62_LOCK0_R2
12075 // Description : Redundant copy of bits 7:0
12076 #define OTP_DATA_PAGE62_LOCK0_R2_RESET  "-"
12077 #define OTP_DATA_PAGE62_LOCK0_R2_BITS   _u(0x00ff0000)
12078 #define OTP_DATA_PAGE62_LOCK0_R2_MSB    _u(23)
12079 #define OTP_DATA_PAGE62_LOCK0_R2_LSB    _u(16)
12080 #define OTP_DATA_PAGE62_LOCK0_R2_ACCESS "RO"
12081 // -----------------------------------------------------------------------------
12082 // Field       : OTP_DATA_PAGE62_LOCK0_R1
12083 // Description : Redundant copy of bits 7:0
12084 #define OTP_DATA_PAGE62_LOCK0_R1_RESET  "-"
12085 #define OTP_DATA_PAGE62_LOCK0_R1_BITS   _u(0x0000ff00)
12086 #define OTP_DATA_PAGE62_LOCK0_R1_MSB    _u(15)
12087 #define OTP_DATA_PAGE62_LOCK0_R1_LSB    _u(8)
12088 #define OTP_DATA_PAGE62_LOCK0_R1_ACCESS "RO"
12089 // -----------------------------------------------------------------------------
12090 // Field       : OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE
12091 // Description : State when at least one key is registered for this page and no
12092 //               matching key has been entered.
12093 //               0x0 -> read_only
12094 //               0x1 -> inaccessible
12095 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_RESET  "-"
12096 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
12097 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_MSB    _u(6)
12098 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_LSB    _u(6)
12099 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_ACCESS "RO"
12100 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
12101 #define OTP_DATA_PAGE62_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
12102 // -----------------------------------------------------------------------------
12103 // Field       : OTP_DATA_PAGE62_LOCK0_KEY_R
12104 // Description : Index 1-6 of a hardware key which must be entered to grant read
12105 //               access, or 0 if no such key is required.
12106 #define OTP_DATA_PAGE62_LOCK0_KEY_R_RESET  "-"
12107 #define OTP_DATA_PAGE62_LOCK0_KEY_R_BITS   _u(0x00000038)
12108 #define OTP_DATA_PAGE62_LOCK0_KEY_R_MSB    _u(5)
12109 #define OTP_DATA_PAGE62_LOCK0_KEY_R_LSB    _u(3)
12110 #define OTP_DATA_PAGE62_LOCK0_KEY_R_ACCESS "RO"
12111 // -----------------------------------------------------------------------------
12112 // Field       : OTP_DATA_PAGE62_LOCK0_KEY_W
12113 // Description : Index 1-6 of a hardware key which must be entered to grant
12114 //               write access, or 0 if no such key is required.
12115 #define OTP_DATA_PAGE62_LOCK0_KEY_W_RESET  "-"
12116 #define OTP_DATA_PAGE62_LOCK0_KEY_W_BITS   _u(0x00000007)
12117 #define OTP_DATA_PAGE62_LOCK0_KEY_W_MSB    _u(2)
12118 #define OTP_DATA_PAGE62_LOCK0_KEY_W_LSB    _u(0)
12119 #define OTP_DATA_PAGE62_LOCK0_KEY_W_ACCESS "RO"
12120 // =============================================================================
12121 // Register    : OTP_DATA_PAGE62_LOCK1
12122 // Description : Lock configuration MSBs for page 62 (rows 0xf80 through 0xfbf).
12123 //               Locks are stored with 3-way majority vote encoding, so that
12124 //               bits can be set independently.
12125 //
12126 //               This OTP location is always readable, and is write-protected by
12127 //               its own permissions.
12128 #define OTP_DATA_PAGE62_LOCK1_ROW _u(0x00000ffd)
12129 #define OTP_DATA_PAGE62_LOCK1_BITS   _u(0x00ffff3f)
12130 #define OTP_DATA_PAGE62_LOCK1_RESET  _u(0x00000000)
12131 #define OTP_DATA_PAGE62_LOCK1_WIDTH  _u(24)
12132 // -----------------------------------------------------------------------------
12133 // Field       : OTP_DATA_PAGE62_LOCK1_R2
12134 // Description : Redundant copy of bits 7:0
12135 #define OTP_DATA_PAGE62_LOCK1_R2_RESET  "-"
12136 #define OTP_DATA_PAGE62_LOCK1_R2_BITS   _u(0x00ff0000)
12137 #define OTP_DATA_PAGE62_LOCK1_R2_MSB    _u(23)
12138 #define OTP_DATA_PAGE62_LOCK1_R2_LSB    _u(16)
12139 #define OTP_DATA_PAGE62_LOCK1_R2_ACCESS "RO"
12140 // -----------------------------------------------------------------------------
12141 // Field       : OTP_DATA_PAGE62_LOCK1_R1
12142 // Description : Redundant copy of bits 7:0
12143 #define OTP_DATA_PAGE62_LOCK1_R1_RESET  "-"
12144 #define OTP_DATA_PAGE62_LOCK1_R1_BITS   _u(0x0000ff00)
12145 #define OTP_DATA_PAGE62_LOCK1_R1_MSB    _u(15)
12146 #define OTP_DATA_PAGE62_LOCK1_R1_LSB    _u(8)
12147 #define OTP_DATA_PAGE62_LOCK1_R1_ACCESS "RO"
12148 // -----------------------------------------------------------------------------
12149 // Field       : OTP_DATA_PAGE62_LOCK1_LOCK_BL
12150 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
12151 //               USB bootloader) to store their own OTP access permissions. No
12152 //               hardware effect, and no corresponding SW_LOCKx registers.
12153 //               0x0 -> Bootloader permits user reads and writes to this page
12154 //               0x1 -> Bootloader permits user reads of this page
12155 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
12156 //               0x3 -> Bootloader does not permit user access to this page
12157 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_RESET  "-"
12158 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_BITS   _u(0x00000030)
12159 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_MSB    _u(5)
12160 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_LSB    _u(4)
12161 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_ACCESS "RO"
12162 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
12163 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
12164 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
12165 #define OTP_DATA_PAGE62_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
12166 // -----------------------------------------------------------------------------
12167 // Field       : OTP_DATA_PAGE62_LOCK1_LOCK_NS
12168 // Description : Lock state for Non-secure accesses to this page. Thermometer-
12169 //               coded, so lock state can be advanced permanently from any state
12170 //               to any less-permissive state by programming OTP. Software can
12171 //               also advance the lock state temporarily (until next OTP reset)
12172 //               using the SW_LOCKx registers.
12173 //
12174 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
12175 //               as the SBPI programming interface is not accessible to Non-
12176 //               secure software. However, Secure software may check these bits
12177 //               to apply write permissions to a Non-secure OTP programming API.
12178 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
12179 //               0x1 -> Page can be read by Non-secure software
12180 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
12181 //               0x3 -> Page can not be accessed by Non-secure software.
12182 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_RESET  "-"
12183 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
12184 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_MSB    _u(3)
12185 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_LSB    _u(2)
12186 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_ACCESS "RO"
12187 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
12188 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
12189 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
12190 #define OTP_DATA_PAGE62_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
12191 // -----------------------------------------------------------------------------
12192 // Field       : OTP_DATA_PAGE62_LOCK1_LOCK_S
12193 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
12194 //               so lock state can be advanced permanently from any state to any
12195 //               less-permissive state by programming OTP. Software can also
12196 //               advance the lock state temporarily (until next OTP reset) using
12197 //               the SW_LOCKx registers.
12198 //               0x0 -> Page is fully accessible by Secure software.
12199 //               0x1 -> Page can be read by Secure software, but can not be written.
12200 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
12201 //               0x3 -> Page can not be accessed by Secure software.
12202 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_RESET  "-"
12203 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_BITS   _u(0x00000003)
12204 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_MSB    _u(1)
12205 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_LSB    _u(0)
12206 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_ACCESS "RO"
12207 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
12208 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
12209 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
12210 #define OTP_DATA_PAGE62_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
12211 // =============================================================================
12212 // Register    : OTP_DATA_PAGE63_LOCK0
12213 // Description : Lock configuration LSBs for page 63 (rows 0xfc0 through 0xfff).
12214 //               Locks are stored with 3-way majority vote encoding, so that
12215 //               bits can be set independently.
12216 //
12217 //               This OTP location is always readable, and is write-protected by
12218 //               its own permissions.
12219 #define OTP_DATA_PAGE63_LOCK0_ROW _u(0x00000ffe)
12220 #define OTP_DATA_PAGE63_LOCK0_BITS   _u(0x00ffffff)
12221 #define OTP_DATA_PAGE63_LOCK0_RESET  _u(0x00000000)
12222 #define OTP_DATA_PAGE63_LOCK0_WIDTH  _u(24)
12223 // -----------------------------------------------------------------------------
12224 // Field       : OTP_DATA_PAGE63_LOCK0_R2
12225 // Description : Redundant copy of bits 7:0
12226 #define OTP_DATA_PAGE63_LOCK0_R2_RESET  "-"
12227 #define OTP_DATA_PAGE63_LOCK0_R2_BITS   _u(0x00ff0000)
12228 #define OTP_DATA_PAGE63_LOCK0_R2_MSB    _u(23)
12229 #define OTP_DATA_PAGE63_LOCK0_R2_LSB    _u(16)
12230 #define OTP_DATA_PAGE63_LOCK0_R2_ACCESS "RO"
12231 // -----------------------------------------------------------------------------
12232 // Field       : OTP_DATA_PAGE63_LOCK0_R1
12233 // Description : Redundant copy of bits 7:0
12234 #define OTP_DATA_PAGE63_LOCK0_R1_RESET  "-"
12235 #define OTP_DATA_PAGE63_LOCK0_R1_BITS   _u(0x0000ff00)
12236 #define OTP_DATA_PAGE63_LOCK0_R1_MSB    _u(15)
12237 #define OTP_DATA_PAGE63_LOCK0_R1_LSB    _u(8)
12238 #define OTP_DATA_PAGE63_LOCK0_R1_ACCESS "RO"
12239 // -----------------------------------------------------------------------------
12240 // Field       : OTP_DATA_PAGE63_LOCK0_RMA
12241 // Description : Decommission for RMA of a suspected faulty device. This re-
12242 //               enables the factory test JTAG interface, and makes pages 3
12243 //               through 61 of the OTP permanently inaccessible.
12244 #define OTP_DATA_PAGE63_LOCK0_RMA_RESET  "-"
12245 #define OTP_DATA_PAGE63_LOCK0_RMA_BITS   _u(0x00000080)
12246 #define OTP_DATA_PAGE63_LOCK0_RMA_MSB    _u(7)
12247 #define OTP_DATA_PAGE63_LOCK0_RMA_LSB    _u(7)
12248 #define OTP_DATA_PAGE63_LOCK0_RMA_ACCESS "RO"
12249 // -----------------------------------------------------------------------------
12250 // Field       : OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE
12251 // Description : State when at least one key is registered for this page and no
12252 //               matching key has been entered.
12253 //               0x0 -> read_only
12254 //               0x1 -> inaccessible
12255 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_RESET  "-"
12256 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_BITS   _u(0x00000040)
12257 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_MSB    _u(6)
12258 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_LSB    _u(6)
12259 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_ACCESS "RO"
12260 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_VALUE_READ_ONLY _u(0x0)
12261 #define OTP_DATA_PAGE63_LOCK0_NO_KEY_STATE_VALUE_INACCESSIBLE _u(0x1)
12262 // -----------------------------------------------------------------------------
12263 // Field       : OTP_DATA_PAGE63_LOCK0_KEY_R
12264 // Description : Index 1-6 of a hardware key which must be entered to grant read
12265 //               access, or 0 if no such key is required.
12266 #define OTP_DATA_PAGE63_LOCK0_KEY_R_RESET  "-"
12267 #define OTP_DATA_PAGE63_LOCK0_KEY_R_BITS   _u(0x00000038)
12268 #define OTP_DATA_PAGE63_LOCK0_KEY_R_MSB    _u(5)
12269 #define OTP_DATA_PAGE63_LOCK0_KEY_R_LSB    _u(3)
12270 #define OTP_DATA_PAGE63_LOCK0_KEY_R_ACCESS "RO"
12271 // -----------------------------------------------------------------------------
12272 // Field       : OTP_DATA_PAGE63_LOCK0_KEY_W
12273 // Description : Index 1-6 of a hardware key which must be entered to grant
12274 //               write access, or 0 if no such key is required.
12275 #define OTP_DATA_PAGE63_LOCK0_KEY_W_RESET  "-"
12276 #define OTP_DATA_PAGE63_LOCK0_KEY_W_BITS   _u(0x00000007)
12277 #define OTP_DATA_PAGE63_LOCK0_KEY_W_MSB    _u(2)
12278 #define OTP_DATA_PAGE63_LOCK0_KEY_W_LSB    _u(0)
12279 #define OTP_DATA_PAGE63_LOCK0_KEY_W_ACCESS "RO"
12280 // =============================================================================
12281 // Register    : OTP_DATA_PAGE63_LOCK1
12282 // Description : Lock configuration MSBs for page 63 (rows 0xfc0 through 0xfff).
12283 //               Locks are stored with 3-way majority vote encoding, so that
12284 //               bits can be set independently.
12285 //
12286 //               This OTP location is always readable, and is write-protected by
12287 //               its own permissions.
12288 #define OTP_DATA_PAGE63_LOCK1_ROW _u(0x00000fff)
12289 #define OTP_DATA_PAGE63_LOCK1_BITS   _u(0x00ffff3f)
12290 #define OTP_DATA_PAGE63_LOCK1_RESET  _u(0x00000000)
12291 #define OTP_DATA_PAGE63_LOCK1_WIDTH  _u(24)
12292 // -----------------------------------------------------------------------------
12293 // Field       : OTP_DATA_PAGE63_LOCK1_R2
12294 // Description : Redundant copy of bits 7:0
12295 #define OTP_DATA_PAGE63_LOCK1_R2_RESET  "-"
12296 #define OTP_DATA_PAGE63_LOCK1_R2_BITS   _u(0x00ff0000)
12297 #define OTP_DATA_PAGE63_LOCK1_R2_MSB    _u(23)
12298 #define OTP_DATA_PAGE63_LOCK1_R2_LSB    _u(16)
12299 #define OTP_DATA_PAGE63_LOCK1_R2_ACCESS "RO"
12300 // -----------------------------------------------------------------------------
12301 // Field       : OTP_DATA_PAGE63_LOCK1_R1
12302 // Description : Redundant copy of bits 7:0
12303 #define OTP_DATA_PAGE63_LOCK1_R1_RESET  "-"
12304 #define OTP_DATA_PAGE63_LOCK1_R1_BITS   _u(0x0000ff00)
12305 #define OTP_DATA_PAGE63_LOCK1_R1_MSB    _u(15)
12306 #define OTP_DATA_PAGE63_LOCK1_R1_LSB    _u(8)
12307 #define OTP_DATA_PAGE63_LOCK1_R1_ACCESS "RO"
12308 // -----------------------------------------------------------------------------
12309 // Field       : OTP_DATA_PAGE63_LOCK1_LOCK_BL
12310 // Description : Dummy lock bits reserved for bootloaders (including the RP2350
12311 //               USB bootloader) to store their own OTP access permissions. No
12312 //               hardware effect, and no corresponding SW_LOCKx registers.
12313 //               0x0 -> Bootloader permits user reads and writes to this page
12314 //               0x1 -> Bootloader permits user reads of this page
12315 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE
12316 //               0x3 -> Bootloader does not permit user access to this page
12317 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_RESET  "-"
12318 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_BITS   _u(0x00000030)
12319 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_MSB    _u(5)
12320 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_LSB    _u(4)
12321 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_ACCESS "RO"
12322 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_VALUE_READ_WRITE _u(0x0)
12323 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_VALUE_READ_ONLY _u(0x1)
12324 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_VALUE_RESERVED _u(0x2)
12325 #define OTP_DATA_PAGE63_LOCK1_LOCK_BL_VALUE_INACCESSIBLE _u(0x3)
12326 // -----------------------------------------------------------------------------
12327 // Field       : OTP_DATA_PAGE63_LOCK1_LOCK_NS
12328 // Description : Lock state for Non-secure accesses to this page. Thermometer-
12329 //               coded, so lock state can be advanced permanently from any state
12330 //               to any less-permissive state by programming OTP. Software can
12331 //               also advance the lock state temporarily (until next OTP reset)
12332 //               using the SW_LOCKx registers.
12333 //
12334 //               Note that READ_WRITE and READ_ONLY are equivalent in hardware,
12335 //               as the SBPI programming interface is not accessible to Non-
12336 //               secure software. However, Secure software may check these bits
12337 //               to apply write permissions to a Non-secure OTP programming API.
12338 //               0x0 -> Page can be read by Non-secure software, and Secure software may permit Non-secure writes.
12339 //               0x1 -> Page can be read by Non-secure software
12340 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
12341 //               0x3 -> Page can not be accessed by Non-secure software.
12342 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_RESET  "-"
12343 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_BITS   _u(0x0000000c)
12344 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_MSB    _u(3)
12345 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_LSB    _u(2)
12346 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_ACCESS "RO"
12347 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_VALUE_READ_WRITE _u(0x0)
12348 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_VALUE_READ_ONLY _u(0x1)
12349 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_VALUE_RESERVED _u(0x2)
12350 #define OTP_DATA_PAGE63_LOCK1_LOCK_NS_VALUE_INACCESSIBLE _u(0x3)
12351 // -----------------------------------------------------------------------------
12352 // Field       : OTP_DATA_PAGE63_LOCK1_LOCK_S
12353 // Description : Lock state for Secure accesses to this page. Thermometer-coded,
12354 //               so lock state can be advanced permanently from any state to any
12355 //               less-permissive state by programming OTP. Software can also
12356 //               advance the lock state temporarily (until next OTP reset) using
12357 //               the SW_LOCKx registers.
12358 //               0x0 -> Page is fully accessible by Secure software.
12359 //               0x1 -> Page can be read by Secure software, but can not be written.
12360 //               0x2 -> Do not use. Behaves the same as INACCESSIBLE.
12361 //               0x3 -> Page can not be accessed by Secure software.
12362 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_RESET  "-"
12363 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_BITS   _u(0x00000003)
12364 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_MSB    _u(1)
12365 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_LSB    _u(0)
12366 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_ACCESS "RO"
12367 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_VALUE_READ_WRITE _u(0x0)
12368 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_VALUE_READ_ONLY _u(0x1)
12369 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_VALUE_RESERVED _u(0x2)
12370 #define OTP_DATA_PAGE63_LOCK1_LOCK_S_VALUE_INACCESSIBLE _u(0x3)
12371 // =============================================================================
12372 #endif // _HARDWARE_REGS_OTP_DATA_H
12373 
12374