linux/drivers/mtd
Elie De Brauwer 2b468ef0e7 mtd: m25p80: Fix 4 byte addressing mode for Micron devices.
According to the datasheet for Micron n25q256a (N25Q256A13ESF40F) 4-byte
addressing mode should be entered as follows:

<quote>
To enter or exit the 4-byte address mode, the WRITE ENABLE command
must be executed to set the write enable latch bit to 1. (Note: The
WRITE ENABLE command must NOT be executed on the N25Q256A83ESF40x and
N25Q256A83E1240x devices.) S# must be driven LOW. The effect of the
command is immediate; after the command has been executed, the write
enable latch bit is cleared to 0.
</quote>

Micron's portable way to perform this for all types of Micron flash
is to first issue a write enable, then switch the addressing mode
followed by a write disable to avoid leaving the flash in a write-
able state.

Signed-off-by: Elie De Brauwer <eliedebrauwer@email.com>
[Brian: reworked a bit]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2013-09-27 05:56:22 -05:00
..
chips mtd: jedec_probe: fix LH28F640BF definition 2013-08-05 21:04:17 +01:00
devices mtd: m25p80: Fix 4 byte addressing mode for Micron devices. 2013-09-27 05:56:22 -05:00
lpddr mtd: lpddr: replace open-coded ARRAY_SIZE with macro 2012-05-13 22:47:31 -05:00
maps mtd: maps: cfi_flagadm: add missing __iomem annotation 2013-08-30 21:51:49 +01:00
nand mtd: nand: fix memory leak in ONFI extended parameter page 2013-09-27 05:48:02 -05:00
onenand mtd: onenand: use dev_get_platdata() 2013-08-30 21:34:34 +01:00
tests mtd: tests: incorporate error message for mtdtest_write() 2013-08-30 21:36:06 +01:00
ubi UBI: Fix invalidate_fastmap() 2013-08-20 17:53:25 +03:00
afs.c
ar7part.c mtd: Allow removal of partitioning modules 2013-02-04 09:27:33 +02:00
bcm47xxpart.c mtd: bcm47xxpart: look for NVRAM at the end of device 2013-03-08 11:36:00 +00:00
bcm63xxpart.c mtd: bcm63xxpart: use nvram for PSI size 2013-08-05 18:59:34 +01:00
cmdlinepart.c mtd: Allow removal of partitioning modules 2013-02-04 09:27:33 +02:00
ftl.c
inftlcore.c
inftlmount.c
Kconfig mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
Makefile mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtd_blkdevs.c block_device_operations->release() should return void 2013-05-07 02:16:21 -04:00
mtdblock_ro.c
mtdblock.c mtd_blktrans_ops->release() should return void 2013-05-05 21:31:22 -04:00
mtdchar.c mtdchar: switch to fixed_size_llseek() 2013-06-29 12:57:27 +04:00
mtdconcat.c
mtdcore.c mtd: add a new sys node to show the ecc step size 2013-08-30 21:37:56 +01:00
mtdcore.h mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtdoops.c mtdoops: don't erase flash at each boot 2012-11-15 15:37:51 +02:00
mtdpart.c mtd: set the ecc step size for master/slave mtd_info 2013-08-30 21:38:02 +01:00
mtdsuper.c VFS: Pass mount flags to sget() 2012-07-14 16:38:34 +04:00
mtdswap.c mtd: mtdswap: replace strict_strtoul() with kstrtoul() 2013-08-30 21:52:51 +01:00
nftlcore.c
nftlmount.c
ofpart.c mtd: ofpart: use for_each_child_of_node() macro 2013-08-30 21:52:57 +01:00
redboot.c
rfd_ftl.c
sm_ftl.c mtd: sm_ftl: Staticize local symbols 2013-08-30 21:51:25 +01:00
sm_ftl.h
ssfdc.c