* Patch by Yuli Barcohen, 3 Dec 2003:
"revive" U-Boot support for old Motorola MPC860ADS board * Patch by Cam(ilo?), 03 Dec 2003: make examples build even with broken Montavista objcopy * Patch by Pavel Bartusek, 27 Nov 2003: fix conversion problem with "bootretry" evironment variable
This commit is contained in:
@@ -22,9 +22,9 @@
|
||||
#
|
||||
|
||||
#
|
||||
# FADS boards
|
||||
# Motorola old MPC821/860ADS, MPC8xxFADS, and new MPC866ADS boards
|
||||
#
|
||||
|
||||
#TEXT_BASE = 0xFE000000
|
||||
TEXT_BASE = 0x02800000
|
||||
OBJCFLAGS = --set-section-flags=.ppcenv=contents,alloc,load,data
|
||||
TEXT_BASE = 0xFE000000
|
||||
#TEXT_BASE = 0x02800000
|
||||
#OBJCFLAGS = --set-section-flags=.ppcenv=contents,alloc,load,data
|
||||
|
||||
@@ -360,7 +360,11 @@ static int _draminit (uint base, uint noMbytes, uint edo, uint delay)
|
||||
|
||||
switch (noMbytes) {
|
||||
case 4: /* 4 Mbyte uses only CS2 */
|
||||
#ifdef CONFIG_ADS
|
||||
memctl->memc_mamr = 0xc0a21114;
|
||||
#else
|
||||
memctl->memc_mamr = 0x13a01114; /* PTA 0x13 AMA 010 */
|
||||
#endif
|
||||
memctl->memc_or2 = 0xffc00800; /* 4M */
|
||||
break;
|
||||
|
||||
@@ -393,17 +397,18 @@ static int _draminit (uint base, uint noMbytes, uint edo, uint delay)
|
||||
|
||||
memctl->memc_br2 = 0x81 + base; /* use upma */
|
||||
|
||||
*((uint *) BCSR1) &= ~BCSR1_DRAM_EN; /* enable dram */
|
||||
|
||||
/* if no dimm is inserted, noMbytes is still detected as 8m, so
|
||||
* sanity check top and bottom of memory */
|
||||
|
||||
*((uint *) BCSR1) &= ~BCSR1_DRAM_EN; /* enable dram */
|
||||
|
||||
/* check bytes / 2 because dram_size tests at base+bytes, which
|
||||
* is not mapped */
|
||||
if (dram_size ((long *) base, noMbytes << 19) != noMbytes << 19) {
|
||||
*((uint *) BCSR1) |= BCSR1_DRAM_EN; /* disable dram */
|
||||
return -1;
|
||||
}
|
||||
if (noMbytes == 8)
|
||||
if (dram_size ((long *) base, noMbytes << 19) != noMbytes << 19) {
|
||||
*((uint *) BCSR1) |= BCSR1_DRAM_EN; /* disable dram */
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#ifndef CONFIG_ADS /* Old ADS has not got any user-controllable LED */
|
||||
|
||||
#include <common.h>
|
||||
|
||||
void
|
||||
@@ -40,3 +43,5 @@ fast_blink(unsigned int n)
|
||||
signal_delay(0x00100000);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* !CONFIG_ADS */
|
||||
|
||||
@@ -22,9 +22,6 @@
|
||||
*/
|
||||
|
||||
OUTPUT_ARCH(powerpc)
|
||||
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib);
|
||||
/* Do we need any of these for elf?
|
||||
__DYNAMIC = 0; */
|
||||
SECTIONS
|
||||
{
|
||||
/* Read-only sections, merged into text segment: */
|
||||
@@ -33,41 +30,30 @@ SECTIONS
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.rel.text : { *(.rel.text) }
|
||||
.rel.text : { *(.rel.text) }
|
||||
.rela.text : { *(.rela.text) }
|
||||
.rel.data : { *(.rel.data) }
|
||||
.rel.data : { *(.rel.data) }
|
||||
.rela.data : { *(.rela.data) }
|
||||
.rel.rodata : { *(.rel.rodata) }
|
||||
.rela.rodata : { *(.rela.rodata) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rel.ctors : { *(.rel.ctors) }
|
||||
.rela.ctors : { *(.rela.ctors) }
|
||||
.rel.dtors : { *(.rel.dtors) }
|
||||
.rela.dtors : { *(.rela.dtors) }
|
||||
.rel.bss : { *(.rel.bss) }
|
||||
.rela.bss : { *(.rela.bss) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.init : { *(.init) }
|
||||
.rel.bss : { *(.rel.bss) }
|
||||
.rela.bss : { *(.rela.bss) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.init : { *(.init) }
|
||||
.plt : { *(.plt) }
|
||||
.text :
|
||||
{
|
||||
/* WARNING - the following is hand-optimized to fit within */
|
||||
/* the sector layout of our flash chips! XXX FIXME XXX */
|
||||
cpu/mpc8xx/start.o (.text)
|
||||
|
||||
cpu/mpc8xx/start.o (.text)
|
||||
/*
|
||||
cpu/mpc8xx/start.o (.text)
|
||||
common/dlmalloc.o (.text)
|
||||
lib_ppc/ppcstring.o (.text)
|
||||
lib_generic/vsprintf.o (.text)
|
||||
lib_generic/crc32.o (.text)
|
||||
lib_generic/zlib.o (.text)
|
||||
|
||||
. = env_offset;
|
||||
common/environment.o(.text)
|
||||
*/
|
||||
. = DEFINED(env_offset) ? env_offset : .;
|
||||
common/environment.o (.ppcenv)
|
||||
|
||||
*(.text)
|
||||
*(.fixup)
|
||||
@@ -136,11 +122,7 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
. = ALIGN(256 * 1024);
|
||||
.ppcenv :
|
||||
{
|
||||
common/environment.o (.ppcenv)
|
||||
}
|
||||
_end = . ;
|
||||
PROVIDE (end = .);
|
||||
}
|
||||
ENTRY(_start)
|
||||
|
||||
Reference in New Issue
Block a user