Patchwork [U-Boot,v2,2/2] arm: a320evb: fixes for relocation support

login
register
mail settings
Submitter Po-Yu Chuang
Date Dec. 20, 2010, 9:07 a.m.
Message ID <1292836043-1719-1-git-send-email-ratbert.chuang@gmail.com>
Download mbox | patch
Permalink /patch/76174/
State Accepted
Commit 5eb522a68c3573419f42e321dccf4b01b584dbe8
Delegated to: Albert ARIBAUD
Headers show

Comments

Po-Yu Chuang - Dec. 20, 2010, 9:07 a.m.
From: Po-Yu Chuang <ratbert@faraday-tech.com>

* add CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR
* do not update gd->bd in dram_init() because bd is unavailable then
* move CONFIG_SYS_TEXT_BASE from config.mk to a320evb.h
* remove config.mk

Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
---
v2:
rebase
remove config.mk

 board/faraday/a320evb/a320evb.c |    3 +--
 board/faraday/a320evb/config.mk |   35 -----------------------------------
 include/configs/a320evb.h       |   14 ++++++++++----
 3 files changed, 11 insertions(+), 41 deletions(-)
 delete mode 100644 board/faraday/a320evb/config.mk
Albert ARIBAUD - Jan. 24, 2011, 9:30 p.m.
Le 20/12/2010 10:07, Po-Yu Chuang a écrit :
> From: Po-Yu Chuang<ratbert@faraday-tech.com>
>
> * add CONFIG_SYS_SDRAM_BASE and CONFIG_SYS_INIT_SP_ADDR
> * do not update gd->bd in dram_init() because bd is unavailable then
> * move CONFIG_SYS_TEXT_BASE from config.mk to a320evb.h
> * remove config.mk
>
> Signed-off-by: Po-Yu Chuang<ratbert@faraday-tech.com>
> ---
> v2:
> rebase
> remove config.mk
>
>   board/faraday/a320evb/a320evb.c |    3 +--
>   board/faraday/a320evb/config.mk |   35 -----------------------------------
>   include/configs/a320evb.h       |   14 ++++++++++----
>   3 files changed, 11 insertions(+), 41 deletions(-)
>   delete mode 100644 board/faraday/a320evb/config.mk
>
> diff --git a/board/faraday/a320evb/a320evb.c b/board/faraday/a320evb/a320evb.c
> index 85b11b9..b9343e4 100644
> --- a/board/faraday/a320evb/a320evb.c
> +++ b/board/faraday/a320evb/a320evb.c
> @@ -46,8 +46,7 @@ int dram_init(void)
>
>   	actual_size = get_ram_size((void *)sdram_base, expected_size);
>
> -	gd->bd->bi_dram[0].start = sdram_base;
> -	gd->bd->bi_dram[0].size  = actual_size;
> +	gd->ram_size = actual_size;
>
>   	if (expected_size != actual_size)
>   		printf("Warning: Only %lu of %lu MiB SDRAM is working\n",
> diff --git a/board/faraday/a320evb/config.mk b/board/faraday/a320evb/config.mk
> deleted file mode 100644
> index b751d0d..0000000
> --- a/board/faraday/a320evb/config.mk
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -#
> -# (C) Copyright 2009 Faraday Technology
> -# Po-Yu Chuang<ratbert@faraday-tech.com>
> -#
> -# 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
> -#
> -
> -# Faraday A320 board with FA526/FA626TE/ARM926EJ-S cpus
> -#
> -# see http://www.faraday-tech.com/ for more information
> -
> -# A320 has 1 bank of 64 MB DRAM
> -#
> -# 1000'0000 to 1400'0000
> -#
> -# Linux-Kernel is expected to be at 1000'8000, entry 1000'8000
> -#
> -# we load ourself to 13f8'0000
> -#
> -# download area is 1200'0000
> -
> -CONFIG_SYS_TEXT_BASE = 0x13f80000
> diff --git a/include/configs/a320evb.h b/include/configs/a320evb.h
> index f67cf06..27f137f 100644
> --- a/include/configs/a320evb.h
> +++ b/include/configs/a320evb.h
> @@ -138,15 +138,21 @@
>   #define PHYS_SDRAM_1		0x10000000	/* SDRAM Bank #1 */
>   #define PHYS_SDRAM_1_SIZE	0x04000000	/* 64 MB */
>
> +#define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
> +#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x1000 - \
> +					GENERATED_GBL_DATA_SIZE)
> +
>   /*
>    * Load address and memory test area should agree with
>    * board/faraday/a320/config.mk. Be careful not to overwrite U-boot itself.
>    */
> -#define CONFIG_SYS_LOAD_ADDR		0x12000000
> +#define CONFIG_SYS_LOAD_ADDR		(PHYS_SDRAM_1 + 0x2000000)
>
>   /* memtest works on 63 MB in DRAM */
> -#define CONFIG_SYS_MEMTEST_START	0x10000000
> -#define CONFIG_SYS_MEMTEST_END		0x13F00000
> +#define CONFIG_SYS_MEMTEST_START	PHYS_SDRAM_1
> +#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + 0x3F00000)
> +
> +#define CONFIG_SYS_TEXT_BASE		0
>
>   /*-----------------------------------------------------------------------
>    * Static memory controller configuration
> @@ -215,7 +221,7 @@
>
>   /* environments */
>   #define CONFIG_ENV_IS_IN_FLASH
> -#define CONFIG_ENV_ADDR			0x00060000
> +#define CONFIG_ENV_ADDR			(PHYS_FLASH_1 + 0x60000)
>   #define CONFIG_ENV_SIZE			0x20000
>
>   #endif	/* __CONFIG_H */

As this is a fix, applied to u-boot-arm.

Amicalement,

Patch

diff --git a/board/faraday/a320evb/a320evb.c b/board/faraday/a320evb/a320evb.c
index 85b11b9..b9343e4 100644
--- a/board/faraday/a320evb/a320evb.c
+++ b/board/faraday/a320evb/a320evb.c
@@ -46,8 +46,7 @@  int dram_init(void)
 
 	actual_size = get_ram_size((void *)sdram_base, expected_size);
 
-	gd->bd->bi_dram[0].start = sdram_base;
-	gd->bd->bi_dram[0].size  = actual_size;
+	gd->ram_size = actual_size;
 
 	if (expected_size != actual_size)
 		printf("Warning: Only %lu of %lu MiB SDRAM is working\n",
diff --git a/board/faraday/a320evb/config.mk b/board/faraday/a320evb/config.mk
deleted file mode 100644
index b751d0d..0000000
--- a/board/faraday/a320evb/config.mk
+++ /dev/null
@@ -1,35 +0,0 @@ 
-#
-# (C) Copyright 2009 Faraday Technology
-# Po-Yu Chuang <ratbert@faraday-tech.com>
-#
-# 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
-#
-
-# Faraday A320 board with FA526/FA626TE/ARM926EJ-S cpus
-#
-# see http://www.faraday-tech.com/ for more information
-
-# A320 has 1 bank of 64 MB DRAM
-#
-# 1000'0000 to 1400'0000
-#
-# Linux-Kernel is expected to be at 1000'8000, entry 1000'8000
-#
-# we load ourself to 13f8'0000
-#
-# download area is 1200'0000
-
-CONFIG_SYS_TEXT_BASE = 0x13f80000
diff --git a/include/configs/a320evb.h b/include/configs/a320evb.h
index f67cf06..27f137f 100644
--- a/include/configs/a320evb.h
+++ b/include/configs/a320evb.h
@@ -138,15 +138,21 @@ 
 #define PHYS_SDRAM_1		0x10000000	/* SDRAM Bank #1 */
 #define PHYS_SDRAM_1_SIZE	0x04000000	/* 64 MB */
 
+#define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x1000 - \
+					GENERATED_GBL_DATA_SIZE)
+
 /*
  * Load address and memory test area should agree with
  * board/faraday/a320/config.mk. Be careful not to overwrite U-boot itself.
  */
-#define CONFIG_SYS_LOAD_ADDR		0x12000000
+#define CONFIG_SYS_LOAD_ADDR		(PHYS_SDRAM_1 + 0x2000000)
 
 /* memtest works on 63 MB in DRAM */
-#define CONFIG_SYS_MEMTEST_START	0x10000000
-#define CONFIG_SYS_MEMTEST_END		0x13F00000
+#define CONFIG_SYS_MEMTEST_START	PHYS_SDRAM_1
+#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + 0x3F00000)
+
+#define CONFIG_SYS_TEXT_BASE		0
 
 /*-----------------------------------------------------------------------
  * Static memory controller configuration
@@ -215,7 +221,7 @@ 
 
 /* environments */
 #define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_ADDR			0x00060000
+#define CONFIG_ENV_ADDR			(PHYS_FLASH_1 + 0x60000)
 #define CONFIG_ENV_SIZE			0x20000
 
 #endif	/* __CONFIG_H */