summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPoonam Aggrwal <poonam.aggrwal@freescale.com>2009-06-01 10:31:21 +0530
committerJustin Waters <justin.waters@timesys.com>2009-10-07 15:47:48 -0400
commitb121fdc5d24e8ec6e32e5570e3e019214c41b68f (patch)
treec8ef5d3ff435ec858ad65ae99f15ef7eff752c0a /include
parentb4a7ef6f8871fe73c848fa31075971c83ff5e129 (diff)
NAND boot support for P1 P2 RDB Platforms
Switch options for NAND boot are SW[1:4]='0101" To Boot from NAND 1. tftp 1000000 u-boot-nand.bin 2. nand erase 0 80000 3. nand write 1000000 0 80000 4. Change the Switch settings to boot from NAND. 5. reset the board. Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/configs/P10XX_20XX_RDB.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/include/configs/P10XX_20XX_RDB.h b/include/configs/P10XX_20XX_RDB.h
index 5443cf5aa9..b4ef0064e8 100644
--- a/include/configs/P10XX_20XX_RDB.h
+++ b/include/configs/P10XX_20XX_RDB.h
@@ -223,7 +223,11 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_SYS_RESERVED_LAW0 0
#endif
+#ifdef CONFIG_NAND_SPL
+#define CONFIG_SYS_NAND_BASE 0xfff00000
+#else
#define CONFIG_SYS_NAND_BASE 0xffa00000
+#endif
#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
#define CONFIG_SYS_NAND_BASE_LIST {CONFIG_SYS_NAND_BASE}
#define CONFIG_SYS_MAX_NAND_DEVICE 1
@@ -232,6 +236,16 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_CMD_NAND 1
#define CONFIG_NAND_FSL_ELBC 1
#define CONFIG_SYS_NAND_BLOCK_SIZE (16 * 1024)
+#define CONFIG_SYS_NAND_SPL_SIZE 0x1000
+#define CONFIG_SYS_NAND_U_BOOT_SIZE ((512 << 10) + CONFIG_SYS_NAND_SPL_SIZE)
+#define CONFIG_SYS_NAND_U_BOOT_DST (0x01000000 - CONFIG_SYS_NAND_SPL_SIZE)
+#define CONFIG_SYS_NAND_U_BOOT_START 0x01000000
+#define CONFIG_SYS_NAND_U_BOOT_OFFS (0)
+#define CONFIG_SYS_NAND_U_BOOT_RELOC 0x00010000
+
+#ifdef CONFIG_NAND_U_BOOT
+ #define CONFIG_SYS_RESERVED_LAW1 1
+#endif
/* NAND flash config */
#define CONFIG_NAND_BR_PRELIM (CONFIG_SYS_NAND_BASE_PHYS \
@@ -248,10 +262,17 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
| OR_FCM_TRLX \
| OR_FCM_EHTR)
-#define CONFIG_SYS_BR0_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */
-#define CONFIG_SYS_OR0_PRELIM CONFIG_FLASH_OR_PRELIM /* NOR Options */
-#define CONFIG_SYS_BR1_PRELIM CONFIG_NAND_BR_PRELIM /* NAND Base Address */
-#define CONFIG_SYS_OR1_PRELIM CONFIG_NAND_OR_PRELIM /* NAND Options */
+#ifdef CONFIG_NAND_U_BOOT
+ #define CONFIG_SYS_BR0_PRELIM CONFIG_NAND_BR_PRELIM /* NAND Base Address */
+ #define CONFIG_SYS_OR0_PRELIM CONFIG_NAND_OR_PRELIM /* NAND Options */
+ #define CONFIG_SYS_BR1_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */
+ #define CONFIG_SYS_OR1_PRELIM CONFIG_FLASH_OR_PRELIM /* NOR Options */
+#else
+ #define CONFIG_SYS_BR0_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */
+ #define CONFIG_SYS_OR0_PRELIM CONFIG_FLASH_OR_PRELIM /* NOR Options */
+ #define CONFIG_SYS_BR1_PRELIM CONFIG_NAND_BR_PRELIM /* NAND Base Address */
+ #define CONFIG_SYS_OR1_PRELIM CONFIG_NAND_OR_PRELIM /* NAND Options */
+#endif
#define CONFIG_SYS_VSC7385_BASE 0xffb00000
@@ -460,7 +481,11 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
/*
* Environment
*/
-#if !defined(CONFIG_SDCARD_U_BOOT)
+#if defined(CONFIG_NAND_U_BOOT)
+#define CONFIG_ENV_IS_IN_NAND 1
+#define CONFIG_ENV_SIZE CONFIG_SYS_NAND_BLOCK_SIZE
+#define CONFIG_ENV_OFFSET ((512 * 1024) + CONFIG_SYS_NAND_BLOCK_SIZE)
+#elif !defined(CONFIG_SDCARD_U_BOOT)
#define CONFIG_ENV_IS_IN_FLASH 1
#if CONFIG_SYS_MONITOR_BASE > 0xfff80000
#define CONFIG_ENV_ADDR 0xfff80000