diff options
author | Wolfgang Denk <wd@denx.de> | 2011-06-08 23:29:04 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-06-08 23:29:04 +0200 |
commit | 9571865e0d32b1bcf8a6625497d1cd5d4bbad354 (patch) | |
tree | 314afe1d1b53adbca24e6c3a9cf2c45741cdb4ba /board | |
parent | ba5c1228463c19395d1cf4b88d4bae7171fe6d98 (diff) | |
parent | 84b80856387a72c38586075c9a6795e4face7693 (diff) | |
download | talos-obmc-uboot-9571865e0d32b1bcf8a6625497d1cd5d4bbad354.tar.gz talos-obmc-uboot-9571865e0d32b1bcf8a6625497d1cd5d4bbad354.zip |
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.mk | 1 | ||||
-rw-r--r-- | board/freescale/mx31ads/mx31ads.c | 19 | ||||
-rw-r--r-- | board/freescale/mx31ads/u-boot.lds | 42 | ||||
-rw-r--r-- | board/logicpd/imx27lite/config.mk | 5 | ||||
-rw-r--r-- | board/logicpd/imx31_litekit/config.mk | 1 | ||||
-rw-r--r-- | board/logicpd/imx31_litekit/imx31_litekit.c | 17 | ||||
-rw-r--r-- | board/samsung/smdk6400/u-boot-nand.lds | 2 |
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 0131edfbe9..0000000000 --- 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 a298e0530f..9bf9c18fd8 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 b081b21946..79eb7aca38 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 018d9207e0..0000000000 --- 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 a7887ba44f..0000000000 --- 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 2ed742fb56..bf635c301d 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 21e1ed3b7a..f1628152d3 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) |