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

Hi
This patch adds support for the AMD db1550 board to u-boot. It is implemented as a flavor of the au1x00 family. Since I have not tested the pcmcia/ide stuff, this board has CONFIG_BOOTCOMMAND and CONFIG_COMMANDS ifdef:d to different values than the rest of the boards in the family.
Also, the memory setup differs a bit from earlier boards, due to this board being equipped with DDR SDRAM. This has lead to quite a large memsetup.S (heavily ifdef:d). It also includes some code taken from AMD:s version of YAMON for this board (with their permission), for enabling cache and doing some preloads before reconfiguring the flash controller to correct values. This precaution may be a good idea on the other boards as well, but since I have not tested it on them, this part is ifdef:d CONFIG_DBAU1550.
I have included the "new" version of mkconfig, which now accepts a "$6" specifying endianess. This software is only tested in little endian mode.
This patch also contains some minor changes allowing for setting CPU clock frequency in only one place (instead of three) and calculating the correct divisor for the uart based on this.
regards / Leif

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 have included the "new" version of mkconfig, which now accepts a "$6" specifying endianess.
This conflicts with current versions of the "mkconfig" command, please check and resubmit.
This software is only tested in little endian mode.
Unfortunately, the file board/dbau1x00/u-boot-el.lds was missing in your patch. Please resubmit.
Finally, there were conflicts in cpu/mips/config.mk; please check and resubmit.
Please don't forget to include a CHANGELOG entry next time.
Best regards,
Wolfgang Denk

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")
participants (3)
-
Andrew Dyer
-
Leif Lindholm
-
Wolfgang Denk