aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/davinci/da8xxevm/da830evm.c63
-rw-r--r--include/configs/da830evm.h4
2 files changed, 66 insertions, 1 deletions
diff --git a/board/davinci/da8xxevm/da830evm.c b/board/davinci/da8xxevm/da830evm.c
index 06506537b..2021e7324 100644
--- a/board/davinci/da8xxevm/da830evm.c
+++ b/board/davinci/da8xxevm/da830evm.c
@@ -40,6 +40,8 @@
#include <asm/arch/emif_defs.h>
#include <asm/arch/emac_defs.h>
#include <asm/io.h>
+#include <nand.h>
+#include <asm/arch/nand_defs.h>
#include <asm/arch/davinci_misc.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -98,6 +100,56 @@ static const struct pinmux_config i2c_pins[] = {
{ pinmux(8), 2, 4 }
};
+#ifdef CONFIG_USE_NAND
+/* NAND pin muxer settings */
+const struct pinmux_config aemif_pins[] = {
+ { pinmux(13), 1, 6 },
+ { pinmux(13), 1, 7 },
+ { pinmux(14), 1, 0 },
+ { pinmux(14), 1, 1 },
+ { pinmux(14), 1, 2 },
+ { pinmux(14), 1, 3 },
+ { pinmux(14), 1, 4 },
+ { pinmux(14), 1, 5 },
+ { pinmux(14), 1, 6 },
+ { pinmux(14), 1, 7 },
+ { pinmux(15), 1, 0 },
+ { pinmux(15), 1, 1 },
+ { pinmux(15), 1, 2 },
+ { pinmux(15), 1, 3 },
+ { pinmux(15), 1, 4 },
+ { pinmux(15), 1, 5 },
+ { pinmux(15), 1, 6 },
+ { pinmux(15), 1, 7 },
+ { pinmux(16), 1, 0 },
+ { pinmux(16), 1, 1 },
+ { pinmux(16), 1, 2 },
+ { pinmux(16), 1, 3 },
+ { pinmux(16), 1, 4 },
+ { pinmux(16), 1, 5 },
+ { pinmux(16), 1, 6 },
+ { pinmux(16), 1, 7 },
+ { pinmux(17), 1, 0 },
+ { pinmux(17), 1, 1 },
+ { pinmux(17), 1, 2 },
+ { pinmux(17), 1, 3 },
+ { pinmux(17), 1, 4 },
+ { pinmux(17), 1, 5 },
+ { pinmux(17), 1, 6 },
+ { pinmux(17), 1, 7 },
+ { pinmux(18), 1, 0 },
+ { pinmux(18), 1, 1 },
+ { pinmux(18), 1, 2 },
+ { pinmux(18), 1, 3 },
+ { pinmux(18), 1, 4 },
+ { pinmux(18), 1, 5 },
+ { pinmux(18), 1, 6 },
+ { pinmux(18), 1, 7 },
+ { pinmux(10), 1, 0 }
+};
+#endif
+
+
/* USB0_DRVVBUS pin muxer settings */
static const struct pinmux_config usb_pins[] = {
{ pinmux(9), 1, 1 }
@@ -114,6 +166,7 @@ static const struct pinmux_resource pinmuxes[] = {
#endif
#ifdef CONFIG_USE_NAND
PINMUX_ITEM(emifa_nand_pins),
+ PINMUX_ITEM(aemif_pins),
#endif
#if defined(CONFIG_DRIVER_TI_EMAC)
PINMUX_ITEM(emac_pins),
@@ -184,6 +237,16 @@ int board_init(void)
return(0);
}
+
+#ifdef CONFIG_NAND_DAVINCI
+int board_nand_init(struct nand_chip *nand)
+{
+ davinci_nand_init(nand);
+
+ return 0;
+}
+#endif
+
#if defined(CONFIG_DRIVER_TI_EMAC)
#define PHY_SW_I2C_ADDR 0x5f /* Address of PHY on i2c bus */
diff --git a/include/configs/da830evm.h b/include/configs/da830evm.h
index c522af97b..cca75cefe 100644
--- a/include/configs/da830evm.h
+++ b/include/configs/da830evm.h
@@ -105,8 +105,10 @@
#define CONFIG_SYS_NO_FLASH
#define CONFIG_ENV_IS_IN_NAND /* U-Boot env in NAND Flash */
#define CONFIG_ENV_OFFSET (512 << 10)
-#define CONFIG_ENV_SIZE (512 << 10)
+#define CONFIG_ENV_SIZE (10 << 10) /* 10KB */
+#define CONFIG_SYS_NAND_USE_FLASH_BBT
#define CONFIG_SYS_NAND_4BIT_HW_ECC_OOBFIRST
+#define CONFIG_SYS_NAND_PAGE_2K
#define CONFIG_SYS_NAND_CS 3
#define CONFIG_SYS_NAND_BASE DAVINCI_ASYNC_EMIF_DATA_CE3_BASE
#define CONFIG_SYS_NAND_PAGE_2K