[U-Boot-Users] [Patch] Support for AMD db1550 board

Andrew Dyer
2005-01-10T17:35:52Z

On Sun, 09 Jan 2005 23:27:19 +0100, Wolfgang Denk <wd@denx.de> wrote:
> Dear Leif,
>
> in message <1095939429.29740.77.camel@fortress> you wrote:
> >
> > This patch adds support for the AMD db1550 board to u-boot.
> > It is implemented as a flavor of the au1x00 family.
>
> I tried to add it, but ran into a few problems so had to leave some
> parts out.
>

I had been using Leif's patch as a basis for a board we are working on and
ran into the same issues applying it to CVS. (Thanks for the patch Leif!)
What's below is offered up as a suggestion.

Here's what I did to fix it:

1) in the master Makefile I added a line to put ENDIANESS
into the master config.mk

2) I changed the u-boot.lds file so that it can be used to produce
a little endian file when used by a linker in little endian mode (no
need to add a new linker file as far as I know)

3) changed the mips config.mk to look at ENDIANESS to set the
-EL or -EB flags.

4) Similar changes under examples to match this scheme.

Some patch segments are below to clarify what I mean.

Index: Makefile
===================================================================
RCS file: /cvsroot/u-boot/u-boot/Makefile,v
retrieving revision 1.165
diff -r1.165 Makefile
1489a1490,1497
> ## RightHand Technologies Eldorado
> #########################################################################
> eldorado_config : unconfig
> @ >include/config.h
> @./mkconfig $(@:_config=) mips mips eldorado
> @echo "ENDIANESS = little" >> include/config.mk
>
> #########################################################################

Index: board/dbau1x00/u-boot.lds
===================================================================
RCS file: /cvsroot/u-boot/u-boot/board/dbau1x00/u-boot.lds,v
retrieving revision 1.1
diff -r1.1 u-boot.lds
25c25
< OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
---
> OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
27c27
< OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
---
> OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")

Index: cpu/mips/config.mk
===================================================================
RCS file: /cvsroot/u-boot/u-boot/cpu/mips/config.mk,v
retrieving revision 1.3
diff -r1.3 config.mk
22a23,24
> include $(TOPDIR)/include/config.mk
>
27c29
< echo "-mcpu=4kc -EB -mabicalls"; \
---
> echo "-mcpu=4kc -mabicalls"; \
29c31
< echo "-march=4kc -mtune=4kc
-Wa,-mips_allow_branch_to_undefined -EB -mabicalls"; \
---
> echo "-march=4kc -mtune=4kc -Wa,-mips_allow_branch_to_undefined -mabicalls"; \
31a34,39
> ifeq ($(ENDIANESS), little)
> PLATFORM_CPPFLAGS += -EL
> else
> PLATFORM_CPPFLAGS += -EB
> endif
>

Index: examples/Makefile
===================================================================
RCS file: /cvsroot/u-boot/u-boot/examples/Makefile,v
retrieving revision 1.23
diff -r1.23 Makefile
89c89,91
< ifeq ($(BIG_ENDIAN),y)
---
> ifeq ($(ENDIANESS),little)
> EX_LDFLAGS += -EL
> else
Index: examples/mips.lds
===================================================================
RCS file: /cvsroot/u-boot/u-boot/examples/mips.lds,v
retrieving revision 1.2
diff -r1.2 mips.lds
25c25
< OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
---
> OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
27c27
< OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
---
> OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")

--
Hardware, n.:
The parts of a computer system that can be kicked.