From 29e0258de2aaf8ce7775d643a6495a163da16cf1 Mon Sep 17 00:00:00 2001 From: Cao Sen Miao Date: Tue, 14 Feb 2023 11:47:56 +0800 Subject: [PATCH] spi_flash: init wrap in app stage --- components/spi_flash/cache_utils.c | 9 ++++++--- components/spi_flash/include/esp_private/spi_flash_os.h | 2 +- components/spi_flash/spi_flash_wrap.c | 4 +--- .../test_apps/esp_flash/main/test_esp_flash_drv.c | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/components/spi_flash/cache_utils.c b/components/spi_flash/cache_utils.c index c473d4d6a7..9f575a332a 100644 --- a/components/spi_flash/cache_utils.c +++ b/components/spi_flash/cache_utils.c @@ -649,6 +649,7 @@ esp_err_t esp_enable_cache_wrap(bool icache_wrap_enable, bool dcache_wrap_enable #ifdef CONFIG_ESPTOOLPY_FLASHMODE_QIO flash_support_wrap = true; + spi_flash_wrap_probe(); if (!spi_flash_support_wrap_size(flash_wrap_size)) { flash_support_wrap = false; ESP_EARLY_LOGW(TAG, "Flash do not support wrap size %d.", flash_wrap_size); @@ -672,7 +673,7 @@ esp_err_t esp_enable_cache_wrap(bool icache_wrap_enable, bool dcache_wrap_enable if (flash_support_wrap && flash_wrap_size > 0) { ESP_EARLY_LOGI(TAG, "Flash wrap enabled, size = %d.", flash_wrap_size); - spI_flash_wrap_enable(flash_wrap_size); + spi_flash_wrap_enable(flash_wrap_size); esp_enable_cache_flash_wrap((flash_wrap_sizes[0] > 0), (flash_wrap_sizes[1] > 0)); } #if (CONFIG_IDF_TARGET_ESP32S2 && CONFIG_SPIRAM) @@ -895,6 +896,7 @@ esp_err_t esp_enable_cache_wrap(bool icache_wrap_enable, bool dcache_wrap_enable #ifdef CONFIG_ESPTOOLPY_FLASHMODE_QIO flash_support_wrap = true; + spi_flash_wrap_probe(); if (!spi_flash_support_wrap_size(flash_wrap_size)) { flash_support_wrap = false; ESP_EARLY_LOGW(TAG, "Flash do not support wrap size %d.", flash_wrap_size); @@ -919,7 +921,7 @@ esp_err_t esp_enable_cache_wrap(bool icache_wrap_enable, bool dcache_wrap_enable if (flash_support_wrap && flash_wrap_size > 0) { ESP_EARLY_LOGI(TAG, "Flash wrap enabled, size = %d.", flash_wrap_size); - spI_flash_wrap_enable(flash_wrap_size); + spi_flash_wrap_enable(flash_wrap_size); esp_enable_cache_flash_wrap((flash_wrap_sizes[0] > 0), (flash_wrap_sizes[1] > 0)); } #if (CONFIG_IDF_TARGET_ESP32S3 && CONFIG_SPIRAM) @@ -961,6 +963,7 @@ esp_err_t esp_enable_cache_wrap(bool icache_wrap_enable) #ifdef CONFIG_ESPTOOLPY_FLASHMODE_QIO flash_support_wrap = true; + spi_flash_wrap_probe(); if (!spi_flash_support_wrap_size(flash_wrap_size)) { flash_support_wrap = false; ESP_EARLY_LOGW(TAG, "Flash do not support wrap size %d.", flash_wrap_size); @@ -971,7 +974,7 @@ esp_err_t esp_enable_cache_wrap(bool icache_wrap_enable) if (flash_support_wrap && flash_wrap_size > 0) { ESP_EARLY_LOGI(TAG, "Flash wrap enabled, size = %d.", flash_wrap_size); - spI_flash_wrap_enable(flash_wrap_size); + spi_flash_wrap_enable(flash_wrap_size); esp_enable_cache_flash_wrap((flash_wrap_size > 0)); } return ESP_OK; diff --git a/components/spi_flash/include/esp_private/spi_flash_os.h b/components/spi_flash/include/esp_private/spi_flash_os.h index 25273a2c70..760930ef1a 100644 --- a/components/spi_flash/include/esp_private/spi_flash_os.h +++ b/components/spi_flash/include/esp_private/spi_flash_os.h @@ -144,7 +144,7 @@ bool spi_flash_hpm_dummy_adjust(void); * @return esp_err_t : ESP_OK for successful. * */ -esp_err_t spI_flash_wrap_enable(spi_flash_wrap_size_t wrap_size); +esp_err_t spi_flash_wrap_enable(spi_flash_wrap_size_t wrap_size); /** * @brief Probe flash wrap method diff --git a/components/spi_flash/spi_flash_wrap.c b/components/spi_flash/spi_flash_wrap.c index 447478ca19..3a514d435f 100644 --- a/components/spi_flash/spi_flash_wrap.c +++ b/components/spi_flash/spi_flash_wrap.c @@ -140,10 +140,8 @@ esp_err_t spi_flash_wrap_probe(void) return ret; } -esp_err_t spI_flash_wrap_enable(spi_flash_wrap_size_t wrap_size) +esp_err_t spi_flash_wrap_enable(spi_flash_wrap_size_t wrap_size) { - // Calculate pre_code. pre_code equals log(2)(wrap_size) - 3 - // So the wrap_size:pre_code is 8:0, 16:1, 32:2, 64:3. return chip_wrap->chip_wrap_set(wrap_size); } diff --git a/components/spi_flash/test_apps/esp_flash/main/test_esp_flash_drv.c b/components/spi_flash/test_apps/esp_flash/main/test_esp_flash_drv.c index 2e7e105a24..e563cd326c 100644 --- a/components/spi_flash/test_apps/esp_flash/main/test_esp_flash_drv.c +++ b/components/spi_flash/test_apps/esp_flash/main/test_esp_flash_drv.c @@ -555,7 +555,7 @@ void test_flash_wrap(const esp_partition_t* part) printf("Read back...\n"); spi_flash_wrap_probe(); - spI_flash_wrap_enable(FLASH_WRAP_SIZE_32B); + spi_flash_wrap_enable(FLASH_WRAP_SIZE_32B); esp_flash_read(chip, wrap_buf, offs + 3, sizeof(wrap_buf)); spi_flash_wrap_disable();