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

login
register
mail settings
Submitter Aneesh V
Date May 15, 2011, 3:21 p.m.
Message ID <1305472900-4004-22-git-send-email-aneesh@ti.com>
Download mbox | patch
Permalink /patch/95649/
State Changes Requested
Headers show

Comments

Aneesh V - May 15, 2011, 3:21 p.m.
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
Wolfgang Denk - May 15, 2011, 8:14 p.m.
Dear Aneesh V,

In message <1305472900-4004-22-git-send-email-aneesh@ti.com> you wrote:
> 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};

This iseems to be an unrelated change.  Please split into separate
patch.

>  	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;
>  	}
> +

Ditto.

>  	/* 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))

Ditto.

...
> +++ b/spl/board/ti/panda/Makefile
> @@ -0,0 +1,32 @@
...
> +include $(SRCTREE)/spl/board/$(VENDOR)/omap4.mk
> +include $(SRCTREE)/spl/board/$(VENDOR)/rules-omap.mk

NAK, see previous messages.

Best regards,

Wolfgang Denk

Patch

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@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