linux/drivers/mtd/devices
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
..
bcm47xxsflash.c mtd: bcm47xxsflash: writing support 2013-08-30 21:52:20 +01:00
bcm47xxsflash.h mtd: bcm47xxsflash: implement ChipCommon R/W ops 2013-08-05 18:20:32 +01:00
block2mtd.c mtd: Convert logging messages 2013-08-05 20:47:17 +01:00
docg3.c mtd: doc: use module_platform_driver_probe() 2013-04-05 13:14:24 +01:00
docg3.h mtd: docg3 add protection against concurrency 2012-03-27 01:03:27 +01:00
elm.c mtd: simplify use of devm_ioremap_resource 2013-08-30 21:36:15 +01:00
Kconfig mtd: diskonchip: remove unused entries in Kconfig 2013-08-05 21:01:55 +01:00
lart.c mtd: move zero length verification to MTD API functions 2012-03-27 00:32:19 +01:00
m25p80.c mtd: m25p80: Fix 4 byte addressing mode for Micron devices. 2013-09-27 05:56:22 -05:00
Makefile mtd: doc: remove support for DoC 2000/2001/2001+ 2013-04-05 12:04:31 +01:00
ms02-nv.c mtd: do not duplicate length and offset checks in drivers 2012-03-27 00:28:18 +01:00
ms02-nv.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtd_dataflash.c mtd: devices: use dev_get_platdata() 2013-08-30 21:34:31 +01:00
mtdram.c mtd: harmonize mtd_point interface implementation 2012-03-27 00:32:11 +01:00
phram.c mtd: phram: fix section mismatch for phram_setup 2012-03-27 01:02:29 +01:00
pmc551.c MTD merge for 3.4 2012-03-30 17:31:56 -07:00
slram.c mtd: slram: invalid checking of absolute end address 2012-11-09 17:02:50 +02:00
spear_smi.c mtd: spear_smi: add missing __iomem annotation 2013-08-30 21:51:48 +01:00
sst25l.c mtd: devices: use dev_get_platdata() 2013-08-30 21:34:31 +01:00