linux-xiaomi-chiron/include/linux/mtd
Tudor Ambarus 39d1e3340c
mtd: spi-nor: Fix clearing of QE bit on lock()/unlock()
Make sure that when doing a lock() or an unlock() operation we don't clear
the QE bit from Status Register 2.

JESD216 revB or later offers information about the *default* Status
Register commands to use (see BFPT DWORDS[15], bits 22:20). In this
standard, Status Register 1 refers to the first data byte transferred on a
Read Status (05h) or Write Status (01h) command. Status register 2 refers
to the byte read using instruction 35h. Status register 2 is the second
byte transferred in a Write Status (01h) command.

Industry naming and definitions of these Status Registers may differ.
The definitions are described in JESD216B, BFPT DWORDS[15], bits 22:20.
There are cases in which writing only one byte to the Status Register 1
has the side-effect of clearing Status Register 2 and implicitly the Quad
Enable bit. This side-effect is hit just by the
BFPT_DWORD15_QER_SR2_BIT1_BUGGY and BFPT_DWORD15_QER_SR2_BIT1 cases.

Suggested-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
2019-11-11 08:55:25 +02:00
..
bbm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
blktrans.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
cfi.h NAND core changes: 2019-07-06 22:51:56 +02:00
cfi_endian.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
concat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
doc2000.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
flashchip.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
ftl.h
gen_probe.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
hyperbus.h mtd: Add support for HyperBus memory devices 2019-06-27 19:47:58 +02:00
inftl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jedec.h mtd: rawnand: Move JEDEC code to nand_jedec.c 2018-10-03 11:12:25 +02:00
latch-addr-flash.h
lpc32xx_mlc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lpc32xx_slc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
map.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
mtd.h mtd: mtdcore: add debugfs nodes for querying the flash name and id 2019-08-29 10:36:47 +03:00
mtdram.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nand-gpio.h This pull request contains the following core changes: 2017-11-22 20:46:06 -10:00
nand.h mtd: nand: fix typo, s/erasablocks/eraseblocks 2019-08-26 09:25:41 +02:00
nand_bch.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
nand_ecc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ndfc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
nftl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
onenand.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
onenand_regs.h This pull-request contains the following changes for MTD: 2019-07-13 15:42:44 -07:00
onfi.h mtd: rawnand: Move ONFI code to nand_onfi.c 2018-10-03 11:12:25 +02:00
partitions.h mtd: partitions: add of_match_table parser matching for the "ofpart" type 2018-03-27 09:10:48 +02:00
pfow.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
physmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pismo.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
plat-ram.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
platnand.h mtd: rawnand: Move platform_nand_xxx definitions out of rawnand.h 2018-10-03 11:12:25 +02:00
qinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rawnand.h This pull-request contains the following changes for MTD: 2019-07-13 15:42:44 -07:00
sh_flctl.h mtd: rawnand: sh_flctl: convert to SPDX identifiers 2018-11-13 09:32:04 +01:00
sharpsl.h mtd: rawnand: sharpsl: add include guard to linux/mtd/sharpsl.h 2019-08-26 09:25:41 +02:00
spear_smi.h Shiraz has moved 2014-04-18 16:40:08 -07:00
spi-nor.h mtd: spi-nor: Fix clearing of QE bit on lock()/unlock() 2019-11-11 08:55:25 +02:00
spinand.h mtd: spinand: Add initial support for Paragon PN26G0xA 2019-06-27 20:13:07 +02:00
super.h mtd: Kill mount_mtd() 2019-09-05 14:34:26 -04:00
ubi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
xip.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00