Skip to content

Commit 35ace41

Browse files
eren-terziogluxiaoxiang781216
authored andcommitted
esp32[c3|c6|h2]: Add efuse simulation support
1 parent 970d1a1 commit 35ace41

File tree

5 files changed

+18
-0
lines changed

5 files changed

+18
-0
lines changed

arch/risc-v/src/common/espressif/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,13 @@ config ESPRESSIF_EFUSE
395395
---help---
396396
Enable efuse support.
397397

398+
config ESPRESSIF_EFUSE_VIRTUAL
399+
bool "Virtual EFUSE support"
400+
depends on ESPRESSIF_EFUSE
401+
default n
402+
---help---
403+
Enable virtual efuse support to simulate eFuse operations in RAM, changes will be reverted each reboot
404+
398405
config ESPRESSIF_HR_TIMER
399406
bool
400407
default RTC_DRIVER

arch/risc-v/src/common/espressif/esp_efuse.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
#include "hal/efuse_hal.h"
4747
#include "esp_efuse_table.h"
4848
#include "esp_efuse_chip.h"
49+
#include "esp_efuse_utility.h"
4950

5051
/****************************************************************************
5152
* Private Types
@@ -256,5 +257,9 @@ int esp_efuse_initialize(const char *devpath)
256257
ret = -EEXIST;
257258
}
258259

260+
#ifdef CONFIG_ESPRESSIF_EFUSE_VIRTUAL
261+
esp_efuse_utility_update_virt_blocks();
262+
#endif
263+
259264
return ret;
260265
}

boards/risc-v/esp32c3/common/scripts/esp32c3_sections.ld

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ SECTIONS
127127
*libarch.a:*esp_rom_spiflash.*(.text .text.* .literal .literal.*)
128128
*libarch.a:*esp_efuse_fields.*(.text .text.* .literal .literal.*)
129129
*libarch.a:*esp_efuse_api_key.*(.text .text.* .literal .literal.*)
130+
*libarch.a:*esp_efuse_utility.*(.text .text.* .literal .literal.*)
130131
*libarch.a:*efuse_hal.*(.text .text.* .literal .literal.*)
131132
*libarch.a:*log.*(.text .text.* .literal .literal.*)
132133
*libarch.a:*log_noos.*(.text .text.* .literal .literal.*)
@@ -246,6 +247,7 @@ SECTIONS
246247
*libarch.a:*esp_rom_spiflash.*(.rodata .rodata.*)
247248
*libarch.a:*esp_efuse_fields.*(.rodata .rodata.*)
248249
*libarch.a:*esp_efuse_api_key.*(.rodata .rodata.*)
250+
*libarch.a:*esp_efuse_utility.*(.rodata .rodata.*)
249251
*libarch.a:*efuse_hal.*(.rodata .rodata.*)
250252
*libarch.a:*log.*(.rodata .rodata.*)
251253
*libarch.a:*log_noos.*(.rodata .rodata.*)

boards/risc-v/esp32c6/common/scripts/esp32c6_sections.ld

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ SECTIONS
134134
*libarch.a:*esp_rom_spiflash.*(.text .text.* .literal .literal.*)
135135
*libarch.a:*esp_efuse_fields.*(.text .text.* .literal .literal.*)
136136
*libarch.a:*esp_efuse_api_key.*(.text .text.* .literal .literal.*)
137+
*libarch.a:*esp_efuse_utility.*(.text .text.* .literal .literal.*)
137138
*libarch.a:*efuse_hal.*(.text .text.* .literal .literal.*)
138139
*libarch.a:*log.*(.text .text.* .literal .literal.*)
139140
*libarch.a:*log_noos.*(.text .text.* .literal .literal.*)
@@ -277,6 +278,7 @@ SECTIONS
277278
*libarch.a:*esp_rom_spiflash.*(.rodata .rodata.*)
278279
*libarch.a:*esp_efuse_fields.*(.rodata .rodata.*)
279280
*libarch.a:*esp_efuse_api_key.*(.rodata .rodata.*)
281+
*libarch.a:*esp_efuse_utility.*(.rodata .rodata.*)
280282
*libarch.a:*efuse_hal.*(.rodata .rodata.*)
281283
*libarch.a:*log.*(.rodata .rodata.*)
282284
*libarch.a:*log_noos.*(.rodata .rodata.*)

boards/risc-v/esp32h2/common/scripts/esp32h2_sections.ld

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ SECTIONS
136136
*libarch.a:*esp_rom_spiflash.*(.text .text.* .literal .literal.*)
137137
*libarch.a:*esp_efuse_fields.*(.text .text.* .literal .literal.*)
138138
*libarch.a:*esp_efuse_api_key.*(.text .text.* .literal .literal.*)
139+
*libarch.a:*esp_efuse_utility.*(.text .text.* .literal .literal.*)
139140
*libarch.a:*efuse_hal.*(.text .text.* .literal .literal.*)
140141
*libarch.a:*log.*(.text .text.* .literal .literal.*)
141142
*libarch.a:*log_noos.*(.text .text.* .literal .literal.*)
@@ -274,6 +275,7 @@ SECTIONS
274275
*libarch.a:*esp_rom_spiflash.*(.rodata .rodata.*)
275276
*libarch.a:*esp_efuse_fields.*(.rodata .rodata.*)
276277
*libarch.a:*esp_efuse_api_key.*(.rodata .rodata.*)
278+
*libarch.a:*esp_efuse_utility.*(.rodata .rodata.*)
277279
*libarch.a:*efuse_hal.*(.rodata .rodata.*)
278280
*libarch.a:*log.*(.rodata .rodata.*)
279281
*libarch.a:*log_noos.*(.rodata .rodata.*)

0 commit comments

Comments
 (0)