alistair23-linux/drivers/mtd
Boris Brezillon 73f907fd5f mtd: nand: Fix data interface configuration logic
When changing from one data interface setting to another, one has to
ensure a specific sequence which is described in the ONFI spec.

One of these constraints is that the CE line has go high after a reset
before a command can be sent with the new data interface setting, which
is not guaranteed by the current implementation.

Rework the nand_reset() function and all the call sites to make sure the
CE line is asserted and released when required.

Also make sure to actually apply the new data interface setting on the
first die.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Fixes: d8e725dd83 ("mtd: nand: automate NAND timings selection")
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
2016-10-28 09:58:36 +02:00
..
chips mtd: cfi_cmdset_0020: Deinline do_write_buffer, save 5316 bytes 2016-07-09 18:53:33 -07:00
devices MTD updates for v4.8: 2016-08-02 17:05:11 -04:00
lpddr
maps ARM: realview: imply device tree boot 2016-08-15 20:53:07 +02:00
nand mtd: nand: Fix data interface configuration logic 2016-10-28 09:58:36 +02:00
onenand mtd: silence some uninitialized variable warnings 2016-07-09 18:14:39 -07:00
spi-nor mtd: spi-nor: don't build Cadence QuadSPI on non-ARM 2016-07-19 19:48:48 -07:00
tests mtd: nandbiterrs: Support for NAND biterrors test on platforms without raw write 2016-07-11 08:40:13 +02:00
ubi UBI: Fix crash in try_recover_peb() 2016-10-20 00:06:06 +02:00
afs.c
ar7part.c
bcm47xxpart.c tree-wide: replace config_enabled() with IS_ENABLED() 2016-08-04 08:50:07 -04:00
bcm63xxpart.c mtd: bcm63xxpart: give width specifier an 'int', not 'size_t' 2016-03-07 13:13:58 -08:00
cmdlinepart.c
ftl.c
inftlcore.c
inftlmount.c
Kconfig
Makefile
mtd_blkdevs.c block: convert to device_add_disk() 2016-06-27 12:26:08 -07:00
mtdblock.c
mtdblock_ro.c
mtdchar.c mtd: kill the nand_ecclayout struct 2016-05-05 23:51:51 +02:00
mtdconcat.c mtd: create an mtd_ooblayout_ops struct to ease ECC layout definition 2016-04-19 22:05:55 +02:00
mtdcore.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
mtdcore.h
mtdoops.c
mtdpart.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
mtdsuper.c
mtdswap.c mtd: mtdswap: remove useless if (!mtd->ecclayout) test 2016-03-07 16:23:09 -08:00
nftlcore.c
nftlmount.c
ofpart.c
redboot.c
rfd_ftl.c
sm_ftl.c treewide: Fix typos in printk 2016-04-18 11:23:24 +02:00
sm_ftl.h
ssfdc.c mtd: Replace if and BUG with BUG_ON 2016-07-09 18:48:54 -07:00