Commit Graph

1031 Commits

Author SHA1 Message Date
Armando (Dou Yiwen)
99b6f5dcd8 test(spi_flash): verify partition protection callback registration 2026-09-09 14:17:00 +08:00
armando
90dd358dcb feat(mspi): added mspi flash error (aligned with rom) 2026-09-09 14:17:00 +08:00
armando
6e3abd12a1 refactor(spi_flash): move os layer to esp_mspi and chip configs to spi_flash
Also fixes the implicit dependency on esp_partition.
2026-09-09 14:17:00 +08:00
Michael (XIAO Xufeng)
4bf78f4fa6 Merge branch 'debug/idf-15875-fix' into 'master'
fix(psram): suspend external cache during CPU freq switch on esp32p4

Closes IDF-15875

See merge request espressif/esp-idf!50947
2026-08-25 18:01:02 +08:00
wuzhenghui
ab48e180ac fix(spi_flash): integrate branch prediction control during cache operations 2026-08-24 13:27:04 +08:00
Ashish Sharma
d631bca52f fix(spi_flash): disable branch prediction on the parked core during flash ops 2026-08-24 13:27:04 +08:00
Michael.B
de01d01a6c test(spi_flash): add flash_encryption xip_psram repro coverage
Add an IDF-15875 regression config that places .ext_ram.bss in PSRAM under
XIP, and align flash_encryption disable_test rules with available runners.
2026-08-21 23:03:18 +08:00
Chen Chen
79c3ec77d0 fix(spi_flash): keep program and erase paths in IRAM 2026-08-19 16:50:08 +08:00
Armando (Dou Yiwen)
346a36ada1 feat(flash): p4 flash 120MHz is no longer experimental feature
Signed-off-by: Armando (Dou Yiwen) <douyiwen@espressif.com>
2026-08-12 13:54:44 +08:00
C.S.M
305c5869ee fix(spi_flash): Fix spi_flash leaks release aes-xts in error path 2026-07-23 19:28:13 +08:00
Wan Lei
b6d7b42642 Merge branch 'fix/spi_buslock_unregister_issue' into 'master'
fix(hw_support): spi buslock fix unregister dev api issue

Closes SEC-1147

See merge request espressif/esp-idf!50583
2026-07-17 11:16:41 +08:00
Shengyu Qu
062c948c18 fix(spi_flash): add #if check for s_mxic_set_required_regs()
Currently, s_mxic_set_required_regs() lacks checking for
CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP. And this causes a defined but not
used warning when MXIC flash driver is disabled in project config. So add
a #if check for this to supress warning.

Signed-off-by: Shengyu Qu <wiagn@4d2.org>
2026-07-12 03:38:54 +08:00
wanckl
971ba6f765 fix(hw_support): spi buslock fix unregister dev api issue 2026-07-10 11:58:47 +08:00
nilesh.kale
9144db695a feat: enable tests and cleanup jira references for s31 2026-07-03 15:31:51 +05:30
Sudeep Mohanty
b3951f4013 fix(test_apps): override config defaults unused by these tests
These tests enable features they do not use -- the VFS console, Wi-Fi task core pinning, and
the DS peripheral -- which shift memory layout, interrupt allocation, and peripheral access
enough to fail them. Override the unused options in each test's sdkconfig and ignore the
resulting unknown-symbol build warnings.
2026-07-01 13:17:25 +02:00
Sudeep Mohanty
caa1397768 fix(spi_flash): remove mspi_test xip_psram test with missing config 2026-06-29 15:21:31 +02:00
Michael (XIAO Xufeng)
c1b218b640 Merge branch 'fix/mmap_cache_flash_wr' into 'master'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled

Closes IDFGH-14084

See merge request espressif/esp-idf!29804
2026-06-29 11:44:10 +08:00
He Binglin
12ad118657 Merge branch 'change/esp_idf_dpd_optimize' into 'master'
Change/esp idf dpd optimize

Closes PM-765 and PM-728

See merge request espressif/esp-idf!49761
2026-06-23 19:55:08 +08:00
hebinglin
a6884a9d4d change(esp_hw_support): support optional delay for DPD entry and exit 2026-06-23 14:54:30 +08:00
hebinglin
619ac952b6 fix(spi_flash): fix dpd failed when spi hal placed in flash 2026-06-23 14:54:11 +08:00
harshal.patil
6b417e9d47 fix(esp_common/esp_fault): make ESP_FAULT_ASSERT survive optimization
ESP_FAULT_ASSERT(C) was silently deleted by the optimizer when C is a cached
flag/status already proven by a preceding `if (!C) return/goto`: the compiler
folds C to a constant and drops all three checks, removing the fault-injection
protection with no warning.
2026-06-17 16:45:29 +05:30
Michael.B
49d283250a spi_flash: fix PSRAM rodata phys2cache mapping
Use the full rodata page range when converting flash physical addresses back to cache addresses for XIP PSRAM. RISC-V extram stack coredump tests are temporarily skipped in CI until coredump supports PSRAM task stacks (IDF-15623).
2026-06-16 01:00:43 +08:00
Xiao Xufeng
789ce684c9 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-06-16 01:00:43 +08:00
Song Ruo Jing
f6449f926b fix(spi_flash): gpspi flash clock could reach higher frequency 2026-06-08 17:56:17 +08:00
Song Ruo Jing
545b31e6b9 feat(spi_flash): Add exclusive support for ESP32H4
Add 32bit addr support for esp32s31 as well
2026-06-08 17:56:09 +08:00
C.S.M
747c1c9555 Merge branch 'fix/s31_suspend' into 'master'
fix(spi_flash): Fix suspend issue on esp32s31, and add trs timing on other target

See merge request espressif/esp-idf!49228
2026-06-08 14:31:35 +08:00
C.S.M
2acd9b9a7c fix(spi_flash): Fix suspend issue on esp32s31, and add trs timing on other target 2026-06-08 11:15:13 +08:00
Marius Vikhammer
1d311a7349 Merge branch 'feature/psram_freertos' into 'master'
feat(freertos): added option for automatically placing task stacks in PSRAM

Closes IDF-15538, IDF-15539, and IDF-15540

See merge request espressif/esp-idf!48953
2026-06-05 09:08:33 +08:00
Marius Vikhammer
d21dc8ca2e feat(freertos): added option for automatically placing task stacks in PSRAM
When CONFIG_FREERTOS_PLACE_TASK_STACKS_IN_EXT_RAM is enabled freertos will
now automatically allocate task stacks to PSRAM.
2026-06-04 16:06:52 +08:00
morris
87b93ee9ab refactor(flash): move flash error code to the driver layer 2026-06-02 10:38:33 +08:00
Guillaume Souchere
d670774f5c feat(esp_common): implement composable error code registration via link-time arrays
Refactor the esp_err_to_name() system to decouple esp_common from
higher-level components. Instead of a monolithic generated table,
each component registers its error codes into a dedicated linker
section (.esp_err_msg_table) via idf_define_esp_err_codes() in its
CMakeLists.txt.

New files:
- tools/err_codes_extract.py: extract ESP_ERR_* defines from headers to CSV
- tools/err_codes_to_c.py: generate C source placing entries into linker section
- tools/err_codes_to_rst.py: generate RST documentation from error codes
- tools/cmake/err_codes.cmake: CMake module providing idf_define_esp_err_codes()
- components/esp_common/include/esp_err_codes.h: esp_err_msg_t typedef
- components/esp_common/src/esp_err_to_name_new.c: new lookup using link-time array
- tools/test_apps/build_system/err_codes_check/: CI test app

Changes:
- Remove all optional component dependencies from esp_common/CMakeLists.txt
- Add .esp_err_msg_table section to all 5 linker scripts
- Register error codes in 18 components via idf_define_esp_err_codes()
- Add new scripts to .gitlab/ci/rules.yml build_check patterns
- use new scripts to generate doc and add CI validation
- Update esp_err.rst to add description of composable code registration
2026-05-28 09:53:32 +02:00
Tomas Rohlinek
ff1099f39b Merge branch 'feat/refactor_stdio_vfs' into 'master'
feat(storage/stdio): refactor stdio vfs

Closes IDF-15109

See merge request espressif/esp-idf!44351
2026-05-27 11:36:05 +02:00
nilesh.kale
36fdf38ad4 fix: cleanup xts_aes_reg.h dependency for H21, C61 and H4 2026-05-20 09:29:20 +05:30
nilesh.kale
cae147af08 feat: enable flash encryption for ESP32-H4 2026-05-20 09:29:20 +05:30
Konstantin Kondrashov
485ab9aa29 Merge branch 'feature/recovery_bootloader_support' into 'master'
feat(bootloader): Support recovery bootloader for ESP32P4

Closes IDF-15653 and IDF-13165

See merge request espressif/esp-idf!48215
2026-05-12 23:24:40 +03:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Konstantin Kondrashov
dd9a0a9a93 fix(test_apps): Increase CONFIG_PARTITION_TABLE_OFFSET to 0x9000
Fix some test apps that have a partition table offset of 0x8000,
which left no room for the bootloader for some chips.
2026-05-08 16:45:14 +03:00
Jiang Jiang Jian
39f0ef3528 Merge branch 'feat/support_s31_sleep_features' into 'master'
feat(esp_hw_support): support esp32s31 lowpower features

Closes IDF-5660, IDF-14643, IDF-14645, IDF-14647, IDF-14648, IDF-14784, PM-708, and PM-714

See merge request espressif/esp-idf!47216
2026-05-07 19:22:58 +08:00
wuzhenghui
7c10126309 feat(esp_hw_support): isolate all digital io to suppress pad leakage on TOP pd sleep 2026-05-07 08:39:56 +08:00
C.S.M
589c25931c fix(spi_flash): Fix flash hpm build failure,
Closes https://github.com/espressif/esp-idf/issues/18535
2026-05-06 14:57:19 +08:00
Armando (Dou Yiwen)
9501efde96 Merge branch 'feat/mmu_configurable_page_size_s31' into 'master'
mmu: supported configurable page size on s31

See merge request espressif/esp-idf!47193
2026-04-21 03:31:16 +00:00
Chen Ji Chang
83e7b11716 Merge branch 'feat/lcd_use_apll_clock' into 'master'
refactor(clk_tree): use general api to enable the clk

Closes IDF-11478 and IDF-12972

See merge request espressif/esp-idf!35952
2026-04-20 22:12:01 +08:00
armando
8fc4f9c108 feat(cache): added cache invalidate all 2026-04-20 16:58:29 +08:00
Xorlent
51d059232b Fix output bit range in bitscrambler documentation
Destination bit range incorrect in `Sub-instructions` example
2026-04-17 17:20:28 +08:00
Chen Jichang
6e206dd173 refactor(clk_tree): use general api to enable the clk 2026-04-16 20:03:06 +08:00
wanckl
64704886b7 refactor(driver_spi): remove some SPI_LL_xxx SOC_xxx macros 2026-04-10 13:59:20 +08:00
C.S.M
152b5ccb4c ci(esp32s31): Add ci target test for esp32s31 2026-04-03 11:38:45 +08:00
Tomáš Rohlínek
e041542092 test(mspi_test): relax Unity heap leak threshold for lazy stdio 2026-04-01 15:32:55 +02:00
armando
2b582796d3 feat(mmu): s31 support 2026-04-01 11:49:22 +08:00
armando
ebbd9cdb59 feat(psram): support psram device driver 2026-03-31 13:56:43 +08:00