Skip to contentSkip to conversation

feature additions and fixes for da830

PATCH New nagabhushana.netagunte at ti.com 3 participants 4 messages Sep 30, 2011 – Oct 4, 2011

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 feature additions and fixes for da830

From: Nagabhushana Netagunte <[email protected]>

Changes from last submission:-

This patch series had 5 patches. 3 patches got accepted. One patch relating to disabling cache is dropped as we dont need that patch anymore. The patch which remained in this series adds NAND boot mode for da830. Comment relating this patch is also addressed.

Nagabhushana Netagunte (1):
da830: add support for NAND boot mode

 board/davinci/da8xxevm/da830evm.c |   63 +++++++++++++++++++++++++++++++++++++
 include/configs/da830evm.h        |    4 ++-
 2 files changed, 66 insertions(+), 1 deletions(-)
#1 lore raw

PATCH v2 1/1 da830: add support for NAND boot mode

From: Nagabhushana Netagunte <[email protected]>

Add support for enabling NAND boot mode in configuration file and add correspanding pinmux support, nand initialize function in board file. Since the environment variable are stored in first block CONFIG_ENV_OFFSET is set to offset 0 from (512 << 10) and also the size required for environment variables not more than 10KB the CONFIG_ENV_SIZE is set to 10KB from (512 << 10).

---
 board/davinci/da8xxevm/da830evm.c |   63 +++++++++++++++++++++++++++++++++++++
 include/configs/da830evm.h        |    4 ++-
 2 files changed, 66 insertions(+), 1 deletions(-)
board/davinci/da8xxevm/da830evm.c +63 -0
index 69ed293..b876ada 100644
@@ -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 */
include/configs/da830evm.h +3 -1
index eaf40ea..0b76dfb 100644
@@ -106,8 +106,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
Signature · 1 line
1.6.2.4
#2 lore raw

PATCH v2 1/1 da830: add support for NAND boot mode

Quoted 9 lines · nagabhushana.netagunte at ti.com

From: Nagabhushana Netagunte <[email protected]>

Add support for enabling NAND boot mode in configuration file and add correspanding pinmux support, nand initialize function in board file. Since the environment variable are stored in first block CONFIG_ENV_OFFSET is set to offset 0 from (512 << 10) and also the size required for environment variables not more than 10KB the CONFIG_ENV_SIZE is set to 10KB from (512 << 10).

Quoted 7 lines
---
 board/davinci/da8xxevm/da830evm.c |   63 +++++++++++++++++++++++++++++++++++++
 include/configs/da830evm.h        |    4 ++-
 2 files changed, 66 insertions(+), 1 deletions(-)

No further comments from me:

#3 lore raw

PATCH v2 1/1 da830: add support for NAND boot mode

Quoted 18 lines · Nick Thompson
Quoted 9 lines · nagabhushana.netagunte at ti.com

From: Nagabhushana Netagunte <[email protected]>

Add support for enabling NAND boot mode in configuration file and add correspanding pinmux support, nand initialize function in board file. Since the environment variable are stored in first block CONFIG_ENV_OFFSET is set to offset 0 from (512 << 10) and also the size required for environment variables not more than 10KB the CONFIG_ENV_SIZE is set to 10KB from (512 << 10).

Quoted 7 lines
---
 board/davinci/da8xxevm/da830evm.c |   63 +++++++++++++++++++++++++++++++++++++
 include/configs/da830evm.h        |    4 ++-
 2 files changed, 66 insertions(+), 1 deletions(-)
Quoted 5 lines

No further comments from me:

Thanks Nick.

Rgds,
Nag