Commit Graph

52 Commits

Author SHA1 Message Date
Chen Jichang
bec23c9d81 feat(psram): add psram noinit segment support on S2/S3/P4/C5
Closes https://github.com/espressif/esp-idf/issues/14253
2024-09-04 15:08:12 +08:00
Armando
6ead617708 fix(psram): fixed ap3204 id check 2024-08-28 11:05:44 +08:00
Armando
c330a9ef67 feat(psram): support APS3204L 2024-07-29 11:43:33 +08:00
Xiao Xufeng
194ea85ee8 spi_flash: fixed issue that enabling HPM-DC by default may cause app unable to restart 2024-03-12 10:48:08 +08:00
muhaidong
482ba2b909 fix(wifi): fix psram enabled but initialized fail issue
Closes https://github.com/espressif/esp-idf/issues/11971
2023-12-19 19:15:49 +08:00
Michael (XIAO Xufeng)
6dab947f68 spiram: Support configure CLK onto the same pin as flash for ESP32-D0WD
When using PSRAM of rev0, the Flash and PSRAM should use different clock pins. But if using newer PSRAM, this is not necesary. This MR fixed the issue that allocating CLK of PSRAM to the same pin as Flash may crash.
2023-08-03 15:44:22 +08:00
wanglei
4ba10243f4 cache: patch some rom cache api, rename those apis in ld
1. Cache_Count_Flash_Pages, fix this api return enexpected + 1
2. Cache_Suspend_I/DCache, add wait cache idle after suspend cache
3. Cache_Freeze_I/DCache_Enable, add wait cache idle after freeze
2023-06-19 10:53:51 +08:00
Xiao Xufeng
ef4db26eca himem: Fixed incorrect out_ptr when calling esp_himem_map range_offset non-zero
Closes: https://github.com/espressif/esp-idf/issues/5639
2023-04-05 01:29:34 +08:00
Armando
739b3f03fb kconfig: make 120 MSPI DDR as experimental feature 2023-04-03 10:30:50 +08:00
Armando
6d4c0bb3aa mspi: support 120M DDR flash and psram on S3 (experimental) 2023-04-03 10:30:50 +08:00
Armando
84e3d7de85 psram: fixed esp32 2t mode fail issue 2023-03-30 02:45:06 +00:00
laokaiyao
c9f780dc2e gpio: support runtime preserve 2023-03-17 11:59:49 +08:00
Marius Vikhammer
0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +08:00
Omar Chebib
9852cb49f7 psram: removed deprecated statement about coredump and external BSS 2023-03-07 05:59:08 +00:00
Armando
1ecd1e3bf0 esp_mm: fix dependency to esp_psram 2023-02-28 10:42:22 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
yn386
4a09c18ea6 esp_psram: fix compile error for SPI PSRAM 2T mode 2023-02-16 06:21:42 +00:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00
Armando
16398c2d06 mmu: move mem_caps macro to hal/mmu_types.h as an enum type 2023-02-07 20:23:52 +08:00
Armando
8ba67dfc38 mmu: rename api to esp_mmu_reserve_block_with_caps
esp_mmu_get_largest_free_block() ->
esp_mmu_get_max_consecutive_free_block()

esp_mmu_find_vaddr_range() -> esp_mmu_reserve_block_with_caps()
2023-02-07 20:23:51 +08:00
wuzhenghui
44df5b31af feature: add ram loadable app support 2023-02-01 17:57:22 +08:00
Armando
b46cfd15a2 mspi: move timing tuning to esp_hw_support 2023-01-06 14:41:20 +08:00
Armando
25114b716e mspi_tuning: fix psram timing tuning bug
Prior to this commit, when calling:
- spi_timing_enter_mspi_low_speed_mode()
- spi_timing_enter_mspi_high_speed_mode()

psram timing is not tuned. This will lead to a stall during early
startup. This bug is on S3, for 80MHz DDR PSRAM

This commit will add psram timing tuning, in these two functions.
2022-12-09 17:23:23 +08:00
jiangguangming
d65913d279 esp_psram: update esp_psram s2/s3 Kconfig description 2022-12-05 15:07:29 +00:00
Konstantin Kondrashov
0786539047 Merge branch 'feature/remove_efuse_dependency' into 'master'
esp_hw_support: Removes efuse dependency

Closes IDF-4713

See merge request espressif/esp-idf!21212
2022-11-29 18:12:26 +08:00
KonstantinKondrashov
741e89cbaa esp_hw_support: Removes efuse dependency 2022-11-25 19:27:33 +08:00
Marius Vikhammer
59e40fafba esp_hw_support: move test to pytest 2022-11-25 16:21:35 +08:00
Armando
bf6ca71630 esp_psram: return error when fail to detect oct psram 2022-11-17 13:46:44 +08:00
gaoxu
c1bdd9c697 psram: remove CS/CLK pin settings in kconfig on ESP32S2/S3 2022-11-11 16:40:46 +08:00
Michael (XIAO Xufeng)
c546de8d82 Merge branch 'feature/apply_new_version_logic' into 'master'
all: Apply new version logic (major * 100 + minor)

Closes IDF-4932 and IDF-4939

See merge request espressif/esp-idf!18787
2022-11-04 16:01:32 +08:00
KonstantinKondrashov
1f9260d790 all: Apply new version logic (major * 100 + minor) 2022-11-03 08:36:23 +00:00
Martin Vychodil
c9c7573f71 Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:54:45 +01:00
gaoxu
76eef386bb esp_psram: update flash content moved to psram kconfig description 2022-10-11 15:15:04 +08:00
Armando
ebe5861565 esp_psram: added a test for unaligned access 2022-08-26 17:59:06 +08:00
Armando
2d44dc1eed mmu: driver framework, for vaddr maintenance
This commit gives basic mmu driver framework. Now it is able to maintain
mmu virtual address usage on esp32, esp32s2 and esp32s3. Usage to
external virtual address should rely on mmu functions to know which
address range is available, instead of hardcoded.

This commit also improves psram memory that is added to the heap
allocator. Now it's added to the heap, according to the memory
alignment.

Closes https://github.com/espressif/esp-idf/issues/8295
2022-08-26 17:59:06 +08:00
Armando
dc5cab7730 esp_psram: rename esp_private/mmu.h to mmu_psram_flash.h
Prior to this commit, esp_psram/include/esp_private/mmu.h contains some
APIs that is used for:
- copy flash content to psram
- necessary sync APIs used by flash_mmap.c, due to above feature

This commit rename it to mmu_psram_flash.h, therefore mmu.h can be used
for real mmu related APIs.

This commit also moves above mention funcitons in `mmu.c` and
`mmu_psram.c` to `mmu_psram_flash.c`, leaving `mmu.c` to be used for
real mmu driver.
2022-08-25 20:35:20 +08:00
Armando
56e4664d00 ci: add psram test to s3 boards with quad psram 2022-08-19 12:35:15 +08:00
Armando
02fb570253 esp_psram: fixed 40mhz cs signal glitch issue 2022-08-17 10:38:49 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Armando
42dfb5cadd esp_psram: improve mapping log when physical range is larger
After this commit, when physical address is larger than vaddr range,
driver will still map as much as it can, but also give a verbose level
log to show the actual mapped size
2022-07-27 10:22:09 +00:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Jiang Jiang Jian
9873d4d138 Merge branch 'bugfix/s2_s3_stack_extmem_config' into 'master'
psram: make SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY configurable on S2 and S3

See merge request espressif/esp-idf!18894
2022-07-11 10:54:59 +08:00
Marius Vikhammer
342f4f315c psram: make SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY configurable on S2 and S3
SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY was always enabled on S2 and S3, but this option is not
compatible with ESP_COREDUMP_ENABLE_TO_FLASH. Make it configurable to allow users to deactive
it so that ESP_COREDUMP_ENABLE_TO_FLASH can be used.
2022-07-06 12:11:15 +08:00
KonstantinKondrashov
0f8ff5aa15 efuse: Adds major and minor versions and others 2022-07-05 14:38:27 +08:00
Armando
f0e93ed0f8 psram: reserve dma pool in the step of heap max block
As heap block may be allocated into multiple non-contiguous chunks, to
reserve enough memory for dma/internal usage, we do the malloc in the
step of max available block.

On ESP32 we use this way, this commit follows this way, on ESP32S2 and
ESP32S3
2022-06-30 10:18:20 +00:00
Armando (Dou Yiwen)
e13d7f8351 Merge branch 'bugfix/s2_ap64_psram_crash_issue' into 'master'
psram: fix esp32s2 module with APS6404 PSRAM crash issue

Closes IDF-5361

See merge request espressif/esp-idf!18699
2022-06-29 11:19:17 +08:00
Armando
63d4b52e21 psram: correct psram size log 2022-06-28 14:17:44 +08:00
Armando
31b3f31ef4 ext_mem: make memory region check strict 2022-06-28 14:17:44 +08:00
Armando
f31d88e3fe spi: move spi_common_internal to esp_private 2022-06-24 19:12:13 +08:00
Armando
26df228b11 psram: fix esp32/esp_psram_impl_quad memcpy out of bounds issue 2022-06-14 15:44:27 +08:00