android_kernel_xiaomi_sm8350/drivers/mtd
Vignesh Raghavendra 4844ef8030 mtd: cfi_cmdset_0002: Add support for polling status register
HyperFlash devices are compliant with CFI AMD/Fujitsu Extended Command
Set (0x0002) for flash operations, therefore
drivers/mtd/chips/cfi_cmdset_0002.c can be used as is. But these devices
do not support DQ polling method of determining chip ready/good status.
These flashes provide Status Register whose bits can be polled to know
status of flash operation.

Cypress HyperFlash datasheet here[1], talks about CFI Amd/Fujitsu
Extended Query version 1.5. Bit 0 of "Software Features supported" field
of CFI Primary Vendor-Specific Extended Query table indicates
presence/absence of status register and Bit 1 indicates whether or not
DQ polling is supported. Using these bits, its possible to determine
whether flash supports DQ polling or need to use Status Register.

Add support for polling Status Register to know device ready/status of
erase/write operations when DQ polling is not supported.
Print error messages on erase/program failure by looking at related
Status Register bits.

[1] https://www.cypress.com/file/213346/download

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Tokunori Ikegami <ikegami.t@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2019-06-27 19:47:45 +02:00
..
chips mtd: cfi_cmdset_0002: Add support for polling status register 2019-06-27 19:47:45 +02:00
devices mtd: phram: Mark expected switch fall-throughs 2019-05-06 21:57:05 +02:00
lpddr mtd: lpddr_cmds: Mark expected switch fall-through 2019-05-06 21:57:05 +02:00
maps treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
nand mtd: rawnand: vf610_nfc: add initializer to avoid -Wmaybe-uninitialized 2019-05-14 19:52:48 -07:00
parsers mtd: afs: add v2 partition parsing 2019-05-06 21:57:03 +02:00
spi-nor spi-nor: intel-spi: Add support for Intel Comet Lake SPI serial flash 2019-05-06 11:18:02 +03:00
tests mtd: rawnand: Clarify Kconfig entry MTD_NAND 2019-04-18 08:54:00 +02:00
ubi ubi: wl: Fix uninitialized variable 2019-05-07 21:58:33 +02:00
ar7part.c
bcm47xxpart.c
bcm63xxpart.c mtd: bcm63xxpart: move imagetag parsing to its own parser 2019-05-06 21:46:45 +02:00
cmdlinepart.c
ftl.c
inftlcore.c
inftlmount.c
Kconfig mtd: afs: Move AFS partition parser to parsers subdir 2019-05-06 21:48:46 +02:00
Makefile mtd: afs: Move AFS partition parser to parsers subdir 2019-05-06 21:48:46 +02:00
mtd_blkdevs.c
mtdblock_ro.c
mtdblock.c mtd: change len type from signed to unsigned type 2018-12-03 11:32:26 +01:00
mtdchar.c
mtdconcat.c
mtdcore.c MTD changes: 2019-03-04 18:59:37 -08:00
mtdcore.h mtd: Check add_mtd_device() ret code 2019-01-07 14:06:24 +01:00
mtdoops.c
mtdpart.c mtd: part: fix incorrect format specifier for an unsigned long long 2019-05-06 21:57:06 +02:00
mtdsuper.c
mtdswap.c mtd: use DEFINE_SHOW_ATTRIBUTE() instead of open-coding it 2018-12-03 11:32:26 +01:00
nftlcore.c
nftlmount.c mtd: nftl: clean up indentation, remove extraneous tabs 2018-12-02 09:20:36 +01:00
ofpart.c
rfd_ftl.c
sm_ftl.c mtd: nand: Clarify Kconfig entry for software Hamming ECC entries 2019-04-18 08:54:00 +02:00
sm_ftl.h
ssfdc.c