Commit Graph

136 Commits

Author SHA1 Message Date
wuzhenghui
bf8d535f7b fix(heap): revert DMA pool MALLOC_CAP_DEFAULT caps 2026-08-27 19:43:25 +08:00
wuzhenghui
265e9d2a54 change(heap): reserve DMA pool with low priority MALLOC_CAP_DEFAULT caps 2026-07-09 17:34:32 +08:00
Xiao Xufeng
c8447b51e2 fix(mspi): fixed possible boot failure in some builds when psram is enabled
A typical scenario is: when XIP on PSRAM enabled, compiler optimization level is Os. Under certain binary layout, boot hangs and backtrace points to `esp_sleep_config_gpio_isolate`.

The root cause is that, during PSRAM initialization, it calls esp_gpio_reserve, which happens to place before the reported function. However, after call, there is no barrier before the clock adjustment in `mspi_timing_enter_low_speed_mode`. The clock gets changed when the cache is still fetching data, resulting in the corrupted data in the end of the cache line.

This commits add spi_flash_disable_cache as a barrier to make sure the cache transactions is finished before the clock switch.
2026-05-31 01:46:45 +08:00
Evgeny Torbin
f7395255da test: format all test scripts 2026-03-11 07:34:34 +01:00
armando
1f91204fd8 test(mspi): add flash api run on psram stack test for xip_psram case 2026-01-28 15:46:31 +08:00
armando
25270ca485 change(psram): use 200M as default 2025-11-18 11:06:40 +08:00
Armando
3bb766fc25 feat(psram): support 250MHz in experimental 2025-11-17 10:32:50 +08:00
armando
f8b907e362 fix(psram): fixed p4 rev3 xip stuck after board reset issue 2025-11-10 10:59:31 +08:00
morris
6926e5c94a Merge branch 'fix/fix_xip_psram_ptr_check_v5.4' into 'release/v5.4'
psram: fixed psram ptr check issue under xip_psram condition for ESP32P4 (v5.4)

See merge request espressif/esp-idf!39733
2025-06-30 10:29:38 +08:00
armando
ff195f3492 feat(psram): support fallback to use default driver pattern when id isn't match 2025-06-23 10:14:54 +08:00
wanckl
ea03622621 ci(esp32c61): remove c61 support from readme on 5.4 2025-06-17 15:09:40 +08:00
armando
70fe58d935 fix(psram): fixed psram ptr check under xip_psram condition
Closes https://github.com/espressif/esp-idf/pull/15999
Closes https://github.com/espressif/esp-idf/issues/15997
2025-06-09 10:34:11 +08:00
John Boiles
c5e02f95dd fix(memory-utils): Add _instruction_reserved_start/end to esp_psram_check_ptr_addr
Adds missing range check that can be used when SPIRAM_XIP_FROM_PSRAM is enabled.
2025-06-09 10:34:08 +08:00
harshal.patil
26586deb7d fix(esp_psram): Add XIP PSRAM alignment gaps in heap only if PSRAM protection is enabled 2025-05-05 11:52:15 +05:30
harshal.patil
9406fde68d feat(cpu_region_protect): Enable basic memory protection for SPIRAM 2025-05-05 11:52:04 +05:30
harshal.patil
f77e96e7c6 feat(esp_psram): Add the gap created due to alignment of XIP segments in heap 2025-05-05 11:09:52 +05:30
harshal.patil
fac460f89e feat(esp_psram): Add some helper APIs to get usable PSRAM memory size 2025-05-05 11:09:52 +05:30
armando
873cde487c test(system): increased 200B memory leak thresh due to mmu mmap mutex
200B to extend the thresh, real increase to the memory usage will be smaller
2025-04-15 14:22:48 +08:00
morris
3076186e8f Merge branch 'fix/pr_15513_psram_bss_noinit_calc_issue_v5.4' into 'release/v5.4'
psram: correct .bss and .noinit vaddr calculation (v5.4)

See merge request espressif/esp-idf!37664
2025-04-01 10:00:56 +08:00
Mahavir Jain
a33851c9db Merge branch 'fix/incorrect_calculation_of_used_xip_pages_v5.4' into 'release/v5.4'
fix(esp_psram): Fix incorrect calculation of used XIP PSRAM pages (v5.4)

See merge request espressif/esp-idf!37495
2025-03-31 21:31:59 +08:00
armando
4bd0d04c2f feat(psram): supported new octal psram on s3 2025-03-19 10:20:44 +08:00
armando
53d019563b refactor(psram): rename .bss .noinit segments to sections
Closes https://github.com/espressif/esp-idf/pull/15513
2025-03-11 11:43:01 +08:00
Erki Aring
d23549db4c fix(psram): correct heap vaddr calculation
- fixes https://github.com/espressif/esp-idf/issues/15496

Signed-off-by: armando <douyiwen@espressif.com>
2025-03-11 11:42:57 +08:00
harshal.patil
0cdcd3a0fb fix(esp_psram): Fix incorrect calculation of used XIP PSRAM pages
The functions mmu_config_psram_text_segment() and mmu_config_psram_rodata_segment()
used to return the value of next start page in *out_page instead of the number
of pages used as mentioned in the documentation
2025-03-05 10:37:21 +05:30
Song Ruo Jing
6cb64d7025 feat(heap): add a MALLOC_CAP_SIMD flag
MALLOC_CAP_SIMD can be used to allocate memory to be used for SIMD instructions
2025-02-08 16:28:41 +08:00
Armando
e12812a4d7 fix(psram): fixed mode reg read bad timing on octal and hex psrams 2024-12-25 11:00:12 +08:00
Armando
a5eb720a9f fix(psram): fixed esp32p pico-v3 psram init not ignored issue
Closes https://github.com/espressif/esp-idf/issues/14970
2024-12-03 15:21:05 +08:00
wangtao@espressif.com
e65acc9510 feat(wifi): fix SPIRAM_IGNORE_NOTFOUND releated config 2024-10-24 19:49:57 +08:00
Omar Chebib
d327186ddd fix(esp_psram): fix a bug in PSRAM heap registration
This commit fixes a bug in the PSRAM heap initialization that didn't take into
account the reserved himem area when registering the PSRAM virtual space as a heap.
2024-10-15 11:55:28 +08:00
morris
aebf700919 refactor(freertos): rename SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY and move to freertos 2024-10-09 13:32:03 +08:00
Armando
256ef127dd fix(linker): fixed extern linker symbol type from int to char 2024-09-14 11:11:55 +08:00
Alexey Lapshin
599c14d8f0 Merge branch 'feature/update-toolchain-to-esp-14.2.0_20240903' into 'master'
feat(tools): update toolchain version to esp-14.2.0_20240906

Closes IDFGH-13033, IDFGH-13355, and IDFGH-13360

See merge request espressif/esp-idf!33295
2024-09-09 14:22:47 +08:00
Alexey Lapshin
205e814563 fix(esp_psram): fix dead code compilation 2024-09-08 13:53:52 +07:00
Alexey Lapshin
4c87af6359 fix(build): fix calloc warnings 2024-09-08 13:53:52 +07:00
Armando (Dou Yiwen)
5dff189341 Merge branch 'feat/xip_psram_c5' into 'master'
psram: xip_psram support on c5/c61, also fixed cache writeback/invalidate not work issue on c61

Closes IDF-8688, IDF-9292, and IDF-11008

See merge request espressif/esp-idf!33265
2024-09-06 10:39:57 +08:00
Armando
fce2680e91 feat(psram): xip psram c61 2024-09-03 18:17:03 +08:00
Armando
8842e5764f feat(psram): xip psram c5 2024-09-03 18:17:03 +08:00
wanckl
19c6e77a31 fix(mspi): collect mspi iomux pin macro from iomux_reg.h to spi_pins.h 2024-09-03 13:55:00 +08:00
wanckl
4e095f4b9f ci(esp32c61): enable c61 generic target test 2024-09-02 19:26:12 +08:00
Armando
5e50b11232 fix(psram): fixed ap3204 id check 2024-08-27 09:51:27 +08:00
C.S.M
271ca9f85a feat(spiram): Add .noinit and .bss segement support on esp32c61 2024-08-22 10:58:50 +08:00
C.S.M
b676f6080d feature(spiram): Add spiram support on esp32c61 2024-08-22 10:38:43 +08:00
C.S.M
6730203c1d Merge branch 'support_psram_noinit_segment_on_s3' into 'master'
feat(psram): add psram noinit  segment support on s2/s3/p4/c5 and bss segment on c5

Closes IDF-4811, IDF-8689, IDF-10311, and IDFGH-13336

See merge request espressif/esp-idf!32503
2024-08-21 15:25:07 +08:00
Chen Jichang
1c1f536235 feat(psram): add psram noinit segment support on S2/S3/P4/C5
Closes https://github.com/espressif/esp-idf/issues/14253
2024-08-21 12:13:16 +08:00
Jakob Hasse
4c492cc85f refactor(esp_psram): allow external stack also when PSRAM is only available via esp_heap_caps
Closes https://github.com/espressif/esp-idf/issues/12722
2024-08-14 14:47:12 +02:00
C.S.M
c431e9b830 feat(spiram): refactor for spiram device driver for s3/c5 2024-08-09 11:43:04 +08:00
Armando
81cee9db8a fix(psram): fixed typo in esp32 quad psram device driver comment 2024-08-01 09:34:18 +08:00
Armando
702b0560ab change(psram): improved xip psram docs on p4 2024-07-26 16:30:46 +08:00
C.S.M
931f95068a feat(spiram): Add temperature support for psram adjustment on esp32c5 2024-07-25 13:48:41 +08:00
Armando
893bd25c0b fix(psram): corrected psram early stage function name 2024-07-23 10:00:24 +08:00