summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* mtd: nand: Update to Linux-5.9Sascha Hauer2020-11-101-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the barebox NAND layer and parts of the mtd layer to Linux-5.9. This patch is huge, but the barebox NAND layer is so far away from the Linux NAND layer that a step by step update would have taken ages. Unlike Linux barebox has functions to mark a block as good. This feature has been preserved. Also barebox used to make NAND write support optional, this feature is lost during the update for the sake of better compatibility to the Linux NAND layer. This patch has been tested: - GPMI aka nand_mxs on i.MX6 - nand_imx on i.MX25 - nand_omap_gpmc on AM335x - atmel_nand on Atmel sama5d3 - nand_denali on SoCFPGA Currently untested: - nand_orion - nand_mrvl_nfc - nand_s3c24xx The nand_denali driver is tested with the update of that driver to Linux-5.9 following in the next patch. I could only test the drivers with the NAND chips found on my boards, so there's still enough room for regressions, especially given that the NAND drivers themselves are mostly not updated. With the NAND layer being up-to-date with Linux it should hopefully be easy to update drivers to their Linux counterpart as well if necessary. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand-imx: Create BBT automatically when necessarySascha Hauer2020-02-051-1/+0
| | | | | | | | | | | | | | | Due to the differences of the logical page format and the raw page format on NAND the generic nand support can't read the bad block marker on the NAND. For this reason we have the imx_nand_bbm command which knows about these specialities and creates a BBT. The problem with this command is that one has to call it and experience shows this is often forgotten. Linux will then create a BBT based on wrong informations and the real bad blocks may be lost. With this patch we automatically create a BBT when none is found and make the command unnecssary. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: gpmc: Add support for ELMSascha Hauer2019-08-281-0/+1
| | | | | | | | This adds support for the ELM (Error Location Module) found on not-too-old OMAP SoCs. The driver has been taken from Linux-5.3-rc6 with interrupt support removed. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: add ONFI timing mode to nand_timings converterSascha Hauer2016-08-181-1/+1
| | | | | | | | | | | Ported from Linux commit 974647e: | Add a converter to retrieve NAND timings from an ONFI NAND timing mode. | At the moment, only SDR NAND timings are supported. | | Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com> | Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd nand_denali: Add denali nand driverEnrico Jorns2015-09-231-0/+3
| | | | | | | The driver is based on the denali driver from the linux kernel Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: add mrvl-nand driverRobert Jarzmik2015-01-191-0/+1
| | | | | | | | | | | | | | | | | | The driver is taken from the Linux kernel, with the following changes : - all DMA removed - all asynchronous handling removed, including the interrupt handler, and the asynchronous state handling - pxa armada support removed Most the kernel structure was kept, to ease up future fixes integration from the kernel driver. The driver is tested on a pxa3xx system development board (aka. zylonite), and reading, writing, erasing, and bad block management were tested. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* nand: Add Marvell Orion NAND driverEzequiel Garcia2014-09-011-0/+1
| | | | | | | | | This commit adds NAND support for the controller present in Kirkwood SoCs. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: update to v3.11-rc1Sascha Hauer2013-07-231-4/+1
| | | | | | | | | | | | | | | | | | This updates the NAND stuff to Linux-3.11-rc1. It is synchronized as best as we can get: - locks removed - The splitting in different files we had to better support different features has been dropped. Instead this is now done mostly with the use of __maybe_unused Some barebox adjustments are forward ported, like: - Allow partial page writes - Optionally allow to erase bad blocks - check for all_ff before writing a page Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: Add command to generate a flash BBTSascha Hauer2013-03-091-0/+1
| | | | | | | | | | | | | | | | | | With 2k NAND flashes the data layout in memory is not what is written on the flash device. This leads to the result that the factory provided bad block markers are not recognized correctly. To preserve the factory bad block information the i.MX NAND driver will not scan for the bad blocks itself when there is no flash based bbt available, because the mtd layer would do so based on wrong information. Instead, a new command is introduced which allows to manually create a flash bbt based on the correct information. As this command is tightly coupled to mtd and the i.MX NAND driver the command is placed under drivers/mtd/nand/ instead of commands/ where a command normally belongs to. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM boards: Make boards pbl safeSascha Hauer2012-08-121-0/+1
| | | | | | | | With pbl support enabled most boards need a pbl-y for their lowlevel stuff. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* mtd: remove dead disk-on-chip supportSascha Hauer2012-07-251-1/+0
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* NAND/Samsung: remove a leftover from architeture clean upsJuergen Beisert2012-07-201-1/+0
| | | | Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
* mtd nand: add mxs-nand driverWolfram Sang2012-06-301-0/+2
| | | | | | | | | | Based on the U-Boot version. Changed to kernel style register layout, added MX23 support (WIP!), made MMU aware and adapted to barebox. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
* MACH SAMSUNG/S3C: Use the correct CPU family name to reflect NAND driver's usageJuergen Beisert2012-01-021-1/+1
| | | | | | | | | The aready existing NAND controller driver in Barebox is for the S3C24XX family only. Change the name of the file to reflect this fact (and free the way to add more recent Samsung NAND controllers) Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* drivers/mtd: transfer NAND notions to MTD coreRobert Jarzmik2011-12-221-1/+1
| | | | | | | | | | | | | 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>
* drivers/mtd: move nand.c into core.cRobert Jarzmik2011-12-221-1/+1
| | | | | | | Move nand core into the global MTD core. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* nand: move bb handling code to drivers/mtd/nandSascha Hauer2011-04-121-1/+1
| | | | | | | It's good to seperate the code which others can use from commands. This way other users do not depend on the command being compiled in. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* nand: remove unused nand_util fileSascha Hauer2011-04-111-1/+0
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'nand-pu' into nextSascha Hauer2011-04-061-1/+6
|\
| * nand: make bbt support optionalSascha Hauer2011-04-041-1/+2
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * nand: Make different ecc modes optionalSascha Hauer2011-04-041-1/+4
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * nand: Make write support optionalSascha Hauer2011-04-041-1/+2
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * nand: factor out nand write supportSascha Hauer2011-04-041-1/+1
| | | | | | | | | | | | In order to make it optional later. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * nand: factor out syndrome support to seperate fileSascha Hauer2011-04-041-1/+1
| | | | | | | | | | | | In order to make it optional later. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * nand: factor out software ecc support to seperate fileSascha Hauer2011-04-041-1/+1
| | | | | | | | | | | | in order to make it optional later. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * nand: Factor out hw ecc support to seperate fileSascha Hauer2011-04-041-1/+1
| | | | | | | | | | | | In order make hwecc support optional later. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | mtd nand omap: Add BCH ecc supportSascha Hauer2011-04-041-1/+1
|/ | | | | | | | | | | | This patch adds BCH ecc support to the omap nand driver. The BCH error correction allows for up to 8 bit error correction. It is also needed for booting from nand on omap4. This is based on code from Sukumar Ghorai <s-ghorai@ti.com>: [PATCH] omap3: nand: bch ecc support added Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* nand: driver for Nomadik 8815 SoCJean-Christophe PLAGNIOL-VILLARD2010-08-061-0/+1
| | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Andrea GALLO <andrea.gallo@stericsson.com> Cc: Gael SALLES <gael.salles@stericsson.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* move drivers/nand to drivers/mtd/nandSascha Hauer2010-07-051-0/+12
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>