linux/drivers/mtd/nand
Brian Norris e2d3a35ee4 mtd: nand: detect Samsung K9GBG08U0A, K9GAG08U0F ID
Datasheets for the following Samsung NAND parts (both MLC and SLC) describe
extensions to the Samsung 6-byte extended ID decoding table:

K9GBG08U0A (MLC, 6-byte ID)
K9GAG08U0F (MLC, 6-byte ID)
K9FAG08U0M (SLC, 6-byte ID)

The table found in K9GAG08U0F, p.44, contains a superset of the information
found in other previous datasheets.

This patch adds support for all of these chips, with 512B and 640B OOB sizes.
It also changes the detection pattern such that this table applies to all
Samsung 6-byte ID NAND, not just MLC. This is safe, according to the NAND
parameter data I have collected:

Note that nand_base.c does not yet support the bad block marker scheme defined
for these chips (i.e., scan 1st and last page for BB markers).

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-09-29 15:58:28 +01:00
..
gpmi-nand mtd: gpmi: initialize the timing registers only one time 2012-09-29 15:56:45 +01:00
alauda.c mtd: driver _read() returns max_bitflips; mtd_read() returns -EUCLEAN 2012-05-13 23:14:23 -05:00
ams-delta.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
atmel_nand_ecc.h mtd: at91: atmel_nand: add Programmable Multibit ECC controller support 2012-07-06 18:23:25 +01:00
atmel_nand.c mtd: atmel nand: fix gpio missing request 2012-09-29 14:53:58 +01:00
au1550nd.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
autcpu12.c ARM: clps711x: Using a single definition for the PHYS and VIRT registers offset 2012-05-11 16:18:01 +02:00
bf5xx_nand.c mtd: nand: teach write_page and write_page_raw return an error code 2012-07-06 18:17:07 +01:00
cafe_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
cmx270_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
cs553x_nand.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
davinci_nand.c mtd: nand: clk: preparation for switch to common clock framework 2012-09-29 15:48:22 +01:00
denali.c mtd: nand: teach write_page and write_page_raw return an error code 2012-07-06 18:17:07 +01:00
denali.h mtd: denali: detect the number of banks 2011-05-25 02:02:12 +01:00
diskonchip.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
docg4.c mtd: docg4: ecc.read_page() returns 0 on uncorrectable errors 2012-09-29 15:54:11 +01:00
fsl_elbc_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
fsl_ifc_nand.c mtd: fsl_ifc_nand: fix sparse warnings 2012-09-29 15:54:13 +01:00
fsl_upm.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
fsmc_nand.c mtd: nand: add 'oob_required' argument to NAND {read,write}_page interfaces 2012-05-13 23:20:00 -05:00
gpio.c mtd: nand/gpio: Convert to module_platform_driver() 2012-09-29 15:44:02 +01:00
h1910.c - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
jz4740_nand.c MTD: NAND: JZ4740: Multi-bank support with autodetection 2012-07-23 13:56:20 +01:00
Kconfig mtd: docg4: add missing HAS_IOMEM dependency 2012-09-29 15:56:59 +01:00
lpc32xx_mlc.c mtd: lpc32xx_mlc: Cleanup after DT-only conversion 2012-09-29 15:12:49 +01:00
lpc32xx_slc.c mtd: lpc32xx_slc: Cleanup after DT-only conversion 2012-09-29 15:12:48 +01:00
Makefile mtd: remove bcmring NAND driver 2012-09-29 15:54:09 +01:00
mpc5121_nfc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
mxc_nand.c mtd: mxc_nand: Adapt the clock name to the new clock framework 2012-09-29 15:43:29 +01:00
nand_base.c mtd: nand: detect Samsung K9GBG08U0A, K9GAG08U0F ID 2012-09-29 15:58:28 +01:00
nand_bbt.c mtd: nand: use NAND_BBT_SCAN_MAXBLOCKS 2012-09-29 15:54:10 +01:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_ecc.c mtd: spelling, capitalization, uniformity 2011-09-11 15:02:13 +03:00
nand_ids.c mtd: nand: change "AMD" manuf. ID to "AMD/Spansion" 2012-07-06 18:17:08 +01:00
nandsim.c mtd: nandsim: bugfix: fail if overridesize is too big 2012-09-29 15:54:12 +01:00
ndfc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
nomadik_nand.c mtd: introduce mtd_resume interface 2012-01-09 18:25:46 +00:00
nuc900_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
omap2.c mtd: omap2: fix module loading 2012-09-29 15:29:51 +01:00
orion_nand.c mtd: orion_nand: remove <mach/hardware.h> include 2012-09-29 15:13:18 +01:00
pasemi_nand.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
plat_nand.c mtd: check for valid pdata inside plat_nand 2012-09-29 15:01:52 +01:00
ppchameleonevb.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
pxa3xx_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
r852.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
r852.h mtd: r852: remove useless pci powerup/down from suspend/resume routines 2010-10-25 01:32:21 +01:00
rtc_from4.c mtd: flash drivers set ecc strength 2012-03-27 00:56:46 +01:00
s3c2410.c mtd: s3c2410: Fix compiler warnings 2012-09-29 15:10:04 +01:00
sh_flctl.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
sharpsl.c mtd: flash drivers set ecc strength 2012-03-27 00:56:46 +01:00
sm_common.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
sm_common.h mtd: sm_common: split smartmedia and xD table 2010-05-14 01:03:46 +01:00
socrates_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
spia.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
tmio_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
txx9ndfmc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
xway_nand.c mtd: lantiq: Add NAND support on Lantiq XWAY SoC. 2012-09-29 15:05:18 +01:00