From d14a627f2fa110e514485bbaebfe77413418a934 Mon Sep 17 00:00:00 2001 From: "C.S.M" Date: Tue, 21 Jan 2025 10:47:11 +0800 Subject: [PATCH 1/2] fix(spi_flash): Fix build fail when rom_patch config disabled, Closes https://github.com/espressif/esp-idf/issues/15229 --- components/esp_rom/patches/esp_rom_spiflash.c | 10 +++++++--- .../test_apps/esp_flash/sdkconfig.ci.rom_patch | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 components/spi_flash/test_apps/esp_flash/sdkconfig.ci.rom_patch diff --git a/components/esp_rom/patches/esp_rom_spiflash.c b/components/esp_rom/patches/esp_rom_spiflash.c index fb525244db..ad9e1e6ddc 100644 --- a/components/esp_rom/patches/esp_rom_spiflash.c +++ b/components/esp_rom/patches/esp_rom_spiflash.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -18,8 +18,6 @@ #define SPI_IDX 1 -#if CONFIG_SPI_FLASH_ROM_DRIVER_PATCH - #if CONFIG_IDF_TARGET_ESP32 extern esp_rom_spiflash_chip_t g_rom_spiflash_chip; @@ -105,6 +103,12 @@ __attribute__((__unused__)) esp_rom_spiflash_result_t esp_rom_spiflash_clear_bp( } esp_rom_spiflash_result_t esp_rom_spiflash_unlock(void) __attribute__((alias("esp_rom_spiflash_clear_bp"))); +#endif // CONFIG_IDF_TARGET_ESP32 + +#if CONFIG_SPI_FLASH_ROM_DRIVER_PATCH + +#if CONFIG_IDF_TARGET_ESP32 + static esp_rom_spiflash_result_t esp_rom_spiflash_enable_write(esp_rom_spiflash_chip_t *spi); //only support spi1 diff --git a/components/spi_flash/test_apps/esp_flash/sdkconfig.ci.rom_patch b/components/spi_flash/test_apps/esp_flash/sdkconfig.ci.rom_patch new file mode 100644 index 0000000000..fd63e157f9 --- /dev/null +++ b/components/spi_flash/test_apps/esp_flash/sdkconfig.ci.rom_patch @@ -0,0 +1 @@ +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n From 3d30cae7d3310f5de462dc27deb462c98aeeb316 Mon Sep 17 00:00:00 2001 From: "C.S.M" Date: Wed, 19 Feb 2025 11:35:09 +0800 Subject: [PATCH 2/2] refactor(spi_flash): remove redundent flash suspend check --- components/spi_flash/spi_flash_chip_generic.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/components/spi_flash/spi_flash_chip_generic.c b/components/spi_flash/spi_flash_chip_generic.c index fd5760a253..81b021869a 100644 --- a/components/spi_flash/spi_flash_chip_generic.c +++ b/components/spi_flash/spi_flash_chip_generic.c @@ -829,11 +829,6 @@ esp_err_t spi_flash_common_set_io_mode(esp_flash_t *chip, esp_flash_wrsr_func_t esp_err_t spi_flash_chip_generic_suspend_cmd_conf(esp_flash_t *chip) { - // Only XMC support auto-suspend - if (chip->chip_id >> 16 != 0x20) { - ESP_EARLY_LOGE(TAG, "The flash you use doesn't support auto suspend, only \'XMC\' is supported"); - return ESP_ERR_NOT_SUPPORTED; - } spi_flash_sus_cmd_conf sus_conf = { .sus_mask = 0x80, .cmd_rdsr = CMD_RDSR2,