mx31ads: Use the new relocation scheme
authorFabio Estevam <festevam@gmail.com>
Sun, 5 Jun 2011 06:26:49 +0000 (06:26 +0000)
committerStefano Babic <sbabic@denx.de>
Mon, 6 Jun 2011 07:35:25 +0000 (09:35 +0200)
This fixes the MX31ADS build by using the new relocation scheme.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Felix Radensky <felix@embedded-sol.com>
board/freescale/mx31ads/config.mk [deleted file]
board/freescale/mx31ads/mx31ads.c
board/freescale/mx31ads/u-boot.lds
include/configs/mx31ads.h

diff --git a/board/freescale/mx31ads/config.mk b/board/freescale/mx31ads/config.mk
deleted file mode 100644 (file)
index 0131edf..0000000
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SYS_TEXT_BASE = 0x87f00000
index a298e0530f52b4707d9c39f11bc131bcf4fc0fd0..9bf9c18fd8f0c0451885886d0052a98f8c250d29 100644 (file)
 
 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 */
 
index b081b219466dde4aae5ddea8ac52ffad159bf77f..79eb7aca387b10a66281f5c51a71508237e4a0ec 100644 (file)
@@ -48,23 +48,47 @@ SECTIONS
 
          *(.text)
        }
-
        . = ALIGN(4);
-       .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+       .rodata : { *(.rodata) }
 
        . = ALIGN(4);
-       .data : { *(.data) }
+       .data : {
+               *(.data)
+       }
 
        . = ALIGN(4);
-       .got : { *(.got) }
-
-       . = .;
        __u_boot_cmd_start = .;
        .u_boot_cmd : { *(.u_boot_cmd) }
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss : { *(.bss) . = ALIGN(4); }
-       __bss_end__ = .;
+
+       .rel.dyn : {
+               __rel_dyn_start = .;
+               *(.rel*)
+               __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+               __dynsym_start = .;
+               *(.dynsym)
+       }
+
+       _end = .;
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+                . = ALIGN(4);
+               __bss_end__ = .;
+       }
+
+       /DISCARD/ : { *(.bss*) }
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynsym*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.hash*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 5ea59b4ab7a79299322f72066c251710d62681dc..6d6c1bd267ddb08caa05a71164381aaac5e572fa 100644 (file)
@@ -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.
 #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