[U-Boot] [patch u-boot arm/next] davinci dm6446evm NAND update

David Brownell
2009-04-29T23:35:58Z

From: David Brownell <dbrownell@users.sourceforge.net>

This updates the optional (non-default!) NAND support for the
DaVinci DM6446 EVM:

- include MTD partitioning, defaulting to what Linux uses

- use a flash-based BBT, which among other things speeds bootup

This matches code that's now queued for mainline Linux, and might
even merge in an upcoming 2.6.30-rc; the MTIDS are set up so that
the U-Boot $mtdparts environment variable can be passed as-is on
the kernel command line, as a cmdlinepart override.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

--- a/include/configs/davinci_dvevm.h
+++ b/include/configs/davinci_dvevm.h
@@ -119,6 +121,10 @@
#ifdef CONFIG_SYS_NAND_SMALLPAGE
#define CONFIG_ENV_SECT_SIZE 512 /* Env sector Size */
#define CONFIG_ENV_SIZE SZ_16K
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_CMD_MTDPARTS
+#define MTDIDS_DEFAULT "nand0=davinci_nand.0"
+#define MTDPARTS_DEFAULT "mtdparts=davinci_nand.0:384k(bootloader)ro,4m(kernel),-(filesystem)"
#else
#define CONFIG_ENV_SECT_SIZE 2048 /* Env sector Size */
#define CONFIG_ENV_SIZE SZ_128K
@@ -126,6 +132,7 @@
#define CONFIG_SKIP_LOWLEVEL_INIT /* U-Boot is loaded by a bootloader */
#define CONFIG_SKIP_RELOCATE_UBOOT /* to a proper address, init done */
#define CONFIG_SYS_NAND_BASE 0x02000000
+#define CONFIG_SYS_NAND_USE_FLASH_BBT
#define CONFIG_SYS_NAND_HW_ECC
#define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
#define CONFIG_ENV_OFFSET 0x0 /* Block 0--not used by bootcode */