Skip to contentSkip to conversation

mx31ads: Use the new relocation scheme

PATCH Superseded Fabio Estevam 3 participants 4 messages Jun 1, 2011 – Jun 2, 2011

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 mx31ads: Use the new relocation scheme

This fixes the MX31ADS build by using the new relocation scheme.

---
Changes since v1:

- Fixed lines over 80 characters.

Build tested only.

Do not have the hardware handy to test.

 board/freescale/mx31ads/mx31ads.c  |   19 ++++++++++++---
 board/freescale/mx31ads/u-boot.lds |   42 ++++++++++++++++++++++++++++-------
 include/configs/mx31ads.h          |    9 +++++++
 3 files changed, 57 insertions(+), 13 deletions(-)
board/freescale/mx31ads/mx31ads.c +15 -4
index a298e05..e46ad23 100644
@@ -28,15 +28,21 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int dram_init (void)
+int dram_init(void)
+{
+	/* dram_init must store complete ramsize in gd->ram_size */
+	gd->ram_size = get_ram_size((volatile void *)CONFIG_SYS_SDRAM_BASE,
+				PHYS_SDRAM_1_SIZE);
+	return 0;
+}
+
+void dram_init_banksize(void)
 {
 	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
 	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-
-	return 0;
 }
 
-int board_init (void)
+int board_early_init_f(void)
 {
 	int i;
 
@@ -94,6 +100,11 @@ int board_init (void)
 	readb(CS4_BASE + 8);
 	readb(CS4_BASE + 7);
 
+	return 0;
+}
+
+int board_init(void)
+{
 	gd->bd->bi_arch_number = MACH_TYPE_MX31ADS;	/* board id for linux */
 	gd->bd->bi_boot_params = 0x80000100;	/* adress of boot parameters */
 
board/freescale/mx31ads/u-boot.lds +33 -9

56 lines not on this page · raw message

include/configs/mx31ads.h +9 -0
index 5ea59b4..2046bbf 100644
@@ -160,6 +160,15 @@
 #define CONFIG_NR_DRAM_BANKS	1
 #define PHYS_SDRAM_1		CSD0_BASE
 #define PHYS_SDRAM_1_SIZE	(128 * 1024 * 1024)
+#define CONFIG_BOARD_EARLY_INIT_F
+
+#define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
+#define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
+#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - \
+						GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_INIT_RAM_ADDR + \
+						CONFIG_SYS_GBL_DATA_OFFSET)
 
 /*-----------------------------------------------------------------------
  * FLASH and environment organization
Signature · 1 line
1.6.0.4
#1 lore raw

PATCH v2 1/1 mx31ads: Use the new relocation scheme

Quoted 3 lines · Fabio Estevam

This fixes the MX31ADS build by using the new relocation scheme.

Hi Fabio,

Quoted 7 lines

Changes since v1:

- Fixed lines over 80 characters.

Build tested only.

Do not have the hardware handy to test.

Maybe someone can help on this topic ;-)

Quoted 3 lines

-int dram_init (void) +int dram_init(void) +{ + /* dram_init must
store complete ramsize in gd->ram_size */ + gd->ram_size =
get_ram_size((volatile void *)CONFIG_SYS_SDRAM_BASE,

I know it is the same, but if you use PHYS_SDRAM_1 instead of CONFIG_SYS_SDRAM_BASE (as most boards do), the reader understands easier that the start address and the size are strictly connected.

Quoted 3 lines

--- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -48,23 +48,47 @@ SECTIONS

Can we get rid of this file ? We do not need anymore, and you can also remove config.mk as well.

Your patch makes u-boot.lds in board directory identical (if I have not missed something) to arch/arm/cpu/arm1136/u-boot.lds.

Best regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#2 lore raw

PATCH v2 1/1 mx31ads: Use the new relocation scheme

Hi Stefano,

On Thu, Jun 2, 2011 at 3:28 AM, Stefano Babic <[email protected]> wrote:
...

Quoted 3 lines

I know it is the same, but if you use PHYS_SDRAM_1 instead of CONFIG_SYS_SDRAM_BASE (as most boards do), the reader understands easier that the start address and the size are strictly connected.

OK.

Quoted 7 lines
Quoted 4 lines

--- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -48,23 +48,47 @@ SECTIONS

Can we get rid of this file ? We do not need anymore, and you can also remove config.mk as well.

If I remove the board/freescale/mx31ads/u-boot.ld then I get the following error:

010q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot
common/libcommon.o:(.data+0x80c): undefined reference to `environment'

and I think that is due to the fact that board/freescale/mx31ads/u-boot.ld is a bit customized as per the comment below:

.text :

	{
	  /* WARNING - the following is hand-optimized to fit within	*/
	  /* the sector layout of our flash chips!	XXX FIXME XXX	*/

	  arch/arm/cpu/arm1136/start.o			(.text)
	  board/freescale/mx31ads/libmx31ads.o	(.text)
	  arch/arm/lib/libarm.o			(.text)
	  net/libnet.o				(.text)
	  drivers/mtd/libmtd.o			(.text)

	  . = DEFINED(env_offset) ? env_offset : .;
	  common/env_embedded.o(.text)

My intention on this patch was to fix the MX31ADS build so that this board does not get removed from U-boot.

Would it be OK if I resend a new patch taking in consideration your other comments, except the removal of board/freescale/mx31ads/u-boot.ld ?

Or would you have any other suggestion?

Regards,

Fabio Estevam

#3 lore raw

PATCH v2 1/1 mx31ads: Use the new relocation scheme

Quoted 2 lines · Fabio Estevam

Hi Stefano,

Hi Fabio,

Quoted 3 lines

My intention on this patch was to fix the MX31ADS build so that this board does not get removed from U-boot.

Sure. This is the first goal.

Quoted 4 lines

Would it be OK if I resend a new patch taking in consideration your other comments, except the removal of board/freescale/mx31ads/u-boot.ld ?

Agree.

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================