Commit Graph

37 Commits

Author SHA1 Message Date
Armando
f095432fc0 feat(psram): support APS3204L 2024-07-29 11:44:49 +08:00
Xiao Xufeng
c32a56fe3b spi_flash: fixed issue that enabling HPM-DC by default may cause app unable to restart 2024-03-03 23:11:43 +08:00
muhaidong
be1be3c64a fix(wifi): fix some wifi bugs
1. support dump ACK frame for CSI
2. fix psram enabled but initialized fail issue
2024-01-11 17:51:00 +08:00
Armando
9d6809bc99 psram: fixed esp32 2t mode fail issue 2023-08-24 15:30:07 +08:00
Michael (XIAO Xufeng)
f168e9f174 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:59 +08:00
morris
73551a70cc Merge branch 'bugfix/fix_mmap_reserved_irom_drom_size_5.0' into 'release/v5.0'
fix(mm): correct mmap reserved irom and drom size (v5.0)

See merge request espressif/esp-idf!24603
2023-07-11 18:11:00 +08:00
Armando
757f58c3ba fix(mm): correct mmap reserved irom and drom size
Prior to this commit, we don't consider the offset of the irom vaddr
start.

If the offset + size is bigger than the MMU page size, for example:
MMU page size: 0x10000
irom vaddr: 0x4200_0800, so offset = 0x800
irom size: 0xF900
offset + size = 0x10100

Under this condition, the 0x4200_0000 ~ 0x4202_0000, two MMU pages are
used.

With this commit, when reserving the irom and drom, we take the offset
into consideration as well.

Closes https://github.com/espressif/esp-idf/issues/2561
2023-07-07 10:45:26 +00:00
wanglei
861e6a4ef8 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 15:15:32 +08:00
morris
04d2cc841c Merge branch 'bugfix/himem_map_range_block_v5.0' into 'release/v5.0'
himem: fixed incorrect out_ptr when range_offset is given non-zero. (v5.0)

See merge request espressif/esp-idf!23081
2023-05-15 10:43:03 +08:00
Xiao Xufeng
80e4b67fd1 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-06 01:46:20 +08:00
yn386
6cfc016dc5 esp_psram: fix compile error for SPI PSRAM 2T mode 2023-03-29 11:42:51 +08:00
KonstantinKondrashov
963a8b1c57 esp_psram: Use efuse_ll instead of efuse API
When the virt efuse mode is on and psram is on as well
then efuse buffer is not filled by efuses (it is filled by 0).
So the psram init func gets wrong pkg_ver = 0.

Closes https://github.com/espressif/esp-idf/issues/10925
Close IDFGH-9576
2023-03-10 05:14:50 +00:00
Zim Kalinowski
2a804de4b7 Merge branch 'staging/rename_twdt_config_examples_v5.0' into 'release/v5.0'
TWDT: Use the new TWDT Kconfig options in the examples and tests (Backport v5.0)

See merge request espressif/esp-idf!22631
2023-03-08 16:09:58 +08:00
Omar Chebib
83907aaa20 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-03-07 10:23:43 +08:00
Armando
753ed2697f esp_psram: return error when fail to detect oct psram 2023-03-06 10:56:28 +08:00
Omar Chebib
e4c94328b9 psram: removed deprecated statement about coredump and external BSS 2023-03-01 19:02:24 +08:00
KonstantinKondrashov
823024c10c all: Apply new version logic (major * 100 + minor) 2023-01-06 02:00:52 +08:00
Armando
2369fa4d66 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-15 17:04:23 +08:00
gaoxu
a67409275e psram: remove CS/CLK pin settings in kconfig on ESP32S2/S3 2022-11-11 17:23:39 +08:00
Martin Vychodil
af81bd1b0a 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:49:08 +01:00
Armando
29ae238845 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
Closes https://github.com/espressif/esp-idf/issues/9193
2022-08-27 16:05:51 +08:00
Armando
64e0ee573d 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-27 15:11:15 +08:00
Armando
70ab635dd0 esp_psram: fixed 40mhz cs signal glitch issue 2022-08-18 20:26:32 +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
Armando
cdad8a02fe esp_psram: remove g_spiram_ok 2022-06-14 15:44:27 +08:00
Armando
38e5043ae8 esp_psram: new psram component 2022-06-14 15:44:27 +08:00