summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand
AgeCommit message (Collapse)Author
2010-01-25ENGR00120405 MX23 BCH:output debug information via pr_debug functionJason
Output debug information via pr_debug function Signed-off-by:Jason Liu <r64343@freescale.com>
2009-12-28ENGR00119693 Uniform handling NFC INT bit clearanceJason
Uniform handling NFC INT bit clearance, the INT bit will be unformed cleared in the wait_op_done function after any NFC operation. Signed-off-by:Jason Liu <r64343@freescale.com>
2009-12-18ENGR00119484 Update NFC INT wait timeout value to 1sJason
Update NFC INT wait timeout value to 1s. 1s should be enough for all platforms. If INT bit not set for 1s timeout value, this should be high potential of IC issues. Signed-off-by:Jason Liu <r64343@freescale.com>
2009-12-16ENGR00119443 [MX23_BSP] GPMI driver computes wrong block size for K9GAG08U0DPatrick Turley
Improved the GPMI driver's use of information from the device identification database. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2009-12-16ENGR00119324 Put GPMI NAND flash scan scheme code to the common NAND directoryJason
1.GPMI NAND flash scan scheme can overcome the shortcomings of MTD NAND community code. 2.Put it to the common NAND directory can benifit I.MX NAND driver besides GPMI NAND driver. 3.Fix the section mismatch build warnings on ALL platforms. 4.Fix the kbuild build errors of I.MX platforms. Signed-off-by:Jason Liu <r64343@freescale.com>
2009-12-11ENGR00119242 Add wait timeout support to void dead loop in NAND driverJason
1. Add wait timeout support to void dead loop in NAND driver, 2. Try best to use IRQ mode instead of POLLING mode Signed-off-by:Jason Liu <r64343@freescale.com>
2009-12-10ENGR00118872 Write bootstream to kernel by kobs with BCH ECCJason
Write bootstream to kernel by kobs with BCH ECC. Using the same combined Metadata & Block 0 BCH layout with ROM code. Page size 2048B; spare area 64B => ECC8, N=3, B0=512B, M=10B Page size 4096B; spare area 128B => ECC8, N=7, B0=512B, M=10B Page size 4096B; spare area 218B => ECC16, N=7, B0=512B, M=10B Signed-off-by:Jason Liu <r64343@freescale.com>
2009-12-08ENGR00118830 Update NAND driver scan scheme to support new nand typeJason
Update NAND scan scheme to support new nand type. With this patch Linux NAND driver can support new NAND flash on mx25/mx35 board while compatible with old NAND on old boards. Signed-off-by: Jason Liu <r64343@freescale.com>
2009-12-02ENGR00118544 iMX23 Clear dangerous macro stmp3xxx_setl(clearl)Frank.Li
No all regiser use _SCT. stmp3xxx_setl may write to wrong address. please use __raw_write (value, REG_XXX_SET) to write date to SCT register. Only REG_XXX_SCT is defined when it exist at hardware. Signed-off-by: Frank.Li <Frank.Li@freescale.com>
2009-11-25ENGR00118706 Update NAND suspend-resume driver mechanism on 2.6.31 kernelJason
Suspend then resume, kernel will print one warning message. This is due to mtd suspend/resume framework change on 2.6.31 kernel. Please refer to the follwing commit for detailed information commit 15bce40cb3133bcc07d548013df97e4653d363c1 [MTD] Restore suspend/resume support for mtd devices Signed-off-by: Jason Liu <r64343@freescale.com>
2009-11-18ENGR00115039 iMX233 NAND MTD Support BCHJason
iMX233 NAND MTD Support BCH Signed-off-by:Jason Liu <r64343@freescale.com>
2009-11-17ENGR00116517 [MX233_BSP] Port ThreadX SDK NAND Flash device identificationPatrick Turley
Added the device identification and timing database. Adjusted the GPMI NAND Flash driver to use this information. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2009-11-10ENGR00118250 [MX23_BSP] GPMI driver crashes when only one chipPatrick Turley
Fixed the one-chip branch during GPMI initialization. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2009-11-03ENGR00116542 [MX233_BSP] Simplify the GPMI NAND Flash driver's partitioningPatrick Turley
Simplified the partitioning mechanism and, as a side effect, made the GPMI NAND Flash driver usable (it was always crashing the kernel). Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2009-10-28ENGR00115074: [MX233_BSP] Comment, clarify and characterize the NAND FlashPatrick Turley
New comments and some variable renaming to improve the understandability of the code. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2009-10-26ENGR00117212 BLS register is not set correcly on MX51 platformJason
BLS register is not set correcly on MX51 platform Signed-off-by:Jason Liu <r64343@freescale.com>
2009-10-26ENGR00116717 Nand status is not correct on MX51 TO2 and TO3Jason
Nand status does not correct on MX51 TO2 and TO3. 1. Should use RBB_MODE 1 instead of 0 due to NFC bug(ENGcm09970) For RBB_MODE 0,NFC has a bug,it doesn't sample correctly the returned data on the I/O and therefore the INT is asserted earlier than expected (i.e during the busy period) 2. Should use atomic status read instead of auto mode. Auto mode status is not correct, the WP bit (IO7) is not correct randomly, it wrongly report nand in write-protect mode, which result in program/erase fail. Signed-off-by:Jason Liu <r64343@freescale.com>
2009-10-26ENGR00117389 Port 5.0.0 release to 2.6.31Rob Herring
This is i.MX BSP 5.0.0 release ported to 2.6.31 Signed-off-by: Rob Herring <r.herring@freescale.com> Signed-off-by: Alan Tull <r80115@freescale.com> Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2009-10-16nand: add more nand devicesRob Herring
Signed-off-by: Rob Herring <r.herring@freescale.com>
2009-10-16nand: export symbols needed for stmp3xxx nandRob Herring
nand: increase max nand page and oob sizes Signed-off-by: Rob Herring <r.herring@freescale.com>
2009-08-24[ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loopSimon Kagstrom
GCC 4.3.3 and 4.4.1 happily moves the dword load instruction out of the loop in orion_nand_read_buf. This patch makes the instruction volatile to avoid the issue. I've discussed this at gcc-help, refer to the thread at http://gcc.gnu.org/ml/gcc-help/2009-08/msg00187.html The early clobber is added to avoid the destination registers and the source register overlapping. Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net> Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-06-28mtd: nand: fix build failure and incorrect return from omap_wait()vimal singh
We need to include jiffies.h manually in some cases, and the status returned from omap_wait() was broken in two separate ways. Also add cond_resched() to the loop. Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-25mtd: atmel_nand: Fix typo s/parititions/partitions/Thadeu Lima de Souza Cascardo
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-22Merge git://git.infradead.org/mtd-2.6Linus Torvalds
* git://git.infradead.org/mtd-2.6: (63 commits) mtd: OneNAND: Allow setting of boundary information when built as module jffs2: leaking jffs2_summary in function jffs2_scan_medium mtd: nand: Fix memory leak on txx9ndfmc probe failure. mtd: orion_nand: use burst reads with double word accesses mtd/nand: s3c6400 support for s3c2410 driver [MTD] [NAND] S3C2410: Use DIV_ROUND_UP [MTD] [NAND] S3C2410: Deal with unaligned lengths in S3C2440 buffer read/write [MTD] [NAND] S3C2410: Allow the machine code to get the BBT table from NAND [MTD] [NAND] S3C2410: Added a kerneldoc for s3c2410_nand_set mtd: physmap_of: Add multiple regions and concatenation support mtd: nand: max_retries off by one in mxc_nand mtd: nand: s3c2410_nand_setrate(): use correct macros for 2412/2440 mtd: onenand: add bbt_wait & unlock_all as replaceable for some platform mtd: Flex-OneNAND support mtd: nand: add OMAP2/OMAP3 NAND driver mtd: maps: Blackfin async: fix memory leaks in probe/remove funcs mtd: uclinux: mark local stuff static mtd: uclinux: do not allow to be built as a module mtd: uclinux: allow systems to override map addr/size mtd: blackfin NFC: fix hang when using NAND on BF527-EZKITs ...
2009-06-12trivial: Kconfig: .ko is normally not included in module namesPavel Machek
.ko is normally not included in Kconfig help, make it consistent. Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-06-09mtd: nand: Fix memory leak on txx9ndfmc probe failure.Atsushi Nemoto
Commit 81933046ef2a615031c46171013bde2c5225ee69 ('mtd: Fix handling of mtdname in txx9ndfmc.c') introduced a potential memory leak. The 'mtdname' member of the private data structure is now allocated separately, but was not freed on certain error paths. Fix that, and make things simpler by _always_ allocating it separately so that we don't need 'if (mtdname != dev_name()) kfree(mtdname);'... which gets ugly now that we're doing it more than once, and more likely that we'll get it wrong some time. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-08mtd: orion_nand: use burst reads with double word accessesNicolas Pitre
This is not 8 times faster than byte access, but still around 60% faster. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-08mtd/nand: s3c6400 support for s3c2410 driverPeter Korsgaard
Add s3c6400 support to the s3c2410 driver. The nand controller in the s3c64xx devices is compatible with the one in the s3c2412, so simply reuse that code. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-08Merge branch 'next-mtd' of git://aeryn.fluff.org.uk/bjdooks/linuxDavid Woodhouse
2009-06-08[MTD] [NAND] S3C2410: Use DIV_ROUND_UPBen Dooks
Change to using DIV_ROUND_UP() in the timing calculation instead of blindly doing result++ Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-06-08[MTD] [NAND] S3C2410: Deal with unaligned lengths in S3C2440 buffer read/writeBen Dooks
Add code to deal with fractional lengths, as reported by Werner Almesberger. Re-work of his original patch. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-06-08[MTD] [NAND] S3C2410: Allow the machine code to get the BBT table from NANDMichel Pollet
Added a flag to allow the machine code to tell the NAND subsystem that it should try to pickup a BBT from the flash, and also skip the NAND full scan at startup. Signed-off-by: Michel Pollet <buserror@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-06-05mtd: nand: max_retries off by one in mxc_nandRoel Kluin
with `while (max_retries-- > 0)' max_retries reaches -1 after the loop. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: nand: s3c2410_nand_setrate(): use correct macros for 2412/2440Peter Korsgaard
Use the correct S3C2440_NFCONF_* macros for the mask for the 2412/2440 variants instead of the 2410 ones which use wrong bit positions. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: davinci nand: update clock namingKevin Hilman
DaVinci clock support has been updated in mainline. Update clock names accordingly. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-06-05mtd: nand: add OMAP2/OMAP3 NAND driverVimal Singh
This driver is present in the OMAP tree, now pushing it to MTD. Original author(s): Jian Zhang <jzhang@ti.com> Signed-off-by: Vimal Singh <vimalsingh@ti.com> Cc: Jian Zhang <jzhang@ti.com> Cc: Artem Bityutskiy <dedekind@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: blackfin NFC: fix hang when using NAND on BF527-EZKITsCliff Cai
The DMAs have different bit sizes on BF52x and BF54x. From the PHRM: "The 16-bit DMA Access Bus (DAB) connects the DMA controller to the on-chip peripherals, PPI, SPI, Ethernet MAC, the SPORTs, NFC, HOSTDP and the UARTs." 32-bit DMA won't work for BF52x. Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: blackfin NFC: remove pointless return value in bf5xx_nand_dma_rwMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: add on-flash BBT support for Atmel NAND driverSimon Polette
Just add a new on-flash-bbt module parameter. Signed-off-by: Simon Polette <spolette@adetelgroup.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: MXC NAND support for 2KiB page size flashesVladimir Barinov
- Add support for 2KiB page size flashes - Fix page address access for large pages - Detect oob layout at runtime - handle pagesize_2k variable - Fix oob16 layout: reserve location 5 of oob area since it's used for bbt Signed-off-by: Vladimir Barinov <vova.barinov@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: plat_nand: allow platform to set partitionsH Hartley Sweeten
Add optional callback to allow platform to initialize partitions. Static partitions on a nand device could vary depending on the size of the device. This patch allows an optional platform callback to be used to setup this partition information at runtime. Scan order is: 1) chip.part_probe_types 2) chip.set_parts 3) chip.partitions 4) full mtd device (fallback for no partitions) Some of the existing nand drivers could possibly be replaced by the plat_nand driver by using this patch. These include autcpu12.c and ts7250.c drivers. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: plat_nand: add platform probe/remove callbacksH Hartley Sweeten
Add optional probe and remove callbacks to the plat_nand driver. Some platforms may require additional setup, such as configuring the memory controller, before the nand device can be accessed. This patch provides an optional callback to handle this setup as well as a callback to teardown the setup. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Tested-by: Alexander Clouter <alex@digriz.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: extend plat_nand for (read|write)_bufAlexander Clouter
This patch adds (write|read)_buf callbacks to plat_nand. The NAND on the TS-7800 provisioned by the FPGA allows readw() and readl() to be used which gives a 2.5x speed up. To be able to use this from the plat_nand driver a hook for read_buf (and also write_buf whilst we are in there) need to be made available. This patch adds the hook. Signed-off-by: Alexander Clouter <alex@digriz.org.uk> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: davinci_nand: cmdlinepart uses MTD IDsDavid Brownell
Remove some legacy code from the davinci_nand driver, which made cmdlinepart ignore the the MTD ID passed to it. Boards can have multiple NAND chips, and some do (like the DM357 EVM), so this dated hack is undesirable. Correct labels are like "davinci_nand.0" (for chipselect 0). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: mxc_nand: add correct dev_id parameter to free_irq() callsMagnus Lilja
Make sure to pass the same dev_id data to free_irq() that was used when calling request_irq(), otherwise we get a warning about freeing an already free IRQ. Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: nand: fix 512 byte software ecc supportVimal Singh
Type of 'byte_addr' needes to be 'unsigned int' for 512 byte ECC support. Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: nand: davinci_nand, 4-bit ECC for smallpageDavid Brownell
Minimal support for the 4-bit ECC engine found on DM355, DM365, DA830/OMAP-L137, and similar recent DaVinci-family chips. This is limited to small-page flash for now; there are some page layout issues for large page chips. Note that most boards using this engine (like the DM355 EVM) include 2GiB large page chips. Sanity tested on DM355 EVM after swapping the socketed NAND for a small-page one. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: nand: minor davinci_nand cleanupDavid Brownell
Make the DaVinci NAND driver require platform_data with board-specific configuration. We can't actually do any kind of sane job of configuring it otherwise. Also fix the comment about picking the "best" ECC mode. We can't do those any more; that relied on knowing what kind of CPU we're using (they don't all support 4-bit ECC), and current policy is that drivers not have cpu_is_*() checks. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: nand: don't walk past end of oobfree[]David Brownell
Resolve issue noted by Sneha: when computing oobavail from the list of free areas in the OOB, don't assume there will always be an unused slot at the end. With ECC_HW_SYNDROME and 4KiB page chips, it's fairly likely there *won't* be one. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: "Narnakaje, Snehaprabha" <nsnehaprabha@ti.com>" Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-06-05mtd: plat_nand: fix section errorThomas Chou
With CONFIG_HOTPLUG=n, the following eror occurred during link: local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o It was caused by improper section reference. The __devexit_p() should be added to the .remove function. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>