summaryrefslogtreecommitdiff
path: root/drivers/mtd
AgeCommit message (Collapse)Author
2010-08-11ENGR00125860 GPMI:Add RAW NAND driver supportJason Liu
Add GPMI RAW NAND driver support for MX50 This patch only support the basic NAND feature on MX50 Signed-off-by:Jason Liu <r64343@freescale.com> (cherry picked from commit d8b036281d520be72e2342918c49f97961a246c5)
2010-07-05ENGR00124795 SPI NOR: uniform include header fileLily Zhang
The default partitions are missing in MX53 SPI NOR MTD. It's because spi nor driver and mx53 msl include different header files. It causes struct definitions are different. For i.MX SPI nor driver, need to use asm/mach/flash.h by aligning with NAND driver. Signed-off-by: Lily Zhang <r58066@freescale.com>
2010-06-17ENGR00124477 MXC-Nand: Add disable BI swap entry at sys filesystemPeter Chen
In that case, the user can choose not to swap BI if necessary, such as programming the bootloader. Signed-off-by: Peter Chen <b29397@freescale.com>
2010-05-26ENGR00123828 Improved timing for the i.MX23/i.MX28 NAND Flash driverPatrick Turley
Added improved timing calculations to the driver, and various other support work. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-05-21ENGR00123436 Clear GPMI LOCK_CS to lower suspend current.Frank Li
GPMI LOCK_CS set to low can lower suspend current about 5mA. Signed-off-by: Frank Li <Frank.Li@freescale.com> Signed-off-by: Turley Patrick <b18601@freescale.com>
2010-05-07ENGR00123170 Preserve NAND bad block indicationJason Liu
Preserve bad block indication of NAND Signed-off-by:Jason Liu <r64343@freescale.com>
2010-05-06ENGR00123134-2 MX53 NAND driver supportJason Liu
MX53 NAND driver support Signed-off-by:Jason Liu <r64343@freescale.com>
2010-05-06ENGR00123131 NAND:Get resources from platform dataJason Liu
Get resources from platform data Signed-off-by:Jason Liu <r64343@freescale.com>
2010-05-05ENGR00122964 Second pass at unified i.MX23/i.MX28 NAND Flash driverPatrick Turley
Deleted the old drivers. Broke the driver into separate files, for readability and to isolate hardware dependencies. Fixed bad block problems in the boot area for the i.MX23. At this writing, UBI can't handle MTDs larger than 2GiB. If the general use partition is larger than 2GiB, the driver will create sub-partitions, none of which are larger than 2GiB. Updated the default configs for the i.MX23 and i.MX28. Other, miscellaneous changes. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-04-27ENGR00122629 Unified i.MX23/i.MX28 NAND Flash DriverPatrick Turley
This driver unifies the i.MX23 and i.MX28 NAND Flash drivers into a single driver that supports both SoC's. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-03-26ENGR00122062 Interim i.MX28 NAND Flash driver change to support bootingrel_imx_2.6.31_10.03.00Patrick Turley
Changed the driver to detect ECC-based writes to the boot area and write a byte to the OOB that matches the ROM behavior. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-03-25ENGR00122007 Kernel panic caused by i.MX28 GPMI NAND Flash driverPatrick Turley
Fixed the driver to properly initialize a variable. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-03-19ENGR00121689 i.MX28 GPMI driver doesn't compile correctly under some conditionsPatrick Turley
Changed the driver to ignore CONFIG_MTD_CONCAT, and work correctly with CONFIG_MTD_PARTITIONS. Also turned on the GPMI driver and UBIFS in the default config. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-03-16ENGR00117735-2 MX28: SLC/MLC NANDPatrick Turley
Port the i.MX23 NAND Flash driver to i.MX28. Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
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-05ENGR00119023-2 Fix build error in SPI NOR driverLily Zhang
1. Add SPI NOR flash driver in Makefile 2. Fix build error with gcc 4.3.3 toolchain Signed-off-by: Lily Zhang <r58066@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-30ENGR00115003 [mx233_BSP] Cannot run fdisk on FTL over an UBI volume.Patrick Turley
Added FTL support for UBI. Signed-off-by: Patrick Turley <patrick.turley@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-09-03mtd: nftl: fix offset alignmentsDimitri Gorokhovik
Arithmetic conversion in the mask computation makes the upper word of the second argument passed down to mtd->read_oob(), be always 0 (assuming 'offs' being a 64-bit signed long long type, and 'mtd->writesize' being a 32-bit unsigned int type). This patch applies over the other one adding masking in nftl_write, "nftl: write support is broken". Signed-off-by: Dimitri Gorokhovik <dimitri.gorokhovik@free.fr> Cc: Tim Gardner <tim.gardner@canonical.com> Cc: Scott James Remnant <scott@canonical.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-09-03mtd: nftl: write support is brokenDimitri Gorokhovik
Write support is broken in NFTL. Fix it. Signed-off-by: <dimitri.gorokhovik@free.fr> Cc: Tim Gardner <tim.gardner@canonical.com> Cc: Scott James Remnant <scott@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-09-03mtd: m25p80: fix null pointer dereference bugAnton Vorontsov
This patch fixes the following oops, observed with MTD_PARTITIONS=n: m25p80 spi32766.0: m25p80 (1024 Kbytes) Unable to handle kernel paging request for data at address 0x00000008 Faulting instruction address: 0xc03a54b0 Oops: Kernel access of bad area, sig: 11 [#1] Modules linked in: NIP: c03a54b0 LR: c03a5494 CTR: c01e98b8 REGS: ef82bb60 TRAP: 0300 Not tainted (2.6.31-rc4-00167-g4733fd3) MSR: 00029000 <EE,ME,CE> CR: 24022022 XER: 20000000 DEAR: 00000008, ESR: 00000000 TASK = ef82c000[1] 'swapper' THREAD: ef82a000 GPR00: 00000000 ef82bc10 ef82c000 0000002e 00001eb8 ffffffff c01e9824 00000036 GPR08: c054ed40 c0542a08 00001eb8 00004000 22022022 1001a1a0 3ff8fd00 00000000 GPR16: 00000000 00000001 00000000 00000000 ef82bddc c0530000 efbef500 ef8356d0 GPR24: 00000000 ef8356d0 00000000 efbf7a00 c0530ec4 ffffffed efbf5300 c0541f98 NIP [c03a54b0] m25p_probe+0x22c/0x354 LR [c03a5494] m25p_probe+0x210/0x354 Call Trace: [ef82bc10] [c03a5494] m25p_probe+0x210/0x354 (unreliable) [ef82bca0] [c024e37c] spi_drv_probe+0x2c/0x3c [ef82bcb0] [c01f1afc] driver_probe_device+0xa4/0x178 [ef82bcd0] [c01f06e8] bus_for_each_drv+0x6c/0xa8 [ef82bd00] [c01f1a34] device_attach+0x84/0xa8 ... Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Cc: David Brownell <david-b@pacbell.net> 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-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-08-12Remove zero-length file drivers/mtd/maps/sbc8240.cJeff Garzik
It was "deleted" in commit 2bf961b7ccd69e108ac435c67e2b0522b403c578 Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-08-09Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6Linus Torvalds
* 'for-linus' of git://git.infradead.org/ubi-2.6: UBI: compatible fallback in absense of sequence numbers UBI: fix double free on error path
2009-08-03mtd: mtdblock: introduce mtdblks_lockMatthias Kaehlcke
The mtdblks array and its content are prone to race conditions. Introduce the mutex mtdblks_lock in order to solve this. [Amended by Artem Bityutskiy] Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-08-03mtd: remove 'SBC8240 Wind River' Device Driver CodeSubrata Modak
This driver is causing build errors and is no longer needed -- it is obsoleted by physmap_of. Signed-off-by: Subrata Modak <subrata@linux.vnet.ibm.com> Tested-on-PPC64-by: Subrata Modak <subrata@linux.vnet.ibm.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-08-03mtd: OneNAND: OMAP2/3: free GPMC CS on module removalMika Korhonen
GPMC CS was not freed in omap2_onenand_remove() preventing the module from reloading after removal. Signed-off-by: Mika Korhonen <ext-mika.2.korhonen@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-08-03mtd: OneNAND: fix incorrect bufferram offsetMika Korhonen
Fixes the case where CONFIG_MTD_ONENAND_2X_PROGRAM is set and the real page size differs from mtd_info.writesize. Signed-off-by: Mika Korhonen <mika.j.korhonen@gmail.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-08-03mtd: blkdevs: do not forget to get MTD devicesArtem Bityutskiy
Nowadays MTD devices have to be "get" before they can be used. This has to be done with 'get_mtd_device()'. The 'blktrans_open()' function did not do this and instead used 'try_module_get()'. Fix this. Since 'get_mtd_device()' already gets the module, extra 'try_module_get()' is not needed. This fixes oops when one tries to use mtdblock on top of gluebi. Reported-by: Holger Brunck <holger.brunck@keymile.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-08-03mtd: fix the conversion from dev to mtd_infoSaeed Bishara
The patch fixes a bug when converting dev to mtd_info by using the drvdata of the dev, the previous code used container_of(dev, struct mtd_info, dev), but won't work for the mtdXro devices as they created without being contained inside mtd_info structure. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-07-24UBI: compatible fallback in absense of sequence numbersAdrian Hunter
Fall back onto thinking everything's OK if either of the sequence numbers we are asked to compare is zero, which is what was used before sequence numbers were introduced. [ Artem: modified the patch to be applicable to upstream UBI, added big comment ] Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2009-07-24UBI: fix double free on error pathAdrian Hunter
If we fail in 'ubi_eba_init_scan()', we free 'ubi->volumes[i]->eba_tbl' in there, but also later free it in 'free_internal_volumes()'. Fix this by assigning NULL to 'ubi->volumes[i]->eba_tbl' after it is freed. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>