1 /**
2  * SPDX-FileCopyrightText: 2023 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 Registers */
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          *  The content of 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_0 : R/W; bitpos: [31:0]; default: 0;
33          *  The content of the 1th 32-bit data to be programmed.
34          */
35         uint32_t pgm_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
46          *  The content of the 2th 32-bit data to be programmed.
47          */
48         uint32_t pgm_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
59          *  The content of the 3th 32-bit data to be programmed.
60          */
61         uint32_t pgm_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
72          *  The content of the 4th 32-bit data to be programmed.
73          */
74         uint32_t pgm_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
85          *  The content of the 5th 32-bit data to be programmed.
86          */
87         uint32_t pgm_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
98          *  The content of the 6th 32-bit data to be programmed.
99          */
100         uint32_t pgm_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
111          *  The content of the 7th 32-bit data to be programmed.
112          */
113         uint32_t pgm_data_0: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          *  The content of 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_0 : R/W; bitpos: [31:0]; default: 0;
137          *  The content of the 1th 32-bit RS code to be programmed.
138          */
139         uint32_t pgm_rs_data_0: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_0 : R/W; bitpos: [31:0]; default: 0;
150          *  The content of the 2th 32-bit RS code to be programmed.
151          */
152         uint32_t pgm_rs_data_0:32;
153     };
154     uint32_t val;
155 } efuse_pgm_check_value2_reg_t;
156 
157 
158 /** Group: Read Data Registers */
159 /** Type of rd_wr_dis register
160  *  Register 0 of BLOCK0.
161  */
162 typedef union {
163     struct {
164         /** wr_dis : RO; bitpos: [31:0]; default: 0;
165          *  Disables programming of individual eFuses.
166          */
167         uint32_t wr_dis:32;
168     };
169     uint32_t val;
170 } efuse_rd_wr_dis_reg_t;
171 
172 /** Type of rd_repeat_data0 register
173  *  Register 1 of BLOCK0.
174  */
175 typedef union {
176     struct {
177         /** rd_dis : RO; bitpos: [6:0]; default: 0;
178          *  Disables software reading from individual eFuse blocks (BLOCK4-10).
179          */
180         uint32_t rd_dis:7;
181         /** dis_rtc_ram_boot : RO; bitpos: [7]; default: 0;
182          *  Reserved.
183          */
184         uint32_t dis_rtc_ram_boot:1;
185         /** dis_icache : RO; bitpos: [8]; default: 0;
186          *  Set this bit to disable Icache.
187          */
188         uint32_t dis_icache:1;
189         /** dis_dcache : RO; bitpos: [9]; default: 0;
190          *  Set this bit to disable Dcache.
191          */
192         uint32_t dis_dcache:1;
193         /** dis_download_icache : RO; bitpos: [10]; default: 0;
194          *  Disables Icache when SoC is in Download mode.
195          */
196         uint32_t dis_download_icache:1;
197         /** dis_download_dcache : RO; bitpos: [11]; default: 0;
198          *  Disables Dcache when SoC is in Download mode.
199          */
200         uint32_t dis_download_dcache:1;
201         /** dis_force_download : RO; bitpos: [12]; default: 0;
202          *  Set this bit to disable the function that forces chip into download mode.
203          */
204         uint32_t dis_force_download:1;
205         /** dis_usb : RO; bitpos: [13]; default: 0;
206          *  Set this bit to disable USB OTG function.
207          */
208         uint32_t dis_usb:1;
209         /** dis_twai : RO; bitpos: [14]; default: 0;
210          *  Set this bit to disable the TWAI Controller function.
211          */
212         uint32_t dis_twai:1;
213         /** dis_boot_remap : RO; bitpos: [15]; default: 0;
214          *  Disables capability to Remap RAM to ROM address space.
215          */
216         uint32_t dis_boot_remap:1;
217         /** rpt4_reserved5 : RO; bitpos: [16]; default: 0;
218          *  Reserved (used for four backups method).
219          */
220         uint32_t rpt4_reserved5:1;
221         /** soft_dis_jtag : RO; bitpos: [17]; default: 0;
222          *  Software disables JTAG. When software disabled, JTAG can be activated temporarily
223          *  by HMAC peripheral.
224          */
225         uint32_t soft_dis_jtag:1;
226         /** hard_dis_jtag : RO; bitpos: [18]; default: 0;
227          *  Hardware disables JTAG permanently.
228          */
229         uint32_t hard_dis_jtag:1;
230         /** dis_download_manual_encrypt : RO; bitpos: [19]; default: 0;
231          *  Disables flash encryption when in download boot modes.
232          */
233         uint32_t dis_download_manual_encrypt:1;
234         /** usb_drefh : RO; bitpos: [21:20]; default: 0;
235          *  Controls single-end input threshold vrefh, 1.76 V to 2 V with step of 80 mV, stored
236          *  in eFuse.
237          */
238         uint32_t usb_drefh:2;
239         /** usb_drefl : RO; bitpos: [23:22]; default: 0;
240          *  Controls single-end input threshold vrefl, 0.8 V to 1.04 V with step of 80 mV,
241          *  stored in eFuse.
242          */
243         uint32_t usb_drefl:2;
244         /** usb_exchg_pins : RO; bitpos: [24]; default: 0;
245          *  Set this bit to exchange USB D+ and D- pins.
246          */
247         uint32_t usb_exchg_pins:1;
248         /** usb_ext_phy_enable : RO; bitpos: [25]; default: 0;
249          *  Set this bit to enable external USB PHY.
250          */
251         uint32_t usb_ext_phy_enable:1;
252         /** usb_force_nopersist : RO; bitpos: [26]; default: 0;
253          *  If set, forces USB BVALID to 1.
254          */
255         uint32_t usb_force_nopersist:1;
256         /** block0_version : R; bitpos: [28:27]; default: 0;
257          *  BLOCK0 efuse version
258          */
259         uint32_t block0_version:2;
260         /** vdd_spi_modecurlim : RO; bitpos: [29]; default: 0;
261          *  SPI regulator switches current limit mode.
262          */
263         uint32_t vdd_spi_modecurlim:1;
264         /** vdd_spi_drefh : RO; bitpos: [31:30]; default: 0;
265          *  SPI regulator high voltage reference.
266          */
267         uint32_t vdd_spi_drefh:2;
268     };
269     uint32_t val;
270 } efuse_rd_repeat_data0_reg_t;
271 
272 /** Type of rd_repeat_data1 register
273  *  Register 2 of BLOCK0.
274  */
275 typedef union {
276     struct {
277         /** vdd_spi_drefm : RO; bitpos: [1:0]; default: 0;
278          *  SPI regulator medium voltage reference.
279          */
280         uint32_t vdd_spi_drefm:2;
281         /** vdd_spi_drefl : RO; bitpos: [3:2]; default: 0;
282          *  SPI regulator low voltage reference.
283          */
284         uint32_t vdd_spi_drefl:2;
285         /** vdd_spi_xpd : RO; bitpos: [4]; default: 0;
286          *  If VDD_SPI_FORCE is 1, this value determines if the VDD_SPI regulator is powered on.
287          */
288         uint32_t vdd_spi_xpd:1;
289         /** vdd_spi_tieh : RO; bitpos: [5]; default: 0;
290          *  If VDD_SPI_FORCE is 1, determines VDD_SPI voltage. 0: VDD_SPI connects to 1.8 V
291          *  LDO. 1: VDD_SPI connects to VDD_RTC_IO.
292          */
293         uint32_t vdd_spi_tieh:1;
294         /** vdd_spi_force : RO; bitpos: [6]; default: 0;
295          *  Set this bit to use XPD_VDD_PSI_REG and VDD_SPI_TIEH to configure VDD_SPI LDO.
296          */
297         uint32_t vdd_spi_force:1;
298         /** vdd_spi_en_init : RO; bitpos: [7]; default: 0;
299          *  Set SPI regulator to 0 to configure init[1:0]=0.
300          */
301         uint32_t vdd_spi_en_init:1;
302         /** vdd_spi_encurlim : RO; bitpos: [8]; default: 0;
303          *  Set SPI regulator to 1 to enable output current limit.
304          */
305         uint32_t vdd_spi_encurlim:1;
306         /** vdd_spi_dcurlim : RO; bitpos: [11:9]; default: 0;
307          *  Tunes the current limit threshold of SPI regulator when tieh=0, about 800 mA/(8+d).
308          */
309         uint32_t vdd_spi_dcurlim:3;
310         /** vdd_spi_init : RO; bitpos: [13:12]; default: 0;
311          *  Adds resistor from LDO output to ground. 0: no resistance. 1: 6 K. 2: 4 K. 3: 2 K.
312          */
313         uint32_t vdd_spi_init:2;
314         /** vdd_spi_dcap : RO; bitpos: [15:14]; default: 0;
315          *  Prevents SPI regulator from overshoot.
316          */
317         uint32_t vdd_spi_dcap:2;
318         /** wdt_delay_sel : RO; bitpos: [17:16]; default: 0;
319          *  Selects RTC watchdog timeout threshold at startup. 0: 40,000 slow clock cycles. 1:
320          *  80,000 slow clock cycles. 2: 160,000 slow clock cycles. 3: 320,000 slow clock
321          *  cycles.
322          */
323         uint32_t wdt_delay_sel:2;
324         /** spi_boot_crypt_cnt : RO; bitpos: [20:18]; default: 0;
325          *  Enables encryption and decryption, when an SPI boot mode is set. Feature is enabled
326          *  1 or 3 bits are set in the eFuse, disabled otherwise.
327          */
328         uint32_t spi_boot_crypt_cnt:3;
329         /** secure_boot_key_revoke0 : RO; bitpos: [21]; default: 0;
330          *  If set, revokes use of secure boot key digest 0.
331          */
332         uint32_t secure_boot_key_revoke0:1;
333         /** secure_boot_key_revoke1 : RO; bitpos: [22]; default: 0;
334          *  If set, revokes use of secure boot key digest 1.
335          */
336         uint32_t secure_boot_key_revoke1:1;
337         /** secure_boot_key_revoke2 : RO; bitpos: [23]; default: 0;
338          *  If set, revokes use of secure boot key digest 2.
339          */
340         uint32_t secure_boot_key_revoke2:1;
341         /** key_purpose_0 : RO; bitpos: [27:24]; default: 0;
342          *  Purpose of KEY0. Refer to Table Key Purpose Values.
343          */
344         uint32_t key_purpose_0:4;
345         /** key_purpose_1 : RO; bitpos: [31:28]; default: 0;
346          *  Purpose of KEY1. Refer to Table Key Purpose Values.
347          */
348         uint32_t key_purpose_1:4;
349     };
350     uint32_t val;
351 } efuse_rd_repeat_data1_reg_t;
352 
353 /** Type of rd_repeat_data2 register
354  *  Register 3 of BLOCK0.
355  */
356 typedef union {
357     struct {
358         /** key_purpose_2 : RO; bitpos: [3:0]; default: 0;
359          *  Purpose of KEY2. Refer to Table Key Purpose Values.
360          */
361         uint32_t key_purpose_2:4;
362         /** key_purpose_3 : RO; bitpos: [7:4]; default: 0;
363          *  Purpose of KEY3. Refer to Table Key Purpose Values.
364          */
365         uint32_t key_purpose_3:4;
366         /** key_purpose_4 : RO; bitpos: [11:8]; default: 0;
367          *  Purpose of KEY4. Refer to Table Key Purpose Values.
368          */
369         uint32_t key_purpose_4:4;
370         /** key_purpose_5 : RO; bitpos: [15:12]; default: 0;
371          *  Purpose of KEY5. Refer to Table Key Purpose Values.
372          */
373         uint32_t key_purpose_5:4;
374         /** key_purpose_6 : RO; bitpos: [19:16]; default: 0;
375          *  Purpose of KEY6. Refer to Table Key Purpose Values.
376          */
377         uint32_t key_purpose_6:4;
378         /** secure_boot_en : RO; bitpos: [20]; default: 0;
379          *  Set this bit to enable secure boot.
380          */
381         uint32_t secure_boot_en:1;
382         /** secure_boot_aggressive_revoke : RO; bitpos: [21]; default: 0;
383          *  Set this bit to enable aggressive secure boot key revocation mode.
384          */
385         uint32_t secure_boot_aggressive_revoke:1;
386         /** rpt4_reserved1 : RO; bitpos: [27:22]; default: 0;
387          *  Reserved (used for four backups method).
388          */
389         uint32_t rpt4_reserved1:6;
390         /** flash_tpuw : RO; bitpos: [31:28]; default: 0;
391          *  Configures flash startup delay after SoC power-up, in unit of (ms/2). When the
392          *  value is 15, delay is 7.5 ms.
393          */
394         uint32_t flash_tpuw:4;
395     };
396     uint32_t val;
397 } efuse_rd_repeat_data2_reg_t;
398 
399 /** Type of rd_repeat_data3 register
400  *  Register 4 of BLOCK0.
401  */
402 typedef union {
403     struct {
404         /** dis_download_mode : RO; bitpos: [0]; default: 0;
405          *  Set this bit to disable all download boot modes.
406          */
407         uint32_t dis_download_mode:1;
408         /** dis_legacy_spi_boot : RO; bitpos: [1]; default: 0;
409          *  Set this bit to disable Legacy SPI boot mode.
410          */
411         uint32_t dis_legacy_spi_boot:1;
412         /** uart_print_channel : RO; bitpos: [2]; default: 0;
413          *  Selects the default UART for printing boot messages. 0: UART0. 1: UART1.
414          */
415         uint32_t uart_print_channel:1;
416         /** rpt4_reserved3 : RO; bitpos: [3]; default: 0;
417          *  Reserved (used for four backups method).
418          */
419         uint32_t rpt4_reserved3:1;
420         /** dis_usb_download_mode : RO; bitpos: [4]; default: 0;
421          *  Set this bit to disable use of USB OTG in UART download boot mode.
422          */
423         uint32_t dis_usb_download_mode:1;
424         /** enable_security_download : RO; bitpos: [5]; default: 0;
425          *  Set this bit to enable secure UART download mode (read/write flash only).
426          */
427         uint32_t enable_security_download:1;
428         /** uart_print_control : RO; bitpos: [7:6]; default: 0;
429          *  Set the default UART boot message output mode. 00: Enabled. 01: Enable when GPIO46
430          *  is low at reset. 10: Enable when GPIO46 is high at reset. 11: Disabled.
431          */
432         uint32_t uart_print_control:2;
433         /** pin_power_selection : RO; bitpos: [8]; default: 0;
434          *  Set default power supply for GPIO33-GPIO37, set when SPI flash is initialized. 0:
435          *  VDD3P3_CPU. 1: VDD_SPI.
436          */
437         uint32_t pin_power_selection:1;
438         /** flash_type : RO; bitpos: [9]; default: 0;
439          *  SPI flash type. 0: maximum four data lines, 1: eight data lines.
440          */
441         uint32_t flash_type:1;
442         /** force_send_resume : RO; bitpos: [10]; default: 0;
443          *  If set, forces ROM code to send an SPI flash resume command during SPI boot.
444          */
445         uint32_t force_send_resume:1;
446         /** secure_version : RO; bitpos: [26:11]; default: 0;
447          *  Secure version (used by ESP-IDF anti-rollback feature).
448          */
449         uint32_t secure_version:16;
450         /** rpt4_reserved2 : RO; bitpos: [31:27]; default: 0;
451          *  Reserved (used for four backups method).
452          */
453         uint32_t rpt4_reserved2:5;
454     };
455     uint32_t val;
456 } efuse_rd_repeat_data3_reg_t;
457 
458 /** Type of rd_repeat_data4 register
459  *  Register 5 of BLOCK0.
460  */
461 typedef union {
462     struct {
463         /** disable_wafer_version_major : R; bitpos: [0]; default: 0;
464          *  Disables check of wafer version major
465          */
466         uint32_t disable_wafer_version_major:1;
467         /** disable_blk_version_major : R; bitpos: [1]; default: 0;
468          *  Disables check of blk version major
469          */
470         uint32_t disable_blk_version_major:1;
471         /** reserved_0_162 : R; bitpos: [23:2]; default: 0;
472          *  reserved
473          */
474         uint32_t reserved_0_162:22;
475         uint32_t reserved_24:8;
476     };
477     uint32_t val;
478 } efuse_rd_repeat_data4_reg_t;
479 
480 /** Type of rd_mac_spi_sys_0 register
481  *  Register 0 of BLOCK1.
482  */
483 typedef union {
484     struct {
485         /** mac_0 : RO; bitpos: [31:0]; default: 0;
486          *  Stores the low 32 bits of MAC address.
487          */
488         uint32_t mac_0:32;
489     };
490     uint32_t val;
491 } efuse_rd_mac_spi_sys_0_reg_t;
492 
493 /** Type of rd_mac_spi_sys_1 register
494  *  Register 1 of BLOCK1.
495  */
496 typedef union {
497     struct {
498         /** mac_1 : RO; bitpos: [15:0]; default: 0;
499          *  Stores the high 16 bits of MAC address.
500          */
501         uint32_t mac_1:16;
502         /** spi_pad_config_clk : R; bitpos: [21:16]; default: 0;
503          *  SPI_PAD_configure CLK
504          */
505         uint32_t spi_pad_config_clk:6;
506         /** spi_pad_config_q : R; bitpos: [27:22]; default: 0;
507          *  SPI_PAD_configure Q(D1)
508          */
509         uint32_t spi_pad_config_q:6;
510         /** spi_pad_config_d : R; bitpos: [31:28]; default: 0;
511          *  SPI_PAD_configure D(D0)
512          */
513         uint32_t spi_pad_config_d:4;
514     };
515     uint32_t val;
516 } efuse_rd_mac_spi_sys_1_reg_t;
517 
518 /** Type of rd_mac_spi_sys_2 register
519  *  Register 2 of BLOCK1.
520  */
521 typedef union {
522     struct {
523         /** spi_pad_config_d_1 : R; bitpos: [1:0]; default: 0;
524          *  SPI_PAD_configure D(D0)
525          */
526         uint32_t spi_pad_config_d_1:2;
527         /** spi_pad_config_cs : R; bitpos: [7:2]; default: 0;
528          *  SPI_PAD_configure CS
529          */
530         uint32_t spi_pad_config_cs:6;
531         /** spi_pad_config_hd : R; bitpos: [13:8]; default: 0;
532          *  SPI_PAD_configure HD(D3)
533          */
534         uint32_t spi_pad_config_hd:6;
535         /** spi_pad_config_wp : R; bitpos: [19:14]; default: 0;
536          *  SPI_PAD_configure WP(D2)
537          */
538         uint32_t spi_pad_config_wp:6;
539         /** spi_pad_config_dqs : R; bitpos: [25:20]; default: 0;
540          *  SPI_PAD_configure DQS
541          */
542         uint32_t spi_pad_config_dqs:6;
543         /** spi_pad_config_d4 : R; bitpos: [31:26]; default: 0;
544          *  SPI_PAD_configure D4
545          */
546         uint32_t spi_pad_config_d4:6;
547     };
548     uint32_t val;
549 } efuse_rd_mac_spi_sys_2_reg_t;
550 
551 /** Type of rd_mac_spi_sys_3 register
552  *  Register 3 of BLOCK1.
553  */
554 typedef union {
555     struct {
556         /** spi_pad_config_d5 : R; bitpos: [5:0]; default: 0;
557          *  SPI_PAD_configure D5
558          */
559         uint32_t spi_pad_config_d5:6;
560         /** spi_pad_config_d6 : R; bitpos: [11:6]; default: 0;
561          *  SPI_PAD_configure D6
562          */
563         uint32_t spi_pad_config_d6:6;
564         /** spi_pad_config_d7 : R; bitpos: [17:12]; default: 0;
565          *  SPI_PAD_configure D7
566          */
567         uint32_t spi_pad_config_d7:6;
568         /** wafer_version_major : R; bitpos: [19:18]; default: 0;
569          *  WAFER_VERSION_MAJOR
570          */
571         uint32_t wafer_version_major:2;
572         /** wafer_version_minor_hi : R; bitpos: [20]; default: 0;
573          *  WAFER_VERSION_MINOR most significant bit
574          */
575         uint32_t wafer_version_minor_hi:1;
576         /** flash_version : R; bitpos: [24:21]; default: 0;
577          *  Flash version
578          */
579         uint32_t flash_version:4;
580         /** blk_version_major : R; bitpos: [26:25]; default: 0;
581          *  BLK_VERSION_MAJOR
582          */
583         uint32_t blk_version_major:2;
584         /** reserved_1_123 : R; bitpos: [27]; default: 0;
585          *  reserved
586          */
587         uint32_t reserved_1_123:1;
588         /** psram_version : R; bitpos: [31:28]; default: 0;
589          *  PSRAM version
590          */
591         uint32_t psram_version:4;
592     };
593     uint32_t val;
594 } efuse_rd_mac_spi_sys_3_reg_t;
595 
596 /** Type of rd_mac_spi_sys_4 register
597  *  Register 4 of BLOCK1.
598  */
599 typedef union {
600     struct {
601         /** pkg_version : R; bitpos: [3:0]; default: 0;
602          *  Package version
603          */
604         uint32_t pkg_version:4;
605         /** wafer_version_minor_lo : R; bitpos: [6:4]; default: 0;
606          *  WAFER_VERSION_MINOR least significant bits
607          */
608         uint32_t wafer_version_minor_lo:3;
609         /** reserved_1_135 : R; bitpos: [31:7]; default: 0;
610          *  reserved
611          */
612         uint32_t reserved_1_135:25;
613     };
614     uint32_t val;
615 } efuse_rd_mac_spi_sys_4_reg_t;
616 
617 /** Type of rd_mac_spi_sys_5 register
618  *  Register 5 of BLOCK1.
619  */
620 typedef union {
621     struct {
622         /** sys_data_part0_2 : RO; bitpos: [31:0]; default: 0;
623          *  Stores the second part of the zeroth part of system data.
624          */
625         uint32_t sys_data_part0_2:32;
626     };
627     uint32_t val;
628 } efuse_rd_mac_spi_sys_5_reg_t;
629 
630 /** Type of rd_sys_part1_data0 register
631  *  Register 0 of BLOCK2 (system).
632  */
633 typedef union {
634     struct {
635         /** optional_unique_id : R; bitpos: [31:0]; default: 0;
636          *  Optional unique 128-bit ID
637          */
638         uint32_t optional_unique_id:32;
639     };
640     uint32_t val;
641 } efuse_rd_sys_part1_data0_reg_t;
642 
643 /** Type of rd_sys_part1_data1 register
644  *  Register 1 of BLOCK2 (system).
645  */
646 typedef union {
647     struct {
648         /** optional_unique_id_1 : R; bitpos: [31:0]; default: 0;
649          *  Optional unique 128-bit ID
650          */
651         uint32_t optional_unique_id_1:32;
652     };
653     uint32_t val;
654 } efuse_rd_sys_part1_data1_reg_t;
655 
656 /** Type of rd_sys_part1_data2 register
657  *  Register 2 of BLOCK2 (system).
658  */
659 typedef union {
660     struct {
661         /** optional_unique_id_2 : R; bitpos: [31:0]; default: 0;
662          *  Optional unique 128-bit ID
663          */
664         uint32_t optional_unique_id_2:32;
665     };
666     uint32_t val;
667 } efuse_rd_sys_part1_data2_reg_t;
668 
669 /** Type of rd_sys_part1_data3 register
670  *  Register 3 of BLOCK2 (system).
671  */
672 typedef union {
673     struct {
674         /** optional_unique_id_3 : R; bitpos: [31:0]; default: 0;
675          *  Optional unique 128-bit ID
676          */
677         uint32_t optional_unique_id_3:32;
678     };
679     uint32_t val;
680 } efuse_rd_sys_part1_data3_reg_t;
681 
682 /** Type of rd_sys_part1_data4 register
683  *  Register 4 of BLOCK2 (system).
684  */
685 typedef union {
686     struct {
687         /** adc_calib : R; bitpos: [3:0]; default: 0;
688          *  4 bit of ADC calibration
689          */
690         uint32_t adc_calib:4;
691         /** blk_version_minor : R; bitpos: [6:4]; default: 0;
692          *  BLK_VERSION_MINOR of BLOCK2: 0-No ADC calib; 1-ADC calib V1; 2-ADC calib V2
693          */
694         uint32_t blk_version_minor:3;
695         /** temp_calib : R; bitpos: [15:7]; default: 0;
696          *  Temperature calibration data
697          */
698         uint32_t temp_calib:9;
699         /** rtccalib_v1idx_a10h : R; bitpos: [23:16]; default: 0; */
700         uint32_t rtccalib_v1idx_a10h:8;
701         /** rtccalib_v1idx_a11h : R; bitpos: [31:24]; default: 0; */
702         uint32_t rtccalib_v1idx_a11h:8;
703     };
704     uint32_t val;
705 } efuse_rd_sys_part1_data4_reg_t;
706 
707 /** Type of rd_sys_part1_data5 register
708  *  Register 5 of BLOCK2 (system).
709  */
710 typedef union {
711     struct {
712         /** rtccalib_v1idx_a12h : R; bitpos: [7:0]; default: 0; */
713         uint32_t rtccalib_v1idx_a12h:8;
714         /** rtccalib_v1idx_a13h : R; bitpos: [15:8]; default: 0; */
715         uint32_t rtccalib_v1idx_a13h:8;
716         /** rtccalib_v1idx_a20h : R; bitpos: [23:16]; default: 0; */
717         uint32_t rtccalib_v1idx_a20h:8;
718         /** rtccalib_v1idx_a21h : R; bitpos: [31:24]; default: 0; */
719         uint32_t rtccalib_v1idx_a21h:8;
720     };
721     uint32_t val;
722 } efuse_rd_sys_part1_data5_reg_t;
723 
724 /** Type of rd_sys_part1_data6 register
725  *  Register 6 of BLOCK2 (system).
726  */
727 typedef union {
728     struct {
729         /** rtccalib_v1idx_a22h : R; bitpos: [7:0]; default: 0; */
730         uint32_t rtccalib_v1idx_a22h:8;
731         /** rtccalib_v1idx_a23h : R; bitpos: [15:8]; default: 0; */
732         uint32_t rtccalib_v1idx_a23h:8;
733         /** rtccalib_v1idx_a10l : R; bitpos: [21:16]; default: 0; */
734         uint32_t rtccalib_v1idx_a10l:6;
735         /** rtccalib_v1idx_a11l : R; bitpos: [27:22]; default: 0; */
736         uint32_t rtccalib_v1idx_a11l:6;
737         /** rtccalib_v1idx_a12l : R; bitpos: [31:28]; default: 0; */
738         uint32_t rtccalib_v1idx_a12l:4;
739     };
740     uint32_t val;
741 } efuse_rd_sys_part1_data6_reg_t;
742 
743 /** Type of rd_sys_part1_data7 register
744  *  Register 7 of BLOCK2 (system).
745  */
746 typedef union {
747     struct {
748         /** rtccalib_v1idx_a12l_1 : R; bitpos: [1:0]; default: 0; */
749         uint32_t rtccalib_v1idx_a12l_1:2;
750         /** rtccalib_v1idx_a13l : R; bitpos: [7:2]; default: 0; */
751         uint32_t rtccalib_v1idx_a13l:6;
752         /** rtccalib_v1idx_a20l : R; bitpos: [13:8]; default: 0; */
753         uint32_t rtccalib_v1idx_a20l:6;
754         /** rtccalib_v1idx_a21l : R; bitpos: [19:14]; default: 0; */
755         uint32_t rtccalib_v1idx_a21l:6;
756         /** rtccalib_v1idx_a22l : R; bitpos: [25:20]; default: 0; */
757         uint32_t rtccalib_v1idx_a22l:6;
758         /** rtccalib_v1idx_a23l : R; bitpos: [31:26]; default: 0; */
759         uint32_t rtccalib_v1idx_a23l:6;
760     };
761     uint32_t val;
762 } efuse_rd_sys_part1_data7_reg_t;
763 
764 /** Type of rd_usr_data0 register
765  *  Register 0 of BLOCK3 (user).
766  */
767 typedef union {
768     struct {
769         /** usr_data0 : RO; bitpos: [31:0]; default: 0;
770          *  Stores the 0th 32 bits of BLOCK3 (user).
771          */
772         uint32_t usr_data0:32;
773     };
774     uint32_t val;
775 } efuse_rd_usr_data0_reg_t;
776 
777 /** Type of rd_usr_data1 register
778  *  Register 1 of BLOCK3 (user).
779  */
780 typedef union {
781     struct {
782         /** usr_data1 : RO; bitpos: [31:0]; default: 0;
783          *  Stores the 1th 32 bits of BLOCK3 (user).
784          */
785         uint32_t usr_data1:32;
786     };
787     uint32_t val;
788 } efuse_rd_usr_data1_reg_t;
789 
790 /** Type of rd_usr_data2 register
791  *  Register 2 of BLOCK3 (user).
792  */
793 typedef union {
794     struct {
795         /** usr_data2 : RO; bitpos: [31:0]; default: 0;
796          *  Stores the 2th 32 bits of BLOCK3 (user).
797          */
798         uint32_t usr_data2:32;
799     };
800     uint32_t val;
801 } efuse_rd_usr_data2_reg_t;
802 
803 /** Type of rd_usr_data3 register
804  *  Register 3 of BLOCK3 (user).
805  */
806 typedef union {
807     struct {
808         /** usr_data3 : RO; bitpos: [31:0]; default: 0;
809          *  Stores the 3th 32 bits of BLOCK3 (user).
810          */
811         uint32_t usr_data3:32;
812     };
813     uint32_t val;
814 } efuse_rd_usr_data3_reg_t;
815 
816 /** Type of rd_usr_data4 register
817  *  Register 4 of BLOCK3 (user).
818  */
819 typedef union {
820     struct {
821         /** usr_data4 : RO; bitpos: [31:0]; default: 0;
822          *  Stores the 4th 32 bits of BLOCK3 (user).
823          */
824         uint32_t usr_data4:32;
825     };
826     uint32_t val;
827 } efuse_rd_usr_data4_reg_t;
828 
829 /** Type of rd_usr_data5 register
830  *  Register 5 of BLOCK3 (user).
831  */
832 typedef union {
833     struct {
834         /** usr_data5 : RO; bitpos: [31:0]; default: 0;
835          *  Stores the 5th 32 bits of BLOCK3 (user).
836          */
837         uint32_t usr_data5:32;
838     };
839     uint32_t val;
840 } efuse_rd_usr_data5_reg_t;
841 
842 /** Type of rd_usr_data6 register
843  *  Register 6 of BLOCK3 (user).
844  */
845 typedef union {
846     struct {
847         /** reserved_3_192 : R; bitpos: [7:0]; default: 0;
848          *  reserved
849          */
850         uint32_t reserved_3_192:8;
851         /** custom_mac : R; bitpos: [31:8]; default: 0;
852          *  Custom MAC
853          */
854         uint32_t custom_mac:24;
855     };
856     uint32_t val;
857 } efuse_rd_usr_data6_reg_t;
858 
859 /** Type of rd_usr_data7 register
860  *  Register 7 of BLOCK3 (user).
861  */
862 typedef union {
863     struct {
864         /** custom_mac_1 : R; bitpos: [23:0]; default: 0;
865          *  Custom MAC
866          */
867         uint32_t custom_mac_1:24;
868         /** reserved_3_248 : R; bitpos: [31:24]; default: 0;
869          *  reserved
870          */
871         uint32_t reserved_3_248:8;
872     };
873     uint32_t val;
874 } efuse_rd_usr_data7_reg_t;
875 
876 /** Type of rd_key0_data0 register
877  *  Register 0 of BLOCK4 (KEY0).
878  */
879 typedef union {
880     struct {
881         /** key0_data0 : RO; bitpos: [31:0]; default: 0;
882          *  Stores the 0th 32 bits of KEY0.
883          */
884         uint32_t key0_data0:32;
885     };
886     uint32_t val;
887 } efuse_rd_key0_data0_reg_t;
888 
889 /** Type of rd_key0_data1 register
890  *  Register 1 of BLOCK4 (KEY0).
891  */
892 typedef union {
893     struct {
894         /** key0_data1 : RO; bitpos: [31:0]; default: 0;
895          *  Stores the 1th 32 bits of KEY0.
896          */
897         uint32_t key0_data1:32;
898     };
899     uint32_t val;
900 } efuse_rd_key0_data1_reg_t;
901 
902 /** Type of rd_key0_data2 register
903  *  Register 2 of BLOCK4 (KEY0).
904  */
905 typedef union {
906     struct {
907         /** key0_data2 : RO; bitpos: [31:0]; default: 0;
908          *  Stores the 2th 32 bits of KEY0.
909          */
910         uint32_t key0_data2:32;
911     };
912     uint32_t val;
913 } efuse_rd_key0_data2_reg_t;
914 
915 /** Type of rd_key0_data3 register
916  *  Register 3 of BLOCK4 (KEY0).
917  */
918 typedef union {
919     struct {
920         /** key0_data3 : RO; bitpos: [31:0]; default: 0;
921          *  Stores the 3th 32 bits of KEY0.
922          */
923         uint32_t key0_data3:32;
924     };
925     uint32_t val;
926 } efuse_rd_key0_data3_reg_t;
927 
928 /** Type of rd_key0_data4 register
929  *  Register 4 of BLOCK4 (KEY0).
930  */
931 typedef union {
932     struct {
933         /** key0_data4 : RO; bitpos: [31:0]; default: 0;
934          *  Stores the 4th 32 bits of KEY0.
935          */
936         uint32_t key0_data4:32;
937     };
938     uint32_t val;
939 } efuse_rd_key0_data4_reg_t;
940 
941 /** Type of rd_key0_data5 register
942  *  Register 5 of BLOCK4 (KEY0).
943  */
944 typedef union {
945     struct {
946         /** key0_data5 : RO; bitpos: [31:0]; default: 0;
947          *  Stores the 5th 32 bits of KEY0.
948          */
949         uint32_t key0_data5:32;
950     };
951     uint32_t val;
952 } efuse_rd_key0_data5_reg_t;
953 
954 /** Type of rd_key0_data6 register
955  *  Register 6 of BLOCK4 (KEY0).
956  */
957 typedef union {
958     struct {
959         /** key0_data6 : RO; bitpos: [31:0]; default: 0;
960          *  Stores the 6th 32 bits of KEY0.
961          */
962         uint32_t key0_data6:32;
963     };
964     uint32_t val;
965 } efuse_rd_key0_data6_reg_t;
966 
967 /** Type of rd_key0_data7 register
968  *  Register 7 of BLOCK4 (KEY0).
969  */
970 typedef union {
971     struct {
972         /** key0_data7 : RO; bitpos: [31:0]; default: 0;
973          *  Stores the 7th 32 bits of KEY0.
974          */
975         uint32_t key0_data7:32;
976     };
977     uint32_t val;
978 } efuse_rd_key0_data7_reg_t;
979 
980 /** Type of rd_key1_data0 register
981  *  Register 0 of BLOCK5 (KEY1).
982  */
983 typedef union {
984     struct {
985         /** key1_data0 : RO; bitpos: [31:0]; default: 0;
986          *  Stores the 0th 32 bits of KEY1.
987          */
988         uint32_t key1_data0:32;
989     };
990     uint32_t val;
991 } efuse_rd_key1_data0_reg_t;
992 
993 /** Type of rd_key1_data1 register
994  *  Register 1 of BLOCK5 (KEY1).
995  */
996 typedef union {
997     struct {
998         /** key1_data1 : RO; bitpos: [31:0]; default: 0;
999          *  Stores the 1th 32 bits of KEY1.
1000          */
1001         uint32_t key1_data1:32;
1002     };
1003     uint32_t val;
1004 } efuse_rd_key1_data1_reg_t;
1005 
1006 /** Type of rd_key1_data2 register
1007  *  Register 2 of BLOCK5 (KEY1).
1008  */
1009 typedef union {
1010     struct {
1011         /** key1_data2 : RO; bitpos: [31:0]; default: 0;
1012          *  Stores the 2th 32 bits of KEY1.
1013          */
1014         uint32_t key1_data2:32;
1015     };
1016     uint32_t val;
1017 } efuse_rd_key1_data2_reg_t;
1018 
1019 /** Type of rd_key1_data3 register
1020  *  Register 3 of BLOCK5 (KEY1).
1021  */
1022 typedef union {
1023     struct {
1024         /** key1_data3 : RO; bitpos: [31:0]; default: 0;
1025          *  Stores the 3th 32 bits of KEY1.
1026          */
1027         uint32_t key1_data3:32;
1028     };
1029     uint32_t val;
1030 } efuse_rd_key1_data3_reg_t;
1031 
1032 /** Type of rd_key1_data4 register
1033  *  Register 4 of BLOCK5 (KEY1).
1034  */
1035 typedef union {
1036     struct {
1037         /** key1_data4 : RO; bitpos: [31:0]; default: 0;
1038          *  Stores the 4th 32 bits of KEY1.
1039          */
1040         uint32_t key1_data4:32;
1041     };
1042     uint32_t val;
1043 } efuse_rd_key1_data4_reg_t;
1044 
1045 /** Type of rd_key1_data5 register
1046  *  Register 5 of BLOCK5 (KEY1).
1047  */
1048 typedef union {
1049     struct {
1050         /** key1_data5 : RO; bitpos: [31:0]; default: 0;
1051          *  Stores the 5th 32 bits of KEY1.
1052          */
1053         uint32_t key1_data5:32;
1054     };
1055     uint32_t val;
1056 } efuse_rd_key1_data5_reg_t;
1057 
1058 /** Type of rd_key1_data6 register
1059  *  Register 6 of BLOCK5 (KEY1).
1060  */
1061 typedef union {
1062     struct {
1063         /** key1_data6 : RO; bitpos: [31:0]; default: 0;
1064          *  Stores the 6th 32 bits of KEY1.
1065          */
1066         uint32_t key1_data6:32;
1067     };
1068     uint32_t val;
1069 } efuse_rd_key1_data6_reg_t;
1070 
1071 /** Type of rd_key1_data7 register
1072  *  Register 7 of BLOCK5 (KEY1).
1073  */
1074 typedef union {
1075     struct {
1076         /** key1_data7 : RO; bitpos: [31:0]; default: 0;
1077          *  Stores the 7th 32 bits of KEY1.
1078          */
1079         uint32_t key1_data7:32;
1080     };
1081     uint32_t val;
1082 } efuse_rd_key1_data7_reg_t;
1083 
1084 /** Type of rd_key2_data0 register
1085  *  Register 0 of BLOCK6 (KEY2).
1086  */
1087 typedef union {
1088     struct {
1089         /** key2_data0 : RO; bitpos: [31:0]; default: 0;
1090          *  Stores the 0th 32 bits of KEY2.
1091          */
1092         uint32_t key2_data0:32;
1093     };
1094     uint32_t val;
1095 } efuse_rd_key2_data0_reg_t;
1096 
1097 /** Type of rd_key2_data1 register
1098  *  Register 1 of BLOCK6 (KEY2).
1099  */
1100 typedef union {
1101     struct {
1102         /** key2_data1 : RO; bitpos: [31:0]; default: 0;
1103          *  Stores the 1th 32 bits of KEY2.
1104          */
1105         uint32_t key2_data1:32;
1106     };
1107     uint32_t val;
1108 } efuse_rd_key2_data1_reg_t;
1109 
1110 /** Type of rd_key2_data2 register
1111  *  Register 2 of BLOCK6 (KEY2).
1112  */
1113 typedef union {
1114     struct {
1115         /** key2_data2 : RO; bitpos: [31:0]; default: 0;
1116          *  Stores the 2th 32 bits of KEY2.
1117          */
1118         uint32_t key2_data2:32;
1119     };
1120     uint32_t val;
1121 } efuse_rd_key2_data2_reg_t;
1122 
1123 /** Type of rd_key2_data3 register
1124  *  Register 3 of BLOCK6 (KEY2).
1125  */
1126 typedef union {
1127     struct {
1128         /** key2_data3 : RO; bitpos: [31:0]; default: 0;
1129          *  Stores the 3th 32 bits of KEY2.
1130          */
1131         uint32_t key2_data3:32;
1132     };
1133     uint32_t val;
1134 } efuse_rd_key2_data3_reg_t;
1135 
1136 /** Type of rd_key2_data4 register
1137  *  Register 4 of BLOCK6 (KEY2).
1138  */
1139 typedef union {
1140     struct {
1141         /** key2_data4 : RO; bitpos: [31:0]; default: 0;
1142          *  Stores the 4th 32 bits of KEY2.
1143          */
1144         uint32_t key2_data4:32;
1145     };
1146     uint32_t val;
1147 } efuse_rd_key2_data4_reg_t;
1148 
1149 /** Type of rd_key2_data5 register
1150  *  Register 5 of BLOCK6 (KEY2).
1151  */
1152 typedef union {
1153     struct {
1154         /** key2_data5 : RO; bitpos: [31:0]; default: 0;
1155          *  Stores the 5th 32 bits of KEY2.
1156          */
1157         uint32_t key2_data5:32;
1158     };
1159     uint32_t val;
1160 } efuse_rd_key2_data5_reg_t;
1161 
1162 /** Type of rd_key2_data6 register
1163  *  Register 6 of BLOCK6 (KEY2).
1164  */
1165 typedef union {
1166     struct {
1167         /** key2_data6 : RO; bitpos: [31:0]; default: 0;
1168          *  Stores the 6th 32 bits of KEY2.
1169          */
1170         uint32_t key2_data6:32;
1171     };
1172     uint32_t val;
1173 } efuse_rd_key2_data6_reg_t;
1174 
1175 /** Type of rd_key2_data7 register
1176  *  Register 7 of BLOCK6 (KEY2).
1177  */
1178 typedef union {
1179     struct {
1180         /** key2_data7 : RO; bitpos: [31:0]; default: 0;
1181          *  Stores the 7th 32 bits of KEY2.
1182          */
1183         uint32_t key2_data7:32;
1184     };
1185     uint32_t val;
1186 } efuse_rd_key2_data7_reg_t;
1187 
1188 /** Type of rd_key3_data0 register
1189  *  Register 0 of BLOCK7 (KEY3).
1190  */
1191 typedef union {
1192     struct {
1193         /** key3_data0 : RO; bitpos: [31:0]; default: 0;
1194          *  Stores the 0th 32 bits of KEY3.
1195          */
1196         uint32_t key3_data0:32;
1197     };
1198     uint32_t val;
1199 } efuse_rd_key3_data0_reg_t;
1200 
1201 /** Type of rd_key3_data1 register
1202  *  Register 1 of BLOCK7 (KEY3).
1203  */
1204 typedef union {
1205     struct {
1206         /** key3_data1 : RO; bitpos: [31:0]; default: 0;
1207          *  Stores the 1th 32 bits of KEY3.
1208          */
1209         uint32_t key3_data1:32;
1210     };
1211     uint32_t val;
1212 } efuse_rd_key3_data1_reg_t;
1213 
1214 /** Type of rd_key3_data2 register
1215  *  Register 2 of BLOCK7 (KEY3).
1216  */
1217 typedef union {
1218     struct {
1219         /** key3_data2 : RO; bitpos: [31:0]; default: 0;
1220          *  Stores the 2th 32 bits of KEY3.
1221          */
1222         uint32_t key3_data2:32;
1223     };
1224     uint32_t val;
1225 } efuse_rd_key3_data2_reg_t;
1226 
1227 /** Type of rd_key3_data3 register
1228  *  Register 3 of BLOCK7 (KEY3).
1229  */
1230 typedef union {
1231     struct {
1232         /** key3_data3 : RO; bitpos: [31:0]; default: 0;
1233          *  Stores the 3th 32 bits of KEY3.
1234          */
1235         uint32_t key3_data3:32;
1236     };
1237     uint32_t val;
1238 } efuse_rd_key3_data3_reg_t;
1239 
1240 /** Type of rd_key3_data4 register
1241  *  Register 4 of BLOCK7 (KEY3).
1242  */
1243 typedef union {
1244     struct {
1245         /** key3_data4 : RO; bitpos: [31:0]; default: 0;
1246          *  Stores the 4th 32 bits of KEY3.
1247          */
1248         uint32_t key3_data4:32;
1249     };
1250     uint32_t val;
1251 } efuse_rd_key3_data4_reg_t;
1252 
1253 /** Type of rd_key3_data5 register
1254  *  Register 5 of BLOCK7 (KEY3).
1255  */
1256 typedef union {
1257     struct {
1258         /** key3_data5 : RO; bitpos: [31:0]; default: 0;
1259          *  Stores the 5th 32 bits of KEY3.
1260          */
1261         uint32_t key3_data5:32;
1262     };
1263     uint32_t val;
1264 } efuse_rd_key3_data5_reg_t;
1265 
1266 /** Type of rd_key3_data6 register
1267  *  Register 6 of BLOCK7 (KEY3).
1268  */
1269 typedef union {
1270     struct {
1271         /** key3_data6 : RO; bitpos: [31:0]; default: 0;
1272          *  Stores the 6th 32 bits of KEY3.
1273          */
1274         uint32_t key3_data6:32;
1275     };
1276     uint32_t val;
1277 } efuse_rd_key3_data6_reg_t;
1278 
1279 /** Type of rd_key3_data7 register
1280  *  Register 7 of BLOCK7 (KEY3).
1281  */
1282 typedef union {
1283     struct {
1284         /** key3_data7 : RO; bitpos: [31:0]; default: 0;
1285          *  Stores the 7th 32 bits of KEY3.
1286          */
1287         uint32_t key3_data7:32;
1288     };
1289     uint32_t val;
1290 } efuse_rd_key3_data7_reg_t;
1291 
1292 /** Type of rd_key4_data0 register
1293  *  Register 0 of BLOCK8 (KEY4).
1294  */
1295 typedef union {
1296     struct {
1297         /** key4_data0 : RO; bitpos: [31:0]; default: 0;
1298          *  Stores the 0th 32 bits of KEY4.
1299          */
1300         uint32_t key4_data0:32;
1301     };
1302     uint32_t val;
1303 } efuse_rd_key4_data0_reg_t;
1304 
1305 /** Type of rd_key4_data1 register
1306  *  Register 1 of BLOCK8 (KEY4).
1307  */
1308 typedef union {
1309     struct {
1310         /** key4_data1 : RO; bitpos: [31:0]; default: 0;
1311          *  Stores the 1th 32 bits of KEY4.
1312          */
1313         uint32_t key4_data1:32;
1314     };
1315     uint32_t val;
1316 } efuse_rd_key4_data1_reg_t;
1317 
1318 /** Type of rd_key4_data2 register
1319  *  Register 2 of BLOCK8 (KEY4).
1320  */
1321 typedef union {
1322     struct {
1323         /** key4_data2 : RO; bitpos: [31:0]; default: 0;
1324          *  Stores the 2th 32 bits of KEY4.
1325          */
1326         uint32_t key4_data2:32;
1327     };
1328     uint32_t val;
1329 } efuse_rd_key4_data2_reg_t;
1330 
1331 /** Type of rd_key4_data3 register
1332  *  Register 3 of BLOCK8 (KEY4).
1333  */
1334 typedef union {
1335     struct {
1336         /** key4_data3 : RO; bitpos: [31:0]; default: 0;
1337          *  Stores the 3th 32 bits of KEY4.
1338          */
1339         uint32_t key4_data3:32;
1340     };
1341     uint32_t val;
1342 } efuse_rd_key4_data3_reg_t;
1343 
1344 /** Type of rd_key4_data4 register
1345  *  Register 4 of BLOCK8 (KEY4).
1346  */
1347 typedef union {
1348     struct {
1349         /** key4_data4 : RO; bitpos: [31:0]; default: 0;
1350          *  Stores the 4th 32 bits of KEY4.
1351          */
1352         uint32_t key4_data4:32;
1353     };
1354     uint32_t val;
1355 } efuse_rd_key4_data4_reg_t;
1356 
1357 /** Type of rd_key4_data5 register
1358  *  Register 5 of BLOCK8 (KEY4).
1359  */
1360 typedef union {
1361     struct {
1362         /** key4_data5 : RO; bitpos: [31:0]; default: 0;
1363          *  Stores the 5th 32 bits of KEY4.
1364          */
1365         uint32_t key4_data5:32;
1366     };
1367     uint32_t val;
1368 } efuse_rd_key4_data5_reg_t;
1369 
1370 /** Type of rd_key4_data6 register
1371  *  Register 6 of BLOCK8 (KEY4).
1372  */
1373 typedef union {
1374     struct {
1375         /** key4_data6 : RO; bitpos: [31:0]; default: 0;
1376          *  Stores the 6th 32 bits of KEY4.
1377          */
1378         uint32_t key4_data6:32;
1379     };
1380     uint32_t val;
1381 } efuse_rd_key4_data6_reg_t;
1382 
1383 /** Type of rd_key4_data7 register
1384  *  Register 7 of BLOCK8 (KEY4).
1385  */
1386 typedef union {
1387     struct {
1388         /** key4_data7 : RO; bitpos: [31:0]; default: 0;
1389          *  Stores the 7th 32 bits of KEY4.
1390          */
1391         uint32_t key4_data7:32;
1392     };
1393     uint32_t val;
1394 } efuse_rd_key4_data7_reg_t;
1395 
1396 /** Type of rd_key5_data0 register
1397  *  Register 0 of BLOCK9 (KEY5).
1398  */
1399 typedef union {
1400     struct {
1401         /** key5_data0 : RO; bitpos: [31:0]; default: 0;
1402          *  Stores the 0th 32 bits of KEY5.
1403          */
1404         uint32_t key5_data0:32;
1405     };
1406     uint32_t val;
1407 } efuse_rd_key5_data0_reg_t;
1408 
1409 /** Type of rd_key5_data1 register
1410  *  Register 1 of BLOCK9 (KEY5).
1411  */
1412 typedef union {
1413     struct {
1414         /** key5_data1 : RO; bitpos: [31:0]; default: 0;
1415          *  Stores the 1th 32 bits of KEY5.
1416          */
1417         uint32_t key5_data1:32;
1418     };
1419     uint32_t val;
1420 } efuse_rd_key5_data1_reg_t;
1421 
1422 /** Type of rd_key5_data2 register
1423  *  Register 2 of BLOCK9 (KEY5).
1424  */
1425 typedef union {
1426     struct {
1427         /** key5_data2 : RO; bitpos: [31:0]; default: 0;
1428          *  Stores the 2th 32 bits of KEY5.
1429          */
1430         uint32_t key5_data2:32;
1431     };
1432     uint32_t val;
1433 } efuse_rd_key5_data2_reg_t;
1434 
1435 /** Type of rd_key5_data3 register
1436  *  Register 3 of BLOCK9 (KEY5).
1437  */
1438 typedef union {
1439     struct {
1440         /** key5_data3 : RO; bitpos: [31:0]; default: 0;
1441          *  Stores the 3th 32 bits of KEY5.
1442          */
1443         uint32_t key5_data3:32;
1444     };
1445     uint32_t val;
1446 } efuse_rd_key5_data3_reg_t;
1447 
1448 /** Type of rd_key5_data4 register
1449  *  Register 4 of BLOCK9 (KEY5).
1450  */
1451 typedef union {
1452     struct {
1453         /** key5_data4 : RO; bitpos: [31:0]; default: 0;
1454          *  Stores the 4th 32 bits of KEY5.
1455          */
1456         uint32_t key5_data4:32;
1457     };
1458     uint32_t val;
1459 } efuse_rd_key5_data4_reg_t;
1460 
1461 /** Type of rd_key5_data5 register
1462  *  Register 5 of BLOCK9 (KEY5).
1463  */
1464 typedef union {
1465     struct {
1466         /** key5_data5 : RO; bitpos: [31:0]; default: 0;
1467          *  Stores the 5th 32 bits of KEY5.
1468          */
1469         uint32_t key5_data5:32;
1470     };
1471     uint32_t val;
1472 } efuse_rd_key5_data5_reg_t;
1473 
1474 /** Type of rd_key5_data6 register
1475  *  Register 6 of BLOCK9 (KEY5).
1476  */
1477 typedef union {
1478     struct {
1479         /** key5_data6 : RO; bitpos: [31:0]; default: 0;
1480          *  Stores the 6th 32 bits of KEY5.
1481          */
1482         uint32_t key5_data6:32;
1483     };
1484     uint32_t val;
1485 } efuse_rd_key5_data6_reg_t;
1486 
1487 /** Type of rd_key5_data7 register
1488  *  Register 7 of BLOCK9 (KEY5).
1489  */
1490 typedef union {
1491     struct {
1492         /** key5_data7 : RO; bitpos: [31:0]; default: 0;
1493          *  Stores the 7th 32 bits of KEY5.
1494          */
1495         uint32_t key5_data7:32;
1496     };
1497     uint32_t val;
1498 } efuse_rd_key5_data7_reg_t;
1499 
1500 /** Type of rd_sys_part2_data0 register
1501  *  Register 0 of BLOCK10 (system).
1502  */
1503 typedef union {
1504     struct {
1505         /** sys_data_part2_0 : RO; bitpos: [31:0]; default: 0;
1506          *  Stores the 0th 32 bits of the 2nd part of system data.
1507          */
1508         uint32_t sys_data_part2_0:32;
1509     };
1510     uint32_t val;
1511 } efuse_rd_sys_part2_data0_reg_t;
1512 
1513 /** Type of rd_sys_part2_data1 register
1514  *  Register 1 of BLOCK10 (system).
1515  */
1516 typedef union {
1517     struct {
1518         /** sys_data_part2_1 : RO; bitpos: [31:0]; default: 0;
1519          *  Stores the 1th 32 bits of the 2nd part of system data.
1520          */
1521         uint32_t sys_data_part2_1:32;
1522     };
1523     uint32_t val;
1524 } efuse_rd_sys_part2_data1_reg_t;
1525 
1526 /** Type of rd_sys_part2_data2 register
1527  *  Register 2 of BLOCK10 (system).
1528  */
1529 typedef union {
1530     struct {
1531         /** sys_data_part2_2 : RO; bitpos: [31:0]; default: 0;
1532          *  Stores the 2th 32 bits of the 2nd part of system data.
1533          */
1534         uint32_t sys_data_part2_2:32;
1535     };
1536     uint32_t val;
1537 } efuse_rd_sys_part2_data2_reg_t;
1538 
1539 /** Type of rd_sys_part2_data3 register
1540  *  Register 3 of BLOCK10 (system).
1541  */
1542 typedef union {
1543     struct {
1544         /** sys_data_part2_3 : RO; bitpos: [31:0]; default: 0;
1545          *  Stores the 3th 32 bits of the 2nd part of system data.
1546          */
1547         uint32_t sys_data_part2_3:32;
1548     };
1549     uint32_t val;
1550 } efuse_rd_sys_part2_data3_reg_t;
1551 
1552 /** Type of rd_sys_part2_data4 register
1553  *  Register 4 of BLOCK10 (system).
1554  */
1555 typedef union {
1556     struct {
1557         /** sys_data_part2_4 : RO; bitpos: [31:0]; default: 0;
1558          *  Stores the 4th 32 bits of the 2nd part of system data.
1559          */
1560         uint32_t sys_data_part2_4:32;
1561     };
1562     uint32_t val;
1563 } efuse_rd_sys_part2_data4_reg_t;
1564 
1565 /** Type of rd_sys_part2_data5 register
1566  *  Register 5 of BLOCK10 (system).
1567  */
1568 typedef union {
1569     struct {
1570         /** sys_data_part2_5 : RO; bitpos: [31:0]; default: 0;
1571          *  Stores the 5th 32 bits of the 2nd part of system data.
1572          */
1573         uint32_t sys_data_part2_5:32;
1574     };
1575     uint32_t val;
1576 } efuse_rd_sys_part2_data5_reg_t;
1577 
1578 /** Type of rd_sys_part2_data6 register
1579  *  Register 6 of BLOCK10 (system).
1580  */
1581 typedef union {
1582     struct {
1583         /** sys_data_part2_6 : RO; bitpos: [31:0]; default: 0;
1584          *  Stores the 6th 32 bits of the 2nd part of system data.
1585          */
1586         uint32_t sys_data_part2_6:32;
1587     };
1588     uint32_t val;
1589 } efuse_rd_sys_part2_data6_reg_t;
1590 
1591 /** Type of rd_sys_part2_data7 register
1592  *  Register 7 of BLOCK10 (system).
1593  */
1594 typedef union {
1595     struct {
1596         /** sys_data_part2_7 : RO; bitpos: [31:0]; default: 0;
1597          *  Stores the 7th 32 bits of the 2nd part of system data.
1598          */
1599         uint32_t sys_data_part2_7:32;
1600     };
1601     uint32_t val;
1602 } efuse_rd_sys_part2_data7_reg_t;
1603 
1604 
1605 /** Group: Error Status Registers */
1606 /** Type of rd_repeat_err0 register
1607  *  Programming error record register 0 of BLOCK0.
1608  */
1609 typedef union {
1610     struct {
1611         /** rd_dis_err : RO; bitpos: [6:0]; default: 0;
1612          *  Any bit equal to 1 denotes a programming error in EFUSE_RD_DIS.
1613          */
1614         uint32_t rd_dis_err:7;
1615         /** dis_rtc_ram_boot_err : RO; bitpos: [7]; default: 0;
1616          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_RTC_RAM_BOOT.
1617          */
1618         uint32_t dis_rtc_ram_boot_err:1;
1619         /** dis_icache_err : RO; bitpos: [8]; default: 0;
1620          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_ICACHE.
1621          */
1622         uint32_t dis_icache_err:1;
1623         /** dis_dcache_err : RO; bitpos: [9]; default: 0;
1624          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_DCACHE.
1625          */
1626         uint32_t dis_dcache_err:1;
1627         /** dis_download_icache_err : RO; bitpos: [10]; default: 0;
1628          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_DOWNLOAD_ICACHE.
1629          */
1630         uint32_t dis_download_icache_err:1;
1631         /** dis_download_dcache_err : RO; bitpos: [11]; default: 0;
1632          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_DOWNLOAD_DCACHE.
1633          */
1634         uint32_t dis_download_dcache_err:1;
1635         /** dis_force_download_err : RO; bitpos: [12]; default: 0;
1636          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_FORCE_DOWNLOAD.
1637          */
1638         uint32_t dis_force_download_err:1;
1639         /** dis_usb_err : RO; bitpos: [13]; default: 0;
1640          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_USB.
1641          */
1642         uint32_t dis_usb_err:1;
1643         /** dis_can_err : RO; bitpos: [14]; default: 0;
1644          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_CAN.
1645          */
1646         uint32_t dis_can_err:1;
1647         /** dis_boot_remap_err : RO; bitpos: [15]; default: 0;
1648          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_BOOT_REMAP.
1649          */
1650         uint32_t dis_boot_remap_err:1;
1651         /** rpt4_reserved5_err : RO; bitpos: [16]; default: 0;
1652          *  Any bit equal to 1 denotes a programming error in EFUSE_RPT4_RESERVED5.
1653          */
1654         uint32_t rpt4_reserved5_err:1;
1655         /** soft_dis_jtag_err : RO; bitpos: [17]; default: 0;
1656          *  Any bit equal to 1 denotes a programming error in EFUSE_SOFT_DIS_JTAG.
1657          */
1658         uint32_t soft_dis_jtag_err:1;
1659         /** hard_dis_jtag_err : RO; bitpos: [18]; default: 0;
1660          *  Any bit equal to 1 denotes a programming error in EFUSE_HARD_DIS_JTAG.
1661          */
1662         uint32_t hard_dis_jtag_err:1;
1663         /** dis_download_manual_encrypt_err : RO; bitpos: [19]; default: 0;
1664          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT.
1665          */
1666         uint32_t dis_download_manual_encrypt_err:1;
1667         /** usb_drefh_err : RO; bitpos: [21:20]; default: 0;
1668          *  Any bit equal to 1 denotes a programming error in EFUSE_USB_DREFH.
1669          */
1670         uint32_t usb_drefh_err:2;
1671         /** usb_drefl_err : RO; bitpos: [23:22]; default: 0;
1672          *  Any bit equal to 1 denotes a programming error in EFUSE_USB_DREFL.
1673          */
1674         uint32_t usb_drefl_err:2;
1675         /** usb_exchg_pins_err : RO; bitpos: [24]; default: 0;
1676          *  Any bit equal to 1 denotes a programming error in EFUSE_USB_EXCHG_PINS.
1677          */
1678         uint32_t usb_exchg_pins_err:1;
1679         /** ext_phy_enable_err : RO; bitpos: [25]; default: 0;
1680          *  Any bit equal to 1 denotes a programming error in EFUSE_EXT_PHY_ENABLE.
1681          */
1682         uint32_t ext_phy_enable_err:1;
1683         /** usb_force_nopersist_err : RO; bitpos: [26]; default: 0;
1684          *  Any bit equal to 1 denotes a programming error in EFUSE_USB_FORCE_NOPERSIST.
1685          */
1686         uint32_t usb_force_nopersist_err:1;
1687         /** rpt4_reserved0_err : RO; bitpos: [28:27]; default: 0;
1688          *  Any bit equal to 1 denotes a programming error in EFUSE_RPT4_RESERVED0.
1689          */
1690         uint32_t rpt4_reserved0_err:2;
1691         /** vdd_spi_modecurlim_err : RO; bitpos: [29]; default: 0;
1692          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_MODECURLIM.
1693          */
1694         uint32_t vdd_spi_modecurlim_err:1;
1695         /** vdd_spi_drefh_err : RO; bitpos: [31:30]; default: 0;
1696          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_DREFH.
1697          */
1698         uint32_t vdd_spi_drefh_err:2;
1699     };
1700     uint32_t val;
1701 } efuse_rd_repeat_err0_reg_t;
1702 
1703 /** Type of rd_repeat_err1 register
1704  *  Programming error record register 1 of BLOCK0.
1705  */
1706 typedef union {
1707     struct {
1708         /** vdd_spi_drefm_err : RO; bitpos: [1:0]; default: 0;
1709          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_DREFM.
1710          */
1711         uint32_t vdd_spi_drefm_err:2;
1712         /** vdd_spi_drefl_err : RO; bitpos: [3:2]; default: 0;
1713          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_DREFL.
1714          */
1715         uint32_t vdd_spi_drefl_err:2;
1716         /** vdd_spi_xpd_err : RO; bitpos: [4]; default: 0;
1717          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_XPD.
1718          */
1719         uint32_t vdd_spi_xpd_err:1;
1720         /** vdd_spi_tieh_err : RO; bitpos: [5]; default: 0;
1721          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_TIEH.
1722          */
1723         uint32_t vdd_spi_tieh_err:1;
1724         /** vdd_spi_force_err : RO; bitpos: [6]; default: 0;
1725          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_FORCE.
1726          */
1727         uint32_t vdd_spi_force_err:1;
1728         /** vdd_spi_en_init_err : RO; bitpos: [7]; default: 0;
1729          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_EN_INIT.
1730          */
1731         uint32_t vdd_spi_en_init_err:1;
1732         /** vdd_spi_encurlim_err : RO; bitpos: [8]; default: 0;
1733          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_ENCURLIM.
1734          */
1735         uint32_t vdd_spi_encurlim_err:1;
1736         /** vdd_spi_dcurlim_err : RO; bitpos: [11:9]; default: 0;
1737          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_DCURLIM.
1738          */
1739         uint32_t vdd_spi_dcurlim_err:3;
1740         /** vdd_spi_init_err : RO; bitpos: [13:12]; default: 0;
1741          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_INIT.
1742          */
1743         uint32_t vdd_spi_init_err:2;
1744         /** vdd_spi_dcap_err : RO; bitpos: [15:14]; default: 0;
1745          *  Any bit equal to 1 denotes a programming error in EFUSE_VDD_SPI_DCAP.
1746          */
1747         uint32_t vdd_spi_dcap_err:2;
1748         /** wdt_delay_sel_err : RO; bitpos: [17:16]; default: 0;
1749          *  Any bit equal to 1 denotes a programming error in EFUSE_WDT_DELAY_SEL.
1750          */
1751         uint32_t wdt_delay_sel_err:2;
1752         /** spi_boot_crypt_cnt_err : RO; bitpos: [20:18]; default: 0;
1753          *  Any bit equal to 1 denotes a programming error in EFUSE_SPI_BOOT_CRYPT_CNT.
1754          */
1755         uint32_t spi_boot_crypt_cnt_err:3;
1756         /** secure_boot_key_revoke0_err : RO; bitpos: [21]; default: 0;
1757          *  Any bit equal to 1 denotes a programming error in EFUSE_SECURE_BOOT_KEY_REVOKE0.
1758          */
1759         uint32_t secure_boot_key_revoke0_err:1;
1760         /** secure_boot_key_revoke1_err : RO; bitpos: [22]; default: 0;
1761          *  Any bit equal to 1 denotes a programming error in EFUSE_SECURE_BOOT_KEY_REVOKE1.
1762          */
1763         uint32_t secure_boot_key_revoke1_err:1;
1764         /** secure_boot_key_revoke2_err : RO; bitpos: [23]; default: 0;
1765          *  Any bit equal to 1 denotes a programming error in EFUSE_SECURE_BOOT_KEY_REVOKE2.
1766          */
1767         uint32_t secure_boot_key_revoke2_err:1;
1768         /** key_purpose_0_err : RO; bitpos: [27:24]; default: 0;
1769          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_0.
1770          */
1771         uint32_t key_purpose_0_err:4;
1772         /** key_purpose_1_err : RO; bitpos: [31:28]; default: 0;
1773          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_1.
1774          */
1775         uint32_t key_purpose_1_err:4;
1776     };
1777     uint32_t val;
1778 } efuse_rd_repeat_err1_reg_t;
1779 
1780 /** Type of rd_repeat_err2 register
1781  *  Programming error record register 2 of BLOCK0.
1782  */
1783 typedef union {
1784     struct {
1785         /** key_purpose_2_err : RO; bitpos: [3:0]; default: 0;
1786          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_2.
1787          */
1788         uint32_t key_purpose_2_err:4;
1789         /** key_purpose_3_err : RO; bitpos: [7:4]; default: 0;
1790          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_3.
1791          */
1792         uint32_t key_purpose_3_err:4;
1793         /** key_purpose_4_err : RO; bitpos: [11:8]; default: 0;
1794          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_4.
1795          */
1796         uint32_t key_purpose_4_err:4;
1797         /** key_purpose_5_err : RO; bitpos: [15:12]; default: 0;
1798          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_5.
1799          */
1800         uint32_t key_purpose_5_err:4;
1801         /** key_purpose_6_err : RO; bitpos: [19:16]; default: 0;
1802          *  Any bit equal to 1 denotes a programming error in EFUSE_KEY_PURPOSE_6.
1803          */
1804         uint32_t key_purpose_6_err:4;
1805         /** secure_boot_en_err : RO; bitpos: [20]; default: 0;
1806          *  Any bit equal to 1 denotes a programming error in EFUSE_SECURE_BOOT_EN.
1807          */
1808         uint32_t secure_boot_en_err:1;
1809         /** secure_boot_aggressive_revoke_err : RO; bitpos: [21]; default: 0;
1810          *  Any bit equal to 1 denotes a programming error in
1811          *  EFUSE_SECURE_BOOT_AGGRESSIVE_REVOKE.
1812          */
1813         uint32_t secure_boot_aggressive_revoke_err:1;
1814         /** rpt4_reserved1_err : RO; bitpos: [27:22]; default: 0;
1815          *  Any bit equal to 1 denotes a programming error in EFUSE_RPT4_RESERVED1.
1816          */
1817         uint32_t rpt4_reserved1_err:6;
1818         /** flash_tpuw_err : RO; bitpos: [31:28]; default: 0;
1819          *  Any bit equal to 1 denotes a programming error in EFUSE_FLASH_TPUW.
1820          */
1821         uint32_t flash_tpuw_err:4;
1822     };
1823     uint32_t val;
1824 } efuse_rd_repeat_err2_reg_t;
1825 
1826 /** Type of rd_repeat_err3 register
1827  *  Programming error record register 3 of BLOCK0.
1828  */
1829 typedef union {
1830     struct {
1831         /** dis_download_mode_err : RO; bitpos: [0]; default: 0;
1832          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_DOWNLOAD_MODE.
1833          */
1834         uint32_t dis_download_mode_err:1;
1835         /** dis_legacy_spi_boot_err : RO; bitpos: [1]; default: 0;
1836          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_LEGACY_SPI_BOOT.
1837          */
1838         uint32_t dis_legacy_spi_boot_err:1;
1839         /** uart_print_channel_err : RO; bitpos: [2]; default: 0;
1840          *  Any bit equal to 1 denotes a programming error in EFUSE_UART_PRINT_CHANNEL.
1841          */
1842         uint32_t uart_print_channel_err:1;
1843         /** rpt4_reserved3_err : RO; bitpos: [3]; default: 0;
1844          *  Any bit equal to 1 denotes a programming error in EFUSE_RPT4_RESERVED3.
1845          */
1846         uint32_t rpt4_reserved3_err:1;
1847         /** dis_usb_download_mode_err : RO; bitpos: [4]; default: 0;
1848          *  Any bit equal to 1 denotes a programming error in EFUSE_DIS_USB_DOWNLOAD_MODE.
1849          */
1850         uint32_t dis_usb_download_mode_err:1;
1851         /** enable_security_download_err : RO; bitpos: [5]; default: 0;
1852          *  Any bit equal to 1 denotes a programming error in EFUSE_ENABLE_SECURITY_DOWNLOAD.
1853          */
1854         uint32_t enable_security_download_err:1;
1855         /** uart_print_control_err : RO; bitpos: [7:6]; default: 0;
1856          *  Any bit equal to 1 denotes a programming error in EFUSE_UART_PRINT_CONTROL.
1857          */
1858         uint32_t uart_print_control_err:2;
1859         /** pin_power_selection_err : RO; bitpos: [8]; default: 0;
1860          *  Any bit equal to 1 denotes a programming error in EFUSE_PIN_POWER_SELECTION.
1861          */
1862         uint32_t pin_power_selection_err:1;
1863         /** flash_type_err : RO; bitpos: [9]; default: 0;
1864          *  Any bit equal to 1 denotes a programming error in EFUSE_FLASH_TYPE.
1865          */
1866         uint32_t flash_type_err:1;
1867         /** force_send_resume_err : RO; bitpos: [10]; default: 0;
1868          *  Any bit equal to 1 denotes a programming error in EFUSE_FORCE_SEND_RESUME.
1869          */
1870         uint32_t force_send_resume_err:1;
1871         /** secure_version_err : RO; bitpos: [26:11]; default: 0;
1872          *  Any bit equal to 1 denotes a programming error in EFUSE_SECURE_VERSION.
1873          */
1874         uint32_t secure_version_err:16;
1875         /** rpt4_reserved2_err : RO; bitpos: [31:27]; default: 0;
1876          *  Any bit equal to 1 denotes a programming error in EFUSE_RPT4_RESERVED2.
1877          */
1878         uint32_t rpt4_reserved2_err:5;
1879     };
1880     uint32_t val;
1881 } efuse_rd_repeat_err3_reg_t;
1882 
1883 /** Type of rd_repeat_err4 register
1884  *  Programming error record register 4 of BLOCK0.
1885  */
1886 typedef union {
1887     struct {
1888         /** rpt4_reserved4_err : RO; bitpos: [23:0]; default: 0;
1889          *  If any bit in RPT4_RESERVED4 is 1, there is a programming error in
1890          *  EFUSE_RPT4_RESERVED4.
1891          */
1892         uint32_t rpt4_reserved4_err:24;
1893         uint32_t reserved_24:8;
1894     };
1895     uint32_t val;
1896 } efuse_rd_repeat_err4_reg_t;
1897 
1898 /** Type of rd_rs_err0 register
1899  *  Programming error record register 0 of BLOCK1-10.
1900  */
1901 typedef union {
1902     struct {
1903         /** mac_spi_8m_err_num : RO; bitpos: [2:0]; default: 0;
1904          *  The value of this signal means the number of error bytes in BLOCK1.
1905          */
1906         uint32_t mac_spi_8m_err_num:3;
1907         /** mac_spi_8m_fail : RO; bitpos: [3]; default: 0;
1908          *  0: Means no failure and that the data of BLOCK1 is reliable. 1: Means that
1909          *  programming BLOCK1 data failed and the number of error bytes is over 5.
1910          */
1911         uint32_t mac_spi_8m_fail:1;
1912         /** sys_part1_num : RO; bitpos: [6:4]; default: 0;
1913          *  The value of this signal means the number of error bytes in BLOCK2.
1914          */
1915         uint32_t sys_part1_num:3;
1916         /** sys_part1_fail : RO; bitpos: [7]; default: 0;
1917          *  0: Means no failure and that the data of BLOCK2 is reliable. 1: Means that
1918          *  programming BLOCK2 data failed and the number of error bytes is over 5.
1919          */
1920         uint32_t sys_part1_fail:1;
1921         /** usr_data_err_num : RO; bitpos: [10:8]; default: 0;
1922          *  The value of this signal means the number of error bytes in BLOCK3.
1923          */
1924         uint32_t usr_data_err_num:3;
1925         /** usr_data_fail : RO; bitpos: [11]; default: 0;
1926          *  0: Means no failure and that the data of BLOCK3 is reliable. 1: Means that
1927          *  programming BLOCK3 data failed and the number of error bytes is over 5.
1928          */
1929         uint32_t usr_data_fail:1;
1930         /** key0_err_num : RO; bitpos: [14:12]; default: 0;
1931          *  The value of this signal means the number of error bytes in KEY0.
1932          */
1933         uint32_t key0_err_num:3;
1934         /** key0_fail : RO; bitpos: [15]; default: 0;
1935          *  0: Means no failure and that the data of KEY0 is reliable. 1: Means that
1936          *  programming KEY0 failed and the number of error bytes is over 5.
1937          */
1938         uint32_t key0_fail:1;
1939         /** key1_err_num : RO; bitpos: [18:16]; default: 0;
1940          *  The value of this signal means the number of error bytes in KEY1.
1941          */
1942         uint32_t key1_err_num:3;
1943         /** key1_fail : RO; bitpos: [19]; default: 0;
1944          *  0: Means no failure and that the data of KEY1 is reliable. 1: Means that
1945          *  programming KEY1 failed and the number of error bytes is over 5.
1946          */
1947         uint32_t key1_fail:1;
1948         /** key2_err_num : RO; bitpos: [22:20]; default: 0;
1949          *  The value of this signal means the number of error bytes in KEY2.
1950          */
1951         uint32_t key2_err_num:3;
1952         /** key2_fail : RO; bitpos: [23]; default: 0;
1953          *  0: Means no failure and that the data of KEY2 is reliable. 1: Means that
1954          *  programming KEY2 failed and the number of error bytes is over 5.
1955          */
1956         uint32_t key2_fail:1;
1957         /** key3_err_num : RO; bitpos: [26:24]; default: 0;
1958          *  The value of this signal means the number of error bytes in KEY3.
1959          */
1960         uint32_t key3_err_num:3;
1961         /** key3_fail : RO; bitpos: [27]; default: 0;
1962          *  0: Means no failure and that the data of KEY3 is reliable. 1: Means that
1963          *  programming KEY3 failed and the number of error bytes is over 5.
1964          */
1965         uint32_t key3_fail:1;
1966         /** key4_err_num : RO; bitpos: [30:28]; default: 0;
1967          *  The value of this signal means the number of error bytes in KEY4.
1968          */
1969         uint32_t key4_err_num:3;
1970         /** key4_fail : RO; bitpos: [31]; default: 0;
1971          *  0: Means no failure and that the data of KEY4 is reliable. 1: Means that
1972          *  programming KEY4 failed and the number of error bytes is over 5.
1973          */
1974         uint32_t key4_fail:1;
1975     };
1976     uint32_t val;
1977 } efuse_rd_rs_err0_reg_t;
1978 
1979 /** Type of rd_rs_err1 register
1980  *  Programming error record register 1 of BLOCK1-10.
1981  */
1982 typedef union {
1983     struct {
1984         /** key5_err_num : RO; bitpos: [2:0]; default: 0;
1985          *  The value of this signal means the number of error bytes in KEY5.
1986          */
1987         uint32_t key5_err_num:3;
1988         /** key5_fail : RO; bitpos: [3]; default: 0;
1989          *  0: Means no failure and that the data of KEY5 is reliable. 1: Means that
1990          *  programming user data failed and the number of error bytes is over 5.
1991          */
1992         uint32_t key5_fail:1;
1993         /** sys_part2_err_num : RO; bitpos: [6:4]; default: 0;
1994          *  The value of this signal means the number of error bytes in BLOCK10.
1995          */
1996         uint32_t sys_part2_err_num:3;
1997         /** sys_part2_fail : RO; bitpos: [7]; default: 0;
1998          *  0: Means no failure and that the data of BLOCK10 is reliable. 1: Means that
1999          *  programming BLOCK10 data failed and the number of error bytes is over 5.
2000          */
2001         uint32_t sys_part2_fail:1;
2002         uint32_t reserved_8:24;
2003     };
2004     uint32_t val;
2005 } efuse_rd_rs_err1_reg_t;
2006 
2007 
2008 /** Group: Control/Status Registers */
2009 /** Type of clk register
2010  *  eFuse clock configuration register.
2011  */
2012 typedef union {
2013     struct {
2014         /** efuse_mem_force_pd : R/W; bitpos: [0]; default: 0;
2015          *  If set, forces eFuse SRAM into power-saving mode.
2016          */
2017         uint32_t efuse_mem_force_pd:1;
2018         /** mem_clk_force_on : R/W; bitpos: [1]; default: 1;
2019          *  If set, forces to activate clock signal of eFuse SRAM.
2020          */
2021         uint32_t mem_clk_force_on:1;
2022         /** efuse_mem_force_pu : R/W; bitpos: [2]; default: 0;
2023          *  If set, forces eFuse SRAM into working mode.
2024          */
2025         uint32_t efuse_mem_force_pu:1;
2026         uint32_t reserved_3:13;
2027         /** clk_en : R/W; bitpos: [16]; default: 0;
2028          *  If set, forces to enable clock signal of eFuse memory.
2029          */
2030         uint32_t clk_en:1;
2031         uint32_t reserved_17:15;
2032     };
2033     uint32_t val;
2034 } efuse_clk_reg_t;
2035 
2036 /** Type of conf register
2037  *  eFuse operation mode configuration register.
2038  */
2039 typedef union {
2040     struct {
2041         /** op_code : R/W; bitpos: [15:0]; default: 0;
2042          *  0x5A5A: Operate programming command. 0x5AA5: Operate read command.
2043          */
2044         uint32_t op_code:16;
2045         uint32_t reserved_16:16;
2046     };
2047     uint32_t val;
2048 } efuse_conf_reg_t;
2049 
2050 /** Type of status register
2051  *  eFuse status register.
2052  */
2053 typedef union {
2054     struct {
2055         /** state : RO; bitpos: [3:0]; default: 0;
2056          *  Indicates the state of the eFuse state machine.
2057          */
2058         uint32_t state:4;
2059         /** otp_load_sw : RO; bitpos: [4]; default: 0;
2060          *  The value of OTP_LOAD_SW.
2061          */
2062         uint32_t otp_load_sw:1;
2063         /** otp_vddq_c_sync2 : RO; bitpos: [5]; default: 0;
2064          *  The value of OTP_VDDQ_C_SYNC2.
2065          */
2066         uint32_t otp_vddq_c_sync2:1;
2067         /** otp_strobe_sw : RO; bitpos: [6]; default: 0;
2068          *  The value of OTP_STROBE_SW.
2069          */
2070         uint32_t otp_strobe_sw:1;
2071         /** otp_csb_sw : RO; bitpos: [7]; default: 0;
2072          *  The value of OTP_CSB_SW.
2073          */
2074         uint32_t otp_csb_sw:1;
2075         /** otp_pgenb_sw : RO; bitpos: [8]; default: 0;
2076          *  The value of OTP_PGENB_SW.
2077          */
2078         uint32_t otp_pgenb_sw:1;
2079         /** otp_vddq_is_sw : RO; bitpos: [9]; default: 0;
2080          *  The value of OTP_VDDQ_IS_SW.
2081          */
2082         uint32_t otp_vddq_is_sw:1;
2083         /** repeat_err_cnt : RO; bitpos: [17:10]; default: 0;
2084          *  Indicates the number of error bits during programming BLOCK0.
2085          */
2086         uint32_t repeat_err_cnt:8;
2087         uint32_t reserved_18:14;
2088     };
2089     uint32_t val;
2090 } efuse_status_reg_t;
2091 
2092 /** Type of cmd register
2093  *  eFuse command register.
2094  */
2095 typedef union {
2096     struct {
2097         /** read_cmd : R/W; bitpos: [0]; default: 0;
2098          *  Set this bit to send read command.
2099          */
2100         uint32_t read_cmd:1;
2101         /** pgm_cmd : R/W; bitpos: [1]; default: 0;
2102          *  Set this bit to send programming command.
2103          */
2104         uint32_t pgm_cmd:1;
2105         /** blk_num : R/W; bitpos: [5:2]; default: 0;
2106          *  The serial number of the block to be programmed. Value 0-10 corresponds to block
2107          *  number 0-10, respectively.
2108          */
2109         uint32_t blk_num:4;
2110         uint32_t reserved_6:26;
2111     };
2112     uint32_t val;
2113 } efuse_cmd_reg_t;
2114 
2115 /** Type of dac_conf register
2116  *  Controls the eFuse programming voltage.
2117  */
2118 typedef union {
2119     struct {
2120         /** dac_clk_div : R/W; bitpos: [7:0]; default: 28;
2121          *  Controls the division factor of the rising clock of the programming voltage.
2122          */
2123         uint32_t dac_clk_div:8;
2124         /** dac_clk_pad_sel : R/W; bitpos: [8]; default: 0;
2125          *  Don't care.
2126          */
2127         uint32_t dac_clk_pad_sel:1;
2128         /** dac_num : R/W; bitpos: [16:9]; default: 255;
2129          *  Controls the rising period of the programming voltage.
2130          */
2131         uint32_t dac_num:8;
2132         /** oe_clr : R/W; bitpos: [17]; default: 0;
2133          *  Reduces the power supply of the programming voltage.
2134          */
2135         uint32_t oe_clr:1;
2136         uint32_t reserved_18:14;
2137     };
2138     uint32_t val;
2139 } efuse_dac_conf_reg_t;
2140 
2141 
2142 /** Group: Interrupt Registers */
2143 /** Type of int_raw register
2144  *  eFuse raw interrupt register.
2145  */
2146 typedef union {
2147     struct {
2148         /** read_done_int_raw : RO; bitpos: [0]; default: 0;
2149          *  The raw bit signal for read_done interrupt.
2150          */
2151         uint32_t read_done_int_raw:1;
2152         /** pgm_done_int_raw : RO; bitpos: [1]; default: 0;
2153          *  The raw bit signal for pgm_done interrupt.
2154          */
2155         uint32_t pgm_done_int_raw:1;
2156         uint32_t reserved_2:30;
2157     };
2158     uint32_t val;
2159 } efuse_int_raw_reg_t;
2160 
2161 /** Type of int_st register
2162  *  eFuse interrupt status register.
2163  */
2164 typedef union {
2165     struct {
2166         /** read_done_int_st : RO; bitpos: [0]; default: 0;
2167          *  The status signal for read_done interrupt.
2168          */
2169         uint32_t read_done_int_st:1;
2170         /** pgm_done_int_st : RO; bitpos: [1]; default: 0;
2171          *  The status signal for pgm_done interrupt.
2172          */
2173         uint32_t pgm_done_int_st:1;
2174         uint32_t reserved_2:30;
2175     };
2176     uint32_t val;
2177 } efuse_int_st_reg_t;
2178 
2179 /** Type of int_ena register
2180  *  eFuse interrupt enable register.
2181  */
2182 typedef union {
2183     struct {
2184         /** read_done_int_ena : R/W; bitpos: [0]; default: 0;
2185          *  The enable signal for read_done interrupt.
2186          */
2187         uint32_t read_done_int_ena:1;
2188         /** pgm_done_int_ena : R/W; bitpos: [1]; default: 0;
2189          *  The enable signal for pgm_done interrupt.
2190          */
2191         uint32_t pgm_done_int_ena:1;
2192         uint32_t reserved_2:30;
2193     };
2194     uint32_t val;
2195 } efuse_int_ena_reg_t;
2196 
2197 /** Type of int_clr register
2198  *  eFuse interrupt clear register.
2199  */
2200 typedef union {
2201     struct {
2202         /** read_done_int_clr : WO; bitpos: [0]; default: 0;
2203          *  The clear signal for read_done interrupt.
2204          */
2205         uint32_t read_done_int_clr:1;
2206         /** pgm_done_int_clr : WO; bitpos: [1]; default: 0;
2207          *  The clear signal for pgm_done interrupt.
2208          */
2209         uint32_t pgm_done_int_clr:1;
2210         uint32_t reserved_2:30;
2211     };
2212     uint32_t val;
2213 } efuse_int_clr_reg_t;
2214 
2215 
2216 /** Group: Configuration Registers */
2217 /** Type of rd_tim_conf register
2218  *  Configures read timing parameters.
2219  */
2220 typedef union {
2221     struct {
2222         /** thr_a : R/W; bitpos: [7:0]; default: 1;
2223          *  Configures the hold time of read operation.
2224          */
2225         uint32_t thr_a:8;
2226         /** trd : R/W; bitpos: [15:8]; default: 1;
2227          *  Configures the length of pulse of read operation.
2228          */
2229         uint32_t trd:8;
2230         /** tsur_a : R/W; bitpos: [23:16]; default: 1;
2231          *  Configures the setup time of read operation.
2232          */
2233         uint32_t tsur_a:8;
2234         /** read_init_num : R/W; bitpos: [31:24]; default: 18;
2235          *  Configures the initial read time of eFuse.
2236          */
2237         uint32_t read_init_num:8;
2238     };
2239     uint32_t val;
2240 } efuse_rd_tim_conf_reg_t;
2241 
2242 /** Type of wr_tim_conf0 register
2243  *  Configuration register 0 of eFuse programming timing parameters.
2244  */
2245 typedef union {
2246     struct {
2247         /** thp_a : R/W; bitpos: [7:0]; default: 1;
2248          *  Configures the hold time of programming operation.
2249          */
2250         uint32_t thp_a:8;
2251         /** tpgm_inactive : R/W; bitpos: [15:8]; default: 1;
2252          *  Configures the length of pulse during programming 0 to eFuse.
2253          */
2254         uint32_t tpgm_inactive:8;
2255         /** tpgm : R/W; bitpos: [31:16]; default: 200;
2256          *  Configures the length of pulse during programming 1 to eFuse.
2257          */
2258         uint32_t tpgm:16;
2259     };
2260     uint32_t val;
2261 } efuse_wr_tim_conf0_reg_t;
2262 
2263 /** Type of wr_tim_conf1 register
2264  *  Configuration register 1 of eFuse programming timing parameters.
2265  */
2266 typedef union {
2267     struct {
2268         /** tsup_a : R/W; bitpos: [7:0]; default: 1;
2269          *  Configures the setup time of programming operation.
2270          */
2271         uint32_t tsup_a:8;
2272         /** pwr_on_num : R/W; bitpos: [23:8]; default: 10368;
2273          *  Configures the power up time for VDDQ.
2274          */
2275         uint32_t pwr_on_num:16;
2276         uint32_t reserved_24:8;
2277     };
2278     uint32_t val;
2279 } efuse_wr_tim_conf1_reg_t;
2280 
2281 /** Type of wr_tim_conf2 register
2282  *  Configuration register 2 of eFuse programming timing parameters.
2283  */
2284 typedef union {
2285     struct {
2286         /** pwr_off_num : R/W; bitpos: [15:0]; default: 400;
2287          *  Configures the power outage time for VDDQ.
2288          */
2289         uint32_t pwr_off_num:16;
2290         uint32_t reserved_16:16;
2291     };
2292     uint32_t val;
2293 } efuse_wr_tim_conf2_reg_t;
2294 
2295 
2296 /** Group: Version Register */
2297 /** Type of date register
2298  *  Version control register.
2299  */
2300 typedef union {
2301     struct {
2302         /** date : R/W; bitpos: [31:0]; default: 419959040;
2303          *  Version control register.
2304          */
2305         uint32_t date:32;
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_spi_sys_0_reg_t rd_mac_spi_sys_0;
2330     volatile efuse_rd_mac_spi_sys_1_reg_t rd_mac_spi_sys_1;
2331     volatile efuse_rd_mac_spi_sys_2_reg_t rd_mac_spi_sys_2;
2332     volatile efuse_rd_mac_spi_sys_3_reg_t rd_mac_spi_sys_3;
2333     volatile efuse_rd_mac_spi_sys_4_reg_t rd_mac_spi_sys_4;
2334     volatile efuse_rd_mac_spi_sys_5_reg_t rd_mac_spi_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     uint32_t reserved_18c;
2412     volatile efuse_rd_repeat_err4_reg_t rd_repeat_err4;
2413     uint32_t reserved_194[11];
2414     volatile efuse_rd_rs_err0_reg_t rd_rs_err0;
2415     volatile efuse_rd_rs_err1_reg_t rd_rs_err1;
2416     volatile efuse_clk_reg_t clk;
2417     volatile efuse_conf_reg_t conf;
2418     volatile efuse_status_reg_t status;
2419     volatile efuse_cmd_reg_t cmd;
2420     volatile efuse_int_raw_reg_t int_raw;
2421     volatile efuse_int_st_reg_t int_st;
2422     volatile efuse_int_ena_reg_t int_ena;
2423     volatile efuse_int_clr_reg_t int_clr;
2424     volatile efuse_dac_conf_reg_t dac_conf;
2425     volatile efuse_rd_tim_conf_reg_t rd_tim_conf;
2426     volatile efuse_wr_tim_conf0_reg_t wr_tim_conf0;
2427     volatile efuse_wr_tim_conf1_reg_t wr_tim_conf1;
2428     volatile efuse_wr_tim_conf2_reg_t wr_tim_conf2;
2429     volatile efuse_date_reg_t date;
2430 } efuse_dev_t;
2431 
2432 extern efuse_dev_t EFUSE;
2433 
2434 #ifndef __cplusplus
2435 _Static_assert(sizeof(efuse_dev_t) == 0x200, "Invalid size of efuse_dev_t structure");
2436 #endif
2437 
2438 #ifdef __cplusplus
2439 }
2440 #endif
2441