[U-Boot] [PATCH v2 21/22] omap4: add spl support for OMAP4 Panda

Aneesh V
2011-05-15T15:21:39Z

Signed-off-by: Aneesh V <aneesh@ti.com>
---
V2:
* Changed CONFIG_SYS_SPL_TEXT_BASE to 0x40304350 for Panda
This is required for EMU devices
* Changes due to make file changes
---
arch/arm/cpu/armv7/omap4/emif.c | 5 +++--
arch/arm/include/asm/arch-omap4/emif.h | 10 +++++-----
include/configs/omap4_panda.h | 24 ++++++++++++++++++++++++
spl/board/ti/panda/Makefile | 32 ++++++++++++++++++++++++++++++++
4 files changed, 64 insertions(+), 7 deletions(-)
create mode 100644 spl/board/ti/panda/Makefile

diff --git a/arch/arm/cpu/armv7/omap4/emif.c b/arch/arm/cpu/armv7/omap4/emif.c
index b09aa8f..699a545 100644
--- a/arch/arm/cpu/armv7/omap4/emif.c
+++ b/arch/arm/cpu/armv7/omap4/emif.c
@@ -1178,9 +1178,9 @@ static void dmm_init(u32 base)
#ifdef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
emif_get_dmm_regs(&lisa_map_regs);
#else
- u32 emif1_size, emif2_size, mapped_size, section_map;
+ u32 emif1_size, emif2_size, mapped_size, section_map = 0;
u32 section_cnt, sys_addr;
- struct dmm_lisa_map_regs lis_map_regs_calculated;
+ struct dmm_lisa_map_regs lis_map_regs_calculated = {0};

mapped_size = 0;
section_cnt = 3;
@@ -1253,6 +1253,7 @@ static void dmm_init(u32 base)
lis_map_regs_calculated.dmm_lisa_map_2 = section_map;
lis_map_regs_calculated.dmm_lisa_map_1 = 0;
}
+
/* TRAP for invalid TILER mappings in section 0 */
lis_map_regs_calculated.dmm_lisa_map_0 = DMM_LISA_MAP_0_INVAL_ADDR_TRAP;

diff --git a/arch/arm/include/asm/arch-omap4/emif.h b/arch/arm/include/asm/arch-omap4/emif.h
index 8cc3230..b95e545 100644
--- a/arch/arm/include/asm/arch-omap4/emif.h
+++ b/arch/arm/include/asm/arch-omap4/emif.h
@@ -520,11 +520,11 @@

/* Trap for invalid TILER PAT entries */
#define DMM_LISA_MAP_0_INVAL_ADDR_TRAP (\
- (0 << OMAP44XX_SDRC_ADDR_SHIFT) |\
- (DMM_SDRC_MAP_EMIF1_ONLY << OMAP44XX_SDRC_MAP_SHIFT)|\
- (DMM_SDRC_ADDR_SPC_INVALID << OMAP44XX_SDRC_ADDRSPC_SHIFT)|\
- (DMM_SDRC_INTL_NONE << OMAP44XX_SDRC_INTL_SHIFT)|\
- (0xFF << OMAP44XX_SYS_ADDR_SHIFT))
+ (0 << OMAP44XX_SDRC_ADDR_SHIFT) |\
+ (DMM_SDRC_MAP_EMIF1_ONLY << OMAP44XX_SDRC_MAP_SHIFT)|\
+ (DMM_SDRC_ADDR_SPC_INVALID << OMAP44XX_SDRC_ADDRSPC_SHIFT)|\
+ (DMM_SDRC_INTL_NONE << OMAP44XX_SDRC_INTL_SHIFT)|\
+ (0xFF << OMAP44XX_SYS_ADDR_SHIFT))

/* Reg mapping structure */
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h
index 9acd340..e28b916 100644
--- a/include/configs/omap4_panda.h
+++ b/include/configs/omap4_panda.h
@@ -116,7 +116,9 @@

/* USB device configuration */
#define CONFIG_USB_DEVICE 1
+#ifndef CONFIG_PRELOADER
#define CONFIG_USB_TTY 1
+#endif
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1

/* Flash */
@@ -238,4 +240,26 @@
#define CONFIG_SYS_PL310_BASE 0x48242000
#endif

+/* Defines for Clock init */
+#define CONFIG_SYS_OMAP4_ABE_SYSCK
+
+/* Defines for SDRAM init */
+#ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
+#define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION 1
+#define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS 1
+#endif
+
+/* Defines for SPL */
+#define CONFIG_SPL
+#define CONFIG_SYS_SPL_TEXT_BASE 0x40304350
+#define CONFIG_SYS_SPL_MAX_SIZE 0x7800 /* 30 K */
+#define CONFIG_SYS_SPL_STACK LOW_LEVEL_SRAM_STACK
+
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
+#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
+#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
+
+#define CONFIG_SYS_SPL_BSS_START_ADDR 0x80000000
+#define CONFIG_SYS_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */
+
#endif /* __CONFIG_H */
diff --git a/spl/board/ti/panda/Makefile b/spl/board/ti/panda/Makefile
new file mode 100644
index 0000000..81bf51c
--- /dev/null
+++ b/spl/board/ti/panda/Makefile
@@ -0,0 +1,32 @@
+#
+# (C) Copyright 2006-2007
+# Stefan Roese, DENX Software Engineering, sr at denx.de.
+#
+# (C) Copyright 2008
+# Guennadi Liakhovetki, DENX Software Engineering, <lg@denx.de>
+#
+# (C) Copyright 2010
+# Texas Instruments, <www.ti.com>
+# Aneesh V <aneesh@ti.com>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(SRCTREE)/spl/board/$(VENDOR)/omap4.mk
+include $(SRCTREE)/spl/board/$(VENDOR)/rules-omap.mk
--
1.7.0.4