1menu "eFuse Bit Manager"
2
3    config EFUSE_CUSTOM_TABLE
4        bool "Use custom eFuse table"
5        default n
6        help
7            Allows to generate a structure for eFuse from the CSV file.
8
9    config EFUSE_CUSTOM_TABLE_FILENAME
10        string "Custom eFuse CSV file"
11        depends on EFUSE_CUSTOM_TABLE
12        default "main/esp_efuse_custom_table.csv"
13        help
14            Name of the custom eFuse CSV filename. This path is evaluated
15            relative to the project root directory.
16
17    config EFUSE_VIRTUAL
18        bool "Simulate eFuse operations in RAM"
19        default n
20        help
21            If "n" - No virtual mode. All eFuse operations are real and use eFuse registers.
22            If "y" - The virtual mode is enabled and all eFuse operations (read and write) are redirected
23            to RAM instead of eFuse registers, all permanent changes (via eFuse) are disabled.
24            Log output will state changes that would be applied, but they will not be.
25
26            During startup, the eFuses are copied into RAM. This mode is useful for fast tests.
27
28    config EFUSE_VIRTUAL_KEEP_IN_FLASH
29        bool "Keep eFuses in flash"
30        depends on EFUSE_VIRTUAL
31        help
32            In addition to the "Simulate eFuse operations in RAM" option, this option just adds
33            a feature to keep eFuses after reboots in flash memory. To use this mode the partition_table
34            should have the `efuse` partition. partition.csv: "efuse_em, data, efuse,   ,   0x2000,"
35
36            During startup, the eFuses are copied from flash or,
37            in case if flash is empty, from real eFuse to RAM and then update flash.
38            This mode is useful when need to keep changes after reboot
39            (testing secure_boot and flash_encryption).
40
41    choice EFUSE_CODE_SCHEME_SELECTOR
42        prompt "Coding Scheme Compatibility"
43        default EFUSE_CODE_SCHEME_COMPAT_3_4
44        depends on IDF_TARGET_ESP32
45        help
46            Selector eFuse code scheme.
47
48        config EFUSE_CODE_SCHEME_COMPAT_NONE
49            bool "None Only"
50        config EFUSE_CODE_SCHEME_COMPAT_3_4
51            bool "3/4 and None"
52        config EFUSE_CODE_SCHEME_COMPAT_REPEAT
53            bool "Repeat, 3/4 and None (common table does not support it)"
54    endchoice
55
56    config EFUSE_MAX_BLK_LEN
57        int
58        default 256 if EFUSE_CODE_SCHEME_COMPAT_NONE
59        default 192 if EFUSE_CODE_SCHEME_COMPAT_3_4
60        default 128 if EFUSE_CODE_SCHEME_COMPAT_REPEAT
61        default 256 if !IDF_TARGET_ESP32
62
63endmenu
64