Commit graph

23 commits

Author SHA1 Message Date
Sascha Hauer
5b85daacc6 mtd: nand: register nand flashes with nand specific function
This allows us to have some NAND specific stuff during registration,
like for example adding NAND specific device parameters.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-04 11:00:00 +01:00
Sascha Hauer
a81c6a9f16 mtd nand: Specify pr_fmt and change messages to pr_*
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 14:24:39 +01:00
Marcus Folkesson
7d4d295d4e mtd: nand: extend NAND flash detection to new MLC chips
Some of the newer MLC devices have a 6-byte ID sequence in which
several field definitions differ from older chips in a manner that is
not backward compatible.

This method is already used in the Linux Kernel.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-16 09:55:58 +02:00
Sascha Hauer
85f4fe32cf mtd nand: implement buswidth detection
This introduces a new NAND_BUSWIDTH_AUTO flag which can be used
to automatically detect the nand buswidth. The id is always read
in 8bit mode. An additional callback is needed to switch the nand
controller into 16bit mode.
This currently depends on a safe read_byte (always) and read_buf
(for onfi-only flashes) callback. It has been tested on OMAP, but
is not something that generally works. For this reason the existence
of the set_buswidth callback is used to determine whether we are
able to do autodetection or not.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-08-03 19:32:07 +02:00
Eric Bénard
4b23222c4d nand_base: add ONFI flash detection
the code is taken from linux & u-boot implementations
Validated on an i.MX53 which gives the following log :
ONFI flash detected ... ONFI param page 0 valid
NAND device: Manufacturer ID: 0x2c, Chip ID: 0x38 (Micron MT29F8G08ABABAWP), page size: 4096, OOB size: 224

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-07-05 20:58:54 +02:00
Robert Jarzmik
88ce7ef769 drivers/mtd: transfer NAND notions to MTD core
Change NAND_WRITE into MTD_WRITE.
Change "page_shift" references in the core, which are purely
NAND, into mtd->writesize which is MTD generic.
Rename all "info" (struct mtd_info) into "mtd".

Also provide a parameter to add_mtd_device() so that legacy
nand devices still appear as nand<N>.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-12-22 10:11:11 +01:00
Wolfram Sang
e88417b5ef nand: base: Improve error reporting if reading NAND-ID fails
- use KERN_ERR for messages when NAND-ID detection fails
- report the IDs also if not found
- print the errno if nand_scan failed

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-29 22:15:25 +01:00
Sascha Hauer
3ee7877a48 introduce io.h
To allow for some generic io accessors introduce io.h and use
this instead of asm/io.h throughout the tree.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-22 19:03:05 +02:00
Sascha Hauer
5386d6d77c nand: nand_block_markbad is only used with nand write support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-12 09:54:55 +02:00
Sascha Hauer
f800f73cb8 nand: make reading oob optional
The nand oob functions occupy quite some binary space. If not needed,
we can save this space by making this configurable.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:58:22 +02:00
Sascha Hauer
b672f87cc0 nand: make bbt support optional
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:42:19 +02:00
Sascha Hauer
8f5b0e497a nand: Make different ecc modes optional
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:41:38 +02:00
Sascha Hauer
eb133335e6 nand: Make write support optional
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:41:32 +02:00
Sascha Hauer
779ea89baf nand: factor out nand write support
In order to make it optional later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:41:17 +02:00
Sascha Hauer
c8e395def8 nand: factor out syndrome support to seperate file
In order to make it optional later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:41:10 +02:00
Sascha Hauer
f6647d3c02 nand: factor out software ecc support to seperate file
in order to make it optional later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:41:00 +02:00
Sascha Hauer
535d444788 nand: Factor out hw ecc support to seperate file
In order make hwecc support optional later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:40:32 +02:00
Sascha Hauer
c27545dda5 nand: do not fall through in nand_scan_tail()
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:40:27 +02:00
Sascha Hauer
82aa50a413 nand: remove unneeded nand_[get|release]_device functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:40:22 +02:00
Sascha Hauer
2e6a9440b9 nand: remove unused suspend/resume functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-04 16:40:16 +02:00
Sanjeev Premi
d4b8e67fcd nand: Fix warnings due to incompatible format strings
This patch fixes warnings due to incompatible format strings
specified in the printf().

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 10:34:27 +01:00
Sascha Hauer
31ecd16695 NAND: reset chips before usage like the kernel does
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-11-12 08:08:01 +01:00
Sascha Hauer
b332d8565d move drivers/nand to drivers/mtd/nand
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-07-05 13:00:01 +02:00
Renamed from drivers/nand/nand_base.c (Browse further)