diff options
author | Poonam Aggrwal <poonam.aggrwal@freescale.com> | 2009-06-01 10:31:21 +0530 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2009-10-07 15:47:48 -0400 |
commit | b121fdc5d24e8ec6e32e5570e3e019214c41b68f (patch) | |
tree | c8ef5d3ff435ec858ad65ae99f15ef7eff752c0a /include | |
parent | b4a7ef6f8871fe73c848fa31075971c83ff5e129 (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.h | 35 |
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 |