spi_flash(new driver): Add a Kconfig option - Bypass a block erase and always do sector erase

Closes: IDF-1561
This commit is contained in:
KonstantinKondrashov 2020-04-24 02:13:17 +08:00
parent 5c98ff015e
commit 4214179de1

View file

@ -352,13 +352,15 @@ esp_err_t IRAM_ATTR esp_flash_erase_region(esp_flash_t *chip, uint32_t start, ui
return err; return err;
} }
#ifndef CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE
// If possible erase an entire multi-sector block // If possible erase an entire multi-sector block
if (block_erase_size > 0 && len >= block_erase_size && (start % block_erase_size) == 0) { if (block_erase_size > 0 && len >= block_erase_size && (start % block_erase_size) == 0) {
err = chip->chip_drv->erase_block(chip, start); err = chip->chip_drv->erase_block(chip, start);
start += block_erase_size; start += block_erase_size;
len -= block_erase_size; len -= block_erase_size;
} } else
else { #endif
{
// Otherwise erase individual sector only // Otherwise erase individual sector only
err = chip->chip_drv->erase_sector(chip, start); err = chip->chip_drv->erase_sector(chip, start);
start += sector_size; start += sector_size;