|
|
@@ -462,13 +462,13 @@ out:
|
|
|
}
|
|
|
#endif // CONFIG_SPI_FLASH_USE_LEGACY_IMPL
|
|
|
|
|
|
-#if !CONFIG_SPI_FLASH_USE_LEGACY_IMPL
|
|
|
+#ifndef CONFIG_SPI_FLASH_USE_LEGACY_IMPL
|
|
|
extern void spi_common_set_dummy_output(esp_rom_spiflash_read_mode_t mode);
|
|
|
extern void spi_dummy_len_fix(uint8_t spi, uint8_t freqdiv);
|
|
|
-static void IRAM_ATTR flash_rom_init(void)
|
|
|
+extern uint8_t g_rom_spiflash_dummy_len_plus[];
|
|
|
+void IRAM_ATTR flash_rom_init(void)
|
|
|
{
|
|
|
uint32_t freqdiv = 0;
|
|
|
- esp_rom_spiflash_read_mode_t read_mode;
|
|
|
|
|
|
#if CONFIG_IDF_TARGET_ESP32
|
|
|
uint32_t dummy_bit = 0;
|
|
|
@@ -493,6 +493,8 @@ static void IRAM_ATTR flash_rom_init(void)
|
|
|
freqdiv = 4;
|
|
|
#endif
|
|
|
|
|
|
+#if !CONFIG_IDF_TARGET_ESP32S2 && !CONFIG_IDF_TARGET_ESP32
|
|
|
+ esp_rom_spiflash_read_mode_t read_mode;
|
|
|
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO
|
|
|
read_mode = ESP_ROM_SPIFLASH_QIO_MODE;
|
|
|
#elif CONFIG_ESPTOOLPY_FLASHMODE_QOUT
|
|
|
@@ -502,6 +504,7 @@ static void IRAM_ATTR flash_rom_init(void)
|
|
|
#elif CONFIG_ESPTOOLPY_FLASHMODE_DOUT
|
|
|
read_mode = ESP_ROM_SPIFLASH_DOUT_MODE;
|
|
|
#endif
|
|
|
+#endif //!CONFIG_IDF_TARGET_ESP32S2 && !CONFIG_IDF_TARGET_ESP32
|
|
|
|
|
|
#if CONFIG_IDF_TARGET_ESP32
|
|
|
g_rom_spiflash_dummy_len_plus[1] = dummy_bit;
|
|
|
@@ -512,11 +515,10 @@ static void IRAM_ATTR flash_rom_init(void)
|
|
|
#if !CONFIG_IDF_TARGET_ESP32S2 && !CONFIG_IDF_TARGET_ESP32
|
|
|
spi_common_set_dummy_output(read_mode);
|
|
|
#endif //!CONFIG_IDF_TARGET_ESP32S2
|
|
|
- esp_rom_spiflash_config_readmode(read_mode);
|
|
|
esp_rom_spiflash_config_clk(freqdiv, 1);
|
|
|
}
|
|
|
#else
|
|
|
-static void IRAM_ATTR flash_rom_init(void)
|
|
|
+void IRAM_ATTR flash_rom_init(void)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
@@ -525,7 +527,6 @@ static void IRAM_ATTR flash_rom_init(void)
|
|
|
esp_err_t IRAM_ATTR spi_flash_write_encrypted(size_t dest_addr, const void *src, size_t size)
|
|
|
{
|
|
|
esp_err_t err = ESP_OK;
|
|
|
- flash_rom_init();
|
|
|
CHECK_WRITE_ADDRESS(dest_addr, size);
|
|
|
if ((dest_addr % 16) != 0) {
|
|
|
return ESP_ERR_INVALID_ARG;
|
|
|
@@ -769,7 +770,6 @@ out:
|
|
|
|
|
|
esp_err_t IRAM_ATTR spi_flash_read_encrypted(size_t src, void *dstv, size_t size)
|
|
|
{
|
|
|
- flash_rom_init();
|
|
|
if (src + size > g_rom_flashchip.chip_size) {
|
|
|
return ESP_ERR_INVALID_SIZE;
|
|
|
}
|