summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2011-06-08 23:29:04 +0200
committerWolfgang Denk <wd@denx.de>2011-06-08 23:29:04 +0200
commit9571865e0d32b1bcf8a6625497d1cd5d4bbad354 (patch)
tree314afe1d1b53adbca24e6c3a9cf2c45741cdb4ba /board
parentba5c1228463c19395d1cf4b88d4bae7171fe6d98 (diff)
parent84b80856387a72c38586075c9a6795e4face7693 (diff)
downloadu-boot-imx-9571865e0d32b1bcf8a6625497d1cd5d4bbad354.zip
u-boot-imx-9571865e0d32b1bcf8a6625497d1cd5d4bbad354.tar.gz
u-boot-imx-9571865e0d32b1bcf8a6625497d1cd5d4bbad354.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-arm
* 'master' of git://git.denx.de/u-boot-arm: SMDK6400: fix the compiler error imx27lite: Remove local config.mk mx31ads: Fix environment location on flash imx31_litekit: Remove local config.mk mx31litekit: Fix boot with the new relocation scheme. mx31ads: Use the new relocation scheme
Diffstat (limited to 'board')
-rw-r--r--board/freescale/mx31ads/config.mk1
-rw-r--r--board/freescale/mx31ads/mx31ads.c19
-rw-r--r--board/freescale/mx31ads/u-boot.lds42
-rw-r--r--board/logicpd/imx27lite/config.mk5
-rw-r--r--board/logicpd/imx31_litekit/config.mk1
-rw-r--r--board/logicpd/imx31_litekit/imx31_litekit.c17
-rw-r--r--board/samsung/smdk6400/u-boot-nand.lds2
7 files changed, 61 insertions, 26 deletions
diff --git a/board/freescale/mx31ads/config.mk b/board/freescale/mx31ads/config.mk
deleted file mode 100644
index 0131edf..0000000
--- a/board/freescale/mx31ads/config.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SYS_TEXT_BASE = 0x87f00000
diff --git a/board/freescale/mx31ads/mx31ads.c b/board/freescale/mx31ads/mx31ads.c
index a298e05..9bf9c18 100644
--- a/board/freescale/mx31ads/mx31ads.c
+++ b/board/freescale/mx31ads/mx31ads.c
@@ -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 */
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index b081b21..79eb7ac 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -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*) }
}
diff --git a/board/logicpd/imx27lite/config.mk b/board/logicpd/imx27lite/config.mk
deleted file mode 100644
index 018d920..0000000
--- a/board/logicpd/imx27lite/config.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# with relocation CONFIG_SYS_TEXT_BASE can be anything, and making it 0
-# makes relative and absolute relocation fixups interchangeable.
-#CONFIG_SYS_TEXT_BASE = 0
-
-CONFIG_SYS_TEXT_BASE = 0xc0000000
diff --git a/board/logicpd/imx31_litekit/config.mk b/board/logicpd/imx31_litekit/config.mk
deleted file mode 100644
index a7887ba..0000000
--- a/board/logicpd/imx31_litekit/config.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SYS_TEXT_BASE = 0xa0000000
diff --git a/board/logicpd/imx31_litekit/imx31_litekit.c b/board/logicpd/imx31_litekit/imx31_litekit.c
index 2ed742f..bf635c3 100644
--- a/board/logicpd/imx31_litekit/imx31_litekit.c
+++ b/board/logicpd/imx31_litekit/imx31_litekit.c
@@ -29,21 +29,21 @@
DECLARE_GLOBAL_DATA_PTR;
-int dram_init (void)
+int dram_init(void)
{
- gd->ram_size = PHYS_SDRAM_1_SIZE;
-
+ /* 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)
+void dram_init_banksize(void)
{
gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
}
-int board_init (void)
+int board_early_init_f(void)
{
__REG(CSCR_U(0)) = 0x0000cf03; /* CS0: Nor Flash */
__REG(CSCR_L(0)) = 0xa0330d01;
@@ -71,6 +71,11 @@ int board_init (void)
/* start SPI2 clock */
__REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4);
+ return 0;
+}
+
+int board_init(void)
+{
gd->bd->bi_arch_number = MACH_TYPE_MX31LITE; /* board id for linux */
gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */
diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds
index 21e1ed3..f162815 100644
--- a/board/samsung/smdk6400/u-boot-nand.lds
+++ b/board/samsung/smdk6400/u-boot-nand.lds
@@ -67,6 +67,8 @@ SECTIONS
*(.dynsym)
}
+ _end = .;
+
.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)