Xiao Xufeng
0cb4e3dfe1
fix(esp_flash): fixed issue of escaping boundary check
...
Also patched corresponding ROM functions
2025-06-25 01:40:40 +08:00
C.S.M
2881da7024
fix(spi_flash): Add suspend check on esp32c6 and esp32h2 for some reason
2025-04-09 10:14:26 +08:00
C.S.M
0e7fa10217
fix(spi_flash): Return false directly in suspend caps check
2025-04-07 15:26:21 +08:00
C.S.M
e691cbef4d
fix(spi_flash): Fix flash encryption write verify,
...
Closes https://github.com/espressif/esp-idf/issues/15380
2025-04-07 15:26:14 +08:00
C.S.M
d772cb3055
feat(spi_flash): support software resume after suspend in unicore
2025-01-21 15:02:22 +08:00
Cao Sen Miao
44e16a6401
fix(spi_flash): Fix issue that flash encryption failed while rom_impl config is enabled
...
The issue is `esp_flash_write_encryped` function in ROM on ESP32C3, ESP32S3
calls legacy implementation, which uses old configuration. And this causes
write fails.
The solution in this commit is to compile and link this function(and related)
in IRAM instead of the ROM one.
The IRAM cost increases around 1.2KB after the fix
2024-02-28 10:07:53 +08:00
Mahavir Jain
58efbf4894
fix(spi_flash): check for safe write address in encrypted flash API
2024-02-14 13:45:11 +05:30
Cao Sen Miao
e7dd6bbcdf
fix(spi_flash): Fix spi_flash counter test on CI
2023-12-18 19:03:30 +08:00
Cao Sen Miao
a5a29882ef
fix(spi_flash): Fix that internal RAM has no enough space to put all stuff inside
2023-12-14 17:05:59 +08:00
Cao Sen Miao
6953b51b3a
fix(spi_flash): Improve encryption write performance, Closes https://github.com/espressif/esp-idf/issues/12553
2023-11-22 10:33:05 +08:00
Adam Múdry
ab1eb37fe8
feat(partition_table): Add read-only partition flag and functionality
2023-10-11 00:01:05 +02:00
gaoxu
542a61b6cb
support SPI_FLASH_ENABLE_COUNTERS feature on esp_flash driver and rename the functions to esp_flash_xx
2023-04-06 11:40:40 +08:00
Cao Sen Miao
5bac46b3e8
MMU: Fix stale data being read on memory mapped instruction page
2023-03-24 18:59:57 +08:00
Armando
d35b6dd852
spi_flash: support write verify feature on esp_flash_write_encrypted API
2023-03-09 14:55:13 +08:00
Armando
110853517a
spi_flash: support write verify feature on esp_flash_write API
2023-03-09 14:55:13 +08:00
gaoxu
44dd14dde4
support SPI_FLASH_VERIFY_WRITE feature on esp_flash driver and add config to test it
2023-03-09 14:55:13 +08:00
Adam Múdry
cfc8332833
spi: Mask esp_flash_erase chip with esp_flash_erase_sector
...
add: Fix to prevent WDT trigger
add: comments to better explain SPI API
Closes https://github.com/espressif/esp-idf/issues/9945
Closes https://github.com/espressif/esp-idf/issues/9212
Closes https://github.com/espressif/esp-idf/issues/8135
2023-01-08 13:58:37 +00:00
C.S.M
54d9da987a
Merge branch 'bugfix/flash_large_memory_size' into 'master'
...
spi_flash: Fix issue that cannot get accurate flash size when encounter large size memory
Closes IDFGH-8063
See merge request espressif/esp-idf!20738
2022-11-22 16:07:17 +08:00
Darian Leung
cf4fea3206
hal: Fix incorrect spi_hal log usage
...
esp_flash_init_main() can be during startup before the OS has started, thus should use
the EARLY version of logging.
2022-11-04 09:07:30 +01:00
Cao Sen Miao
b4964279d4
spi_flash: Fix issue that cannot get accurate flash size when encounter large size memory,
...
Closes https://github.com/espressif/esp-idf/pull/9566
2022-10-31 11:05:36 +08:00
Cao Sen Miao
a690a87829
spi_flash: Remove legacy spi_flash drivers
2022-07-01 11:01:34 +08:00
Sudeep Mohanty
3cd2b67f84
Revert "hal: Fix incorrect spi_hal log usage"
...
This reverts commit a65165dd52
.
2022-06-29 14:52:28 +00:00
Darian Leung
a65165dd52
hal: Fix incorrect spi_hal log usage
...
esp_flash_init_main() can be during startup before the OS has started, thus should use
the EARLY version of logging.
2022-06-08 19:19:44 +08:00
Armando
a8a47a61f5
spi_flash: move buffer check from hal layer to driver layer
...
Prior to this change, `spi_flash_hal_supports_direct_write` and
`spi_flash_hal_supports_direct_read` will check the buffer pointer
place, which should be done in driver layer, instead of HAL layer.
2022-04-08 11:46:10 +08:00
Cao Sen Miao
3a4db97cec
spi_flash: move patch files to common rom patch folder
2021-12-30 14:05:12 +08:00
Cao Sen Miao
3dd1cfea18
spi_flash: refactor spi_flash.h to decline duplicated code
2021-12-30 14:05:12 +08:00
Mahavir Jain
203f82cc49
Fix various warnings generated from Coverity scan
...
esp_timer:
Control flow issues (DEADCODE)
Execution cannot reach this statement: "break;".
protocomm_httpd:
(UNUSED_VALUE)
Assigning value from "cookie_session_id" to "cur_cookie_session_id" here, but that stored value is overwritten before it can be used.
esp_flash_api:
Null pointer dereferences (REVERSE_INULL)
Null-checking "chip" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
2021-12-09 09:38:53 +05:30
Cao Sen Miao
3934e24d22
ESP8684: add spi_flash, efuse, hw_support support
2021-11-06 17:33:44 +08:00
Cao Sen Miao
6c0aebe279
esp_flash: add opi flash support in esp_flash chip driver, for MXIC
2021-09-07 14:44:40 +08:00
Ivan Grokhotkov
7534c4467f
rom, spi_flash: add a patch for esp_flash_erase_region for C3, S3, H2
2021-07-24 13:28:25 +02:00
negativekelvin
8e6700c156
esp_flash_api fixes
2021-07-23 02:35:27 -07:00
Cao Sen Miao
fecf27e54c
spi_flash: add support for 32Mbit address GD flash, for GD25Q256
2021-07-02 17:13:51 +08:00
Cao Sen Miao
0d81edb174
spi_flash: refactoring flash encryption into new api
2021-04-25 17:09:25 +08:00
Cao Sen Miao
c54ea54d98
spi_flash: make suspend off by default and add more information for using suspend
2021-03-26 13:57:14 +08:00
Cao Sen Miao
78a2dbe42a
spi_flash: add a new function to support read the unique id
...
Close https://github.com/espressif/esp-idf/pull/4255
2021-03-15 11:40:33 +08:00
Cao Sen Miao
9905da46e0
spi_flash: Add auto suspend mode on esp32c3
2021-01-25 11:14:02 +08:00
KonstantinKondrashov
60e58eaddb
spi_flash: Add auto-suspend mode for ESP32-S2
...
Uses HW auto_wait_idle, HW auto_suspend and SW resume
2021-01-25 11:13:38 +08:00
Angus Gratton
d4c9a45675
spi_flash: Add ESP32-C3 support
...
Based on internal commit 3ef01301fff
2020-12-17 15:34:13 +11:00
Michael (XIAO Xufeng)
8ae09194ac
esp_flash: refactor to support various type of yield
...
There is a periodically yield in the esp_flash driver, to ensure the
cache will not be disabled for too long on ESP32.
On ESP32-S2 and later, we need to support more different kind of yield:
1. polling conditions, including timeout, SW read request, etc.
2. wait for events, including HW done/error/auto-suspend, timeout
semaphore, etc.
The check_yield() and yield() is separated into two parts, because we
may need to insert suspend, etc. between them.
2020-11-10 19:05:22 +08:00
Michael (XIAO Xufeng)
3bacf35310
esp_flash: support high capacity flash chips (32-bit address)
2020-10-29 18:20:11 +08:00
Renz Bagaporo
b3a7c6e27e
components: remove some unneeded headers from source files
2020-10-22 19:37:10 +08:00
Michael (XIAO Xufeng)
233b4720b4
esp_flash: fix write issue using buffer on stack out of lifetime
2020-09-10 03:17:39 +00:00
Ivan Grokhotkov
75a874d4fd
spi_flash: make {get,release}_temp_buffer OS functions optional
...
Fixes a crash when calling a NULL release_temp_buffer pointer throug
esp_flash_noos_functions, when doing a core dump.
2020-07-29 12:42:26 +02:00
Michael (XIAO Xufeng)
c796bd5e63
esp_flash: refactor to make host driver function a const table
...
This is also part of ESP32-S3 ROM changes
2020-07-13 03:10:00 +08:00
Michael (XIAO Xufeng)
a9c8895bb2
esp_flash: refactor to be compatible with the latest ROM
...
Including:
1. Change the write bytes/read bytes parameter in the host driver into slicers to meet the requirements of complicated cases.
2. Refactor the esp_flash_api code a bit so that we can use the code in the ROM laster
3. Provide get_temp_buffer and release_temp_buffer in the os_functions when the buffer passed by application cannot be used directly.
4. Make timeout of operations configurable in the chip_driver.
5. Make dummy number configurable.
2020-07-12 02:09:45 +08:00
Michael (XIAO Xufeng)
479269a52b
Merge branch 'feature/configure_flash_write_chunk_size' into 'master'
...
spi_flash: add configuration option to select flash write chunk size
See merge request espressif/esp-idf!9067
2020-06-22 14:50:42 +08:00
Mahavir Jain
05da91f0db
spi_flash: add configuration option to select flash write chunk size
...
Flash write operation is broken down into smaller chunk writes. Size
of this chunk was previously set to 8K but that in-turn meant cache and
non-IRAM resident interrupts could stay disabled upto ~24msec for 8K flash
write operation. If chunk size is brought down to 256 (typical flash page size)
then it brings down cache and non-IRAM interrupts disable duration to ~1msec.
Fix here keeps defaults same but provides configuration option to tweak the
setting based on application requirement.
2020-06-05 14:45:41 +05:30
Ivan Grokhotkov
03bb2774d9
spi_flash: don't call vTaskDelay in non-os context
...
Fixes regression in core dump, when a crash happens in interrupt
context.
2020-06-02 15:42:24 +02:00
KonstantinKondrashov
bc50bd2806
spi_flash(new driver): Add a Kconfig option - Bypass a block erase and always do sector erase
...
Closes: IDF-1561
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
ae89f98d59
spi_flash(new driver): Add vTaskDelay while a long erasing
2020-04-30 13:58:13 +08:00