mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
MIPS: fix endianess handling
Make endianess of target CPU configurable. Use the new config option for dbau1550_el and pb1000 boards. Adapt linking of standalone applications to pass through endianess options to LD. Build tested with: - ELDK 4 mips_4KC- and mips4KCle - Sourcery CodeBench Lite 2011.03-93 With this patch all 26 MIPS boards can be compiled now in one step by running "MAKEALL -a mips". Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
This commit is contained in:
parent
979cfeaf36
commit
6cb461b4f1
4 changed files with 24 additions and 7 deletions
6
README
6
README
|
@ -374,6 +374,12 @@ The following options need to be configured:
|
||||||
Defines the string to utilize when trying to match PCIe device
|
Defines the string to utilize when trying to match PCIe device
|
||||||
tree nodes for the given platform.
|
tree nodes for the given platform.
|
||||||
|
|
||||||
|
- Generic CPU options:
|
||||||
|
CONFIG_SYS_BIG_ENDIAN, CONFIG_SYS_LITTLE_ENDIAN
|
||||||
|
|
||||||
|
Defines the endianess of the CPU. Implementation of those
|
||||||
|
values is arch specific.
|
||||||
|
|
||||||
- Intel Monahans options:
|
- Intel Monahans options:
|
||||||
CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
|
CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
|
||||||
|
|
||||||
|
|
|
@ -27,14 +27,23 @@
|
||||||
# Note: Toolchains with binutils prior to v2.16
|
# Note: Toolchains with binutils prior to v2.16
|
||||||
# are no longer supported by U-Boot MIPS tree!
|
# are no longer supported by U-Boot MIPS tree!
|
||||||
#
|
#
|
||||||
MIPSFLAGS = -march=mips32r2
|
MIPSFLAGS := -march=mips32r2
|
||||||
|
|
||||||
|
# Handle special prefix in ELDK 4.0 toolchain
|
||||||
ifneq (,$(findstring 4KCle,$(CROSS_COMPILE)))
|
ifneq (,$(findstring 4KCle,$(CROSS_COMPILE)))
|
||||||
ENDIANNESS = -EL
|
ENDIANNESS := -EL
|
||||||
else
|
|
||||||
ENDIANNESS = -EB
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MIPSFLAGS += $(ENDIANNESS)
|
ifdef CONFIG_SYS_LITTLE_ENDIAN
|
||||||
|
ENDIANNESS := -EL
|
||||||
|
endif
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += $(MIPSFLAGS)
|
ifdef CONFIG_SYS_BIG_ENDIAN
|
||||||
|
ENDIANNESS := -EB
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Default to EB if no endianess is configured
|
||||||
|
ENDIANNESS ?= -EB
|
||||||
|
|
||||||
|
PLATFORM_CPPFLAGS += $(MIPSFLAGS) $(ENDIANNESS)
|
||||||
|
PLATFORM_LDFLAGS += $(ENDIANNESS)
|
||||||
|
|
|
@ -360,7 +360,7 @@ dbau1000 mips mips32 dbau1x00 -
|
||||||
dbau1100 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1100
|
dbau1100 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1100
|
||||||
dbau1500 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1500
|
dbau1500 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1500
|
||||||
dbau1550 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1550
|
dbau1550 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1550
|
||||||
dbau1550_el mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1550
|
dbau1550_el mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1550,SYS_LITTLE_ENDIAN
|
||||||
gth2 mips mips32 - - au1x00
|
gth2 mips mips32 - - au1x00
|
||||||
pb1000 mips mips32 pb1x00 - au1x00 pb1x00:PB1000
|
pb1000 mips mips32 pb1x00 - au1x00 pb1x00:PB1000
|
||||||
incaip mips mips32 incaip - incaip
|
incaip mips mips32 incaip - incaip
|
||||||
|
|
|
@ -46,6 +46,8 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CONFIG_SYS_LITTLE_ENDIAN
|
||||||
|
|
||||||
#define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */
|
#define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */
|
||||||
|
|
||||||
#define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */
|
#define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */
|
||||||
|
|
Loading…
Reference in a new issue