android_kernel_xiaomi_sm8350/drivers/mtd/chips
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
..
cfi_cmdset_0001.c mtd: cfi: cmdset_0001: Use struct_size() in kmalloc() 2019-01-15 20:49:31 +01:00
cfi_cmdset_0002.c mtd: cfi_cmdset_0002: Add support for polling status register 2019-06-27 19:47:45 +02:00
cfi_cmdset_0020.c mtd: cfi_cmdset_0020: Mark expected switch fall-throughs 2018-11-09 20:40:11 +01:00
cfi_probe.c
cfi_util.c mtd: cfi_util: mark expected switch fall-throughs 2019-05-06 21:57:04 +02:00
chipreg.c
fwh_lock.h
gen_probe.c mtd: gen_probe: Use struct_size() in kmalloc() 2019-01-15 20:49:29 +01:00
jedec_probe.c
Kconfig mtd: Make Kconfig formatting consistent 2018-07-19 23:12:06 +02:00
Makefile
map_absent.c
map_ram.c
map_rom.c