Skip to contentSkip to conversation

mx31ads: Use the new relocation scheme

PATCH New Fabio Estevam 2 participants 2 messages Jun 5, 2011 – Jun 6, 2011

lore
Share & tools
lore
#0 lore raw

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

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

---
Changes since v3:
- Fix CONFIG_SYS_TEXT_BASE and boot is confirmed to work now Changes since v2:
- Use PHYS_SDRAM_1 in get_ram_size
- Remove local config.mk
Changes since v1:
- Fixed lines over 80 characters.

 board/freescale/mx31ads/config.mk  |    1 -
 board/freescale/mx31ads/mx31ads.c  |   19 ++++++++++++---
 board/freescale/mx31ads/u-boot.lds |   42 ++++++++++++++++++++++++++++-------
 include/configs/mx31ads.h          |   11 +++++++++
 4 files changed, 59 insertions(+), 14 deletions(-)
 delete mode 100644 board/freescale/mx31ads/config.mk
board/freescale/mx31ads/config.mk deleted +0 -1
deleted file mode 100644
index 0131edf..0000000
@@ -1 +0,0 @@ 
-CONFIG_SYS_TEXT_BASE = 0x87f00000
board/freescale/mx31ads/mx31ads.c +15 -4
index a298e05..9bf9c18 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 *)PHYS_SDRAM_1,
+				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 +11 -0
index 5ea59b4..f8be3e9 100644
@@ -33,6 +33,8 @@ 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
 
+#define CONFIG_SYS_TEXT_BASE		0xA0000000
+
 /*
  * Disabled for now due to build problems under Debian and a significant increase
  * in the final file size: 144260 vs. 109536 Bytes.
@@ -160,6 +162,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
#1 lore raw

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

Quoted 4 lines · Fabio Estevam

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

Quoted 8 lines

---
Changes since v3:
- Fix CONFIG_SYS_TEXT_BASE and boot is confirmed to work now Changes since v2:
- Use PHYS_SDRAM_1 in get_ram_size
- Remove local config.mk
Changes since v1:
- Fixed lines over 80 characters.

Applied to u-boot-imx (this is a fix).

Thanks,
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
=====================================================================