summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorJerry Huang <Chang-Ming.Huang@freescale.com>2010-01-25 14:33:29 +0800
committerScott Sweeny <scott.sweeny@timesys.com>2010-09-29 17:32:29 -0400
commita6060fb63152c705b3a2b1355ce0840ce4afd1dc (patch)
treef45b9ab1185637a8f328fbd228f604bf56c79db4 /board
parent9e2ee7c62e1f7596ad01432063396664f7af0b75 (diff)
p1022ds: On-Chip ROM boot support
Including boot from eSDHC and eSPI. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Diffstat (limited to 'board')
-rw-r--r--board/freescale/p1022ds/config.mk12
-rw-r--r--board/freescale/p1022ds/p1022ds.c4
-rw-r--r--board/freescale/p1022ds/tlb.c15
3 files changed, 27 insertions, 4 deletions
diff --git a/board/freescale/p1022ds/config.mk b/board/freescale/p1022ds/config.mk
index be0cb2c48b..75f4e37841 100644
--- a/board/freescale/p1022ds/config.mk
+++ b/board/freescale/p1022ds/config.mk
@@ -23,8 +23,20 @@
#
# p1022ds board
#
+ifeq ($(CONFIG_MK_SDCARD), y)
+TEXT_BASE = $(CONFIG_RAMBOOT_TEXT_BASE)
+RESET_VECTOR_ADDRESS = 0x1107fffc
+endif
+
+ifeq ($(CONFIG_MK_SPIFLASH), y)
+TEXT_BASE = $(CONFIG_RAMBOOT_TEXT_BASE)
+RESET_VECTOR_ADDRESS = 0x1107fffc
+endif
+
ifndef TEXT_BASE
TEXT_BASE = 0xeff80000
endif
+ifndef RESET_VECTOR_ADDRESS
RESET_VECTOR_ADDRESS = 0xeffffffc
+endif
diff --git a/board/freescale/p1022ds/p1022ds.c b/board/freescale/p1022ds/p1022ds.c
index 39c441009e..4b2e1345de 100644
--- a/board/freescale/p1022ds/p1022ds.c
+++ b/board/freescale/p1022ds/p1022ds.c
@@ -98,6 +98,10 @@ phys_size_t initdram(int board_type)
puts("Initializing....");
+#if defined(CONFIG_SYS_RAMBOOT)
+ return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024;
+#endif
+
#ifdef CONFIG_SPD_EEPROM
dram_size = fsl_ddr_sdram();
#else
diff --git a/board/freescale/p1022ds/tlb.c b/board/freescale/p1022ds/tlb.c
index fac7ebbf09..e5eb93a5d2 100644
--- a/board/freescale/p1022ds/tlb.c
+++ b/board/freescale/p1022ds/tlb.c
@@ -82,10 +82,17 @@ struct fsl_e_tlb_entry tlb_table[] = {
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
0, 6, BOOKE_PAGESZ_256K, 1),
- /* *I*G - NAND */
-/* SET_TLB_ENTRY(1, CONFIG_SYS_NAND_BASE, CONFIG_SYS_NAND_BASE_PHYS, */
-/* MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, */
-/* 0, 7, BOOKE_PAGESZ_1M, 1), */
+#ifdef CONFIG_SYS_RAMBOOT
+ /* *I*G - eSDHC/eSPI/NAND */
+ SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
+ MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
+ 0, 8, BOOKE_PAGESZ_1G, 1),
+
+ SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
+ CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
+ MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
+ 0, 9, BOOKE_PAGESZ_1G, 1),
+#endif
SET_TLB_ENTRY(1, PIXIS_BASE, PIXIS_BASE_PHYS,
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,