Select one of the symbols to view example projects that use it.
 
Outline
#include "sdkconfig.h"
#include "esp_efuse.h"
#include <assert.h>
#include "esp_efuse_table.h"
#define MAX_BLK_LEN
#define LAST_FREE_BIT_BLK1
#define LAST_FREE_BIT_BLK2
#define LAST_FREE_BIT_BLK3
WR_DIS
WR_DIS_RD_DIS
WR_DIS_WR_DIS
WR_DIS_FLASH_CRYPT_CNT
WR_DIS_UART_DOWNLOAD_DIS
WR_DIS_MAC
WR_DIS_MAC_CRC
WR_DIS_DISABLE_APP_CPU
WR_DIS_DISABLE_BT
WR_DIS_DIS_CACHE
WR_DIS_VOL_LEVEL_HP_INV
WR_DIS_CLK8M_FREQ
WR_DIS_ADC_VREF
WR_DIS_XPD_SDIO_REG
WR_DIS_XPD_SDIO_TIEH
WR_DIS_XPD_SDIO_FORCE
WR_DIS_SPI_PAD_CONFIG_CLK
WR_DIS_SPI_PAD_CONFIG_Q
WR_DIS_SPI_PAD_CONFIG_D
WR_DIS_SPI_PAD_CONFIG_CS0
WR_DIS_BLOCK1
WR_DIS_BLOCK2
WR_DIS_BLOCK3
WR_DIS_CUSTOM_MAC_CRC
WR_DIS_CUSTOM_MAC
WR_DIS_ADC1_TP_LOW
WR_DIS_ADC1_TP_HIGH
WR_DIS_ADC2_TP_LOW
WR_DIS_ADC2_TP_HIGH
WR_DIS_SECURE_VERSION
WR_DIS_MAC_VERSION
WR_DIS_BLK3_PART_RESERVE
WR_DIS_FLASH_CRYPT_CONFIG
WR_DIS_CODING_SCHEME
WR_DIS_KEY_STATUS
WR_DIS_ABS_DONE_0
WR_DIS_ABS_DONE_1
WR_DIS_JTAG_DISABLE
WR_DIS_CONSOLE_DEBUG_DISABLE
WR_DIS_DISABLE_DL_ENCRYPT
WR_DIS_DISABLE_DL_DECRYPT
WR_DIS_DISABLE_DL_CACHE
RD_DIS
RD_DIS_BLOCK1
RD_DIS_BLOCK2
RD_DIS_BLOCK3
RD_DIS_CUSTOM_MAC_CRC
RD_DIS_CUSTOM_MAC
RD_DIS_ADC1_TP_LOW
RD_DIS_ADC1_TP_HIGH
RD_DIS_ADC2_TP_LOW
RD_DIS_ADC2_TP_HIGH
RD_DIS_SECURE_VERSION
RD_DIS_MAC_VERSION
RD_DIS_BLK3_PART_RESERVE
RD_DIS_FLASH_CRYPT_CONFIG
RD_DIS_CODING_SCHEME
RD_DIS_KEY_STATUS
FLASH_CRYPT_CNT
UART_DOWNLOAD_DIS
MAC
MAC_CRC
DISABLE_APP_CPU
DISABLE_BT
CHIP_PACKAGE_4BIT
DIS_CACHE
SPI_PAD_CONFIG_HD
CHIP_PACKAGE
CHIP_CPU_FREQ_LOW
CHIP_CPU_FREQ_RATED
BLK3_PART_RESERVE
CHIP_VER_REV1
CLK8M_FREQ
ADC_VREF
XPD_SDIO_REG
XPD_SDIO_TIEH
XPD_SDIO_FORCE
SPI_PAD_CONFIG_CLK
SPI_PAD_CONFIG_Q
SPI_PAD_CONFIG_D
SPI_PAD_CONFIG_CS0
CHIP_VER_REV2
VOL_LEVEL_HP_INV
WAFER_VERSION_MINOR
FLASH_CRYPT_CONFIG
CODING_SCHEME
CONSOLE_DEBUG_DISABLE
DISABLE_SDIO_HOST
ABS_DONE_0
ABS_DONE_1
JTAG_DISABLE
DISABLE_DL_ENCRYPT
DISABLE_DL_DECRYPT
DISABLE_DL_CACHE
KEY_STATUS
BLOCK1
BLOCK2
CUSTOM_MAC_CRC
MAC_CUSTOM
ADC1_TP_LOW
ADC1_TP_HIGH
ADC2_TP_LOW
ADC2_TP_HIGH
SECURE_VERSION
MAC_VERSION
ESP_EFUSE_WR_DIS
ESP_EFUSE_WR_DIS_RD_DIS
ESP_EFUSE_WR_DIS_WR_DIS
ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT
ESP_EFUSE_WR_DIS_UART_DOWNLOAD_DIS
ESP_EFUSE_WR_DIS_MAC
ESP_EFUSE_WR_DIS_MAC_CRC
ESP_EFUSE_WR_DIS_DISABLE_APP_CPU
ESP_EFUSE_WR_DIS_DISABLE_BT
ESP_EFUSE_WR_DIS_DIS_CACHE
ESP_EFUSE_WR_DIS_VOL_LEVEL_HP_INV
ESP_EFUSE_WR_DIS_CLK8M_FREQ
ESP_EFUSE_WR_DIS_ADC_VREF
ESP_EFUSE_WR_DIS_XPD_SDIO_REG
ESP_EFUSE_WR_DIS_XPD_SDIO_TIEH
ESP_EFUSE_WR_DIS_XPD_SDIO_FORCE
ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_CLK
ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_Q
ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_D
ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_CS0
ESP_EFUSE_WR_DIS_BLOCK1
ESP_EFUSE_WR_DIS_BLOCK2
ESP_EFUSE_WR_DIS_BLOCK3
ESP_EFUSE_WR_DIS_CUSTOM_MAC_CRC
ESP_EFUSE_WR_DIS_CUSTOM_MAC
ESP_EFUSE_WR_DIS_ADC1_TP_LOW
ESP_EFUSE_WR_DIS_ADC1_TP_HIGH
ESP_EFUSE_WR_DIS_ADC2_TP_LOW
ESP_EFUSE_WR_DIS_ADC2_TP_HIGH
ESP_EFUSE_WR_DIS_SECURE_VERSION
ESP_EFUSE_WR_DIS_MAC_VERSION
ESP_EFUSE_WR_DIS_BLK3_PART_RESERVE
ESP_EFUSE_WR_DIS_FLASH_CRYPT_CONFIG
ESP_EFUSE_WR_DIS_CODING_SCHEME
ESP_EFUSE_WR_DIS_KEY_STATUS
ESP_EFUSE_WR_DIS_ABS_DONE_0
ESP_EFUSE_WR_DIS_ABS_DONE_1
ESP_EFUSE_WR_DIS_JTAG_DISABLE
ESP_EFUSE_WR_DIS_CONSOLE_DEBUG_DISABLE
ESP_EFUSE_WR_DIS_DISABLE_DL_ENCRYPT
ESP_EFUSE_WR_DIS_DISABLE_DL_DECRYPT
ESP_EFUSE_WR_DIS_DISABLE_DL_CACHE
ESP_EFUSE_RD_DIS
ESP_EFUSE_RD_DIS_BLOCK1
ESP_EFUSE_RD_DIS_BLOCK2
ESP_EFUSE_RD_DIS_BLOCK3
ESP_EFUSE_RD_DIS_CUSTOM_MAC_CRC
ESP_EFUSE_RD_DIS_CUSTOM_MAC
ESP_EFUSE_RD_DIS_ADC1_TP_LOW
ESP_EFUSE_RD_DIS_ADC1_TP_HIGH
ESP_EFUSE_RD_DIS_ADC2_TP_LOW
ESP_EFUSE_RD_DIS_ADC2_TP_HIGH
ESP_EFUSE_RD_DIS_SECURE_VERSION
ESP_EFUSE_RD_DIS_MAC_VERSION
ESP_EFUSE_RD_DIS_BLK3_PART_RESERVE
ESP_EFUSE_RD_DIS_FLASH_CRYPT_CONFIG
ESP_EFUSE_RD_DIS_CODING_SCHEME
ESP_EFUSE_RD_DIS_KEY_STATUS
ESP_EFUSE_FLASH_CRYPT_CNT
ESP_EFUSE_UART_DOWNLOAD_DIS
ESP_EFUSE_MAC
ESP_EFUSE_MAC_CRC
ESP_EFUSE_DISABLE_APP_CPU
ESP_EFUSE_DISABLE_BT
ESP_EFUSE_CHIP_PACKAGE_4BIT
ESP_EFUSE_DIS_CACHE
ESP_EFUSE_SPI_PAD_CONFIG_HD
ESP_EFUSE_CHIP_PACKAGE
ESP_EFUSE_CHIP_CPU_FREQ_LOW
ESP_EFUSE_CHIP_CPU_FREQ_RATED
ESP_EFUSE_BLK3_PART_RESERVE
ESP_EFUSE_CHIP_VER_REV1
ESP_EFUSE_CLK8M_FREQ
ESP_EFUSE_ADC_VREF
ESP_EFUSE_XPD_SDIO_REG
ESP_EFUSE_XPD_SDIO_TIEH
ESP_EFUSE_XPD_SDIO_FORCE
ESP_EFUSE_SPI_PAD_CONFIG_CLK
ESP_EFUSE_SPI_PAD_CONFIG_Q
ESP_EFUSE_SPI_PAD_CONFIG_D
ESP_EFUSE_SPI_PAD_CONFIG_CS0
ESP_EFUSE_CHIP_VER_REV2
ESP_EFUSE_VOL_LEVEL_HP_INV
ESP_EFUSE_WAFER_VERSION_MINOR
ESP_EFUSE_FLASH_CRYPT_CONFIG
ESP_EFUSE_CODING_SCHEME
ESP_EFUSE_CONSOLE_DEBUG_DISABLE
ESP_EFUSE_DISABLE_SDIO_HOST
ESP_EFUSE_ABS_DONE_0
ESP_EFUSE_ABS_DONE_1
ESP_EFUSE_JTAG_DISABLE
ESP_EFUSE_DISABLE_DL_ENCRYPT
ESP_EFUSE_DISABLE_DL_DECRYPT
ESP_EFUSE_DISABLE_DL_CACHE
ESP_EFUSE_KEY_STATUS
ESP_EFUSE_BLOCK1
ESP_EFUSE_BLOCK2
ESP_EFUSE_CUSTOM_MAC_CRC
ESP_EFUSE_MAC_CUSTOM
ESP_EFUSE_ADC1_TP_LOW
ESP_EFUSE_ADC1_TP_HIGH
ESP_EFUSE_ADC2_TP_LOW
ESP_EFUSE_ADC2_TP_HIGH
ESP_EFUSE_SECURE_VERSION
ESP_EFUSE_MAC_VERSION
Files
loading...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/efuse/esp32/esp_efuse_table.c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #include "sdkconfig.h" #include "esp_efuse.h" #include <assert.h> #include "esp_efuse_table.h" // md5_digest_table 2e197b7b14eec62fa5bdf94c6d71e87a // This file was generated from the file esp_efuse_table.csv. DO NOT CHANGE THIS FILE MANUALLY. // If you want to change some fields, you need to change esp_efuse_table.csv file // then run `efuse_common_table` or `efuse_custom_table` command it will generate this file. // To show efuse_table run the command 'show_efuse_table'. #define MAX_BLK_LEN CONFIG_EFUSE_MAX_BLK_LEN // The last free bit in the block is counted over the entire file. #define LAST_FREE_BIT_BLK1 MAX_BLK_LEN #define LAST_FREE_BIT_BLK2 MAX_BLK_LEN #define LAST_FREE_BIT_BLK3 192 _Static_assert(LAST_FREE_BIT_BLK1 <= MAX_BLK_LEN, "The eFuse table does not match the coding scheme. Edit the table and restart the efuse_common_table or efuse_custom_table command to regenerate the new files."); _Static_assert(LAST_FREE_BIT_BLK2 <= MAX_BLK_LEN, "The eFuse table does not match the coding scheme. Edit the table and restart the efuse_common_table or efuse_custom_table command to regenerate the new files."); _Static_assert(LAST_FREE_BIT_BLK3 <= MAX_BLK_LEN, "The eFuse table does not match the coding scheme. Edit the table and restart the efuse_common_table or efuse_custom_table command to regenerate the new files."); static const esp_efuse_desc_t WR_DIS[] = { {EFUSE_BLK0, 0, 16}, // [] Efuse write disable mask, }{...}; static const esp_efuse_desc_t WR_DIS_RD_DIS[] = { {EFUSE_BLK0, 0, 1}, // [WR_DIS.EFUSE_RD_DISABLE] wr_dis of RD_DIS, }{...}; static const esp_efuse_desc_t WR_DIS_WR_DIS[] = { {EFUSE_BLK0, 1, 1}, // [] wr_dis of WR_DIS, }{...}; static const esp_efuse_desc_t WR_DIS_FLASH_CRYPT_CNT[] = { {EFUSE_BLK0, 2, 1}, // [] wr_dis of FLASH_CRYPT_CNT, }{...}; static const esp_efuse_desc_t WR_DIS_UART_DOWNLOAD_DIS[] = { {EFUSE_BLK0, 2, 1}, // [] wr_dis of UART_DOWNLOAD_DIS, }{...}; static const esp_efuse_desc_t WR_DIS_MAC[] = { {EFUSE_BLK0, 3, 1}, // [WR_DIS.MAC_FACTORY] wr_dis of MAC, }{...}; static const esp_efuse_desc_t WR_DIS_MAC_CRC[] = { {EFUSE_BLK0, 3, 1}, // [WR_DIS.MAC_FACTORY_CRC] wr_dis of MAC_CRC, }{...}; static const esp_efuse_desc_t WR_DIS_DISABLE_APP_CPU[] = { {EFUSE_BLK0, 3, 1}, // [WR_DIS.CHIP_VER_DIS_APP_CPU] wr_dis of DISABLE_APP_CPU, }{...}; static const esp_efuse_desc_t WR_DIS_DISABLE_BT[] = { {EFUSE_BLK0, 3, 1}, // [WR_DIS.CHIP_VER_DIS_BT] wr_dis of DISABLE_BT, }{...}; static const esp_efuse_desc_t WR_DIS_DIS_CACHE[] = { {EFUSE_BLK0, 3, 1}, // [WR_DIS.CHIP_VER_DIS_CACHE] wr_dis of DIS_CACHE, }{...}; static const esp_efuse_desc_t WR_DIS_VOL_LEVEL_HP_INV[] = { {EFUSE_BLK0, 3, 1}, // [] wr_dis of VOL_LEVEL_HP_INV, }{...}; static const esp_efuse_desc_t WR_DIS_CLK8M_FREQ[] = { {EFUSE_BLK0, 4, 1}, // [WR_DIS.CK8M_FREQ] wr_dis of CLK8M_FREQ, }{...}; static const esp_efuse_desc_t WR_DIS_ADC_VREF[] = { {EFUSE_BLK0, 4, 1}, // [] wr_dis of ADC_VREF, }{...}; static const esp_efuse_desc_t WR_DIS_XPD_SDIO_REG[] = { {EFUSE_BLK0, 5, 1}, // [] wr_dis of XPD_SDIO_REG, }{...}; static const esp_efuse_desc_t WR_DIS_XPD_SDIO_TIEH[] = { {EFUSE_BLK0, 5, 1}, // [WR_DIS.SDIO_TIEH] wr_dis of XPD_SDIO_TIEH, }{...}; static const esp_efuse_desc_t WR_DIS_XPD_SDIO_FORCE[] = { {EFUSE_BLK0, 5, 1}, // [WR_DIS.SDIO_FORCE] wr_dis of XPD_SDIO_FORCE, }{...}; static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_CLK[] = { {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_CLK, }{...}; static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_Q[] = { {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_Q, }{...}; static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_D[] = { {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_D, }{...}; static const esp_efuse_desc_t WR_DIS_SPI_PAD_CONFIG_CS0[] = { {EFUSE_BLK0, 6, 1}, // [] wr_dis of SPI_PAD_CONFIG_CS0, }{...}; static const esp_efuse_desc_t WR_DIS_BLOCK1[] = { {EFUSE_BLK0, 7, 1}, // [WR_DIS.ENCRYPT_FLASH_KEY WR_DIS.BLK1] wr_dis of BLOCK1, }{...}; static const esp_efuse_desc_t WR_DIS_BLOCK2[] = { {EFUSE_BLK0, 8, 1}, // [WR_DIS.SECURE_BOOT_KEY WR_DIS.BLK2] wr_dis of BLOCK2, }{...}; static const esp_efuse_desc_t WR_DIS_BLOCK3[] = { {EFUSE_BLK0, 9, 1}, // [WR_DIS.BLK3] wr_dis of BLOCK3, }{...}; static const esp_efuse_desc_t WR_DIS_CUSTOM_MAC_CRC[] = { {EFUSE_BLK0, 9, 1}, // [WR_DIS.MAC_CUSTOM_CRC] wr_dis of CUSTOM_MAC_CRC, }{...}; static const esp_efuse_desc_t WR_DIS_CUSTOM_MAC[] = { {EFUSE_BLK0, 9, 1}, // [WR_DIS.MAC_CUSTOM] wr_dis of CUSTOM_MAC, }{...}; static const esp_efuse_desc_t WR_DIS_ADC1_TP_LOW[] = { {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC1_TP_LOW, }{...}; static const esp_efuse_desc_t WR_DIS_ADC1_TP_HIGH[] = { {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC1_TP_HIGH, }{...}; static const esp_efuse_desc_t WR_DIS_ADC2_TP_LOW[] = { {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC2_TP_LOW, }{...}; static const esp_efuse_desc_t WR_DIS_ADC2_TP_HIGH[] = { {EFUSE_BLK0, 9, 1}, // [] wr_dis of ADC2_TP_HIGH, }{...}; static const esp_efuse_desc_t WR_DIS_SECURE_VERSION[] = { {EFUSE_BLK0, 9, 1}, // [] wr_dis of SECURE_VERSION, }{...}; static const esp_efuse_desc_t WR_DIS_MAC_VERSION[] = { {EFUSE_BLK0, 9, 1}, // [WR_DIS.MAC_CUSTOM_VER] wr_dis of MAC_VERSION, }{...}; static const esp_efuse_desc_t WR_DIS_BLK3_PART_RESERVE[] = { {EFUSE_BLK0, 10, 1}, // [] wr_dis of BLK3_PART_RESERVE, }{...}; static const esp_efuse_desc_t WR_DIS_FLASH_CRYPT_CONFIG[] = { {EFUSE_BLK0, 10, 1}, // [WR_DIS.ENCRYPT_CONFIG] wr_dis of FLASH_CRYPT_CONFIG, }{...}; static const esp_efuse_desc_t WR_DIS_CODING_SCHEME[] = { {EFUSE_BLK0, 10, 1}, // [] wr_dis of CODING_SCHEME, }{...}; static const esp_efuse_desc_t WR_DIS_KEY_STATUS[] = { {EFUSE_BLK0, 10, 1}, // [] wr_dis of KEY_STATUS, }{...}; static const esp_efuse_desc_t WR_DIS_ABS_DONE_0[] = { {EFUSE_BLK0, 12, 1}, // [] wr_dis of ABS_DONE_0, }{...}; static const esp_efuse_desc_t WR_DIS_ABS_DONE_1[] = { {EFUSE_BLK0, 13, 1}, // [] wr_dis of ABS_DONE_1, }{...}; static const esp_efuse_desc_t WR_DIS_JTAG_DISABLE[] = { {EFUSE_BLK0, 14, 1}, // [WR_DIS.DISABLE_JTAG] wr_dis of JTAG_DISABLE, }{...}; static const esp_efuse_desc_t WR_DIS_CONSOLE_DEBUG_DISABLE[] = { {EFUSE_BLK0, 15, 1}, // [] wr_dis of CONSOLE_DEBUG_DISABLE, }{...}; static const esp_efuse_desc_t WR_DIS_DISABLE_DL_ENCRYPT[] = { {EFUSE_BLK0, 15, 1}, // [] wr_dis of DISABLE_DL_ENCRYPT, }{...}; static const esp_efuse_desc_t WR_DIS_DISABLE_DL_DECRYPT[] = { {EFUSE_BLK0, 15, 1}, // [] wr_dis of DISABLE_DL_DECRYPT, }{...}; static const esp_efuse_desc_t WR_DIS_DISABLE_DL_CACHE[] = { {EFUSE_BLK0, 15, 1}, // [] wr_dis of DISABLE_DL_CACHE, }{...}; static const esp_efuse_desc_t RD_DIS[] = { {EFUSE_BLK0, 16, 4}, // [] Disable reading from BlOCK1-3, }{...}; static const esp_efuse_desc_t RD_DIS_BLOCK1[] = { {EFUSE_BLK0, 16, 1}, // [RD_DIS.ENCRYPT_FLASH_KEY RD_DIS.BLK1] rd_dis of BLOCK1, }{...}; static const esp_efuse_desc_t RD_DIS_BLOCK2[] = { {EFUSE_BLK0, 17, 1}, // [RD_DIS.SECURE_BOOT_KEY RD_DIS.BLK2] rd_dis of BLOCK2, }{...}; static const esp_efuse_desc_t RD_DIS_BLOCK3[] = { {EFUSE_BLK0, 18, 1}, // [RD_DIS.BLK3] rd_dis of BLOCK3, }{...}; static const esp_efuse_desc_t RD_DIS_CUSTOM_MAC_CRC[] = { {EFUSE_BLK0, 18, 1}, // [RD_DIS.MAC_CUSTOM_CRC] rd_dis of CUSTOM_MAC_CRC, }{...}; static const esp_efuse_desc_t RD_DIS_CUSTOM_MAC[] = { {EFUSE_BLK0, 18, 1}, // [RD_DIS.MAC_CUSTOM] rd_dis of CUSTOM_MAC, }{...}; static const esp_efuse_desc_t RD_DIS_ADC1_TP_LOW[] = { {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC1_TP_LOW, }{...}; static const esp_efuse_desc_t RD_DIS_ADC1_TP_HIGH[] = { {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC1_TP_HIGH, }{...}; static const esp_efuse_desc_t RD_DIS_ADC2_TP_LOW[] = { {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC2_TP_LOW, }{...}; static const esp_efuse_desc_t RD_DIS_ADC2_TP_HIGH[] = { {EFUSE_BLK0, 18, 1}, // [] rd_dis of ADC2_TP_HIGH, }{...}; static const esp_efuse_desc_t RD_DIS_SECURE_VERSION[] = { {EFUSE_BLK0, 18, 1}, // [] rd_dis of SECURE_VERSION, }{...}; static const esp_efuse_desc_t RD_DIS_MAC_VERSION[] = { {EFUSE_BLK0, 18, 1}, // [RD_DIS.MAC_CUSTOM_VER] rd_dis of MAC_VERSION, }{...}; static const esp_efuse_desc_t RD_DIS_BLK3_PART_RESERVE[] = { {EFUSE_BLK0, 19, 1}, // [] rd_dis of BLK3_PART_RESERVE, }{...}; static const esp_efuse_desc_t RD_DIS_FLASH_CRYPT_CONFIG[] = { {EFUSE_BLK0, 19, 1}, // [RD_DIS.ENCRYPT_CONFIG] rd_dis of FLASH_CRYPT_CONFIG, }{...}; static const esp_efuse_desc_t RD_DIS_CODING_SCHEME[] = { {EFUSE_BLK0, 19, 1}, // [] rd_dis of CODING_SCHEME, }{...}; static const esp_efuse_desc_t RD_DIS_KEY_STATUS[] = { {EFUSE_BLK0, 19, 1}, // [] rd_dis of KEY_STATUS, }{...}; static const esp_efuse_desc_t FLASH_CRYPT_CNT[] = { {EFUSE_BLK0, 20, 7}, // [] Flash encryption is enabled if this field has an odd number of bits set, }{...}; static const esp_efuse_desc_t UART_DOWNLOAD_DIS[] = { {EFUSE_BLK0, 27, 1}, // [] Disable UART download mode. Valid for ESP32 V3 and newer; only, }{...}; static const esp_efuse_desc_t MAC[] = { {EFUSE_BLK0, 72, 8}, // [MAC_FACTORY] MAC address, {EFUSE_BLK0, 64, 8}, // [MAC_FACTORY] MAC address, {EFUSE_BLK0, 56, 8}, // [MAC_FACTORY] MAC address, {EFUSE_BLK0, 48, 8}, // [MAC_FACTORY] MAC address, {EFUSE_BLK0, 40, 8}, // [MAC_FACTORY] MAC address, {EFUSE_BLK0, 32, 8}, // [MAC_FACTORY] MAC address, }{...}; static const esp_efuse_desc_t MAC_CRC[] = { {EFUSE_BLK0, 80, 8}, // [MAC_FACTORY_CRC] CRC8 for MAC address, }{...}; static const esp_efuse_desc_t DISABLE_APP_CPU[] = { {EFUSE_BLK0, 96, 1}, // [CHIP_VER_DIS_APP_CPU] Disables APP CPU, }{...}; static const esp_efuse_desc_t DISABLE_BT[] = { {EFUSE_BLK0, 97, 1}, // [CHIP_VER_DIS_BT] Disables Bluetooth, }{...}; static const esp_efuse_desc_t CHIP_PACKAGE_4BIT[] = { {EFUSE_BLK0, 98, 1}, // [CHIP_VER_PKG_4BIT] Chip package identifier #4bit, }{...}; static const esp_efuse_desc_t DIS_CACHE[] = { {EFUSE_BLK0, 99, 1}, // [CHIP_VER_DIS_CACHE] Disables cache, }{...}; static const esp_efuse_desc_t SPI_PAD_CONFIG_HD[] = { {EFUSE_BLK0, 100, 5}, // [] read for SPI_pad_config_hd, }{...}; static const esp_efuse_desc_t CHIP_PACKAGE[] = { {EFUSE_BLK0, 105, 3}, // [CHIP_VER_PKG] Chip package identifier, }{...}; static const esp_efuse_desc_t CHIP_CPU_FREQ_LOW[] = { {EFUSE_BLK0, 108, 1}, // [] If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the ESP32's max CPU frequency is rated for 160MHz. 240MHz otherwise, }{...}; static const esp_efuse_desc_t CHIP_CPU_FREQ_RATED[] = { {EFUSE_BLK0, 109, 1}, // [] If set; the ESP32's maximum CPU frequency has been rated, }{...}; static const esp_efuse_desc_t BLK3_PART_RESERVE[] = { {EFUSE_BLK0, 110, 1}, // [] BLOCK3 partially served for ADC calibration data, }{...}; static const esp_efuse_desc_t CHIP_VER_REV1[] = { {EFUSE_BLK0, 111, 1}, // [] bit is set to 1 for rev1 silicon, }{...}; static const esp_efuse_desc_t CLK8M_FREQ[] = { {EFUSE_BLK0, 128, 8}, // [CK8M_FREQ] 8MHz clock freq override, }{...}; static const esp_efuse_desc_t ADC_VREF[] = { {EFUSE_BLK0, 136, 5}, // [] True ADC reference voltage, }{...}; static const esp_efuse_desc_t XPD_SDIO_REG[] = { {EFUSE_BLK0, 142, 1}, // [] read for XPD_SDIO_REG, }{...}; static const esp_efuse_desc_t XPD_SDIO_TIEH[] = { {EFUSE_BLK0, 143, 1}, // [SDIO_TIEH] If XPD_SDIO_FORCE & XPD_SDIO_REG {1: "3.3V"; 0: "1.8V"}, }{...}; static const esp_efuse_desc_t XPD_SDIO_FORCE[] = { {EFUSE_BLK0, 144, 1}, // [SDIO_FORCE] Ignore MTDI pin (GPIO12) for VDD_SDIO on reset, }{...}; static const esp_efuse_desc_t SPI_PAD_CONFIG_CLK[] = { {EFUSE_BLK0, 160, 5}, // [] Override SD_CLK pad (GPIO6/SPICLK), }{...}; static const esp_efuse_desc_t SPI_PAD_CONFIG_Q[] = { {EFUSE_BLK0, 165, 5}, // [] Override SD_DATA_0 pad (GPIO7/SPIQ), }{...}; static const esp_efuse_desc_t SPI_PAD_CONFIG_D[] = { {EFUSE_BLK0, 170, 5}, // [] Override SD_DATA_1 pad (GPIO8/SPID), }{...}; static const esp_efuse_desc_t SPI_PAD_CONFIG_CS0[] = { {EFUSE_BLK0, 175, 5}, // [] Override SD_CMD pad (GPIO11/SPICS0), }{...}; static const esp_efuse_desc_t CHIP_VER_REV2[] = { {EFUSE_BLK0, 180, 1}, // [], }{...}; static const esp_efuse_desc_t VOL_LEVEL_HP_INV[] = { {EFUSE_BLK0, 182, 2}, // [] This field stores the voltage level for CPU to run at 240 MHz; or for flash/PSRAM to run at 80 MHz.0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO), }{...}; static const esp_efuse_desc_t WAFER_VERSION_MINOR[] = { {EFUSE_BLK0, 184, 2}, // [], }{...}; static const esp_efuse_desc_t FLASH_CRYPT_CONFIG[] = { {EFUSE_BLK0, 188, 4}, // [ENCRYPT_CONFIG] Flash encryption config (key tweak bits), }{...}; static const esp_efuse_desc_t CODING_SCHEME[] = { {EFUSE_BLK0, 192, 2}, // [] Efuse variable block length scheme {0: "NONE (BLK1-3 len=256 bits)"; 1: "3/4 (BLK1-3 len=192 bits)"; 2: "REPEAT (BLK1-3 len=128 bits) not supported"; 3: "NONE (BLK1-3 len=256 bits)"}, }{...}; static const esp_efuse_desc_t CONSOLE_DEBUG_DISABLE[] = { {EFUSE_BLK0, 194, 1}, // [] Disable ROM BASIC interpreter fallback, }{...}; static const esp_efuse_desc_t DISABLE_SDIO_HOST[] = { {EFUSE_BLK0, 195, 1}, // [], }{...}; static const esp_efuse_desc_t ABS_DONE_0[] = { {EFUSE_BLK0, 196, 1}, // [] Secure boot V1 is enabled for bootloader image, }{...}; static const esp_efuse_desc_t ABS_DONE_1[] = { {EFUSE_BLK0, 197, 1}, // [] Secure boot V2 is enabled for bootloader image, }{...}; static const esp_efuse_desc_t JTAG_DISABLE[] = { {EFUSE_BLK0, 198, 1}, // [DISABLE_JTAG] Disable JTAG, }{...}; static const esp_efuse_desc_t DISABLE_DL_ENCRYPT[] = { {EFUSE_BLK0, 199, 1}, // [] Disable flash encryption in UART bootloader, }{...}; static const esp_efuse_desc_t DISABLE_DL_DECRYPT[] = { {EFUSE_BLK0, 200, 1}, // [] Disable flash decryption in UART bootloader, }{...}; static const esp_efuse_desc_t DISABLE_DL_CACHE[] = { {EFUSE_BLK0, 201, 1}, // [] Disable flash cache in UART bootloader, }{...}; static const esp_efuse_desc_t KEY_STATUS[] = { {EFUSE_BLK0, 202, 1}, // [] Usage of efuse block 3 (reserved), }{...}; static const esp_efuse_desc_t BLOCK1[] = { {EFUSE_BLK1, 0, MAX_BLK_LEN}, // [ENCRYPT_FLASH_KEY] Flash encryption key, }{...}; static const esp_efuse_desc_t BLOCK2[] = { {EFUSE_BLK2, 0, MAX_BLK_LEN}, // [SECURE_BOOT_KEY] Security boot key, }{...}; static const esp_efuse_desc_t CUSTOM_MAC_CRC[] = { {EFUSE_BLK3, 0, 8}, // [MAC_CUSTOM_CRC] CRC8 for custom MAC address, }{...}; static const esp_efuse_desc_t MAC_CUSTOM[] = { {EFUSE_BLK3, 8, 48}, // [MAC_CUSTOM] Custom MAC address, }{...}; static const esp_efuse_desc_t ADC1_TP_LOW[] = { {EFUSE_BLK3, 96, 7}, // [] ADC1 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, }{...}; static const esp_efuse_desc_t ADC1_TP_HIGH[] = { {EFUSE_BLK3, 103, 9}, // [] ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, }{...}; static const esp_efuse_desc_t ADC2_TP_LOW[] = { {EFUSE_BLK3, 112, 7}, // [] ADC2 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, }{...}; static const esp_efuse_desc_t ADC2_TP_HIGH[] = { {EFUSE_BLK3, 119, 9}, // [] ADC2 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE, }{...}; static const esp_efuse_desc_t SECURE_VERSION[] = { {EFUSE_BLK3, 128, 32}, // [] Secure version for anti-rollback, }{...}; static const esp_efuse_desc_t MAC_VERSION[] = { {EFUSE_BLK3, 184, 8}, // [MAC_CUSTOM_VER] Version of the MAC field {1: "Custom MAC in BLOCK3"}, }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS[] = { &WR_DIS[0], // [] Efuse write disable mask NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RD_DIS[] = { &WR_DIS_RD_DIS[0], // [WR_DIS.EFUSE_RD_DISABLE] wr_dis of RD_DIS NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_WR_DIS[] = { &WR_DIS_WR_DIS[0], // [] wr_dis of WR_DIS NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT[] = { &WR_DIS_FLASH_CRYPT_CNT[0], // [] wr_dis of FLASH_CRYPT_CNT NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_UART_DOWNLOAD_DIS[] = { &WR_DIS_UART_DOWNLOAD_DIS[0], // [] wr_dis of UART_DOWNLOAD_DIS NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC[] = { &WR_DIS_MAC[0], // [WR_DIS.MAC_FACTORY] wr_dis of MAC NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC_CRC[] = { &WR_DIS_MAC_CRC[0], // [WR_DIS.MAC_FACTORY_CRC] wr_dis of MAC_CRC NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_APP_CPU[] = { &WR_DIS_DISABLE_APP_CPU[0], // [WR_DIS.CHIP_VER_DIS_APP_CPU] wr_dis of DISABLE_APP_CPU NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_BT[] = { &WR_DIS_DISABLE_BT[0], // [WR_DIS.CHIP_VER_DIS_BT] wr_dis of DISABLE_BT NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DIS_CACHE[] = { &WR_DIS_DIS_CACHE[0], // [WR_DIS.CHIP_VER_DIS_CACHE] wr_dis of DIS_CACHE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_VOL_LEVEL_HP_INV[] = { &WR_DIS_VOL_LEVEL_HP_INV[0], // [] wr_dis of VOL_LEVEL_HP_INV NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CLK8M_FREQ[] = { &WR_DIS_CLK8M_FREQ[0], // [WR_DIS.CK8M_FREQ] wr_dis of CLK8M_FREQ NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC_VREF[] = { &WR_DIS_ADC_VREF[0], // [] wr_dis of ADC_VREF NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XPD_SDIO_REG[] = { &WR_DIS_XPD_SDIO_REG[0], // [] wr_dis of XPD_SDIO_REG NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XPD_SDIO_TIEH[] = { &WR_DIS_XPD_SDIO_TIEH[0], // [WR_DIS.SDIO_TIEH] wr_dis of XPD_SDIO_TIEH NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_XPD_SDIO_FORCE[] = { &WR_DIS_XPD_SDIO_FORCE[0], // [WR_DIS.SDIO_FORCE] wr_dis of XPD_SDIO_FORCE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_CLK[] = { &WR_DIS_SPI_PAD_CONFIG_CLK[0], // [] wr_dis of SPI_PAD_CONFIG_CLK NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_Q[] = { &WR_DIS_SPI_PAD_CONFIG_Q[0], // [] wr_dis of SPI_PAD_CONFIG_Q NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_D[] = { &WR_DIS_SPI_PAD_CONFIG_D[0], // [] wr_dis of SPI_PAD_CONFIG_D NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SPI_PAD_CONFIG_CS0[] = { &WR_DIS_SPI_PAD_CONFIG_CS0[0], // [] wr_dis of SPI_PAD_CONFIG_CS0 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK1[] = { &WR_DIS_BLOCK1[0], // [WR_DIS.ENCRYPT_FLASH_KEY WR_DIS.BLK1] wr_dis of BLOCK1 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK2[] = { &WR_DIS_BLOCK2[0], // [WR_DIS.SECURE_BOOT_KEY WR_DIS.BLK2] wr_dis of BLOCK2 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK3[] = { &WR_DIS_BLOCK3[0], // [WR_DIS.BLK3] wr_dis of BLOCK3 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC_CRC[] = { &WR_DIS_CUSTOM_MAC_CRC[0], // [WR_DIS.MAC_CUSTOM_CRC] wr_dis of CUSTOM_MAC_CRC NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CUSTOM_MAC[] = { &WR_DIS_CUSTOM_MAC[0], // [WR_DIS.MAC_CUSTOM] wr_dis of CUSTOM_MAC NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_TP_LOW[] = { &WR_DIS_ADC1_TP_LOW[0], // [] wr_dis of ADC1_TP_LOW NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC1_TP_HIGH[] = { &WR_DIS_ADC1_TP_HIGH[0], // [] wr_dis of ADC1_TP_HIGH NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_TP_LOW[] = { &WR_DIS_ADC2_TP_LOW[0], // [] wr_dis of ADC2_TP_LOW NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC2_TP_HIGH[] = { &WR_DIS_ADC2_TP_HIGH[0], // [] wr_dis of ADC2_TP_HIGH NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_SECURE_VERSION[] = { &WR_DIS_SECURE_VERSION[0], // [] wr_dis of SECURE_VERSION NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_MAC_VERSION[] = { &WR_DIS_MAC_VERSION[0], // [WR_DIS.MAC_CUSTOM_VER] wr_dis of MAC_VERSION NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK3_PART_RESERVE[] = { &WR_DIS_BLK3_PART_RESERVE[0], // [] wr_dis of BLK3_PART_RESERVE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CRYPT_CONFIG[] = { &WR_DIS_FLASH_CRYPT_CONFIG[0], // [WR_DIS.ENCRYPT_CONFIG] wr_dis of FLASH_CRYPT_CONFIG NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CODING_SCHEME[] = { &WR_DIS_CODING_SCHEME[0], // [] wr_dis of CODING_SCHEME NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_KEY_STATUS[] = { &WR_DIS_KEY_STATUS[0], // [] wr_dis of KEY_STATUS NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ABS_DONE_0[] = { &WR_DIS_ABS_DONE_0[0], // [] wr_dis of ABS_DONE_0 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ABS_DONE_1[] = { &WR_DIS_ABS_DONE_1[0], // [] wr_dis of ABS_DONE_1 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_JTAG_DISABLE[] = { &WR_DIS_JTAG_DISABLE[0], // [WR_DIS.DISABLE_JTAG] wr_dis of JTAG_DISABLE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_CONSOLE_DEBUG_DISABLE[] = { &WR_DIS_CONSOLE_DEBUG_DISABLE[0], // [] wr_dis of CONSOLE_DEBUG_DISABLE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_DL_ENCRYPT[] = { &WR_DIS_DISABLE_DL_ENCRYPT[0], // [] wr_dis of DISABLE_DL_ENCRYPT NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_DL_DECRYPT[] = { &WR_DIS_DISABLE_DL_DECRYPT[0], // [] wr_dis of DISABLE_DL_DECRYPT NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_DISABLE_DL_CACHE[] = { &WR_DIS_DISABLE_DL_CACHE[0], // [] wr_dis of DISABLE_DL_CACHE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS[] = { &RD_DIS[0], // [] Disable reading from BlOCK1-3 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK1[] = { &RD_DIS_BLOCK1[0], // [RD_DIS.ENCRYPT_FLASH_KEY RD_DIS.BLK1] rd_dis of BLOCK1 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK2[] = { &RD_DIS_BLOCK2[0], // [RD_DIS.SECURE_BOOT_KEY RD_DIS.BLK2] rd_dis of BLOCK2 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLOCK3[] = { &RD_DIS_BLOCK3[0], // [RD_DIS.BLK3] rd_dis of BLOCK3 NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_CUSTOM_MAC_CRC[] = { &RD_DIS_CUSTOM_MAC_CRC[0], // [RD_DIS.MAC_CUSTOM_CRC] rd_dis of CUSTOM_MAC_CRC NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_CUSTOM_MAC[] = { &RD_DIS_CUSTOM_MAC[0], // [RD_DIS.MAC_CUSTOM] rd_dis of CUSTOM_MAC NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_TP_LOW[] = { &RD_DIS_ADC1_TP_LOW[0], // [] rd_dis of ADC1_TP_LOW NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC1_TP_HIGH[] = { &RD_DIS_ADC1_TP_HIGH[0], // [] rd_dis of ADC1_TP_HIGH NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_TP_LOW[] = { &RD_DIS_ADC2_TP_LOW[0], // [] rd_dis of ADC2_TP_LOW NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_ADC2_TP_HIGH[] = { &RD_DIS_ADC2_TP_HIGH[0], // [] rd_dis of ADC2_TP_HIGH NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_SECURE_VERSION[] = { &RD_DIS_SECURE_VERSION[0], // [] rd_dis of SECURE_VERSION NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_MAC_VERSION[] = { &RD_DIS_MAC_VERSION[0], // [RD_DIS.MAC_CUSTOM_VER] rd_dis of MAC_VERSION NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLK3_PART_RESERVE[] = { &RD_DIS_BLK3_PART_RESERVE[0], // [] rd_dis of BLK3_PART_RESERVE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_FLASH_CRYPT_CONFIG[] = { &RD_DIS_FLASH_CRYPT_CONFIG[0], // [RD_DIS.ENCRYPT_CONFIG] rd_dis of FLASH_CRYPT_CONFIG NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_CODING_SCHEME[] = { &RD_DIS_CODING_SCHEME[0], // [] rd_dis of CODING_SCHEME NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_KEY_STATUS[] = { &RD_DIS_KEY_STATUS[0], // [] rd_dis of KEY_STATUS NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_FLASH_CRYPT_CNT[] = { &FLASH_CRYPT_CNT[0], // [] Flash encryption is enabled if this field has an odd number of bits set NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_UART_DOWNLOAD_DIS[] = { &UART_DOWNLOAD_DIS[0], // [] Disable UART download mode. Valid for ESP32 V3 and newer; only NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_MAC[] = { &MAC[0], // [MAC_FACTORY] MAC address &MAC[1], // [MAC_FACTORY] MAC address &MAC[2], // [MAC_FACTORY] MAC address &MAC[3], // [MAC_FACTORY] MAC address &MAC[4], // [MAC_FACTORY] MAC address &MAC[5], // [MAC_FACTORY] MAC address NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_MAC_CRC[] = { &MAC_CRC[0], // [MAC_FACTORY_CRC] CRC8 for MAC address NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DISABLE_APP_CPU[] = { &DISABLE_APP_CPU[0], // [CHIP_VER_DIS_APP_CPU] Disables APP CPU NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DISABLE_BT[] = { &DISABLE_BT[0], // [CHIP_VER_DIS_BT] Disables Bluetooth NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CHIP_PACKAGE_4BIT[] = { &CHIP_PACKAGE_4BIT[0], // [CHIP_VER_PKG_4BIT] Chip package identifier #4bit NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DIS_CACHE[] = { &DIS_CACHE[0], // [CHIP_VER_DIS_CACHE] Disables cache NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_HD[] = { &SPI_PAD_CONFIG_HD[0], // [] read for SPI_pad_config_hd NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CHIP_PACKAGE[] = { &CHIP_PACKAGE[0], // [CHIP_VER_PKG] Chip package identifier NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CHIP_CPU_FREQ_LOW[] = { &CHIP_CPU_FREQ_LOW[0], // [] If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the ESP32's max CPU frequency is rated for 160MHz. 240MHz otherwise NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CHIP_CPU_FREQ_RATED[] = { &CHIP_CPU_FREQ_RATED[0], // [] If set; the ESP32's maximum CPU frequency has been rated NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_BLK3_PART_RESERVE[] = { &BLK3_PART_RESERVE[0], // [] BLOCK3 partially served for ADC calibration data NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_REV1[] = { &CHIP_VER_REV1[0], // [] bit is set to 1 for rev1 silicon NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CLK8M_FREQ[] = { &CLK8M_FREQ[0], // [CK8M_FREQ] 8MHz clock freq override NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ADC_VREF[] = { &ADC_VREF[0], // [] True ADC reference voltage NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_REG[] = { &XPD_SDIO_REG[0], // [] read for XPD_SDIO_REG NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_TIEH[] = { &XPD_SDIO_TIEH[0], // [SDIO_TIEH] If XPD_SDIO_FORCE & XPD_SDIO_REG {1: "3.3V"; 0: "1.8V"} NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_FORCE[] = { &XPD_SDIO_FORCE[0], // [SDIO_FORCE] Ignore MTDI pin (GPIO12) for VDD_SDIO on reset NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_CLK[] = { &SPI_PAD_CONFIG_CLK[0], // [] Override SD_CLK pad (GPIO6/SPICLK) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_Q[] = { &SPI_PAD_CONFIG_Q[0], // [] Override SD_DATA_0 pad (GPIO7/SPIQ) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_D[] = { &SPI_PAD_CONFIG_D[0], // [] Override SD_DATA_1 pad (GPIO8/SPID) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_SPI_PAD_CONFIG_CS0[] = { &SPI_PAD_CONFIG_CS0[0], // [] Override SD_CMD pad (GPIO11/SPICS0) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_REV2[] = { &CHIP_VER_REV2[0], // [] NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_VOL_LEVEL_HP_INV[] = { &VOL_LEVEL_HP_INV[0], // [] This field stores the voltage level for CPU to run at 240 MHz; or for flash/PSRAM to run at 80 MHz.0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_WAFER_VERSION_MINOR[] = { &WAFER_VERSION_MINOR[0], // [] NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_FLASH_CRYPT_CONFIG[] = { &FLASH_CRYPT_CONFIG[0], // [ENCRYPT_CONFIG] Flash encryption config (key tweak bits) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CODING_SCHEME[] = { &CODING_SCHEME[0], // [] Efuse variable block length scheme {0: "NONE (BLK1-3 len=256 bits)"; 1: "3/4 (BLK1-3 len=192 bits)"; 2: "REPEAT (BLK1-3 len=128 bits) not supported"; 3: "NONE (BLK1-3 len=256 bits)"} NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CONSOLE_DEBUG_DISABLE[] = { &CONSOLE_DEBUG_DISABLE[0], // [] Disable ROM BASIC interpreter fallback NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DISABLE_SDIO_HOST[] = { &DISABLE_SDIO_HOST[0], // [] NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ABS_DONE_0[] = { &ABS_DONE_0[0], // [] Secure boot V1 is enabled for bootloader image NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ABS_DONE_1[] = { &ABS_DONE_1[0], // [] Secure boot V2 is enabled for bootloader image NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_JTAG_DISABLE[] = { &JTAG_DISABLE[0], // [DISABLE_JTAG] Disable JTAG NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_ENCRYPT[] = { &DISABLE_DL_ENCRYPT[0], // [] Disable flash encryption in UART bootloader NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_DECRYPT[] = { &DISABLE_DL_DECRYPT[0], // [] Disable flash decryption in UART bootloader NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_CACHE[] = { &DISABLE_DL_CACHE[0], // [] Disable flash cache in UART bootloader NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_KEY_STATUS[] = { &KEY_STATUS[0], // [] Usage of efuse block 3 (reserved) NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_BLOCK1[] = { &BLOCK1[0], // [ENCRYPT_FLASH_KEY] Flash encryption key NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_BLOCK2[] = { &BLOCK2[0], // [SECURE_BOOT_KEY] Security boot key NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_CUSTOM_MAC_CRC[] = { &CUSTOM_MAC_CRC[0], // [MAC_CUSTOM_CRC] CRC8 for custom MAC address NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_MAC_CUSTOM[] = { &MAC_CUSTOM[0], // [MAC_CUSTOM] Custom MAC address NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ADC1_TP_LOW[] = { &ADC1_TP_LOW[0], // [] ADC1 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ADC1_TP_HIGH[] = { &ADC1_TP_HIGH[0], // [] ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ADC2_TP_LOW[] = { &ADC2_TP_LOW[0], // [] ADC2 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_ADC2_TP_HIGH[] = { &ADC2_TP_HIGH[0], // [] ADC2 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_SECURE_VERSION[] = { &SECURE_VERSION[0], // [] Secure version for anti-rollback NULL }{...}; const esp_efuse_desc_t* ESP_EFUSE_MAC_VERSION[] = { &MAC_VERSION[0], // [MAC_CUSTOM_VER] Version of the MAC field {1: "Custom MAC in BLOCK3"} NULL }{...};
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.