1 /** 2 * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #include <stdint.h> 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /** Group: PGM Data Register */ 14 /** Type of pgm_data0 register 15 * Register 0 that stores data to be programmed. 16 */ 17 typedef union { 18 struct { 19 /** pgm_data_0 : R/W; bitpos: [31:0]; default: 0; 20 * Configures the 0th 32-bit data to be programmed. 21 */ 22 uint32_t pgm_data_0:32; 23 }; 24 uint32_t val; 25 } efuse_pgm_data0_reg_t; 26 27 /** Type of pgm_data1 register 28 * Register 1 that stores data to be programmed. 29 */ 30 typedef union { 31 struct { 32 /** pgm_data_1 : R/W; bitpos: [31:0]; default: 0; 33 * Configures the 1st 32-bit data to be programmed. 34 */ 35 uint32_t pgm_data_1:32; 36 }; 37 uint32_t val; 38 } efuse_pgm_data1_reg_t; 39 40 /** Type of pgm_data2 register 41 * Register 2 that stores data to be programmed. 42 */ 43 typedef union { 44 struct { 45 /** pgm_data_2 : R/W; bitpos: [31:0]; default: 0; 46 * Configures the 2nd 32-bit data to be programmed. 47 */ 48 uint32_t pgm_data_2:32; 49 }; 50 uint32_t val; 51 } efuse_pgm_data2_reg_t; 52 53 /** Type of pgm_data3 register 54 * Register 3 that stores data to be programmed. 55 */ 56 typedef union { 57 struct { 58 /** pgm_data_3 : R/W; bitpos: [31:0]; default: 0; 59 * Configures the 3rd 32-bit data to be programmed. 60 */ 61 uint32_t pgm_data_3:32; 62 }; 63 uint32_t val; 64 } efuse_pgm_data3_reg_t; 65 66 /** Type of pgm_data4 register 67 * Register 4 that stores data to be programmed. 68 */ 69 typedef union { 70 struct { 71 /** pgm_data_4 : R/W; bitpos: [31:0]; default: 0; 72 * Configures the 4th 32-bit data to be programmed. 73 */ 74 uint32_t pgm_data_4:32; 75 }; 76 uint32_t val; 77 } efuse_pgm_data4_reg_t; 78 79 /** Type of pgm_data5 register 80 * Register 5 that stores data to be programmed. 81 */ 82 typedef union { 83 struct { 84 /** pgm_data_5 : R/W; bitpos: [31:0]; default: 0; 85 * Configures the 5th 32-bit data to be programmed. 86 */ 87 uint32_t pgm_data_5:32; 88 }; 89 uint32_t val; 90 } efuse_pgm_data5_reg_t; 91 92 /** Type of pgm_data6 register 93 * Register 6 that stores data to be programmed. 94 */ 95 typedef union { 96 struct { 97 /** pgm_data_6 : R/W; bitpos: [31:0]; default: 0; 98 * Configures the 6th 32-bit data to be programmed. 99 */ 100 uint32_t pgm_data_6:32; 101 }; 102 uint32_t val; 103 } efuse_pgm_data6_reg_t; 104 105 /** Type of pgm_data7 register 106 * Register 7 that stores data to be programmed. 107 */ 108 typedef union { 109 struct { 110 /** pgm_data_7 : R/W; bitpos: [31:0]; default: 0; 111 * Configures the 7th 32-bit data to be programmed. 112 */ 113 uint32_t pgm_data_7:32; 114 }; 115 uint32_t val; 116 } efuse_pgm_data7_reg_t; 117 118 /** Type of pgm_check_value0 register 119 * Register 0 that stores the RS code to be programmed. 120 */ 121 typedef union { 122 struct { 123 /** pgm_rs_data_0 : R/W; bitpos: [31:0]; default: 0; 124 * Configures the 0th 32-bit RS code to be programmed. 125 */ 126 uint32_t pgm_rs_data_0:32; 127 }; 128 uint32_t val; 129 } efuse_pgm_check_value0_reg_t; 130 131 /** Type of pgm_check_value1 register 132 * Register 1 that stores the RS code to be programmed. 133 */ 134 typedef union { 135 struct { 136 /** pgm_rs_data_1 : R/W; bitpos: [31:0]; default: 0; 137 * Configures the 1st 32-bit RS code to be programmed. 138 */ 139 uint32_t pgm_rs_data_1:32; 140 }; 141 uint32_t val; 142 } efuse_pgm_check_value1_reg_t; 143 144 /** Type of pgm_check_value2 register 145 * Register 2 that stores the RS code to be programmed. 146 */ 147 typedef union { 148 struct { 149 /** pgm_rs_data_2 : R/W; bitpos: [31:0]; default: 0; 150 * Configures the 2nd 32-bit RS code to be programmed. 151 */ 152 uint32_t pgm_rs_data_2:32; 153 }; 154 uint32_t val; 155 } efuse_pgm_check_value2_reg_t; 156 157 158 /** Group: Read Data Register */ 159 /** Type of rd_wr_dis register 160 * BLOCK0 data register 0. 161 */ 162 typedef union { 163 struct { 164 /** wr_dis : RO; bitpos: [31:0]; default: 0; 165 * Represents whether programming of individual eFuse memory bit is disabled or 166 * enabled. 1: Disabled. 0 Enabled. 167 */ 168 uint32_t wr_dis:32; 169 }; 170 uint32_t val; 171 } efuse_rd_wr_dis_reg_t; 172 173 /** Type of rd_repeat_data0 register 174 * BLOCK0 data register 1. 175 */ 176 typedef union { 177 struct { 178 /** rd_dis : RO; bitpos: [6:0]; default: 0; 179 * Represents whether reading of individual eFuse block(block4~block10) is disabled or 180 * enabled. 1: disabled. 0: enabled. 181 */ 182 uint32_t rd_dis:7; 183 /** rpt4_reserved0_4 : RO; bitpos: [7]; default: 0; 184 * Reserved. 185 */ 186 uint32_t rpt4_reserved0_4:1; 187 /** dis_icache : RO; bitpos: [8]; default: 0; 188 * Represents whether icache is disabled or enabled. 1: disabled. 0: enabled. 189 */ 190 uint32_t dis_icache:1; 191 /** dis_usb_jtag : RO; bitpos: [9]; default: 0; 192 * Represents whether the function of usb switch to jtag is disabled or enabled. 1: 193 * disabled. 0: enabled. 194 */ 195 uint32_t dis_usb_jtag:1; 196 /** powerglitch_en : RO; bitpos: [10]; default: 0; 197 * Represents whether power glitch function is enabled. 1: enabled. 0: disabled. 198 */ 199 uint32_t powerglitch_en:1; 200 /** dis_usb_serial_jtag : RO; bitpos: [11]; default: 0; 201 * Represents whether USB-Serial-JTAG is disabled or enabled. 1: disabled. 0: enabled. 202 */ 203 uint32_t dis_usb_serial_jtag:1; 204 /** dis_force_download : RO; bitpos: [12]; default: 0; 205 * Represents whether the function that forces chip into download mode is disabled or 206 * enabled. 1: disabled. 0: enabled. 207 */ 208 uint32_t dis_force_download:1; 209 /** spi_download_mspi_dis : RO; bitpos: [13]; default: 0; 210 * Represents whether SPI0 controller during boot_mode_download is disabled or 211 * enabled. 1: disabled. 0: enabled. 212 */ 213 uint32_t spi_download_mspi_dis:1; 214 /** dis_twai : RO; bitpos: [14]; default: 0; 215 * Represents whether TWAI function is disabled or enabled. 1: disabled. 0: enabled. 216 */ 217 uint32_t dis_twai:1; 218 /** jtag_sel_enable : RO; bitpos: [15]; default: 0; 219 * Set this bit to enable selection between usb_to_jtag and pad_to_jtag through 220 * strapping gpio25 when both EFUSE_DIS_PAD_JTAG and EFUSE_DIS_USB_JTAG are equal to 0 221 */ 222 uint32_t jtag_sel_enable:1; 223 /** soft_dis_jtag : RO; bitpos: [18:16]; default: 0; 224 * Represents whether JTAG is disabled in soft way. Odd number: disabled. Even number: 225 * enabled. 226 */ 227 uint32_t soft_dis_jtag:3; 228 /** dis_pad_jtag : RO; bitpos: [19]; default: 0; 229 * Represents whether JTAG is disabled in the hard way(permanently). 1: disabled. 0: 230 * enabled. 231 */ 232 uint32_t dis_pad_jtag:1; 233 /** dis_download_manual_encrypt : RO; bitpos: [20]; default: 0; 234 * Represents whether flash encrypt function is disabled or enabled(except in SPI boot 235 * mode). 1: disabled. 0: enabled. 236 */ 237 uint32_t dis_download_manual_encrypt:1; 238 /** usb_drefh : RO; bitpos: [22:21]; default: 0; 239 * Represents the single-end input threhold vrefh, 1.76 V to 2 V with step of 80 mV. 240 */ 241 uint32_t usb_drefh:2; 242 /** usb_drefl : RO; bitpos: [24:23]; default: 0; 243 * Represents the single-end input threhold vrefl, 1.76 V to 2 V with step of 80 mV. 244 */ 245 uint32_t usb_drefl:2; 246 /** usb_exchg_pins : RO; bitpos: [25]; default: 0; 247 * Represents whether the D+ and D- pins is exchanged. 1: exchanged. 0: not exchanged. 248 */ 249 uint32_t usb_exchg_pins:1; 250 /** vdd_spi_as_gpio : RO; bitpos: [26]; default: 0; 251 * Represents whether vdd spi pin is functioned as gpio. 1: functioned. 0: not 252 * functioned. 253 */ 254 uint32_t vdd_spi_as_gpio:1; 255 /** ecdsa_curve_mode : R; bitpos: [28:27]; default: 0; 256 * Configures the curve of ECDSA calculation: 0: only enable P256. 1: only enable 257 * P192. 2: both enable P256 and P192. 3: only enable P256 258 */ 259 uint32_t ecdsa_curve_mode:2; 260 /** ecc_force_const_time : R; bitpos: [29]; default: 0; 261 * Set this bit to permanently turn on ECC const-time mode 262 */ 263 uint32_t ecc_force_const_time:1; 264 /** xts_dpa_pseudo_level : R; bitpos: [31:30]; default: 0; 265 * Set this bit to control the xts pseudo-round anti-dpa attack function: 0: 266 * controlled by register. 1-3: the higher the value is, the more pseudo-rounds are 267 * inserted to the xts-aes calculation 268 */ 269 uint32_t xts_dpa_pseudo_level:2; 270 }; 271 uint32_t val; 272 } efuse_rd_repeat_data0_reg_t; 273 274 /** Type of rd_repeat_data1 register 275 * BLOCK0 data register 2. 276 */ 277 typedef union { 278 struct { 279 /** rpt4_reserved1_1 : RO; bitpos: [15:0]; default: 0; 280 * Reserved. 281 */ 282 uint32_t rpt4_reserved1_1:16; 283 /** wdt_delay_sel : RO; bitpos: [17:16]; default: 0; 284 * Represents whether RTC watchdog timeout threshold is selected at startup. 1: 285 * selected. 0: not selected. 286 */ 287 uint32_t wdt_delay_sel:2; 288 /** spi_boot_crypt_cnt : RO; bitpos: [20:18]; default: 0; 289 * Represents whether SPI boot encrypt/decrypt is disabled or enabled. Odd number of 290 * 1: enabled. Even number of 1: disabled. 291 */ 292 uint32_t spi_boot_crypt_cnt:3; 293 /** secure_boot_key_revoke0 : RO; bitpos: [21]; default: 0; 294 * Represents whether revoking first secure boot key is enabled or disabled. 1: 295 * enabled. 0: disabled. 296 */ 297 uint32_t secure_boot_key_revoke0:1; 298 /** secure_boot_key_revoke1 : RO; bitpos: [22]; default: 0; 299 * Represents whether revoking second secure boot key is enabled or disabled. 1: 300 * enabled. 0: disabled. 301 */ 302 uint32_t secure_boot_key_revoke1:1; 303 /** secure_boot_key_revoke2 : RO; bitpos: [23]; default: 0; 304 * Represents whether revoking third secure boot key is enabled or disabled. 1: 305 * enabled. 0: disabled. 306 */ 307 uint32_t secure_boot_key_revoke2:1; 308 /** key_purpose_0 : RO; bitpos: [27:24]; default: 0; 309 * Represents the purpose of Key0. 310 */ 311 uint32_t key_purpose_0:4; 312 /** key_purpose_1 : RO; bitpos: [31:28]; default: 0; 313 * Represents the purpose of Key1. 314 */ 315 uint32_t key_purpose_1:4; 316 }; 317 uint32_t val; 318 } efuse_rd_repeat_data1_reg_t; 319 320 /** Type of rd_repeat_data2 register 321 * BLOCK0 data register 3. 322 */ 323 typedef union { 324 struct { 325 /** key_purpose_2 : RO; bitpos: [3:0]; default: 0; 326 * Represents the purpose of Key2. 327 */ 328 uint32_t key_purpose_2:4; 329 /** key_purpose_3 : RO; bitpos: [7:4]; default: 0; 330 * Represents the purpose of Key3. 331 */ 332 uint32_t key_purpose_3:4; 333 /** key_purpose_4 : RO; bitpos: [11:8]; default: 0; 334 * Represents the purpose of Key4. 335 */ 336 uint32_t key_purpose_4:4; 337 /** key_purpose_5 : RO; bitpos: [15:12]; default: 0; 338 * Represents the purpose of Key5. 339 */ 340 uint32_t key_purpose_5:4; 341 /** sec_dpa_level : RO; bitpos: [17:16]; default: 0; 342 * Represents the spa secure level by configuring the clock random divide mode. 343 */ 344 uint32_t sec_dpa_level:2; 345 /** reserve_0_114 : RO; bitpos: [18]; default: 1; 346 * Reserved 347 */ 348 uint32_t reserve_0_114:1; 349 /** crypt_dpa_enable : RO; bitpos: [19]; default: 1; 350 * Represents whether anti-dpa attack is enabled. 1:enabled. 0: disabled. 351 */ 352 uint32_t crypt_dpa_enable:1; 353 /** secure_boot_en : RO; bitpos: [20]; default: 0; 354 * Represents whether secure boot is enabled or disabled. 1: enabled. 0: disabled. 355 */ 356 uint32_t secure_boot_en:1; 357 /** secure_boot_aggressive_revoke : RO; bitpos: [21]; default: 0; 358 * Represents whether revoking aggressive secure boot is enabled or disabled. 1: 359 * enabled. 0: disabled. 360 */ 361 uint32_t secure_boot_aggressive_revoke:1; 362 /** powerglitch_en1 : R; bitpos: [26:22]; default: 0; 363 * Set these bits to enable power glitch function when chip power on 364 */ 365 uint32_t powerglitch_en1:5; 366 /** reserved_0_123 : R; bitpos: [27]; default: 0; 367 * reserved 368 */ 369 uint32_t reserved_0_123:1; 370 /** flash_tpuw : RO; bitpos: [31:28]; default: 0; 371 * Represents the flash waiting time after power-up, in unit of ms. When the value 372 * less than 15, the waiting time is the programmed value. Otherwise, the waiting time 373 * is 2 times the programmed value. 374 */ 375 uint32_t flash_tpuw:4; 376 }; 377 uint32_t val; 378 } efuse_rd_repeat_data2_reg_t; 379 380 /** Type of rd_repeat_data3 register 381 * BLOCK0 data register 4. 382 */ 383 typedef union { 384 struct { 385 /** dis_download_mode : RO; bitpos: [0]; default: 0; 386 * Represents whether Download mode is disabled or enabled. 1: disabled. 0: enabled. 387 */ 388 uint32_t dis_download_mode:1; 389 /** dis_direct_boot : RO; bitpos: [1]; default: 0; 390 * Represents whether direct boot mode is disabled or enabled. 1: disabled. 0: enabled. 391 */ 392 uint32_t dis_direct_boot:1; 393 /** dis_usb_serial_jtag_rom_print : RO; bitpos: [2]; default: 0; 394 * Set this bit to disable USB-Serial-JTAG print during rom boot. 395 */ 396 uint32_t dis_usb_serial_jtag_rom_print:1; 397 /** rpt4_reserved3_5 : RO; bitpos: [3]; default: 0; 398 * Reserved. 399 */ 400 uint32_t rpt4_reserved3_5:1; 401 /** dis_usb_serial_jtag_download_mode : RO; bitpos: [4]; default: 0; 402 * Represents whether the USB-Serial-JTAG download function is disabled or enabled. 1: 403 * disabled. 0: enabled. 404 */ 405 uint32_t dis_usb_serial_jtag_download_mode:1; 406 /** enable_security_download : RO; bitpos: [5]; default: 0; 407 * Represents whether security download is enabled or disabled. 1: enabled. 0: 408 * disabled. 409 */ 410 uint32_t enable_security_download:1; 411 /** uart_print_control : RO; bitpos: [7:6]; default: 0; 412 * Represents the type of UART printing. 00: force enable printing. 01: enable 413 * printing when GPIO8 is reset at low level. 10: enable printing when GPIO8 is reset 414 * at high level. 11: force disable printing. 415 */ 416 uint32_t uart_print_control:2; 417 /** force_send_resume : RO; bitpos: [8]; default: 0; 418 * Represents whether ROM code is forced to send a resume command during SPI boot. 1: 419 * forced. 0:not forced. 420 */ 421 uint32_t force_send_resume:1; 422 /** secure_version : RO; bitpos: [24:9]; default: 0; 423 * Represents the version used by ESP-IDF anti-rollback feature. 424 */ 425 uint32_t secure_version:16; 426 /** secure_boot_disable_fast_wake : RO; bitpos: [25]; default: 0; 427 * Represents whether FAST VERIFY ON WAKE is disabled or enabled when Secure Boot is 428 * enabled. 1: disabled. 0: enabled. 429 */ 430 uint32_t secure_boot_disable_fast_wake:1; 431 /** hys_en_pad0 : RO; bitpos: [31:26]; default: 0; 432 * Set bits to enable hysteresis function of PAD0~5 433 */ 434 uint32_t hys_en_pad0:6; 435 }; 436 uint32_t val; 437 } efuse_rd_repeat_data3_reg_t; 438 439 /** Type of rd_repeat_data4 register 440 * BLOCK0 data register 5. 441 */ 442 typedef union { 443 struct { 444 /** hys_en_pad1 : RO; bitpos: [21:0]; default: 0; 445 * Set bits to enable hysteresis function of PAD6~27 446 */ 447 uint32_t hys_en_pad1:22; 448 /** rpt4_reserved4_1 : RO; bitpos: [23:22]; default: 0; 449 * Reserved. 450 */ 451 uint32_t rpt4_reserved4_1:2; 452 /** rpt4_reserved4_0 : RO; bitpos: [31:24]; default: 0; 453 * Reserved. 454 */ 455 uint32_t rpt4_reserved4_0:8; 456 }; 457 uint32_t val; 458 } efuse_rd_repeat_data4_reg_t; 459 460 /** Type of rd_mac_sys_0 register 461 * BLOCK1 data register $n. 462 */ 463 typedef union { 464 struct { 465 /** mac_0 : RO; bitpos: [31:0]; default: 0; 466 * Stores the low 32 bits of MAC address. 467 */ 468 uint32_t mac_0:32; 469 }; 470 uint32_t val; 471 } efuse_rd_mac_sys_0_reg_t; 472 473 /** Type of rd_mac_sys_1 register 474 * BLOCK1 data register $n. 475 */ 476 typedef union { 477 struct { 478 /** mac_1 : RO; bitpos: [15:0]; default: 0; 479 * Stores the high 16 bits of MAC address. 480 */ 481 uint32_t mac_1:16; 482 /** mac_ext : RO; bitpos: [31:16]; default: 0; 483 * Stores the extended bits of MAC address. 484 */ 485 uint32_t mac_ext:16; 486 }; 487 uint32_t val; 488 } efuse_rd_mac_sys_1_reg_t; 489 490 /** Type of rd_mac_sys_2 register 491 * BLOCK1 data register $n. 492 */ 493 typedef union { 494 struct { 495 /** rxiq_version : RO; bitpos: [2:0]; default: 0; 496 * Stores RF Calibration data. RXIQ version. 497 */ 498 uint32_t rxiq_version:3; 499 /** rxiq_0 : RO; bitpos: [9:3]; default: 0; 500 * Stores RF Calibration data. RXIQ data 0. 501 */ 502 uint32_t rxiq_0:7; 503 /** rxiq_1 : RO; bitpos: [16:10]; default: 0; 504 * Stores RF Calibration data. RXIQ data 1. 505 */ 506 uint32_t rxiq_1:7; 507 /** active_hp_dbias : RO; bitpos: [21:17]; default: 0; 508 * Stores the PMU active hp dbias. 509 */ 510 uint32_t active_hp_dbias:5; 511 /** active_lp_dbias : RO; bitpos: [26:22]; default: 0; 512 * Stores the PMU active lp dbias. 513 */ 514 uint32_t active_lp_dbias:5; 515 /** dslp_dbias : RO; bitpos: [30:27]; default: 0; 516 * Stores the PMU sleep dbias. 517 */ 518 uint32_t dslp_dbias:4; 519 /** dbias_vol_gap_value1 : RO; bitpos: [31]; default: 0; 520 * Stores the low 1 bit of dbias_vol_gap. 521 */ 522 uint32_t dbias_vol_gap_value1:1; 523 }; 524 uint32_t val; 525 } efuse_rd_mac_sys_2_reg_t; 526 527 /** Type of rd_mac_sys_3 register 528 * BLOCK1 data register $n. 529 */ 530 typedef union { 531 struct { 532 /** dbias_vol_gap_value2 : RO; bitpos: [2:0]; default: 0; 533 * Stores the high 3 bits of dbias_vol_gap. 534 */ 535 uint32_t dbias_vol_gap_value2:3; 536 /** dbias_vol_gap_sign : RO; bitpos: [3]; default: 0; 537 * Stores the sign bit of dbias_vol_gap. 538 */ 539 uint32_t dbias_vol_gap_sign:1; 540 /** mac_reserved_2 : RO; bitpos: [17:4]; default: 0; 541 * Reserved. 542 */ 543 uint32_t mac_reserved_2:14; 544 /** wafer_version_minor : RO; bitpos: [20:18]; default: 0; 545 * Stores the wafer version minor. 546 */ 547 uint32_t wafer_version_minor:3; 548 /** wafer_version_major : RO; bitpos: [22:21]; default: 0; 549 * Stores the wafer version major. 550 */ 551 uint32_t wafer_version_major:2; 552 /** disable_wafer_version_major : RO; bitpos: [23]; default: 0; 553 * Disables check of wafer version major. 554 */ 555 uint32_t disable_wafer_version_major:1; 556 /** flash_cap : RO; bitpos: [26:24]; default: 0; 557 * Stores the flash cap. 558 */ 559 uint32_t flash_cap:3; 560 /** flash_temp : RO; bitpos: [28:27]; default: 0; 561 * Stores the flash temp. 562 */ 563 uint32_t flash_temp:2; 564 /** flash_vendor : RO; bitpos: [31:29]; default: 0; 565 * Stores the flash vendor. 566 */ 567 uint32_t flash_vendor:3; 568 }; 569 uint32_t val; 570 } efuse_rd_mac_sys_3_reg_t; 571 572 /** Type of rd_mac_sys_4 register 573 * BLOCK1 data register $n. 574 */ 575 typedef union { 576 struct { 577 /** pkg_version : R; bitpos: [2:0]; default: 0; 578 * Package version 579 */ 580 uint32_t pkg_version:3; 581 /** reserved_1_131 : R; bitpos: [31:3]; default: 0; 582 * reserved 583 */ 584 uint32_t reserved_1_131:29; 585 }; 586 uint32_t val; 587 } efuse_rd_mac_sys_4_reg_t; 588 589 /** Type of rd_mac_sys_5 register 590 * BLOCK1 data register $n. 591 */ 592 typedef union { 593 struct { 594 /** sys_data_part0_2 : RO; bitpos: [31:0]; default: 0; 595 * Stores the second 32 bits of the zeroth part of system data. 596 */ 597 uint32_t sys_data_part0_2:32; 598 }; 599 uint32_t val; 600 } efuse_rd_mac_sys_5_reg_t; 601 602 /** Type of rd_sys_part1_data0 register 603 * Register $n of BLOCK2 (system). 604 */ 605 typedef union { 606 struct { 607 /** optional_unique_id : R; bitpos: [31:0]; default: 0; 608 * Optional unique 128-bit ID 609 */ 610 uint32_t optional_unique_id:32; 611 }; 612 uint32_t val; 613 } efuse_rd_sys_part1_data0_reg_t; 614 615 /** Type of rd_sys_part1_data1 register 616 * Register $n of BLOCK2 (system). 617 */ 618 typedef union { 619 struct { 620 /** optional_unique_id_1 : R; bitpos: [31:0]; default: 0; 621 * Optional unique 128-bit ID 622 */ 623 uint32_t optional_unique_id_1:32; 624 }; 625 uint32_t val; 626 } efuse_rd_sys_part1_data1_reg_t; 627 628 /** Type of rd_sys_part1_data2 register 629 * Register $n of BLOCK2 (system). 630 */ 631 typedef union { 632 struct { 633 /** optional_unique_id_2 : R; bitpos: [31:0]; default: 0; 634 * Optional unique 128-bit ID 635 */ 636 uint32_t optional_unique_id_2:32; 637 }; 638 uint32_t val; 639 } efuse_rd_sys_part1_data2_reg_t; 640 641 /** Type of rd_sys_part1_data3 register 642 * Register $n of BLOCK2 (system). 643 */ 644 typedef union { 645 struct { 646 /** optional_unique_id_3 : R; bitpos: [31:0]; default: 0; 647 * Optional unique 128-bit ID 648 */ 649 uint32_t optional_unique_id_3:32; 650 }; 651 uint32_t val; 652 } efuse_rd_sys_part1_data3_reg_t; 653 654 /** Type of rd_sys_part1_data4 register 655 * Register $n of BLOCK2 (system). 656 */ 657 typedef union { 658 struct { 659 /** reserved_2_128 : R; bitpos: [1:0]; default: 0; 660 * reserved 661 */ 662 uint32_t reserved_2_128:2; 663 /** blk_version_minor : R; bitpos: [4:2]; default: 0; 664 * BLK_VERSION_MINOR of BLOCK2. 1: RF Calibration data in BLOCK1 665 */ 666 uint32_t blk_version_minor:3; 667 /** blk_version_major : R; bitpos: [6:5]; default: 0; 668 * BLK_VERSION_MAJOR of BLOCK2 669 */ 670 uint32_t blk_version_major:2; 671 /** disable_blk_version_major : R; bitpos: [7]; default: 0; 672 * Disables check of blk version major 673 */ 674 uint32_t disable_blk_version_major:1; 675 /** temp_calib : R; bitpos: [16:8]; default: 0; 676 * Temperature calibration data 677 */ 678 uint32_t temp_calib:9; 679 /** adc1_ave_initcode_atten0 : R; bitpos: [26:17]; default: 0; 680 * ADC1 calibration data 681 */ 682 uint32_t adc1_ave_initcode_atten0:10; 683 /** adc1_ave_initcode_atten1 : R; bitpos: [31:27]; default: 0; 684 * ADC1 calibration data 685 */ 686 uint32_t adc1_ave_initcode_atten1:5; 687 }; 688 uint32_t val; 689 } efuse_rd_sys_part1_data4_reg_t; 690 691 /** Type of rd_sys_part1_data5 register 692 * Register $n of BLOCK2 (system). 693 */ 694 typedef union { 695 struct { 696 /** adc1_ave_initcode_atten1_1 : R; bitpos: [4:0]; default: 0; 697 * ADC1 calibration data 698 */ 699 uint32_t adc1_ave_initcode_atten1_1:5; 700 /** adc1_ave_initcode_atten2 : R; bitpos: [14:5]; default: 0; 701 * ADC1 calibration data 702 */ 703 uint32_t adc1_ave_initcode_atten2:10; 704 /** adc1_ave_initcode_atten3 : R; bitpos: [24:15]; default: 0; 705 * ADC1 calibration data 706 */ 707 uint32_t adc1_ave_initcode_atten3:10; 708 /** adc1_hi_dout_atten0 : R; bitpos: [31:25]; default: 0; 709 * ADC1 calibration data 710 */ 711 uint32_t adc1_hi_dout_atten0:7; 712 }; 713 uint32_t val; 714 } efuse_rd_sys_part1_data5_reg_t; 715 716 /** Type of rd_sys_part1_data6 register 717 * Register $n of BLOCK2 (system). 718 */ 719 typedef union { 720 struct { 721 /** adc1_hi_dout_atten0_1 : R; bitpos: [2:0]; default: 0; 722 * ADC1 calibration data 723 */ 724 uint32_t adc1_hi_dout_atten0_1:3; 725 /** adc1_hi_dout_atten1 : R; bitpos: [12:3]; default: 0; 726 * ADC1 calibration data 727 */ 728 uint32_t adc1_hi_dout_atten1:10; 729 /** adc1_hi_dout_atten2 : R; bitpos: [22:13]; default: 0; 730 * ADC1 calibration data 731 */ 732 uint32_t adc1_hi_dout_atten2:10; 733 /** adc1_hi_dout_atten3 : R; bitpos: [31:23]; default: 0; 734 * ADC1 calibration data 735 */ 736 uint32_t adc1_hi_dout_atten3:9; 737 }; 738 uint32_t val; 739 } efuse_rd_sys_part1_data6_reg_t; 740 741 /** Type of rd_sys_part1_data7 register 742 * Register $n of BLOCK2 (system). 743 */ 744 typedef union { 745 struct { 746 /** adc1_hi_dout_atten3_1 : R; bitpos: [0]; default: 0; 747 * ADC1 calibration data 748 */ 749 uint32_t adc1_hi_dout_atten3_1:1; 750 /** adc1_ch0_atten0_initcode_diff : R; bitpos: [4:1]; default: 0; 751 * ADC1 calibration data 752 */ 753 uint32_t adc1_ch0_atten0_initcode_diff:4; 754 /** adc1_ch1_atten0_initcode_diff : R; bitpos: [8:5]; default: 0; 755 * ADC1 calibration data 756 */ 757 uint32_t adc1_ch1_atten0_initcode_diff:4; 758 /** adc1_ch2_atten0_initcode_diff : R; bitpos: [12:9]; default: 0; 759 * ADC1 calibration data 760 */ 761 uint32_t adc1_ch2_atten0_initcode_diff:4; 762 /** adc1_ch3_atten0_initcode_diff : R; bitpos: [16:13]; default: 0; 763 * ADC1 calibration data 764 */ 765 uint32_t adc1_ch3_atten0_initcode_diff:4; 766 /** adc1_ch4_atten0_initcode_diff : R; bitpos: [20:17]; default: 0; 767 * ADC1 calibration data 768 */ 769 uint32_t adc1_ch4_atten0_initcode_diff:4; 770 /** reserved_2_245 : R; bitpos: [31:21]; default: 0; 771 * reserved 772 */ 773 uint32_t reserved_2_245:11; 774 }; 775 uint32_t val; 776 } efuse_rd_sys_part1_data7_reg_t; 777 778 /** Type of rd_usr_data0 register 779 * Register $n of BLOCK3 (user). 780 */ 781 typedef union { 782 struct { 783 /** usr_data0 : RO; bitpos: [31:0]; default: 0; 784 * Stores the zeroth 32 bits of BLOCK3 (user). 785 */ 786 uint32_t usr_data0:32; 787 }; 788 uint32_t val; 789 } efuse_rd_usr_data0_reg_t; 790 791 /** Type of rd_usr_data1 register 792 * Register $n of BLOCK3 (user). 793 */ 794 typedef union { 795 struct { 796 /** usr_data1 : RO; bitpos: [31:0]; default: 0; 797 * Stores the first 32 bits of BLOCK3 (user). 798 */ 799 uint32_t usr_data1:32; 800 }; 801 uint32_t val; 802 } efuse_rd_usr_data1_reg_t; 803 804 /** Type of rd_usr_data2 register 805 * Register $n of BLOCK3 (user). 806 */ 807 typedef union { 808 struct { 809 /** usr_data2 : RO; bitpos: [31:0]; default: 0; 810 * Stores the second 32 bits of BLOCK3 (user). 811 */ 812 uint32_t usr_data2:32; 813 }; 814 uint32_t val; 815 } efuse_rd_usr_data2_reg_t; 816 817 /** Type of rd_usr_data3 register 818 * Register $n of BLOCK3 (user). 819 */ 820 typedef union { 821 struct { 822 /** usr_data3 : RO; bitpos: [31:0]; default: 0; 823 * Stores the third 32 bits of BLOCK3 (user). 824 */ 825 uint32_t usr_data3:32; 826 }; 827 uint32_t val; 828 } efuse_rd_usr_data3_reg_t; 829 830 /** Type of rd_usr_data4 register 831 * Register $n of BLOCK3 (user). 832 */ 833 typedef union { 834 struct { 835 /** usr_data4 : RO; bitpos: [31:0]; default: 0; 836 * Stores the fourth 32 bits of BLOCK3 (user). 837 */ 838 uint32_t usr_data4:32; 839 }; 840 uint32_t val; 841 } efuse_rd_usr_data4_reg_t; 842 843 /** Type of rd_usr_data5 register 844 * Register $n of BLOCK3 (user). 845 */ 846 typedef union { 847 struct { 848 /** usr_data5 : RO; bitpos: [31:0]; default: 0; 849 * Stores the fifth 32 bits of BLOCK3 (user). 850 */ 851 uint32_t usr_data5:32; 852 }; 853 uint32_t val; 854 } efuse_rd_usr_data5_reg_t; 855 856 /** Type of rd_usr_data6 register 857 * Register $n of BLOCK3 (user). 858 */ 859 typedef union { 860 struct { 861 /** reserved_3_192 : R; bitpos: [7:0]; default: 0; 862 * reserved 863 */ 864 uint32_t reserved_3_192:8; 865 /** custom_mac : R; bitpos: [31:8]; default: 0; 866 * Custom MAC 867 */ 868 uint32_t custom_mac:24; 869 }; 870 uint32_t val; 871 } efuse_rd_usr_data6_reg_t; 872 873 /** Type of rd_usr_data7 register 874 * Register $n of BLOCK3 (user). 875 */ 876 typedef union { 877 struct { 878 /** custom_mac_1 : R; bitpos: [23:0]; default: 0; 879 * Custom MAC 880 */ 881 uint32_t custom_mac_1:24; 882 /** reserved_3_248 : R; bitpos: [31:24]; default: 0; 883 * reserved 884 */ 885 uint32_t reserved_3_248:8; 886 }; 887 uint32_t val; 888 } efuse_rd_usr_data7_reg_t; 889 890 /** Type of rd_key0_data0 register 891 * Register $n of BLOCK4 (KEY0). 892 */ 893 typedef union { 894 struct { 895 /** key0_data0 : RO; bitpos: [31:0]; default: 0; 896 * Stores the zeroth 32 bits of KEY0. 897 */ 898 uint32_t key0_data0:32; 899 }; 900 uint32_t val; 901 } efuse_rd_key0_data0_reg_t; 902 903 /** Type of rd_key0_data1 register 904 * Register $n of BLOCK4 (KEY0). 905 */ 906 typedef union { 907 struct { 908 /** key0_data1 : RO; bitpos: [31:0]; default: 0; 909 * Stores the first 32 bits of KEY0. 910 */ 911 uint32_t key0_data1:32; 912 }; 913 uint32_t val; 914 } efuse_rd_key0_data1_reg_t; 915 916 /** Type of rd_key0_data2 register 917 * Register $n of BLOCK4 (KEY0). 918 */ 919 typedef union { 920 struct { 921 /** key0_data2 : RO; bitpos: [31:0]; default: 0; 922 * Stores the second 32 bits of KEY0. 923 */ 924 uint32_t key0_data2:32; 925 }; 926 uint32_t val; 927 } efuse_rd_key0_data2_reg_t; 928 929 /** Type of rd_key0_data3 register 930 * Register $n of BLOCK4 (KEY0). 931 */ 932 typedef union { 933 struct { 934 /** key0_data3 : RO; bitpos: [31:0]; default: 0; 935 * Stores the third 32 bits of KEY0. 936 */ 937 uint32_t key0_data3:32; 938 }; 939 uint32_t val; 940 } efuse_rd_key0_data3_reg_t; 941 942 /** Type of rd_key0_data4 register 943 * Register $n of BLOCK4 (KEY0). 944 */ 945 typedef union { 946 struct { 947 /** key0_data4 : RO; bitpos: [31:0]; default: 0; 948 * Stores the fourth 32 bits of KEY0. 949 */ 950 uint32_t key0_data4:32; 951 }; 952 uint32_t val; 953 } efuse_rd_key0_data4_reg_t; 954 955 /** Type of rd_key0_data5 register 956 * Register $n of BLOCK4 (KEY0). 957 */ 958 typedef union { 959 struct { 960 /** key0_data5 : RO; bitpos: [31:0]; default: 0; 961 * Stores the fifth 32 bits of KEY0. 962 */ 963 uint32_t key0_data5:32; 964 }; 965 uint32_t val; 966 } efuse_rd_key0_data5_reg_t; 967 968 /** Type of rd_key0_data6 register 969 * Register $n of BLOCK4 (KEY0). 970 */ 971 typedef union { 972 struct { 973 /** key0_data6 : RO; bitpos: [31:0]; default: 0; 974 * Stores the sixth 32 bits of KEY0. 975 */ 976 uint32_t key0_data6:32; 977 }; 978 uint32_t val; 979 } efuse_rd_key0_data6_reg_t; 980 981 /** Type of rd_key0_data7 register 982 * Register $n of BLOCK4 (KEY0). 983 */ 984 typedef union { 985 struct { 986 /** key0_data7 : RO; bitpos: [31:0]; default: 0; 987 * Stores the seventh 32 bits of KEY0. 988 */ 989 uint32_t key0_data7:32; 990 }; 991 uint32_t val; 992 } efuse_rd_key0_data7_reg_t; 993 994 /** Type of rd_key1_data0 register 995 * Register $n of BLOCK5 (KEY1). 996 */ 997 typedef union { 998 struct { 999 /** key1_data0 : RO; bitpos: [31:0]; default: 0; 1000 * Stores the zeroth 32 bits of KEY1. 1001 */ 1002 uint32_t key1_data0:32; 1003 }; 1004 uint32_t val; 1005 } efuse_rd_key1_data0_reg_t; 1006 1007 /** Type of rd_key1_data1 register 1008 * Register $n of BLOCK5 (KEY1). 1009 */ 1010 typedef union { 1011 struct { 1012 /** key1_data1 : RO; bitpos: [31:0]; default: 0; 1013 * Stores the first 32 bits of KEY1. 1014 */ 1015 uint32_t key1_data1:32; 1016 }; 1017 uint32_t val; 1018 } efuse_rd_key1_data1_reg_t; 1019 1020 /** Type of rd_key1_data2 register 1021 * Register $n of BLOCK5 (KEY1). 1022 */ 1023 typedef union { 1024 struct { 1025 /** key1_data2 : RO; bitpos: [31:0]; default: 0; 1026 * Stores the second 32 bits of KEY1. 1027 */ 1028 uint32_t key1_data2:32; 1029 }; 1030 uint32_t val; 1031 } efuse_rd_key1_data2_reg_t; 1032 1033 /** Type of rd_key1_data3 register 1034 * Register $n of BLOCK5 (KEY1). 1035 */ 1036 typedef union { 1037 struct { 1038 /** key1_data3 : RO; bitpos: [31:0]; default: 0; 1039 * Stores the third 32 bits of KEY1. 1040 */ 1041 uint32_t key1_data3:32; 1042 }; 1043 uint32_t val; 1044 } efuse_rd_key1_data3_reg_t; 1045 1046 /** Type of rd_key1_data4 register 1047 * Register $n of BLOCK5 (KEY1). 1048 */ 1049 typedef union { 1050 struct { 1051 /** key1_data4 : RO; bitpos: [31:0]; default: 0; 1052 * Stores the fourth 32 bits of KEY1. 1053 */ 1054 uint32_t key1_data4:32; 1055 }; 1056 uint32_t val; 1057 } efuse_rd_key1_data4_reg_t; 1058 1059 /** Type of rd_key1_data5 register 1060 * Register $n of BLOCK5 (KEY1). 1061 */ 1062 typedef union { 1063 struct { 1064 /** key1_data5 : RO; bitpos: [31:0]; default: 0; 1065 * Stores the fifth 32 bits of KEY1. 1066 */ 1067 uint32_t key1_data5:32; 1068 }; 1069 uint32_t val; 1070 } efuse_rd_key1_data5_reg_t; 1071 1072 /** Type of rd_key1_data6 register 1073 * Register $n of BLOCK5 (KEY1). 1074 */ 1075 typedef union { 1076 struct { 1077 /** key1_data6 : RO; bitpos: [31:0]; default: 0; 1078 * Stores the sixth 32 bits of KEY1. 1079 */ 1080 uint32_t key1_data6:32; 1081 }; 1082 uint32_t val; 1083 } efuse_rd_key1_data6_reg_t; 1084 1085 /** Type of rd_key1_data7 register 1086 * Register $n of BLOCK5 (KEY1). 1087 */ 1088 typedef union { 1089 struct { 1090 /** key1_data7 : RO; bitpos: [31:0]; default: 0; 1091 * Stores the seventh 32 bits of KEY1. 1092 */ 1093 uint32_t key1_data7:32; 1094 }; 1095 uint32_t val; 1096 } efuse_rd_key1_data7_reg_t; 1097 1098 /** Type of rd_key2_data0 register 1099 * Register $n of BLOCK6 (KEY2). 1100 */ 1101 typedef union { 1102 struct { 1103 /** key2_data0 : RO; bitpos: [31:0]; default: 0; 1104 * Stores the zeroth 32 bits of KEY2. 1105 */ 1106 uint32_t key2_data0:32; 1107 }; 1108 uint32_t val; 1109 } efuse_rd_key2_data0_reg_t; 1110 1111 /** Type of rd_key2_data1 register 1112 * Register $n of BLOCK6 (KEY2). 1113 */ 1114 typedef union { 1115 struct { 1116 /** key2_data1 : RO; bitpos: [31:0]; default: 0; 1117 * Stores the first 32 bits of KEY2. 1118 */ 1119 uint32_t key2_data1:32; 1120 }; 1121 uint32_t val; 1122 } efuse_rd_key2_data1_reg_t; 1123 1124 /** Type of rd_key2_data2 register 1125 * Register $n of BLOCK6 (KEY2). 1126 */ 1127 typedef union { 1128 struct { 1129 /** key2_data2 : RO; bitpos: [31:0]; default: 0; 1130 * Stores the second 32 bits of KEY2. 1131 */ 1132 uint32_t key2_data2:32; 1133 }; 1134 uint32_t val; 1135 } efuse_rd_key2_data2_reg_t; 1136 1137 /** Type of rd_key2_data3 register 1138 * Register $n of BLOCK6 (KEY2). 1139 */ 1140 typedef union { 1141 struct { 1142 /** key2_data3 : RO; bitpos: [31:0]; default: 0; 1143 * Stores the third 32 bits of KEY2. 1144 */ 1145 uint32_t key2_data3:32; 1146 }; 1147 uint32_t val; 1148 } efuse_rd_key2_data3_reg_t; 1149 1150 /** Type of rd_key2_data4 register 1151 * Register $n of BLOCK6 (KEY2). 1152 */ 1153 typedef union { 1154 struct { 1155 /** key2_data4 : RO; bitpos: [31:0]; default: 0; 1156 * Stores the fourth 32 bits of KEY2. 1157 */ 1158 uint32_t key2_data4:32; 1159 }; 1160 uint32_t val; 1161 } efuse_rd_key2_data4_reg_t; 1162 1163 /** Type of rd_key2_data5 register 1164 * Register $n of BLOCK6 (KEY2). 1165 */ 1166 typedef union { 1167 struct { 1168 /** key2_data5 : RO; bitpos: [31:0]; default: 0; 1169 * Stores the fifth 32 bits of KEY2. 1170 */ 1171 uint32_t key2_data5:32; 1172 }; 1173 uint32_t val; 1174 } efuse_rd_key2_data5_reg_t; 1175 1176 /** Type of rd_key2_data6 register 1177 * Register $n of BLOCK6 (KEY2). 1178 */ 1179 typedef union { 1180 struct { 1181 /** key2_data6 : RO; bitpos: [31:0]; default: 0; 1182 * Stores the sixth 32 bits of KEY2. 1183 */ 1184 uint32_t key2_data6:32; 1185 }; 1186 uint32_t val; 1187 } efuse_rd_key2_data6_reg_t; 1188 1189 /** Type of rd_key2_data7 register 1190 * Register $n of BLOCK6 (KEY2). 1191 */ 1192 typedef union { 1193 struct { 1194 /** key2_data7 : RO; bitpos: [31:0]; default: 0; 1195 * Stores the seventh 32 bits of KEY2. 1196 */ 1197 uint32_t key2_data7:32; 1198 }; 1199 uint32_t val; 1200 } efuse_rd_key2_data7_reg_t; 1201 1202 /** Type of rd_key3_data0 register 1203 * Register $n of BLOCK7 (KEY3). 1204 */ 1205 typedef union { 1206 struct { 1207 /** key3_data0 : RO; bitpos: [31:0]; default: 0; 1208 * Stores the zeroth 32 bits of KEY3. 1209 */ 1210 uint32_t key3_data0:32; 1211 }; 1212 uint32_t val; 1213 } efuse_rd_key3_data0_reg_t; 1214 1215 /** Type of rd_key3_data1 register 1216 * Register $n of BLOCK7 (KEY3). 1217 */ 1218 typedef union { 1219 struct { 1220 /** key3_data1 : RO; bitpos: [31:0]; default: 0; 1221 * Stores the first 32 bits of KEY3. 1222 */ 1223 uint32_t key3_data1:32; 1224 }; 1225 uint32_t val; 1226 } efuse_rd_key3_data1_reg_t; 1227 1228 /** Type of rd_key3_data2 register 1229 * Register $n of BLOCK7 (KEY3). 1230 */ 1231 typedef union { 1232 struct { 1233 /** key3_data2 : RO; bitpos: [31:0]; default: 0; 1234 * Stores the second 32 bits of KEY3. 1235 */ 1236 uint32_t key3_data2:32; 1237 }; 1238 uint32_t val; 1239 } efuse_rd_key3_data2_reg_t; 1240 1241 /** Type of rd_key3_data3 register 1242 * Register $n of BLOCK7 (KEY3). 1243 */ 1244 typedef union { 1245 struct { 1246 /** key3_data3 : RO; bitpos: [31:0]; default: 0; 1247 * Stores the third 32 bits of KEY3. 1248 */ 1249 uint32_t key3_data3:32; 1250 }; 1251 uint32_t val; 1252 } efuse_rd_key3_data3_reg_t; 1253 1254 /** Type of rd_key3_data4 register 1255 * Register $n of BLOCK7 (KEY3). 1256 */ 1257 typedef union { 1258 struct { 1259 /** key3_data4 : RO; bitpos: [31:0]; default: 0; 1260 * Stores the fourth 32 bits of KEY3. 1261 */ 1262 uint32_t key3_data4:32; 1263 }; 1264 uint32_t val; 1265 } efuse_rd_key3_data4_reg_t; 1266 1267 /** Type of rd_key3_data5 register 1268 * Register $n of BLOCK7 (KEY3). 1269 */ 1270 typedef union { 1271 struct { 1272 /** key3_data5 : RO; bitpos: [31:0]; default: 0; 1273 * Stores the fifth 32 bits of KEY3. 1274 */ 1275 uint32_t key3_data5:32; 1276 }; 1277 uint32_t val; 1278 } efuse_rd_key3_data5_reg_t; 1279 1280 /** Type of rd_key3_data6 register 1281 * Register $n of BLOCK7 (KEY3). 1282 */ 1283 typedef union { 1284 struct { 1285 /** key3_data6 : RO; bitpos: [31:0]; default: 0; 1286 * Stores the sixth 32 bits of KEY3. 1287 */ 1288 uint32_t key3_data6:32; 1289 }; 1290 uint32_t val; 1291 } efuse_rd_key3_data6_reg_t; 1292 1293 /** Type of rd_key3_data7 register 1294 * Register $n of BLOCK7 (KEY3). 1295 */ 1296 typedef union { 1297 struct { 1298 /** key3_data7 : RO; bitpos: [31:0]; default: 0; 1299 * Stores the seventh 32 bits of KEY3. 1300 */ 1301 uint32_t key3_data7:32; 1302 }; 1303 uint32_t val; 1304 } efuse_rd_key3_data7_reg_t; 1305 1306 /** Type of rd_key4_data0 register 1307 * Register $n of BLOCK8 (KEY4). 1308 */ 1309 typedef union { 1310 struct { 1311 /** key4_data0 : RO; bitpos: [31:0]; default: 0; 1312 * Stores the zeroth 32 bits of KEY4. 1313 */ 1314 uint32_t key4_data0:32; 1315 }; 1316 uint32_t val; 1317 } efuse_rd_key4_data0_reg_t; 1318 1319 /** Type of rd_key4_data1 register 1320 * Register $n of BLOCK8 (KEY4). 1321 */ 1322 typedef union { 1323 struct { 1324 /** key4_data1 : RO; bitpos: [31:0]; default: 0; 1325 * Stores the first 32 bits of KEY4. 1326 */ 1327 uint32_t key4_data1:32; 1328 }; 1329 uint32_t val; 1330 } efuse_rd_key4_data1_reg_t; 1331 1332 /** Type of rd_key4_data2 register 1333 * Register $n of BLOCK8 (KEY4). 1334 */ 1335 typedef union { 1336 struct { 1337 /** key4_data2 : RO; bitpos: [31:0]; default: 0; 1338 * Stores the second 32 bits of KEY4. 1339 */ 1340 uint32_t key4_data2:32; 1341 }; 1342 uint32_t val; 1343 } efuse_rd_key4_data2_reg_t; 1344 1345 /** Type of rd_key4_data3 register 1346 * Register $n of BLOCK8 (KEY4). 1347 */ 1348 typedef union { 1349 struct { 1350 /** key4_data3 : RO; bitpos: [31:0]; default: 0; 1351 * Stores the third 32 bits of KEY4. 1352 */ 1353 uint32_t key4_data3:32; 1354 }; 1355 uint32_t val; 1356 } efuse_rd_key4_data3_reg_t; 1357 1358 /** Type of rd_key4_data4 register 1359 * Register $n of BLOCK8 (KEY4). 1360 */ 1361 typedef union { 1362 struct { 1363 /** key4_data4 : RO; bitpos: [31:0]; default: 0; 1364 * Stores the fourth 32 bits of KEY4. 1365 */ 1366 uint32_t key4_data4:32; 1367 }; 1368 uint32_t val; 1369 } efuse_rd_key4_data4_reg_t; 1370 1371 /** Type of rd_key4_data5 register 1372 * Register $n of BLOCK8 (KEY4). 1373 */ 1374 typedef union { 1375 struct { 1376 /** key4_data5 : RO; bitpos: [31:0]; default: 0; 1377 * Stores the fifth 32 bits of KEY4. 1378 */ 1379 uint32_t key4_data5:32; 1380 }; 1381 uint32_t val; 1382 } efuse_rd_key4_data5_reg_t; 1383 1384 /** Type of rd_key4_data6 register 1385 * Register $n of BLOCK8 (KEY4). 1386 */ 1387 typedef union { 1388 struct { 1389 /** key4_data6 : RO; bitpos: [31:0]; default: 0; 1390 * Stores the sixth 32 bits of KEY4. 1391 */ 1392 uint32_t key4_data6:32; 1393 }; 1394 uint32_t val; 1395 } efuse_rd_key4_data6_reg_t; 1396 1397 /** Type of rd_key4_data7 register 1398 * Register $n of BLOCK8 (KEY4). 1399 */ 1400 typedef union { 1401 struct { 1402 /** key4_data7 : RO; bitpos: [31:0]; default: 0; 1403 * Stores the seventh 32 bits of KEY4. 1404 */ 1405 uint32_t key4_data7:32; 1406 }; 1407 uint32_t val; 1408 } efuse_rd_key4_data7_reg_t; 1409 1410 /** Type of rd_key5_data0 register 1411 * Register $n of BLOCK9 (KEY5). 1412 */ 1413 typedef union { 1414 struct { 1415 /** key5_data0 : RO; bitpos: [31:0]; default: 0; 1416 * Stores the zeroth 32 bits of KEY5. 1417 */ 1418 uint32_t key5_data0:32; 1419 }; 1420 uint32_t val; 1421 } efuse_rd_key5_data0_reg_t; 1422 1423 /** Type of rd_key5_data1 register 1424 * Register $n of BLOCK9 (KEY5). 1425 */ 1426 typedef union { 1427 struct { 1428 /** key5_data1 : RO; bitpos: [31:0]; default: 0; 1429 * Stores the first 32 bits of KEY5. 1430 */ 1431 uint32_t key5_data1:32; 1432 }; 1433 uint32_t val; 1434 } efuse_rd_key5_data1_reg_t; 1435 1436 /** Type of rd_key5_data2 register 1437 * Register $n of BLOCK9 (KEY5). 1438 */ 1439 typedef union { 1440 struct { 1441 /** key5_data2 : RO; bitpos: [31:0]; default: 0; 1442 * Stores the second 32 bits of KEY5. 1443 */ 1444 uint32_t key5_data2:32; 1445 }; 1446 uint32_t val; 1447 } efuse_rd_key5_data2_reg_t; 1448 1449 /** Type of rd_key5_data3 register 1450 * Register $n of BLOCK9 (KEY5). 1451 */ 1452 typedef union { 1453 struct { 1454 /** key5_data3 : RO; bitpos: [31:0]; default: 0; 1455 * Stores the third 32 bits of KEY5. 1456 */ 1457 uint32_t key5_data3:32; 1458 }; 1459 uint32_t val; 1460 } efuse_rd_key5_data3_reg_t; 1461 1462 /** Type of rd_key5_data4 register 1463 * Register $n of BLOCK9 (KEY5). 1464 */ 1465 typedef union { 1466 struct { 1467 /** key5_data4 : RO; bitpos: [31:0]; default: 0; 1468 * Stores the fourth 32 bits of KEY5. 1469 */ 1470 uint32_t key5_data4:32; 1471 }; 1472 uint32_t val; 1473 } efuse_rd_key5_data4_reg_t; 1474 1475 /** Type of rd_key5_data5 register 1476 * Register $n of BLOCK9 (KEY5). 1477 */ 1478 typedef union { 1479 struct { 1480 /** key5_data5 : RO; bitpos: [31:0]; default: 0; 1481 * Stores the fifth 32 bits of KEY5. 1482 */ 1483 uint32_t key5_data5:32; 1484 }; 1485 uint32_t val; 1486 } efuse_rd_key5_data5_reg_t; 1487 1488 /** Type of rd_key5_data6 register 1489 * Register $n of BLOCK9 (KEY5). 1490 */ 1491 typedef union { 1492 struct { 1493 /** key5_data6 : RO; bitpos: [31:0]; default: 0; 1494 * Stores the sixth 32 bits of KEY5. 1495 */ 1496 uint32_t key5_data6:32; 1497 }; 1498 uint32_t val; 1499 } efuse_rd_key5_data6_reg_t; 1500 1501 /** Type of rd_key5_data7 register 1502 * Register $n of BLOCK9 (KEY5). 1503 */ 1504 typedef union { 1505 struct { 1506 /** key5_data7 : RO; bitpos: [31:0]; default: 0; 1507 * Stores the seventh 32 bits of KEY5. 1508 */ 1509 uint32_t key5_data7:32; 1510 }; 1511 uint32_t val; 1512 } efuse_rd_key5_data7_reg_t; 1513 1514 /** Type of rd_sys_part2_data0 register 1515 * Register $n of BLOCK10 (system). 1516 */ 1517 typedef union { 1518 struct { 1519 /** sys_data_part2_0 : RO; bitpos: [31:0]; default: 0; 1520 * Stores the $nth 32 bits of the 2nd part of system data. 1521 */ 1522 uint32_t sys_data_part2_0:32; 1523 }; 1524 uint32_t val; 1525 } efuse_rd_sys_part2_data0_reg_t; 1526 1527 /** Type of rd_sys_part2_data1 register 1528 * Register $n of BLOCK9 (KEY5). 1529 */ 1530 typedef union { 1531 struct { 1532 /** sys_data_part2_1 : RO; bitpos: [31:0]; default: 0; 1533 * Stores the $nth 32 bits of the 2nd part of system data. 1534 */ 1535 uint32_t sys_data_part2_1:32; 1536 }; 1537 uint32_t val; 1538 } efuse_rd_sys_part2_data1_reg_t; 1539 1540 /** Type of rd_sys_part2_data2 register 1541 * Register $n of BLOCK10 (system). 1542 */ 1543 typedef union { 1544 struct { 1545 /** sys_data_part2_2 : RO; bitpos: [31:0]; default: 0; 1546 * Stores the $nth 32 bits of the 2nd part of system data. 1547 */ 1548 uint32_t sys_data_part2_2:32; 1549 }; 1550 uint32_t val; 1551 } efuse_rd_sys_part2_data2_reg_t; 1552 1553 /** Type of rd_sys_part2_data3 register 1554 * Register $n of BLOCK10 (system). 1555 */ 1556 typedef union { 1557 struct { 1558 /** sys_data_part2_3 : RO; bitpos: [31:0]; default: 0; 1559 * Stores the $nth 32 bits of the 2nd part of system data. 1560 */ 1561 uint32_t sys_data_part2_3:32; 1562 }; 1563 uint32_t val; 1564 } efuse_rd_sys_part2_data3_reg_t; 1565 1566 /** Type of rd_sys_part2_data4 register 1567 * Register $n of BLOCK10 (system). 1568 */ 1569 typedef union { 1570 struct { 1571 /** sys_data_part2_4 : RO; bitpos: [31:0]; default: 0; 1572 * Stores the $nth 32 bits of the 2nd part of system data. 1573 */ 1574 uint32_t sys_data_part2_4:32; 1575 }; 1576 uint32_t val; 1577 } efuse_rd_sys_part2_data4_reg_t; 1578 1579 /** Type of rd_sys_part2_data5 register 1580 * Register $n of BLOCK10 (system). 1581 */ 1582 typedef union { 1583 struct { 1584 /** sys_data_part2_5 : RO; bitpos: [31:0]; default: 0; 1585 * Stores the $nth 32 bits of the 2nd part of system data. 1586 */ 1587 uint32_t sys_data_part2_5:32; 1588 }; 1589 uint32_t val; 1590 } efuse_rd_sys_part2_data5_reg_t; 1591 1592 /** Type of rd_sys_part2_data6 register 1593 * Register $n of BLOCK10 (system). 1594 */ 1595 typedef union { 1596 struct { 1597 /** sys_data_part2_6 : RO; bitpos: [31:0]; default: 0; 1598 * Stores the $nth 32 bits of the 2nd part of system data. 1599 */ 1600 uint32_t sys_data_part2_6:32; 1601 }; 1602 uint32_t val; 1603 } efuse_rd_sys_part2_data6_reg_t; 1604 1605 /** Type of rd_sys_part2_data7 register 1606 * Register $n of BLOCK10 (system). 1607 */ 1608 typedef union { 1609 struct { 1610 /** sys_data_part2_7 : RO; bitpos: [31:0]; default: 0; 1611 * Stores the $nth 32 bits of the 2nd part of system data. 1612 */ 1613 uint32_t sys_data_part2_7:32; 1614 }; 1615 uint32_t val; 1616 } efuse_rd_sys_part2_data7_reg_t; 1617 1618 1619 /** Group: Report Register */ 1620 /** Type of rd_repeat_err0 register 1621 * Programming error record register 0 of BLOCK0. 1622 */ 1623 typedef union { 1624 struct { 1625 /** rd_dis_err : RO; bitpos: [6:0]; default: 0; 1626 * Indicates a programming error of RD_DIS. 1627 */ 1628 uint32_t rd_dis_err:7; 1629 /** rpt4_reserved0_err_4 : RO; bitpos: [7]; default: 0; 1630 * Reserved. 1631 */ 1632 uint32_t rpt4_reserved0_err_4:1; 1633 /** dis_icache_err : RO; bitpos: [8]; default: 0; 1634 * Indicates a programming error of DIS_ICACHE. 1635 */ 1636 uint32_t dis_icache_err:1; 1637 /** dis_usb_jtag_err : RO; bitpos: [9]; default: 0; 1638 * Indicates a programming error of DIS_USB_JTAG. 1639 */ 1640 uint32_t dis_usb_jtag_err:1; 1641 /** powerglitch_en_err : RO; bitpos: [10]; default: 0; 1642 * Indicates a programming error of POWERGLITCH_EN. 1643 */ 1644 uint32_t powerglitch_en_err:1; 1645 /** dis_usb_serial_jtag_err : RO; bitpos: [11]; default: 0; 1646 * Indicates a programming error of DIS_USB_DEVICE. 1647 */ 1648 uint32_t dis_usb_serial_jtag_err:1; 1649 /** dis_force_download_err : RO; bitpos: [12]; default: 0; 1650 * Indicates a programming error of DIS_FORCE_DOWNLOAD. 1651 */ 1652 uint32_t dis_force_download_err:1; 1653 /** spi_download_mspi_dis_err : RO; bitpos: [13]; default: 0; 1654 * Indicates a programming error of SPI_DOWNLOAD_MSPI_DIS. 1655 */ 1656 uint32_t spi_download_mspi_dis_err:1; 1657 /** dis_twai_err : RO; bitpos: [14]; default: 0; 1658 * Indicates a programming error of DIS_CAN. 1659 */ 1660 uint32_t dis_twai_err:1; 1661 /** jtag_sel_enable_err : RO; bitpos: [15]; default: 0; 1662 * Indicates a programming error of JTAG_SEL_ENABLE. 1663 */ 1664 uint32_t jtag_sel_enable_err:1; 1665 /** soft_dis_jtag_err : RO; bitpos: [18:16]; default: 0; 1666 * Indicates a programming error of SOFT_DIS_JTAG. 1667 */ 1668 uint32_t soft_dis_jtag_err:3; 1669 /** dis_pad_jtag_err : RO; bitpos: [19]; default: 0; 1670 * Indicates a programming error of DIS_PAD_JTAG. 1671 */ 1672 uint32_t dis_pad_jtag_err:1; 1673 /** dis_download_manual_encrypt_err : RO; bitpos: [20]; default: 0; 1674 * Indicates a programming error of DIS_DOWNLOAD_MANUAL_ENCRYPT. 1675 */ 1676 uint32_t dis_download_manual_encrypt_err:1; 1677 /** usb_drefh_err : RO; bitpos: [22:21]; default: 0; 1678 * Indicates a programming error of USB_DREFH. 1679 */ 1680 uint32_t usb_drefh_err:2; 1681 /** usb_drefl_err : RO; bitpos: [24:23]; default: 0; 1682 * Indicates a programming error of USB_DREFL. 1683 */ 1684 uint32_t usb_drefl_err:2; 1685 /** usb_exchg_pins_err : RO; bitpos: [25]; default: 0; 1686 * Indicates a programming error of USB_EXCHG_PINS. 1687 */ 1688 uint32_t usb_exchg_pins_err:1; 1689 /** vdd_spi_as_gpio_err : RO; bitpos: [26]; default: 0; 1690 * Indicates a programming error of VDD_SPI_AS_GPIO. 1691 */ 1692 uint32_t vdd_spi_as_gpio_err:1; 1693 /** rpt4_reserved0_err_2 : RO; bitpos: [28:27]; default: 0; 1694 * Reserved. 1695 */ 1696 uint32_t rpt4_reserved0_err_2:2; 1697 /** rpt4_reserved0_err_1 : RO; bitpos: [29]; default: 0; 1698 * Reserved. 1699 */ 1700 uint32_t rpt4_reserved0_err_1:1; 1701 /** rpt4_reserved0_err_0 : RO; bitpos: [31:30]; default: 0; 1702 * Reserved. 1703 */ 1704 uint32_t rpt4_reserved0_err_0:2; 1705 }; 1706 uint32_t val; 1707 } efuse_rd_repeat_err0_reg_t; 1708 1709 /** Type of rd_repeat_err1 register 1710 * Programming error record register 1 of BLOCK0. 1711 */ 1712 typedef union { 1713 struct { 1714 /** rpt4_reserved1_err_0 : RO; bitpos: [15:0]; default: 0; 1715 * Reserved. 1716 */ 1717 uint32_t rpt4_reserved1_err_0:16; 1718 /** wdt_delay_sel_err : RO; bitpos: [17:16]; default: 0; 1719 * Indicates a programming error of WDT_DELAY_SEL. 1720 */ 1721 uint32_t wdt_delay_sel_err:2; 1722 /** spi_boot_crypt_cnt_err : RO; bitpos: [20:18]; default: 0; 1723 * Indicates a programming error of SPI_BOOT_CRYPT_CNT. 1724 */ 1725 uint32_t spi_boot_crypt_cnt_err:3; 1726 /** secure_boot_key_revoke0_err : RO; bitpos: [21]; default: 0; 1727 * Indicates a programming error of SECURE_BOOT_KEY_REVOKE0. 1728 */ 1729 uint32_t secure_boot_key_revoke0_err:1; 1730 /** secure_boot_key_revoke1_err : RO; bitpos: [22]; default: 0; 1731 * Indicates a programming error of SECURE_BOOT_KEY_REVOKE1. 1732 */ 1733 uint32_t secure_boot_key_revoke1_err:1; 1734 /** secure_boot_key_revoke2_err : RO; bitpos: [23]; default: 0; 1735 * Indicates a programming error of SECURE_BOOT_KEY_REVOKE2. 1736 */ 1737 uint32_t secure_boot_key_revoke2_err:1; 1738 /** key_purpose_0_err : RO; bitpos: [27:24]; default: 0; 1739 * Indicates a programming error of KEY_PURPOSE_0. 1740 */ 1741 uint32_t key_purpose_0_err:4; 1742 /** key_purpose_1_err : RO; bitpos: [31:28]; default: 0; 1743 * Indicates a programming error of KEY_PURPOSE_1. 1744 */ 1745 uint32_t key_purpose_1_err:4; 1746 }; 1747 uint32_t val; 1748 } efuse_rd_repeat_err1_reg_t; 1749 1750 /** Type of rd_repeat_err2 register 1751 * Programming error record register 2 of BLOCK0. 1752 */ 1753 typedef union { 1754 struct { 1755 /** key_purpose_2_err : RO; bitpos: [3:0]; default: 0; 1756 * Indicates a programming error of KEY_PURPOSE_2. 1757 */ 1758 uint32_t key_purpose_2_err:4; 1759 /** key_purpose_3_err : RO; bitpos: [7:4]; default: 0; 1760 * Indicates a programming error of KEY_PURPOSE_3. 1761 */ 1762 uint32_t key_purpose_3_err:4; 1763 /** key_purpose_4_err : RO; bitpos: [11:8]; default: 0; 1764 * Indicates a programming error of KEY_PURPOSE_4. 1765 */ 1766 uint32_t key_purpose_4_err:4; 1767 /** key_purpose_5_err : RO; bitpos: [15:12]; default: 0; 1768 * Indicates a programming error of KEY_PURPOSE_5. 1769 */ 1770 uint32_t key_purpose_5_err:4; 1771 /** sec_dpa_level_err : RO; bitpos: [17:16]; default: 0; 1772 * Indicates a programming error of SEC_DPA_LEVEL. 1773 */ 1774 uint32_t sec_dpa_level_err:2; 1775 /** rpt4_reserved2_err_1 : RO; bitpos: [18]; default: 0; 1776 * Reserved. 1777 */ 1778 uint32_t rpt4_reserved2_err_1:1; 1779 /** crypt_dpa_enable_err : RO; bitpos: [19]; default: 0; 1780 * Indicates a programming error of CRYPT_DPA_ENABLE. 1781 */ 1782 uint32_t crypt_dpa_enable_err:1; 1783 /** secure_boot_en_err : RO; bitpos: [20]; default: 0; 1784 * Indicates a programming error of SECURE_BOOT_EN. 1785 */ 1786 uint32_t secure_boot_en_err:1; 1787 /** secure_boot_aggressive_revoke_err : RO; bitpos: [21]; default: 0; 1788 * Indicates a programming error of SECURE_BOOT_AGGRESSIVE_REVOKE. 1789 */ 1790 uint32_t secure_boot_aggressive_revoke_err:1; 1791 /** rpt4_reserved2_err_0 : RO; bitpos: [27:22]; default: 0; 1792 * Reserved. 1793 */ 1794 uint32_t rpt4_reserved2_err_0:6; 1795 /** flash_tpuw_err : RO; bitpos: [31:28]; default: 0; 1796 * Indicates a programming error of FLASH_TPUW. 1797 */ 1798 uint32_t flash_tpuw_err:4; 1799 }; 1800 uint32_t val; 1801 } efuse_rd_repeat_err2_reg_t; 1802 1803 /** Type of rd_repeat_err3 register 1804 * Programming error record register 3 of BLOCK0. 1805 */ 1806 typedef union { 1807 struct { 1808 /** dis_download_mode_err : RO; bitpos: [0]; default: 0; 1809 * Indicates a programming error of DIS_DOWNLOAD_MODE. 1810 */ 1811 uint32_t dis_download_mode_err:1; 1812 /** dis_direct_boot_err : RO; bitpos: [1]; default: 0; 1813 * Indicates a programming error of DIS_DIRECT_BOOT. 1814 */ 1815 uint32_t dis_direct_boot_err:1; 1816 /** usb_print_err : RO; bitpos: [2]; default: 0; 1817 * Indicates a programming error of UART_PRINT_CHANNEL. 1818 */ 1819 uint32_t usb_print_err:1; 1820 /** rpt4_reserved3_err_5 : RO; bitpos: [3]; default: 0; 1821 * Reserved. 1822 */ 1823 uint32_t rpt4_reserved3_err_5:1; 1824 /** dis_usb_serial_jtag_download_mode_err : RO; bitpos: [4]; default: 0; 1825 * Indicates a programming error of DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE. 1826 */ 1827 uint32_t dis_usb_serial_jtag_download_mode_err:1; 1828 /** enable_security_download_err : RO; bitpos: [5]; default: 0; 1829 * Indicates a programming error of ENABLE_SECURITY_DOWNLOAD. 1830 */ 1831 uint32_t enable_security_download_err:1; 1832 /** uart_print_control_err : RO; bitpos: [7:6]; default: 0; 1833 * Indicates a programming error of UART_PRINT_CONTROL. 1834 */ 1835 uint32_t uart_print_control_err:2; 1836 /** force_send_resume_err : RO; bitpos: [8]; default: 0; 1837 * Indicates a programming error of FORCE_SEND_RESUME. 1838 */ 1839 uint32_t force_send_resume_err:1; 1840 /** secure_version_err : RO; bitpos: [24:9]; default: 0; 1841 * Indicates a programming error of SECURE VERSION. 1842 */ 1843 uint32_t secure_version_err:16; 1844 /** secure_boot_disable_fast_wake_err : RO; bitpos: [25]; default: 0; 1845 * Indicates a programming error of SECURE_BOOT_DISABLE_FAST_WAKE. 1846 */ 1847 uint32_t secure_boot_disable_fast_wake_err:1; 1848 /** hys_en_pad0_err : RO; bitpos: [31:26]; default: 0; 1849 * Indicates a programming error of HYS_EN_PAD0. 1850 */ 1851 uint32_t hys_en_pad0_err:6; 1852 }; 1853 uint32_t val; 1854 } efuse_rd_repeat_err3_reg_t; 1855 1856 /** Type of rd_repeat_err4 register 1857 * Programming error record register 4 of BLOCK0. 1858 */ 1859 typedef union { 1860 struct { 1861 /** hys_en_pad1_err : RO; bitpos: [21:0]; default: 0; 1862 * Indicates a programming error of HYS_EN_PAD1. 1863 */ 1864 uint32_t hys_en_pad1_err:22; 1865 /** rpt4_reserved4_err_1 : RO; bitpos: [23:22]; default: 0; 1866 * Reserved. 1867 */ 1868 uint32_t rpt4_reserved4_err_1:2; 1869 /** rpt4_reserved4_err_0 : RO; bitpos: [31:24]; default: 0; 1870 * Reserved. 1871 */ 1872 uint32_t rpt4_reserved4_err_0:8; 1873 }; 1874 uint32_t val; 1875 } efuse_rd_repeat_err4_reg_t; 1876 1877 /** Type of rd_rs_err0 register 1878 * Programming error record register 0 of BLOCK1-10. 1879 */ 1880 typedef union { 1881 struct { 1882 /** mac_spi_8m_err_num : RO; bitpos: [2:0]; default: 0; 1883 * The value of this signal means the number of error bytes. 1884 */ 1885 uint32_t mac_spi_8m_err_num:3; 1886 /** mac_spi_8m_fail : RO; bitpos: [3]; default: 0; 1887 * 0: Means no failure and that the data of MAC_SPI_8M is reliable 1: Means that 1888 * programming user data failed and the number of error bytes is over 6. 1889 */ 1890 uint32_t mac_spi_8m_fail:1; 1891 /** sys_part1_num : RO; bitpos: [6:4]; default: 0; 1892 * The value of this signal means the number of error bytes. 1893 */ 1894 uint32_t sys_part1_num:3; 1895 /** sys_part1_fail : RO; bitpos: [7]; default: 0; 1896 * 0: Means no failure and that the data of system part1 is reliable 1: Means that 1897 * programming user data failed and the number of error bytes is over 6. 1898 */ 1899 uint32_t sys_part1_fail:1; 1900 /** usr_data_err_num : RO; bitpos: [10:8]; default: 0; 1901 * The value of this signal means the number of error bytes. 1902 */ 1903 uint32_t usr_data_err_num:3; 1904 /** usr_data_fail : RO; bitpos: [11]; default: 0; 1905 * 0: Means no failure and that the user data is reliable 1: Means that programming 1906 * user data failed and the number of error bytes is over 6. 1907 */ 1908 uint32_t usr_data_fail:1; 1909 /** key0_err_num : RO; bitpos: [14:12]; default: 0; 1910 * The value of this signal means the number of error bytes. 1911 */ 1912 uint32_t key0_err_num:3; 1913 /** key0_fail : RO; bitpos: [15]; default: 0; 1914 * 0: Means no failure and that the data of key0 is reliable 1: Means that programming 1915 * key0 failed and the number of error bytes is over 6. 1916 */ 1917 uint32_t key0_fail:1; 1918 /** key1_err_num : RO; bitpos: [18:16]; default: 0; 1919 * The value of this signal means the number of error bytes. 1920 */ 1921 uint32_t key1_err_num:3; 1922 /** key1_fail : RO; bitpos: [19]; default: 0; 1923 * 0: Means no failure and that the data of key1 is reliable 1: Means that programming 1924 * key1 failed and the number of error bytes is over 6. 1925 */ 1926 uint32_t key1_fail:1; 1927 /** key2_err_num : RO; bitpos: [22:20]; default: 0; 1928 * The value of this signal means the number of error bytes. 1929 */ 1930 uint32_t key2_err_num:3; 1931 /** key2_fail : RO; bitpos: [23]; default: 0; 1932 * 0: Means no failure and that the data of key2 is reliable 1: Means that programming 1933 * key2 failed and the number of error bytes is over 6. 1934 */ 1935 uint32_t key2_fail:1; 1936 /** key3_err_num : RO; bitpos: [26:24]; default: 0; 1937 * The value of this signal means the number of error bytes. 1938 */ 1939 uint32_t key3_err_num:3; 1940 /** key3_fail : RO; bitpos: [27]; default: 0; 1941 * 0: Means no failure and that the data of key3 is reliable 1: Means that programming 1942 * key3 failed and the number of error bytes is over 6. 1943 */ 1944 uint32_t key3_fail:1; 1945 /** key4_err_num : RO; bitpos: [30:28]; default: 0; 1946 * The value of this signal means the number of error bytes. 1947 */ 1948 uint32_t key4_err_num:3; 1949 /** key4_fail : RO; bitpos: [31]; default: 0; 1950 * 0: Means no failure and that the data of key4 is reliable 1: Means that programming 1951 * key4 failed and the number of error bytes is over 6. 1952 */ 1953 uint32_t key4_fail:1; 1954 }; 1955 uint32_t val; 1956 } efuse_rd_rs_err0_reg_t; 1957 1958 /** Type of rd_rs_err1 register 1959 * Programming error record register 1 of BLOCK1-10. 1960 */ 1961 typedef union { 1962 struct { 1963 /** key5_err_num : RO; bitpos: [2:0]; default: 0; 1964 * The value of this signal means the number of error bytes. 1965 */ 1966 uint32_t key5_err_num:3; 1967 /** key5_fail : RO; bitpos: [3]; default: 0; 1968 * 0: Means no failure and that the data of key5 is reliable 1: Means that programming 1969 * key5 failed and the number of error bytes is over 6. 1970 */ 1971 uint32_t key5_fail:1; 1972 /** sys_part2_err_num : RO; bitpos: [6:4]; default: 0; 1973 * The value of this signal means the number of error bytes. 1974 */ 1975 uint32_t sys_part2_err_num:3; 1976 /** sys_part2_fail : RO; bitpos: [7]; default: 0; 1977 * 0: Means no failure and that the data of system part2 is reliable 1: Means that 1978 * programming user data failed and the number of error bytes is over 6. 1979 */ 1980 uint32_t sys_part2_fail:1; 1981 uint32_t reserved_8:24; 1982 }; 1983 uint32_t val; 1984 } efuse_rd_rs_err1_reg_t; 1985 1986 1987 /** Group: Configuration Register */ 1988 /** Type of clk register 1989 * eFuse clcok configuration register. 1990 */ 1991 typedef union { 1992 struct { 1993 /** mem_force_pd : R/W; bitpos: [0]; default: 0; 1994 * Set this bit to force eFuse SRAM into power-saving mode. 1995 */ 1996 uint32_t mem_force_pd:1; 1997 /** mem_clk_force_on : R/W; bitpos: [1]; default: 1; 1998 * Set this bit and force to activate clock signal of eFuse SRAM. 1999 */ 2000 uint32_t mem_clk_force_on:1; 2001 /** mem_force_pu : R/W; bitpos: [2]; default: 0; 2002 * Set this bit to force eFuse SRAM into working mode. 2003 */ 2004 uint32_t mem_force_pu:1; 2005 uint32_t reserved_3:13; 2006 /** clk_en : R/W; bitpos: [16]; default: 0; 2007 * Set this bit to force enable eFuse register configuration clock signal. 2008 */ 2009 uint32_t clk_en:1; 2010 uint32_t reserved_17:15; 2011 }; 2012 uint32_t val; 2013 } efuse_clk_reg_t; 2014 2015 /** Type of conf register 2016 * eFuse operation mode configuraiton register 2017 */ 2018 typedef union { 2019 struct { 2020 /** op_code : R/W; bitpos: [15:0]; default: 0; 2021 * 0x5A5A: programming operation command 0x5AA5: read operation command. 2022 */ 2023 uint32_t op_code:16; 2024 /** cfg_ecdsa_blk : R/W; bitpos: [19:16]; default: 0; 2025 * Configures which block to use for ECDSA key output. 2026 */ 2027 uint32_t cfg_ecdsa_blk:4; 2028 uint32_t reserved_20:12; 2029 }; 2030 uint32_t val; 2031 } efuse_conf_reg_t; 2032 2033 /** Type of cmd register 2034 * eFuse command register. 2035 */ 2036 typedef union { 2037 struct { 2038 /** read_cmd : R/W/SC; bitpos: [0]; default: 0; 2039 * Set this bit to send read command. 2040 */ 2041 uint32_t read_cmd:1; 2042 /** pgm_cmd : R/W/SC; bitpos: [1]; default: 0; 2043 * Set this bit to send programming command. 2044 */ 2045 uint32_t pgm_cmd:1; 2046 /** blk_num : R/W; bitpos: [5:2]; default: 0; 2047 * The serial number of the block to be programmed. Value 0-10 corresponds to block 2048 * number 0-10, respectively. 2049 */ 2050 uint32_t blk_num:4; 2051 uint32_t reserved_6:26; 2052 }; 2053 uint32_t val; 2054 } efuse_cmd_reg_t; 2055 2056 /** Type of dac_conf register 2057 * Controls the eFuse programming voltage. 2058 */ 2059 typedef union { 2060 struct { 2061 /** dac_clk_div : R/W; bitpos: [7:0]; default: 23; 2062 * Controls the division factor of the rising clock of the programming voltage. 2063 */ 2064 uint32_t dac_clk_div:8; 2065 /** dac_clk_pad_sel : R/W; bitpos: [8]; default: 0; 2066 * Don't care. 2067 */ 2068 uint32_t dac_clk_pad_sel:1; 2069 /** dac_num : R/W; bitpos: [16:9]; default: 255; 2070 * Controls the rising period of the programming voltage. 2071 */ 2072 uint32_t dac_num:8; 2073 /** oe_clr : R/W; bitpos: [17]; default: 0; 2074 * Reduces the power supply of the programming voltage. 2075 */ 2076 uint32_t oe_clr:1; 2077 uint32_t reserved_18:14; 2078 }; 2079 uint32_t val; 2080 } efuse_dac_conf_reg_t; 2081 2082 /** Type of rd_tim_conf register 2083 * Configures read timing parameters. 2084 */ 2085 typedef union { 2086 struct { 2087 /** thr_a : R/W; bitpos: [7:0]; default: 1; 2088 * Configures the read hold time. 2089 */ 2090 uint32_t thr_a:8; 2091 /** trd : R/W; bitpos: [15:8]; default: 2; 2092 * Configures the read time. 2093 */ 2094 uint32_t trd:8; 2095 /** tsur_a : R/W; bitpos: [23:16]; default: 1; 2096 * Configures the read setup time. 2097 */ 2098 uint32_t tsur_a:8; 2099 /** read_init_num : R/W; bitpos: [31:24]; default: 15; 2100 * Configures the waiting time of reading eFuse memory. 2101 */ 2102 uint32_t read_init_num:8; 2103 }; 2104 uint32_t val; 2105 } efuse_rd_tim_conf_reg_t; 2106 2107 /** Type of wr_tim_conf1 register 2108 * Configurarion register 1 of eFuse programming timing parameters. 2109 */ 2110 typedef union { 2111 struct { 2112 /** tsup_a : R/W; bitpos: [7:0]; default: 1; 2113 * Configures the programming setup time. 2114 */ 2115 uint32_t tsup_a:8; 2116 /** pwr_on_num : R/W; bitpos: [23:8]; default: 9831; 2117 * Configures the power up time for VDDQ. 2118 */ 2119 uint32_t pwr_on_num:16; 2120 /** thp_a : R/W; bitpos: [31:24]; default: 1; 2121 * Configures the programming hold time. 2122 */ 2123 uint32_t thp_a:8; 2124 }; 2125 uint32_t val; 2126 } efuse_wr_tim_conf1_reg_t; 2127 2128 /** Type of wr_tim_conf2 register 2129 * Configurarion register 2 of eFuse programming timing parameters. 2130 */ 2131 typedef union { 2132 struct { 2133 /** pwr_off_num : R/W; bitpos: [15:0]; default: 320; 2134 * Configures the power outage time for VDDQ. 2135 */ 2136 uint32_t pwr_off_num:16; 2137 /** tpgm : R/W; bitpos: [31:16]; default: 160; 2138 * Configures the active programming time. 2139 */ 2140 uint32_t tpgm:16; 2141 }; 2142 uint32_t val; 2143 } efuse_wr_tim_conf2_reg_t; 2144 2145 /** Type of wr_tim_conf0_rs_bypass register 2146 * Configurarion register0 of eFuse programming time parameters and rs bypass 2147 * operation. 2148 */ 2149 typedef union { 2150 struct { 2151 /** bypass_rs_correction : R/W; bitpos: [0]; default: 0; 2152 * Set this bit to bypass reed solomon correction step. 2153 */ 2154 uint32_t bypass_rs_correction:1; 2155 /** bypass_rs_blk_num : R/W; bitpos: [11:1]; default: 0; 2156 * Configures block number of programming twice operation. 2157 */ 2158 uint32_t bypass_rs_blk_num:11; 2159 /** update : WT; bitpos: [12]; default: 0; 2160 * Set this bit to update multi-bit register signals. 2161 */ 2162 uint32_t update:1; 2163 /** tpgm_inactive : R/W; bitpos: [20:13]; default: 1; 2164 * Configures the inactive programming time. 2165 */ 2166 uint32_t tpgm_inactive:8; 2167 uint32_t reserved_21:11; 2168 }; 2169 uint32_t val; 2170 } efuse_wr_tim_conf0_rs_bypass_reg_t; 2171 2172 2173 /** Group: Status Register */ 2174 /** Type of status register 2175 * eFuse status register. 2176 */ 2177 typedef union { 2178 struct { 2179 /** state : RO; bitpos: [3:0]; default: 0; 2180 * Indicates the state of the eFuse state machine. 2181 */ 2182 uint32_t state:4; 2183 /** otp_load_sw : RO; bitpos: [4]; default: 0; 2184 * The value of OTP_LOAD_SW. 2185 */ 2186 uint32_t otp_load_sw:1; 2187 /** otp_vddq_c_sync2 : RO; bitpos: [5]; default: 0; 2188 * The value of OTP_VDDQ_C_SYNC2. 2189 */ 2190 uint32_t otp_vddq_c_sync2:1; 2191 /** otp_strobe_sw : RO; bitpos: [6]; default: 0; 2192 * The value of OTP_STROBE_SW. 2193 */ 2194 uint32_t otp_strobe_sw:1; 2195 /** otp_csb_sw : RO; bitpos: [7]; default: 0; 2196 * The value of OTP_CSB_SW. 2197 */ 2198 uint32_t otp_csb_sw:1; 2199 /** otp_pgenb_sw : RO; bitpos: [8]; default: 0; 2200 * The value of OTP_PGENB_SW. 2201 */ 2202 uint32_t otp_pgenb_sw:1; 2203 /** otp_vddq_is_sw : RO; bitpos: [9]; default: 0; 2204 * The value of OTP_VDDQ_IS_SW. 2205 */ 2206 uint32_t otp_vddq_is_sw:1; 2207 /** blk0_valid_bit_cnt : RO; bitpos: [19:10]; default: 0; 2208 * Indicates the number of block valid bit. 2209 */ 2210 uint32_t blk0_valid_bit_cnt:10; 2211 /** cur_ecdsa_blk : RO; bitpos: [23:20]; default: 0; 2212 * Indicates which block is used for ECDSA key output. 2213 */ 2214 uint32_t cur_ecdsa_blk:4; 2215 uint32_t reserved_24:8; 2216 }; 2217 uint32_t val; 2218 } efuse_status_reg_t; 2219 2220 2221 /** Group: Interrupt Register */ 2222 /** Type of int_raw register 2223 * eFuse raw interrupt register. 2224 */ 2225 typedef union { 2226 struct { 2227 /** read_done_int_raw : R/SS/WTC; bitpos: [0]; default: 0; 2228 * The raw bit signal for read_done interrupt. 2229 */ 2230 uint32_t read_done_int_raw:1; 2231 /** pgm_done_int_raw : R/SS/WTC; bitpos: [1]; default: 0; 2232 * The raw bit signal for pgm_done interrupt. 2233 */ 2234 uint32_t pgm_done_int_raw:1; 2235 uint32_t reserved_2:30; 2236 }; 2237 uint32_t val; 2238 } efuse_int_raw_reg_t; 2239 2240 /** Type of int_st register 2241 * eFuse interrupt status register. 2242 */ 2243 typedef union { 2244 struct { 2245 /** read_done_int_st : RO; bitpos: [0]; default: 0; 2246 * The status signal for read_done interrupt. 2247 */ 2248 uint32_t read_done_int_st:1; 2249 /** pgm_done_int_st : RO; bitpos: [1]; default: 0; 2250 * The status signal for pgm_done interrupt. 2251 */ 2252 uint32_t pgm_done_int_st:1; 2253 uint32_t reserved_2:30; 2254 }; 2255 uint32_t val; 2256 } efuse_int_st_reg_t; 2257 2258 /** Type of int_ena register 2259 * eFuse interrupt enable register. 2260 */ 2261 typedef union { 2262 struct { 2263 /** read_done_int_ena : R/W; bitpos: [0]; default: 0; 2264 * The enable signal for read_done interrupt. 2265 */ 2266 uint32_t read_done_int_ena:1; 2267 /** pgm_done_int_ena : R/W; bitpos: [1]; default: 0; 2268 * The enable signal for pgm_done interrupt. 2269 */ 2270 uint32_t pgm_done_int_ena:1; 2271 uint32_t reserved_2:30; 2272 }; 2273 uint32_t val; 2274 } efuse_int_ena_reg_t; 2275 2276 /** Type of int_clr register 2277 * eFuse interrupt clear register. 2278 */ 2279 typedef union { 2280 struct { 2281 /** read_done_int_clr : WT; bitpos: [0]; default: 0; 2282 * The clear signal for read_done interrupt. 2283 */ 2284 uint32_t read_done_int_clr:1; 2285 /** pgm_done_int_clr : WT; bitpos: [1]; default: 0; 2286 * The clear signal for pgm_done interrupt. 2287 */ 2288 uint32_t pgm_done_int_clr:1; 2289 uint32_t reserved_2:30; 2290 }; 2291 uint32_t val; 2292 } efuse_int_clr_reg_t; 2293 2294 2295 /** Group: Version Register */ 2296 /** Type of date register 2297 * eFuse version register. 2298 */ 2299 typedef union { 2300 struct { 2301 /** date : R/W; bitpos: [27:0]; default: 35684640; 2302 * Stores eFuse version. 2303 */ 2304 uint32_t date:28; 2305 uint32_t reserved_28:4; 2306 }; 2307 uint32_t val; 2308 } efuse_date_reg_t; 2309 2310 2311 typedef struct { 2312 volatile efuse_pgm_data0_reg_t pgm_data0; 2313 volatile efuse_pgm_data1_reg_t pgm_data1; 2314 volatile efuse_pgm_data2_reg_t pgm_data2; 2315 volatile efuse_pgm_data3_reg_t pgm_data3; 2316 volatile efuse_pgm_data4_reg_t pgm_data4; 2317 volatile efuse_pgm_data5_reg_t pgm_data5; 2318 volatile efuse_pgm_data6_reg_t pgm_data6; 2319 volatile efuse_pgm_data7_reg_t pgm_data7; 2320 volatile efuse_pgm_check_value0_reg_t pgm_check_value0; 2321 volatile efuse_pgm_check_value1_reg_t pgm_check_value1; 2322 volatile efuse_pgm_check_value2_reg_t pgm_check_value2; 2323 volatile efuse_rd_wr_dis_reg_t rd_wr_dis; 2324 volatile efuse_rd_repeat_data0_reg_t rd_repeat_data0; 2325 volatile efuse_rd_repeat_data1_reg_t rd_repeat_data1; 2326 volatile efuse_rd_repeat_data2_reg_t rd_repeat_data2; 2327 volatile efuse_rd_repeat_data3_reg_t rd_repeat_data3; 2328 volatile efuse_rd_repeat_data4_reg_t rd_repeat_data4; 2329 volatile efuse_rd_mac_sys_0_reg_t rd_mac_sys_0; 2330 volatile efuse_rd_mac_sys_1_reg_t rd_mac_sys_1; 2331 volatile efuse_rd_mac_sys_2_reg_t rd_mac_sys_2; 2332 volatile efuse_rd_mac_sys_3_reg_t rd_mac_sys_3; 2333 volatile efuse_rd_mac_sys_4_reg_t rd_mac_sys_4; 2334 volatile efuse_rd_mac_sys_5_reg_t rd_mac_sys_5; 2335 volatile efuse_rd_sys_part1_data0_reg_t rd_sys_part1_data0; 2336 volatile efuse_rd_sys_part1_data1_reg_t rd_sys_part1_data1; 2337 volatile efuse_rd_sys_part1_data2_reg_t rd_sys_part1_data2; 2338 volatile efuse_rd_sys_part1_data3_reg_t rd_sys_part1_data3; 2339 volatile efuse_rd_sys_part1_data4_reg_t rd_sys_part1_data4; 2340 volatile efuse_rd_sys_part1_data5_reg_t rd_sys_part1_data5; 2341 volatile efuse_rd_sys_part1_data6_reg_t rd_sys_part1_data6; 2342 volatile efuse_rd_sys_part1_data7_reg_t rd_sys_part1_data7; 2343 volatile efuse_rd_usr_data0_reg_t rd_usr_data0; 2344 volatile efuse_rd_usr_data1_reg_t rd_usr_data1; 2345 volatile efuse_rd_usr_data2_reg_t rd_usr_data2; 2346 volatile efuse_rd_usr_data3_reg_t rd_usr_data3; 2347 volatile efuse_rd_usr_data4_reg_t rd_usr_data4; 2348 volatile efuse_rd_usr_data5_reg_t rd_usr_data5; 2349 volatile efuse_rd_usr_data6_reg_t rd_usr_data6; 2350 volatile efuse_rd_usr_data7_reg_t rd_usr_data7; 2351 volatile efuse_rd_key0_data0_reg_t rd_key0_data0; 2352 volatile efuse_rd_key0_data1_reg_t rd_key0_data1; 2353 volatile efuse_rd_key0_data2_reg_t rd_key0_data2; 2354 volatile efuse_rd_key0_data3_reg_t rd_key0_data3; 2355 volatile efuse_rd_key0_data4_reg_t rd_key0_data4; 2356 volatile efuse_rd_key0_data5_reg_t rd_key0_data5; 2357 volatile efuse_rd_key0_data6_reg_t rd_key0_data6; 2358 volatile efuse_rd_key0_data7_reg_t rd_key0_data7; 2359 volatile efuse_rd_key1_data0_reg_t rd_key1_data0; 2360 volatile efuse_rd_key1_data1_reg_t rd_key1_data1; 2361 volatile efuse_rd_key1_data2_reg_t rd_key1_data2; 2362 volatile efuse_rd_key1_data3_reg_t rd_key1_data3; 2363 volatile efuse_rd_key1_data4_reg_t rd_key1_data4; 2364 volatile efuse_rd_key1_data5_reg_t rd_key1_data5; 2365 volatile efuse_rd_key1_data6_reg_t rd_key1_data6; 2366 volatile efuse_rd_key1_data7_reg_t rd_key1_data7; 2367 volatile efuse_rd_key2_data0_reg_t rd_key2_data0; 2368 volatile efuse_rd_key2_data1_reg_t rd_key2_data1; 2369 volatile efuse_rd_key2_data2_reg_t rd_key2_data2; 2370 volatile efuse_rd_key2_data3_reg_t rd_key2_data3; 2371 volatile efuse_rd_key2_data4_reg_t rd_key2_data4; 2372 volatile efuse_rd_key2_data5_reg_t rd_key2_data5; 2373 volatile efuse_rd_key2_data6_reg_t rd_key2_data6; 2374 volatile efuse_rd_key2_data7_reg_t rd_key2_data7; 2375 volatile efuse_rd_key3_data0_reg_t rd_key3_data0; 2376 volatile efuse_rd_key3_data1_reg_t rd_key3_data1; 2377 volatile efuse_rd_key3_data2_reg_t rd_key3_data2; 2378 volatile efuse_rd_key3_data3_reg_t rd_key3_data3; 2379 volatile efuse_rd_key3_data4_reg_t rd_key3_data4; 2380 volatile efuse_rd_key3_data5_reg_t rd_key3_data5; 2381 volatile efuse_rd_key3_data6_reg_t rd_key3_data6; 2382 volatile efuse_rd_key3_data7_reg_t rd_key3_data7; 2383 volatile efuse_rd_key4_data0_reg_t rd_key4_data0; 2384 volatile efuse_rd_key4_data1_reg_t rd_key4_data1; 2385 volatile efuse_rd_key4_data2_reg_t rd_key4_data2; 2386 volatile efuse_rd_key4_data3_reg_t rd_key4_data3; 2387 volatile efuse_rd_key4_data4_reg_t rd_key4_data4; 2388 volatile efuse_rd_key4_data5_reg_t rd_key4_data5; 2389 volatile efuse_rd_key4_data6_reg_t rd_key4_data6; 2390 volatile efuse_rd_key4_data7_reg_t rd_key4_data7; 2391 volatile efuse_rd_key5_data0_reg_t rd_key5_data0; 2392 volatile efuse_rd_key5_data1_reg_t rd_key5_data1; 2393 volatile efuse_rd_key5_data2_reg_t rd_key5_data2; 2394 volatile efuse_rd_key5_data3_reg_t rd_key5_data3; 2395 volatile efuse_rd_key5_data4_reg_t rd_key5_data4; 2396 volatile efuse_rd_key5_data5_reg_t rd_key5_data5; 2397 volatile efuse_rd_key5_data6_reg_t rd_key5_data6; 2398 volatile efuse_rd_key5_data7_reg_t rd_key5_data7; 2399 volatile efuse_rd_sys_part2_data0_reg_t rd_sys_part2_data0; 2400 volatile efuse_rd_sys_part2_data1_reg_t rd_sys_part2_data1; 2401 volatile efuse_rd_sys_part2_data2_reg_t rd_sys_part2_data2; 2402 volatile efuse_rd_sys_part2_data3_reg_t rd_sys_part2_data3; 2403 volatile efuse_rd_sys_part2_data4_reg_t rd_sys_part2_data4; 2404 volatile efuse_rd_sys_part2_data5_reg_t rd_sys_part2_data5; 2405 volatile efuse_rd_sys_part2_data6_reg_t rd_sys_part2_data6; 2406 volatile efuse_rd_sys_part2_data7_reg_t rd_sys_part2_data7; 2407 volatile efuse_rd_repeat_err0_reg_t rd_repeat_err0; 2408 volatile efuse_rd_repeat_err1_reg_t rd_repeat_err1; 2409 volatile efuse_rd_repeat_err2_reg_t rd_repeat_err2; 2410 volatile efuse_rd_repeat_err3_reg_t rd_repeat_err3; 2411 volatile efuse_rd_repeat_err4_reg_t rd_repeat_err4; 2412 uint32_t reserved_190[12]; 2413 volatile efuse_rd_rs_err0_reg_t rd_rs_err0; 2414 volatile efuse_rd_rs_err1_reg_t rd_rs_err1; 2415 volatile efuse_clk_reg_t clk; 2416 volatile efuse_conf_reg_t conf; 2417 volatile efuse_status_reg_t status; 2418 volatile efuse_cmd_reg_t cmd; 2419 volatile efuse_int_raw_reg_t int_raw; 2420 volatile efuse_int_st_reg_t int_st; 2421 volatile efuse_int_ena_reg_t int_ena; 2422 volatile efuse_int_clr_reg_t int_clr; 2423 volatile efuse_dac_conf_reg_t dac_conf; 2424 volatile efuse_rd_tim_conf_reg_t rd_tim_conf; 2425 volatile efuse_wr_tim_conf1_reg_t wr_tim_conf1; 2426 volatile efuse_wr_tim_conf2_reg_t wr_tim_conf2; 2427 volatile efuse_wr_tim_conf0_rs_bypass_reg_t wr_tim_conf0_rs_bypass; 2428 volatile efuse_date_reg_t date; 2429 } efuse_dev_t; 2430 2431 extern efuse_dev_t EFUSE; 2432 2433 #ifndef __cplusplus 2434 _Static_assert(sizeof(efuse_dev_t) == 0x200, "Invalid size of efuse_dev_t structure"); 2435 #endif 2436 2437 #ifdef __cplusplus 2438 } 2439 #endif 2440