aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nand
AgeCommit message (Collapse)Author
2010-03-16lpc3180: LPC3180(LPC3250) SLC driver implementedrichard vegh
Until this time only basic SLC functionality exists when you want to use SLC to access external nand flash. Basic functionality can be selected with command: lpc3180 select 0 slc It is anyway very slow to write/read to/from nand flash. With the new command, SLC speed improved about 20 times, and hardware ECC info also read/written from/to nand flash OOB area: lpc3180 select 0 slc bulk Speed improvement achieved by using working are in SRAM of the LPC3250 chip and controlling DMA controller to interact between SRAM and SLC peripheral. Here are the patches, and if they are ok than take them. Tested with hitex LPC3250 usb stick. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-01-16NAND: lpc3180 crashes on LPC3250richard vegh
The LPC3180 NAND driver was crashing on some large page chips. Fix: - Crash and related functionality (don't memset too much OOB data) - Some debug messages - Command handling now works [dbrownell@users.sourceforge.net: whitespace/linelength/message cleanup] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-01-14nand flash support for s3c64xxPeter Korsgaard
Identical to the existing 2412/2443 support except for the base address and NFCONF value (bit 2 is reserved and should be written as 1 ref UM). Tested on a s3c6410 board, but controller is identical in 6400/6410 except for 8bit MLC ECC support in 6410 which isn't supported by the driver. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-01-08NAND: help/usage/doc updatesDavid Brownell
Usage messages should use the same EBNF as the User's Guide; no angle brackets. Be more complete too ... some params were missing. Improve and correct various helptexts. Make user's guide refer to the NAND "driver" name, not the controller name; that's a bit more precise. Don't use "&function"; its name is its address. Line up struct initializers properly. Remove some blank lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-28MinGW build fixesFreddie Chopin
Print "ssize_t" as "%ld" (+ cast to long) not as "%zu". Official MinGW (gcc 3.4.5) doesn't understand "z" flag. Signed-off-by: Freddie Chopin <freddie_chopin@op.pl> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-21Packaging fix, NEWS updateDavid Brownell
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-19cygwin build fixesDavid Brownell
and shrink some too-long lines Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-19AT91SAM9 NAND flash driver.Dean Glazeski
This creates the TCL interface for configuring an AT91SAM9 NAND flash controller and implements the necessary functions to correctly work with a NAND flash device connected to the chip. This includes updates to the driver list and the Makefile.am to support building the driver and also houses the documentation update in openocd.texi. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-18NAND write data page refactoring.Dean Glazeski
Refactored the write page raw function into two new functions for writing data to a NAND device and then another function to finish up a write to a NAND device. This includes some new updates to introduce more error checking to existing code. [dbrownell@users.sourceforge.net: fix fault handling, whitespace] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-18NAND read data page refactor.Dean Glazeski
Added a new function to encapsulate reading a page of data from a NAND device using either the read_block_data function of a NAND controller or to use direct reading of data from the NAND device. This also adds some performance enhancements and uses the read_data function if the read_block_data function fails safely (because it can't allocate a buffer in the working area). [dbrownell@users.sourceforge.net: fix fault handling, whitespace] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-11add missing call to add new NAND devicesZachary T Welch
I forgot to add a call to the newly factored nand_device_add(), along with its forward declaration.
2009-12-09Comment and doxygen fixesDavid Brownell
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-08build: add build/src to include pathØyvind Harboe
This allows including generated include files. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-12-07ARM: use <target/arm.h> not armv4_5.hDavid Brownell
Move most declarations in <target/armv4_5.h> to <target/arm.h> and update users. What's left in the older file is stuff that I think should be removed ... the old register cache access stuff, which makes it awkward to support microcontroller profile (Cortex-M) cores. The armv4_5_run_algorithm() declaration was moved too, even though it's not yet as generic as it probably ought to be. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-04rename nand.h to flash//nand/core.hZachary T Welch
Rename nand.h as flash/nand/core.h, chase consumers. The public APIs need to be sorted out with imp.h, but this allows other changes to begin improving the separation between policy and mechanism. Moves #include <target/target.h> and #include "driver.h" into the internal headers or source files, removing it from <flash/nand/core.h>.
2009-12-04move remaining nand helper filesZachary T Welch
Move remaining NAND implementation files into src/flash/nand/.
2009-12-04split nand.c into nand/{core,fileio,tcl}.cZachary T Welch
Moves commands into nand/tcl.c and core implementation to 'nand/core.c' and 'nand/fileio.c'. Eliminates 'flash/nand.c'. Adds 'nand/imp.h' to share routines between TCL commands and core.
2009-12-04split NAND driver handling into nand/driver.[ch]Zachary T Welch
This work parallels the NOR directory, encapsulating the NAND drivers into a separate file. This takes an extra step by encapsulating the type of data structure used to manage the drivers, allowing it to be changed from an array to a dynamic list in the future.
2009-12-03ARM NAND I/O interface updateDean Glazeski
Modify the arm_nand_data struct to better support both read and write operations while using the same struct. An additional field was added, and initialized, to record the last operation so that the correct code can be loaded to the working area. [dbrownell@users.sourceforge.net: merge init patch, tweak GPL note] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-03remove tertiary include pathsZachary T Welch
With all #include directives converted, we only need to have the top-level src/ directory in the search path.
2009-12-03change #include "../hello.h" to "hello.h"Zachary T Welch
Before we can -I the top-level src/ directory alone, references to "hello.h" must be updated. This is an internal header, so it does not need angle brackets.
2009-12-03change #include "s3c24xx_regs.h" to <flash/nand/s3c24xx_regs.h>Zachary T Welch
Changes from the flat namespace to heirarchical one. Instead of writing: #include "s3c24xx_regs.h" the following form should be used. #include <flash/nand/s3c24xx_regs.h> The exception is from .c files in the same directory.
2009-12-03change #include "nand.h" to <flash/nand.h>Zachary T Welch
Changes from the flat namespace to heirarchical one. Instead of writing: #include "nand.h" the following form should be used. #include <flash/nand.h> The exception is from .c files in the same directory.
2009-12-03change #include "arm_nandio.h" to <flash/arm_nandio.h>Zachary T Welch
Changes from the flat namespace to heirarchical one. Instead of writing: #include "arm_nandio.h" the following form should be used. #include <flash/arm_nandio.h> The exception is from .c files in the same directory.
2009-12-03change #include "armv4_5.h" to <target/armv4_5.h>Zachary T Welch
Changes from the flat namespace to heirarchical one. Instead of writing: #include "armv4_5.h" the following form should be used. #include <target/armv4_5.h> The exception is from .c files in the same directory.
2009-12-03normalize headers to make changing easierZachary T Welch
These headers need minor tweaks to paves the way for wholesale scripted coversion of the header files.
2009-12-03allow #include directives to use module nameZachary T Welch
Includes the src directory in the search path, so header files may be migrated from: #include "foo.h" to #include <module/foo.h> which is more conducive for installation.
2009-12-02move nand drivers to src/flash/nand/Zachary T Welch
Moves NAND drivers to src/flash/nand/. Adds src/flash/nand/Makefile.am. Builds libocdflashnand.la.