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