|
@@ -33,6 +33,25 @@
|
|
#define CONFIG_PHYS_64BIT
|
|
#define CONFIG_PHYS_64BIT
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#ifdef CONFIG_NAND
|
|
|
|
+#define CONFIG_NAND_U_BOOT
|
|
|
|
+#define CONFIG_RAMBOOT_NAND
|
|
|
|
+#ifdef CONFIG_NAND_SPL
|
|
|
|
+#define CONFIG_SYS_TEXT_BASE_SPL 0xfff00000
|
|
|
|
+#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE_SPL /* start of monitor */
|
|
|
|
+#else
|
|
|
|
+#define CONFIG_SYS_TEXT_BASE 0xf8f82000
|
|
|
|
+#endif /* CONFIG_NAND_SPL */
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifndef CONFIG_SYS_TEXT_BASE
|
|
|
|
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifndef CONFIG_SYS_MONITOR_BASE
|
|
|
|
+#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
|
|
|
+#endif
|
|
|
|
+
|
|
/* High Level Configuration Options */
|
|
/* High Level Configuration Options */
|
|
#define CONFIG_BOOKE 1 /* BOOKE */
|
|
#define CONFIG_BOOKE 1 /* BOOKE */
|
|
#define CONFIG_E500 1 /* BOOKE e500 family */
|
|
#define CONFIG_E500 1 /* BOOKE e500 family */
|
|
@@ -41,10 +60,6 @@
|
|
#define CONFIG_MPC8572DS 1
|
|
#define CONFIG_MPC8572DS 1
|
|
#define CONFIG_MP 1 /* support multiple processors */
|
|
#define CONFIG_MP 1 /* support multiple processors */
|
|
|
|
|
|
-#ifndef CONFIG_SYS_TEXT_BASE
|
|
|
|
-#define CONFIG_SYS_TEXT_BASE 0xeff80000
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
#define CONFIG_FSL_ELBC 1 /* Has Enhanced localbus controller */
|
|
#define CONFIG_FSL_ELBC 1 /* Has Enhanced localbus controller */
|
|
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
|
|
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
|
|
#define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */
|
|
#define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */
|
|
@@ -80,11 +95,22 @@
|
|
#define CONFIG_SYS_MEMTEST_END 0x7fffffff
|
|
#define CONFIG_SYS_MEMTEST_END 0x7fffffff
|
|
#define CONFIG_PANIC_HANG /* do not reset board on panic */
|
|
#define CONFIG_PANIC_HANG /* do not reset board on panic */
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Config the L2 Cache as L2 SRAM
|
|
|
|
+ */
|
|
|
|
+#define CONFIG_SYS_INIT_L2_ADDR 0xf8f80000
|
|
|
|
+#ifdef CONFIG_PHYS_64BIT
|
|
|
|
+#define CONFIG_SYS_INIT_L2_ADDR_PHYS 0xff8f80000ull
|
|
|
|
+#else
|
|
|
|
+#define CONFIG_SYS_INIT_L2_ADDR_PHYS CONFIG_SYS_INIT_L2_ADDR
|
|
|
|
+#endif
|
|
|
|
+#define CONFIG_SYS_L2_SIZE (512 << 10)
|
|
|
|
+#define CONFIG_SYS_INIT_L2_END (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Base addresses -- Note these are effective addresses where the
|
|
* Base addresses -- Note these are effective addresses where the
|
|
* actual resources get mapped (not physical addresses)
|
|
* actual resources get mapped (not physical addresses)
|
|
*/
|
|
*/
|
|
-#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */
|
|
|
|
#define CONFIG_SYS_CCSRBAR 0xffe00000 /* relocated CCSRBAR */
|
|
#define CONFIG_SYS_CCSRBAR 0xffe00000 /* relocated CCSRBAR */
|
|
#ifdef CONFIG_PHYS_64BIT
|
|
#ifdef CONFIG_PHYS_64BIT
|
|
#define CONFIG_SYS_CCSRBAR_PHYS 0xfffe00000ull /* physical addr of CCSRBAR */
|
|
#define CONFIG_SYS_CCSRBAR_PHYS 0xfffe00000ull /* physical addr of CCSRBAR */
|
|
@@ -93,6 +119,12 @@
|
|
#endif
|
|
#endif
|
|
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses CONFIG_SYS_IMMR */
|
|
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses CONFIG_SYS_IMMR */
|
|
|
|
|
|
|
|
+#if defined(CONFIG_RAMBOOT_NAND) && !defined(CONFIG_NAND_SPL)
|
|
|
|
+#define CONFIG_SYS_CCSRBAR_DEFAULT CONFIG_SYS_CCSRBAR
|
|
|
|
+#else
|
|
|
|
+#define CONFIG_SYS_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */
|
|
|
|
+#endif
|
|
|
|
+
|
|
/* DDR Setup */
|
|
/* DDR Setup */
|
|
#define CONFIG_VERY_BIG_RAM
|
|
#define CONFIG_VERY_BIG_RAM
|
|
#define CONFIG_FSL_DDR2
|
|
#define CONFIG_FSL_DDR2
|
|
@@ -177,8 +209,11 @@
|
|
#define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE
|
|
#define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#define CONFIG_SYS_BR0_PRELIM (BR_PHYS_ADDR((CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000)) | BR_PS_16 | BR_V)
|
|
|
|
-#define CONFIG_SYS_OR0_PRELIM 0xf8000ff7
|
|
|
|
|
|
+
|
|
|
|
+#define CONFIG_FLASH_BR_PRELIM \
|
|
|
|
+ (BR_PHYS_ADDR((CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000)) \
|
|
|
|
+ | BR_PS_16 | BR_V)
|
|
|
|
+#define CONFIG_FLASH_OR_PRELIM 0xf8000ff7
|
|
|
|
|
|
#define CONFIG_SYS_BR1_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | BR_PS_16 | BR_V)
|
|
#define CONFIG_SYS_BR1_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | BR_PS_16 | BR_V)
|
|
#define CONFIG_SYS_OR1_PRELIM 0xf8000ff7
|
|
#define CONFIG_SYS_OR1_PRELIM 0xf8000ff7
|
|
@@ -193,7 +228,12 @@
|
|
#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
|
|
#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
|
|
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
|
|
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
|
|
|
|
|
|
-#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
|
|
|
|
|
+#if defined(CONFIG_RAMBOOT_NAND)
|
|
|
|
+#define CONFIG_SYS_RAMBOOT
|
|
|
|
+#define CONFIG_SYS_EXTRA_ENV_RELOC
|
|
|
|
+#else
|
|
|
|
+#undef CONFIG_SYS_RAMBOOT
|
|
|
|
+#endif
|
|
|
|
|
|
#define CONFIG_FLASH_CFI_DRIVER
|
|
#define CONFIG_FLASH_CFI_DRIVER
|
|
#define CONFIG_SYS_FLASH_CFI
|
|
#define CONFIG_SYS_FLASH_CFI
|
|
@@ -246,6 +286,8 @@
|
|
#define PIXIS_VWATCH 0x24 /* Watchdog Register */
|
|
#define PIXIS_VWATCH 0x24 /* Watchdog Register */
|
|
#define PIXIS_LED 0x25 /* LED Register */
|
|
#define PIXIS_LED 0x25 /* LED Register */
|
|
|
|
|
|
|
|
+#define PIXIS_SPD_SYSCLK_MASK 0x7 /* SYSCLK option */
|
|
|
|
+
|
|
/* old pixis referenced names */
|
|
/* old pixis referenced names */
|
|
#define PIXIS_VCLKH 0x19 /* VELA VCLKH register */
|
|
#define PIXIS_VCLKH 0x19 /* VELA VCLKH register */
|
|
#define PIXIS_VCLKL 0x1A /* VELA VCLKL register */
|
|
#define PIXIS_VCLKL 0x1A /* VELA VCLKL register */
|
|
@@ -277,12 +319,22 @@
|
|
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */
|
|
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */
|
|
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */
|
|
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */
|
|
|
|
|
|
|
|
+#ifndef CONFIG_NAND_SPL
|
|
#define CONFIG_SYS_NAND_BASE 0xffa00000
|
|
#define CONFIG_SYS_NAND_BASE 0xffa00000
|
|
#ifdef CONFIG_PHYS_64BIT
|
|
#ifdef CONFIG_PHYS_64BIT
|
|
#define CONFIG_SYS_NAND_BASE_PHYS 0xfffa00000ull
|
|
#define CONFIG_SYS_NAND_BASE_PHYS 0xfffa00000ull
|
|
#else
|
|
#else
|
|
#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
|
|
#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
|
|
#endif
|
|
#endif
|
|
|
|
+#else
|
|
|
|
+#define CONFIG_SYS_NAND_BASE 0xfff00000
|
|
|
|
+#ifdef CONFIG_PHYS_64BIT
|
|
|
|
+#define CONFIG_SYS_NAND_BASE_PHYS 0xffff00000ull
|
|
|
|
+#else
|
|
|
|
+#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
|
|
|
|
+#endif
|
|
|
|
+#endif
|
|
|
|
+
|
|
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE,\
|
|
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE,\
|
|
CONFIG_SYS_NAND_BASE + 0x40000, \
|
|
CONFIG_SYS_NAND_BASE + 0x40000, \
|
|
CONFIG_SYS_NAND_BASE + 0x80000,\
|
|
CONFIG_SYS_NAND_BASE + 0x80000,\
|
|
@@ -293,6 +345,17 @@
|
|
#define CONFIG_NAND_FSL_ELBC 1
|
|
#define CONFIG_NAND_FSL_ELBC 1
|
|
#define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
|
|
#define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
|
|
|
|
|
|
|
|
+/* NAND boot: 4K NAND loader config */
|
|
|
|
+#define CONFIG_SYS_NAND_SPL_SIZE 0x1000
|
|
|
|
+#define CONFIG_SYS_NAND_U_BOOT_SIZE ((512 << 10) - 0x2000)
|
|
|
|
+#define CONFIG_SYS_NAND_U_BOOT_DST (CONFIG_SYS_INIT_L2_ADDR)
|
|
|
|
+#define CONFIG_SYS_NAND_U_BOOT_START \
|
|
|
|
+ (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_NAND_SPL_SIZE)
|
|
|
|
+#define CONFIG_SYS_NAND_U_BOOT_OFFS (0)
|
|
|
|
+#define CONFIG_SYS_NAND_U_BOOT_RELOC (CONFIG_SYS_INIT_L2_END - 0x2000)
|
|
|
|
+#define CONFIG_SYS_NAND_U_BOOT_RELOC_SP ((CONFIG_SYS_INIT_L2_END - 1) & ~0xF)
|
|
|
|
+
|
|
|
|
+
|
|
/* NAND flash config */
|
|
/* NAND flash config */
|
|
#define CONFIG_NAND_BR_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
|
|
#define CONFIG_NAND_BR_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
|
|
| (2<<BR_DECC_SHIFT) /* Use HW ECC */ \
|
|
| (2<<BR_DECC_SHIFT) /* Use HW ECC */ \
|
|
@@ -308,9 +371,17 @@
|
|
| OR_FCM_TRLX \
|
|
| OR_FCM_TRLX \
|
|
| OR_FCM_EHTR)
|
|
| OR_FCM_EHTR)
|
|
|
|
|
|
|
|
+#ifdef CONFIG_RAMBOOT_NAND
|
|
|
|
+#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_BR2_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */
|
|
|
|
+#define CONFIG_SYS_OR2_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_BR2_PRELIM CONFIG_NAND_BR_PRELIM /* NAND Base Address */
|
|
#define CONFIG_SYS_BR2_PRELIM CONFIG_NAND_BR_PRELIM /* NAND Base Address */
|
|
#define CONFIG_SYS_OR2_PRELIM CONFIG_NAND_OR_PRELIM /* NAND Options */
|
|
#define CONFIG_SYS_OR2_PRELIM CONFIG_NAND_OR_PRELIM /* NAND Options */
|
|
-
|
|
|
|
|
|
+#endif
|
|
#define CONFIG_SYS_BR4_PRELIM (BR_PHYS_ADDR((CONFIG_SYS_NAND_BASE_PHYS + 0x40000))\
|
|
#define CONFIG_SYS_BR4_PRELIM (BR_PHYS_ADDR((CONFIG_SYS_NAND_BASE_PHYS + 0x40000))\
|
|
| (2<<BR_DECC_SHIFT) /* Use HW ECC */ \
|
|
| (2<<BR_DECC_SHIFT) /* Use HW ECC */ \
|
|
| BR_PS_8 /* Port Size = 8 bit */ \
|
|
| BR_PS_8 /* Port Size = 8 bit */ \
|
|
@@ -341,6 +412,9 @@
|
|
#define CONFIG_SYS_NS16550_SERIAL
|
|
#define CONFIG_SYS_NS16550_SERIAL
|
|
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
|
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
|
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
|
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
|
|
|
+#ifdef CONFIG_NAND_SPL
|
|
|
|
+#define CONFIG_NS16550_MIN_FUNCTIONS
|
|
|
|
+#endif
|
|
|
|
|
|
#define CONFIG_SYS_BAUDRATE_TABLE \
|
|
#define CONFIG_SYS_BAUDRATE_TABLE \
|
|
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
|
|
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
|
|
@@ -546,14 +620,25 @@
|
|
/*
|
|
/*
|
|
* Environment
|
|
* Environment
|
|
*/
|
|
*/
|
|
-#define CONFIG_ENV_IS_IN_FLASH 1
|
|
|
|
-#if CONFIG_SYS_MONITOR_BASE > 0xfff80000
|
|
|
|
-#define CONFIG_ENV_ADDR 0xfff80000
|
|
|
|
|
|
+
|
|
|
|
+#if defined(CONFIG_SYS_RAMBOOT)
|
|
|
|
+#if defined(CONFIG_RAMBOOT_NAND)
|
|
|
|
+#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)
|
|
|
|
+#endif
|
|
|
|
+
|
|
#else
|
|
#else
|
|
-#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
|
|
|
|
|
+ #define CONFIG_ENV_IS_IN_FLASH 1
|
|
|
|
+ #if CONFIG_SYS_MONITOR_BASE > 0xfff80000
|
|
|
|
+ #define CONFIG_ENV_ADDR 0xfff80000
|
|
|
|
+ #else
|
|
|
|
+ #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
|
|
|
+ #endif
|
|
|
|
+ #define CONFIG_ENV_SIZE 0x2000
|
|
|
|
+ #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */
|
|
#endif
|
|
#endif
|
|
-#define CONFIG_ENV_SIZE 0x2000
|
|
|
|
-#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */
|
|
|
|
|
|
|
|
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
|
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
|
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
|
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|