Commit Graph

162 Commits

Author SHA1 Message Date
Xiao Xufeng bb79e6f246 fix(esp32p4): fix efuse, encryption and other rev_min usage 2026-01-19 17:53:51 +08:00
morris 9e1c0fc4ee Merge branch 'fix/psram_encryption_warning_c5c61_v5.5' into 'release/v5.5'
fix(psram): fix inaccurate warning that encryption not enabled on PSRAM on... (v5.5)

See merge request espressif/esp-idf!44622
2026-01-16 09:58:25 +08:00
armando 67a1e80e51 fix(mspi): fixed mspi dma burst timing issue 2026-01-15 14:11:05 +08:00
Xiao Xufeng a4aff97a21 fix(psram): fix inaccurate warning that encryption not enabled on PSRAM on ESP32-C5 v1.2 and C61 v1.1 2026-01-13 18:00:18 +08:00
armando ffcf9f3330 change(psram): use 200M as default 2025-11-18 11:06:23 +08:00
Armando b698ac758e feat(psram): support 250MHz in experimental 2025-11-14 09:34:51 +08:00
Mahavir Jain d32b70d552 fix(esp_psram): make SPIRAM_USE_MEMMAP available for all targets
This reverts earlier commit d2858847 and thereby making SPIRAM_USE_MEMMAP
available for all targets.

This config option has no direct usage but just avoids adding the PSRAM
to heap but still keeps it memory mapped.

Closes https://github.com/espressif/esp-idf/issues/17764
2025-11-05 14:07:22 +05:30
armando 7b9f5b85a7 fix(psram): fixed p4 rev3 xip stuck after board reset issue 2025-10-23 17:00:24 +08:00
armando 17a23d1ddb fix(psram): fixed psram cross page issue 2025-08-22 00:02:06 +08:00
Mahavir Jain 29df7286c8 fix(esp_psram): make SPIRAM_USE_MEMMAP depend on ESP32 target 2025-08-11 13:46:39 +05:30
Mahavir Jain 2829481eb6 fix(psram): provide boot warning about PSRAM encryption issue on C5/C61
For C5/C61 revision 1.0, PSRAM encryption has hardware issue. This will
be addressed in future silicon version. Add explicit warning about this.
2025-08-11 13:46:38 +05:30
armando 44eba53113 feat(psram): support fallback to use default driver pattern when id isn't match 2025-06-23 10:15:59 +08:00
morris 1a40b106b4 Merge branch 'fix/fix_xip_psram_ptr_check_v5.5' into 'release/v5.5'
psram: fixed psram ptr check issue under xip_psram condition for ESP32P4 (v5.5)

See merge request espressif/esp-idf!39732
2025-06-17 10:34:10 +08:00
morris 56a4c70c31 Merge branch 'change/psram_2t_check_only_on_ap_v5.5' into 'release/v5.5'
psram: limited 2t check only for ap (v5.5)

See merge request espressif/esp-idf!39429
2025-06-17 10:30:51 +08:00
armando 30d77f494e 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-11 06:44:21 +00:00
John Boiles 7557ec0951 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-11 06:44:21 +00:00
armando 5961670d06 change(psram): limited 2t check only for ap 2025-06-05 02:50:08 +00:00
armando 3092578b4a fix(ci): fixed psram tests not running on c5 issue 2025-05-22 14:42:48 +08:00
harshal.patil 3123fff18a fix(esp_psram): Add XIP PSRAM alignment gaps in heap only if PSRAM protection is enabled 2025-05-05 10:50:19 +05:30
Harshal Patil d898c2398b Merge branch 'feat/some_xip_psram_related_optimisations_and_fixes' into 'master'
feat(esp_psram): Fix late PSRAM init and add some wasted XIP PSRAM memory in heap

Closes IDF-11463 and IDF-10555

See merge request espressif/esp-idf!37116
2025-04-30 00:02:19 +08:00
harshal.patil 003b54ebfe feat(esp_psram): XIP from PSRAM can be used only when SPIRAM_BOOT_INIT=y for ESP32P4
In case of ESP32-P4, if SPIRAM memory initialisations are not performed during
boot-up, XIP PSRAM can be setup because of different virtual range of PSRAM and Flash
2025-04-29 11:48:28 +05:30
harshal.patil c67901fc07 ci(esp_psram): Add a test to validate non-bootup PSRAM initialisation
- Also adds a test for the newly added PSRAM helper APIs:
esp_psram_get_heap_pool_size() and esp_psram_get_effective_mapped_size()
2025-04-29 11:48:28 +05:30
harshal.patil f58c78b644 fix(esp_psram): Fix loading PSRAM XIP segments after PMP split has been configured 2025-04-29 11:48:27 +05:30
harshal.patil ab229a34b3 feat(cpu_region_protect): Enable basic memory protection for SPIRAM 2025-04-29 11:48:27 +05:30
harshal.patil 49f253361e feat(esp_psram): Add the gap created due to alignment of XIP segments in heap 2025-04-29 11:48:27 +05:30
harshal.patil 0f628496c8 feat(esp_psram): Add some helper APIs to get usable PSRAM memory size 2025-04-29 11:48:27 +05:30
harshal.patil 46225a4026 feat(esp_psram): Add a new API to just detect and enable the PSRAM
- esp_psram_chip_init() just detects and does basic initialisations of PSRAM
- esp_psram_init() initialises and maps/loads the PSRAM pages
2025-04-29 11:48:27 +05:30
armando 00e256d343 fix(psram): fixecd wrong ap density check 2025-04-28 16:10:18 +08:00
armando 89d566bb9c fix(psram): fixed psram init state not in low speed mode issue on c5 c61 2025-04-27 15:06:40 +08:00
armando 1abe57c987 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-14 10:45:40 +08:00
Marius Vikhammer d0e555a0b4 fix(build): fixed build error when compiling with cmake 3.16 2025-03-28 10:51:35 +08:00
armando cf524b41a2 fix(psram): fix wrong mpll freq 2025-03-24 15:02:37 +08:00
Armando (Dou Yiwen) ee5042095b Merge branch 'refactor/psram_structure_refactor' into 'master'
refactor(psram): cleanup psram component code structure

See merge request espressif/esp-idf!37870
2025-03-21 00:52:03 +08:00
armando ac8cfadab0 refactor(psram): cleanup psram component code structure 2025-03-20 15:17:01 +08:00
armando 56d5c00245 feat(psram): added 80MHz psram speed option 2025-03-19 11:57:10 +08:00
armando 1a8c556184 feat(psram): supported new octal psram on s3 2025-03-18 10:25:23 +08:00
armando 6866f375b6 refactor(psram): rename .bss .noinit segments to sections
Closes https://github.com/espressif/esp-idf/pull/15513
2025-03-10 14:44:11 +08:00
Erki Aring c9ab9b8bb3 fix(psram): correct heap vaddr calculation
- fixes https://github.com/espressif/esp-idf/issues/15496

Signed-off-by: armando <douyiwen@espressif.com>
2025-03-10 14:44:11 +08:00
igor.udot daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
harshal.patil a1e6387c16 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-02-21 11:07:39 +05:30
wanckl 222b1ddbab fix(driver_gpio): remove gpio_hal_iomux_func_sel 2025-02-19 17:17:51 +08:00
Armando (Dou Yiwen) cc1819200d Merge branch 'feat/ap_quad_psram_ecc_c61_c5' into 'master'
psram: add quad psram error correcting code (ECC) feature on ESP32C61/C5

Closes IDF-12027

See merge request espressif/esp-idf!36465
2025-01-20 14:12:39 +08:00
Armando 8a654ffce1 feat(psram): ecc feature on c5 c61 2025-01-17 16:39:59 +08:00
Armando 6505bcd297 refactor(psram): rename quad psram related naming 2025-01-17 11:31:11 +08:00
Song Ruo Jing 20eb6ca5e9 feat(heap): add a MALLOC_CAP_SIMD flag
MALLOC_CAP_SIMD can be used to allocate memory to be used for SIMD instructions
2025-01-16 14:39:12 +08:00
Armando 14b5db0e87 refactor(mspi): rename to mspi_ll.h 2025-01-07 16:16:06 +08:00
Armando 54a9386b2e fix(psram): fixed mode reg read bad timing on octal and hex psrams 2024-12-24 16:04:47 +08:00
morris 1316d7b741 refactor(spi): hal driver doesn't depend on sdkconfig.h 2024-12-04 19:10:57 +08:00
Armando b626089340 fix(psram): fixed esp32p pico-v3 psram init not ignored issue
Closes https://github.com/espressif/esp-idf/issues/14970
2024-12-03 15:09:34 +08:00
Guillaume Souchere 2a9a41886c feat(heap): Sort list of registered heap by increasing size
For a given group of heaps sharing the same capabilities, it is
best to use smaller heaps first when performing "small" allocations
to keep the bigger heaps untouched. This prevents the scenario where
a series of small allocations would crowd the bigger heaps making
any bigger allocation fail for lack of space.

Closes https://github.com/espressif/esp-idf/issues/13588
2024-11-21 11:02:19 +01:00