forked from espressif/esp-idf
Merge branch 'bugfix/wrap_init' into 'master'
spi_flash: initialize wrap in app stage See merge request espressif/esp-idf!22362
This commit is contained in:
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user