From b458d52e2bdb53044b91da2040f3af206b9e8d12 Mon Sep 17 00:00:00 2001 From: chrysn Date: Thu, 31 Mar 2022 19:28:02 +0200 Subject: [PATCH] cpu/esp_common: Set write size for flash implementation --- cpu/esp_common/periph/flash.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cpu/esp_common/periph/flash.c b/cpu/esp_common/periph/flash.c index 7e0a35de5b..c1852bf751 100644 --- a/cpu/esp_common/periph/flash.c +++ b/cpu/esp_common/periph/flash.c @@ -127,6 +127,7 @@ void spi_flash_drive_init (void) _flash_driver.write_page = &_flash_write_page; _flash_driver.erase = &_flash_erase; _flash_driver.power = &_flash_power; + _flash_driver.flags = MTD_DRIVER_FLAG_CLEARING_OVERWRITE; /* first, set the beginning of flash to 0x0 to read partition table */ _flash_beg = 0x0; @@ -200,6 +201,9 @@ void spi_flash_drive_init (void) _flash_dev.pages_per_sector = _flashchip->sector_size / _flashchip->page_size; _flash_dev.page_size = _flashchip->page_size; + /* Emulation for smaller / unaligned writes is present, but at reduced + * performance */ + _flash_dev.write_size = 4; DEBUG("%s flashchip chip_size=%d block_size=%d sector_size=%d page_size=%d\n", __func__, _flashchip->chip_size, _flashchip->block_size,