u-boot/drivers/mtd
Marek Vasut b91a0822d7 mtd: spi-nor: Add CHIP_ERASE optimization
Add support for CHIP_ERASE opcode 0xc7 . This is useful in case the
entire SPI NOR is supposed to be erase at once, as is it considerably
faster than 4k sector erase and even slightly faster than 64k block
erase. The spi_nor_erase_chip() implementation is adapted from Linux
6.1.y as of commit 7d54cb2c26dad ("Linux 6.1.14") . The chip erase is
only used in case the entire MTD device is being erased, and the chip
does support this functionality.

Timing figures from W25Q128JW:
16 MiB erase using 4kiB sector erase opcode 0x20 ... 107.5s
16 MiB erase using 64kiB block erase opcode 0xd8 ... 39.1s
16 MiB erase using chip erase opcode 0xc7 .......... 38.7s

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2023-04-25 22:52:55 +05:30
..
nand configs: 2023-04-22 18:30:56 -04:00
onenand global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
spi mtd: spi-nor: Add CHIP_ERASE optimization 2023-04-25 22:52:55 +05:30
ubi global: Remove unused CONFIG defines 2023-01-20 12:27:06 -05:00
ubispl drivers/mtd/ubispl/ubispl.c: Fix spelling of "mismatched". 2022-01-13 07:57:49 -05:00
altera_qspi.c mtd: Remove mtd_erase_callback() entirely 2021-10-23 15:47:33 +05:30
cfi_flash.c Convert CONFIG_FLASH_SHOW_PROGRESS to Kconfig 2022-12-22 10:31:48 -05:00
cfi_mtd.c mtd: cfi_mtd: populate mtd->dev with flash_info->dev 2022-02-01 10:56:25 +01:00
hbmc-am654.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
jedec_flash.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
Kconfig Convert CONFIG_FLASH_SPANSION_S29WS_N et al to Kconfig 2022-12-22 10:31:48 -05:00
Makefile flash: Remove pic32_flash.c 2022-08-04 16:18:47 -04:00
mtd-uclass.c dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
mtd_uboot.c configs: remove support of MTDIDS_DEFAULT/MTDPARTS_DEFAULT 2022-12-12 16:46:07 -05:00
mtdconcat.c mtd: Remove mtd_erase_callback() entirely 2021-10-23 15:47:33 +05:30
mtdcore.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
mtdcore.h mtd: move definitions to enlarge their range 2018-09-20 20:10:49 +05:30
mtdpart.c dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
renesas_rpc_hf.c renesas: Fix RPC-IF compatible values 2022-09-02 13:25:01 +02:00
stm32_flash.c global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
stm32_flash.h stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00