Commit Graph

34 Commits

Author SHA1 Message Date
Chen Chen
c862edb946 fix(spi_flash): keep program and erase paths in IRAM 2026-08-25 16:16:43 +08:00
morris
1c04de442d Merge branch 'feature/psram_halfsleep_mode_support_v6.0' into 'release/v6.0'
feat(psram): allow PSRAM to enter halfsleep mode during light sleep (v6.0)

See merge request espressif/esp-idf!49759
2026-07-03 11:14:20 +08:00
wuzhenghui
cee20c2f27 feat(esp_psram): wakeup PSRAM by CE# force control instead of dummy write 2026-06-18 11:50:42 +08:00
Song Ruo Jing
33ad4d358a feat(psram): allow PSRAM to enter halfsleep mode during light sleep 2026-06-18 11:50:35 +08:00
Song Ruo Jing
a242565623 fix(spi_flash): gpspi flash clock could reach higher frequency 2026-06-09 21:56:36 +08:00
Jiang Jiang Jian
b3ded45e2d Merge branch 'fix/psram_core_clk_enable_v6.0' into 'release/v6.0'
fix(mspi): enable PSRAM core clock in module clock init (v6.0)

See merge request espressif/esp-idf!46848
2026-03-23 20:17:17 +08:00
morris
ed6a7e267e Merge branch 'fix/32mb_120m_v6.0' into 'release/v6.0'
fix(spi_flash): 1. Fix flash 120m in qio mode failed on esp32p4 (with 32M map enabled) 2. Add C61 32M flash support (backport v6.0)

See merge request espressif/esp-idf!46042
2026-03-23 16:14:19 +08:00
Erhan Kurubas
a30db7271f fix(mspi): enable PSRAM core clock in module clock init
psram_ctrlr_ll_enable_module_clock() was missing
reg_psram_core_clk_en, causing SPIMEM2 access faults
after system reset.
2026-03-20 22:47:39 +01:00
Song Ruo Jing
7d0ddf3010 fix(flash): flash erase operation may fail to raise PMS exception 2026-03-20 22:44:09 +08:00
C.S.M
52d5b1a173 fix(spi_flash): Fix esp32p4 120m flash suspend failed 2026-03-20 15:21:22 +08:00
morris
23e199d646 Merge branch 'feature/esp32c61_flash_psram_timing_tuning_v6.0' into 'release/v6.0'
feat(mspi): support 120MHz flash and psram for esp32c61 (v6.0)

See merge request espressif/esp-idf!45886
2026-03-20 13:55:06 +08:00
Song Ruo Jing
c7ae253b89 feat(mspi): support 120MHz flash and psram for esp32c61 2026-03-19 14:30:46 +00:00
C.S.M
36028139f4 fix(spi_flash): Fix esp32p4 120m flash suspend failed 2026-02-25 14:52:50 +08:00
Mahavir Jain
55f6f0eefa Merge branch 'feat/enable_pseudo_round_support_for_xts_aes_esp32p4_eco5_v6.0' into 'release/v6.0'
feat: added support for pseudo round xts aes in esp32p4 eco5 (v6.0)

See merge request espressif/esp-idf!45171
2026-02-12 09:44:22 +05:30
Jiang Jiang Jian
31056d5db9 Merge branch 'refactor/spi_flash_private_v6.0' into 'release/v6.0'
refactor(spi_flash): reorganize header files, improve encapsulation and simplify ROM implementation (v6.0)

See merge request espressif/esp-idf!45488
2026-02-02 10:57:34 +08:00
morris
f3c93ba7d4 Merge branch 'refactor/cleanup_hal_files_v6.0' into 'release/v6.0'
refactor(jpeg): Split hal layer for jpeg  (backport v6.0)

See merge request espressif/esp-idf!45514
2026-02-01 18:51:36 +08:00
Jiang Jiang Jian
025ec41dac Merge branch 'feat/support_esp32p4_rev3.1_lowpower_v6.0' into 'release/v6.0'
feat: esp32p4 eco6 lowpower support and leakage optimization (v6.0)

See merge request espressif/esp-idf!45531
2026-02-01 13:18:22 +08:00
C.S.M
e794bd6c5c refactor(hal): Cleanup some missing hal files 2026-02-01 10:15:18 +08:00
Song Ruo Jing
89da3742b8 refactor(clk): split clock HAL into separate component 2026-01-31 22:32:37 +08:00
nilesh.kale
bcc09e8f98 feat: added support for pseudo round xts aes in esp32p4 eco5 2026-01-31 10:48:20 +05:30
wuzhenghui
ddec7eae60 fix(bootloader): fix bootloader bad spi pin drv config and clear all wpu/wpd by default 2026-01-30 15:30:59 +08:00
Xiao Xufeng
3411286544 refactor(spi_flash): reorganize header files and improve API encapsulation
This commit reorganizes SPI flash header files to better reflect their
visibility and intended usage:

1. Rename `esp_flash_port/` to `esp_flash_chips/`:
   - Better reflects that these headers are for chip driver implementations
   - All chip driver headers moved to `esp_flash_chips/` directory
   - Added README.md explaining semi-public nature of these headers

2. Move internal headers to `esp_private/`:
   - `esp_flash_internal.h` -> `esp_private/esp_flash_internal.h`
   - `memspi_host_driver.h` -> `esp_private/memspi_host_driver.h`

3. Move chip driver related headers to `esp_flash_chips/`:
   - `esp_private/esp_flash_types.h` -> `esp_flash_chips/esp_flash_types.h`
   - `spi_flash/spi_flash_defs.h` -> `esp_flash_chips/spi_flash_defs.h`
   - `spi_flash_override.h` -> `esp_flash_chips/spi_flash_override.h`
   - All `spi_flash_chip_*.h` headers moved to `esp_flash_chips/`

4. Code improvements:
   - Remove unused includes (e.g., `spi_flash_override.h` from `cache_utils.c`)
   - Use public API `esp_flash_get_size()` instead of direct member access
   - Add `esp_flash_is_quad_mode` to linker.lf for IRAM placement

5. Documentation updates:
   - Add README.md in `esp_flash_chips/` explaining semi-public headers
   - Update programming guide with warnings about internal headers
   - Update both English and Chinese documentation

6. Update all references across the codebase:
   - Update includes in `spi_flash` component
   - Update `bootloader_support`, `app_update`, `esp_tee`, `espcoredump`
   - Update example projects

Breaking changes:
- Headers moved to new locations require include path updates
- `custom_flash_driver` example temporarily disabled until external
  components are updated
2026-01-29 03:28:30 +08:00
Xiao Xufeng
170061e971 refactor(spi_flash): move internal types to private headers and refactor initialization
This commit refactors the SPI flash component to improve encapsulation and
modularity by moving internal types and functions to private headers, and
reorganizing initialization code.

Key changes:

1. Move PSRAM frequency constraint macro from soc_caps.h to mspi_ll.h
   - Rename SOC_SPI_MEM_PSRAM_FREQ_AXI_CONSTRAINED to
     MSPI_TIMING_LL_PSRAM_FREQ_AXI_CONSTRAINED
   - Move macro definition to chip-specific mspi_ll.h files (C5, C61, H4, P4, S31)
   - Update usage in clk_utils.c and esp_flash_spi_init.c
   - Remove old macro from all soc_caps.h files

2. Move internal types to private headers
   - Move esp_flash_t structure to esp_private/esp_flash_types.h
   - Move esp_flash_os_functions_t to esp_private/spi_flash_os.h
   - Update all internal files to include private headers
   - Keep forward declarations in public esp_flash.h

3. Move chip driver header to internal directory
   - Move spi_flash_chip_driver.h to esp_flash_port/spi_flash_chip_driver.h
   - Update all references to use new path
   - Add esp_private/esp_flash_types.h include to the moved header

4. Refactor initialization functions
   - Move init_flash from esp_system/startup_funcs.c to
     spi_flash/esp_flash_spi_init.c
   - Create new init_pm_flash_freq_limit function in startup_funcs.c
     to call esp_pm_flash_freq_limit_init() conditionally
   - Update system_init_fn.txt with new function locations

5. Improve API encapsulation
   - Replace direct access to esp_flash_t->size in
     esp_partition_register_external() with esp_flash_get_size() API
   - Move esp_flash_is_quad_mode from inline function to regular function
     in esp_flash_api.c

6. Update component dependencies
   - Add esp_driver_gpio to spi_flash component PRIV_REQUIRES
   - Remove unused includes and clean up header dependencies

These changes improve code organization by clearly separating public APIs
from internal implementation details, making the codebase more maintainable
and reducing the risk of breaking changes to internal structures.
2026-01-29 03:28:30 +08:00
wanckl
d12f941787 feat(driver_spi): split spi hal component 2025-12-16 20:38:09 +08:00
Song Ruo Jing
4d3a9b0157 refactor(esp_hal_gpio): move some caps definitions to esp_hal_gpio 2025-12-08 14:33:26 +08:00
Mahavir Jain
20e32f81b5 Merge branch 'feat/esp_tee_mspi_tuning_v6.0' into 'release/v6.0'
change(esp_tee): Fix TEE SPI flash API issues on ESP32-C5 (v6.0)

See merge request espressif/esp-idf!42906
2025-11-17 10:18:42 +05:30
Jiang Jiang Jian
86d09a29c6 Merge branch 'fix/esp32p4_rev3_hardware_issue_workarounds_v6.0' into 'release/v6.0'
fix(esp_hw_support): esp32p4 eco5 hardware issues workaround (v6.0)

See merge request espressif/esp-idf!42941
2025-11-14 16:47:24 +08:00
Laukik Hase
f20351eb3b fix(esp_tee): Use HAL APIs instead of ROM APIs for SPI flash service calls
Currently, REE SPI flash HAL operations are routed as service calls to TEE,
but the TEE implementation incorrectly uses ROM APIs instead of HAL APIs.
This leads to issues and is not the recommended approach.
2025-11-13 15:38:12 +05:30
wuzhenghui
9d865e22a6 fix(esp_hw_support): add PD_TOP lightsleep mspi failure workaround for p4 rev3 2025-11-11 21:56:26 +08:00
armando
1f7b1f3615 feat(mspi): supported psram & flash 120MHz timing tuning 2025-11-06 02:20:48 +00:00
armando
9fadbf2588 fix(psram): fixed p4 rev3 xip stuck after board reset issue 2025-10-20 03:09:47 +00:00
armando
abfad4d255 feat(mspi): axi arb priority 2025-10-15 09:59:16 +08:00
C.S.M
a417158514 Merge branch 'feat/mspi_suspend_p4_eco5' into 'master'
feat(spi_flash): Support flash suspend on esp32p4 resivion 3

Closes IDF-13511

See merge request espressif/esp-idf!42104
2025-09-30 15:14:09 +08:00
C.S.M
b145ede835 refactor(mspi): Make mspi hal layer independent 2025-09-26 14:57:54 +08:00