]> git.sur5r.net Git - u-boot/blobdiff - doc/README.nand
Merge branch 'master' of git://git.denx.de/u-boot-at91
[u-boot] / doc / README.nand
index c5c5ef29e6390df037679b2734737dceaca507ce..bf80bc0a5852447acbb4a42ec6d260df70c8c267 100644 (file)
@@ -57,14 +57,9 @@ Commands:
       Print information about all of the NAND devices found.
 
    nand read addr ofs|partition size
       Print information about all of the NAND devices found.
 
    nand read addr ofs|partition size
-      Read `size' bytes from `ofs' in NAND flash to `addr'. If a page
-      cannot be read because it is marked bad or an uncorrectable data
-      error is found the command stops with an error.
-
-   nand read.jffs2 addr ofs|partition size
-      Like `read', but the data for blocks that are marked bad is read as
-      0xff. This gives a readable JFFS2 image that can be processed by
-      the JFFS2 commands such as ls and fsload.
+      Read `size' bytes from `ofs' in NAND flash to `addr'.  Blocks that
+      are marked bad are skipped.  If a page cannot be read because an
+      uncorrectable data error is found, the command stops with an error.
 
    nand read.oob addr ofs|partition size
       Read `size' bytes from the out-of-band data area corresponding to
 
    nand read.oob addr ofs|partition size
       Read `size' bytes from the out-of-band data area corresponding to
@@ -73,17 +68,15 @@ Commands:
       for bad blocks or ECC errors.
 
    nand write addr ofs|partition size
       for bad blocks or ECC errors.
 
    nand write addr ofs|partition size
-      Write `size' bytes from `addr' to `ofs' in NAND flash. If a page
-      cannot be written because it is marked bad or the write fails the
-      command stops with an error.
-
-   nand write.jffs2 addr ofs|partition size
-      Like `write', but blocks that are marked bad are skipped and the
-      is written to the next block instead. This allows writing writing
-      a JFFS2 image, as long as the image is short enough to fit even
-      after skipping the bad blocks. Compact images, such as those
-      produced by mkfs.jffs2 should work well, but loading an image copied
-      from another flash is going to be trouble if there are any bad blocks.
+      Write `size' bytes from `addr' to `ofs' in NAND flash.  Blocks that
+      are marked bad are skipped.  If a page cannot be read because an
+      uncorrectable data error is found, the command stops with an error.
+
+      As JFFS2 skips blocks similarly, this allows writing a JFFS2 image,
+      as long as the image is short enough to fit even after skipping the
+      bad blocks.  Compact images, such as those produced by mkfs.jffs2
+      should work well, but loading an image copied from another flash is
+      going to be trouble if there are any bad blocks.
 
    nand write.oob addr ofs|partition size
       Write `size' bytes from `addr' to the out-of-band data area
 
    nand write.oob addr ofs|partition size
       Write `size' bytes from `addr' to the out-of-band data area
@@ -102,7 +95,7 @@ Configuration Options:
       CONFIG_MTD_NAND_ECC_YAFFS would be another useful choice for
       someone to implement.
 
       CONFIG_MTD_NAND_ECC_YAFFS would be another useful choice for
       someone to implement.
 
-   CFG_MAX_NAND_DEVICE
+   CONFIG_SYS_MAX_NAND_DEVICE
       The maximum number of NAND devices you want to support.
 
 NAND Interface:
       The maximum number of NAND devices you want to support.
 
 NAND Interface:
@@ -171,7 +164,7 @@ More Definitions:
    These definitions are needed in the board configuration for now, but
    may really belong in a header file.
    TODO: Figure which ones are truly configuration settings and rename
    These definitions are needed in the board configuration for now, but
    may really belong in a header file.
    TODO: Figure which ones are truly configuration settings and rename
-        them to CFG_NAND_... and move the rest somewhere appropriate.
+        them to CONFIG_SYS_NAND_... and move the rest somewhere appropriate.
 
    #define SECTORSIZE 512
    #define ADDR_COLUMN 1
 
    #define SECTORSIZE 512
    #define ADDR_COLUMN 1
@@ -181,6 +174,14 @@ More Definitions:
    #define NAND_MAX_FLOORS 1
    #define NAND_MAX_CHIPS 1
 
    #define NAND_MAX_FLOORS 1
    #define NAND_MAX_CHIPS 1
 
+   #define CONFIG_SYS_DAVINCI_BROKEN_ECC
+      Versions of U-Boot <= 1.3.3 and Montavista Linux kernels
+      generated bogus ECCs on large-page NAND. Both large and small page
+      NAND ECCs were incompatible with the Linux davinci git tree (since
+      NAND was integrated in 2.6.24).
+      Turn this ON if you want backwards compatibility.
+      Turn this OFF if you want U-Boot and the Linux davinci git kernel
+      to use the same ECC format.
 
 NOTE:
 =====
 
 NOTE:
 =====
@@ -191,7 +192,7 @@ We now use a complete rewrite of the NAND code based on what is in
 The old NAND handling code has been re-factored and is now confined
 to only board-specific files and - unfortunately - to the DoC code
 (see below). A new configuration variable has been introduced:
 The old NAND handling code has been re-factored and is now confined
 to only board-specific files and - unfortunately - to the DoC code
 (see below). A new configuration variable has been introduced:
-CFG_NAND_LEGACY, which has to be defined in the board config file if
+CONFIG_NAND_LEGACY, which has to be defined in the board config file if
 that board uses legacy code.
 
 The necessary changes have been made to all affected boards, and no
 that board uses legacy code.
 
 The necessary changes have been made to all affected boards, and no
@@ -215,12 +216,6 @@ JFFS2 related commands:
   using both the new code which is able to skip bad blocks
   "nand erase clean" additionally writes JFFS2-cleanmarkers in the oob.
 
   using both the new code which is able to skip bad blocks
   "nand erase clean" additionally writes JFFS2-cleanmarkers in the oob.
 
-  "nand write.jffs2"
-  like "nand write" but skip found bad eraseblocks
-
-  "nand read.jffs2"
-  like "nand read" but skip found bad eraseblocks
-
 Miscellaneous and testing commands:
   "markbad [offset]"
   create an artificial bad block (for testing bad block handling)
 Miscellaneous and testing commands:
   "markbad [offset]"
   create an artificial bad block (for testing bad block handling)