Skip to content

Commit 0e1dc34

Browse files
MIPS: kconfig: add options for endianess select
Add new Kconfig option to let the user select the targets endianess. Each target have to select SUPPORTS_BIG_ENDIAN and/or SUPPORTS_LITTLE_ENDIAN to indicate which endianess is supported. Signed-off-by: Daniel Schwierzeck <[email protected]>
1 parent 571bdf1 commit 0e1dc34

26 files changed

+63
-9
lines changed

arch/mips/Kconfig

+38
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,31 @@ choice
1212

1313
config TARGET_QEMU_MIPS
1414
bool "Support qemu-mips"
15+
select SUPPORTS_BIG_ENDIAN
16+
select SUPPORTS_LITTLE_ENDIAN
1517

1618
config TARGET_MALTA
1719
bool "Support malta"
20+
select SUPPORTS_BIG_ENDIAN
21+
select SUPPORTS_LITTLE_ENDIAN
1822

1923
config TARGET_VCT
2024
bool "Support vct"
25+
select SUPPORTS_BIG_ENDIAN
2126

2227
config TARGET_DBAU1X00
2328
bool "Support dbau1x00"
29+
select SUPPORTS_BIG_ENDIAN
30+
select SUPPORTS_LITTLE_ENDIAN
2431

2532
config TARGET_PB1X00
2633
bool "Support pb1x00"
34+
select SUPPORTS_LITTLE_ENDIAN
2735

2836
config TARGET_QEMU_MIPS64
2937
bool "Support qemu-mips64"
38+
select SUPPORTS_BIG_ENDIAN
39+
select SUPPORTS_LITTLE_ENDIAN
3040

3141
endchoice
3242

@@ -36,4 +46,32 @@ source "board/micronas/vct/Kconfig"
3646
source "board/pb1x00/Kconfig"
3747
source "board/qemu-mips/Kconfig"
3848

49+
if MIPS
50+
51+
choice
52+
prompt "Endianness selection"
53+
help
54+
Some MIPS boards can be configured for either little or big endian
55+
byte order. These modes require different U-Boot images. In general there
56+
is one preferred byteorder for a particular system but some systems are
57+
just as commonly used in the one or the other endianness.
58+
59+
config SYS_BIG_ENDIAN
60+
bool "Big endian"
61+
depends on SUPPORTS_BIG_ENDIAN
62+
63+
config SYS_LITTLE_ENDIAN
64+
bool "Little endian"
65+
depends on SUPPORTS_LITTLE_ENDIAN
66+
67+
endchoice
68+
69+
config SUPPORTS_BIG_ENDIAN
70+
bool
71+
72+
config SUPPORTS_LITTLE_ENDIAN
73+
bool
74+
75+
endif
76+
3977
endmenu

configs/dbau1000_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="DBAU1000"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_DBAU1X00=y
4+
CONFIG_SYS_BIG_ENDIAN=y

configs/dbau1100_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="DBAU1100"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_DBAU1X00=y
4+
CONFIG_SYS_BIG_ENDIAN=y

configs/dbau1500_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="DBAU1500"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_DBAU1X00=y
4+
CONFIG_SYS_BIG_ENDIAN=y

configs/dbau1550_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="DBAU1550"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_DBAU1X00=y
4+
CONFIG_SYS_BIG_ENDIAN=y

configs/dbau1550_el_defconfig

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="DBAU1550,SYS_LITTLE_ENDIAN"
1+
CONFIG_SYS_EXTRA_OPTIONS="DBAU1550"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_DBAU1X00=y
4+
CONFIG_SYS_LITTLE_ENDIAN=y

configs/malta_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="SYS_BIG_ENDIAN"
21
CONFIG_MIPS=y
32
CONFIG_TARGET_MALTA=y
3+
CONFIG_SYS_BIG_ENDIAN=y

configs/maltael_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="SYS_LITTLE_ENDIAN"
21
CONFIG_MIPS=y
32
CONFIG_TARGET_MALTA=y
3+
CONFIG_SYS_LITTLE_ENDIAN=y

configs/pb1000_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="PB1000"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_PB1X00=y
4+
CONFIG_SYS_LITTLE_ENDIAN=y

configs/qemu_mips64_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="SYS_BIG_ENDIAN"
21
CONFIG_MIPS=y
32
CONFIG_TARGET_QEMU_MIPS64=y
3+
CONFIG_SYS_BIG_ENDIAN=y

configs/qemu_mips64el_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="SYS_LITTLE_ENDIAN"
21
CONFIG_MIPS=y
32
CONFIG_TARGET_QEMU_MIPS64=y
3+
CONFIG_SYS_LITTLE_ENDIAN=y

configs/qemu_mips_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="SYS_BIG_ENDIAN"
21
CONFIG_MIPS=y
32
CONFIG_TARGET_QEMU_MIPS=y
3+
CONFIG_SYS_BIG_ENDIAN=y

configs/qemu_mipsel_defconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
CONFIG_SYS_EXTRA_OPTIONS="SYS_LITTLE_ENDIAN"
21
CONFIG_MIPS=y
32
CONFIG_TARGET_QEMU_MIPS=y
3+
CONFIG_SYS_LITTLE_ENDIAN=y

configs/vct_platinum_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_ONENAND"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_ONENAND,VCT_SMALL_IMAGE"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
45
# CONFIG_CMD_CRC32 is not set

configs/vct_platinum_small_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_SMALL_IMAGE"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
45
# CONFIG_CMD_CRC32 is not set

configs/vct_platinumavc_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_ONENAND"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_ONENAND,VCT_SMALL_IMAGE"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
45
# CONFIG_CMD_CRC32 is not set
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_SMALL_IMAGE"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
45
# CONFIG_CMD_CRC32 is not set

configs/vct_premium_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y

configs/vct_premium_onenand_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_ONENAND"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_ONENAND,VCT_SMALL_IMAGE"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
45
# CONFIG_CMD_CRC32 is not set

configs/vct_premium_small_defconfig

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_SMALL_IMAGE"
22
CONFIG_MIPS=y
33
CONFIG_TARGET_VCT=y
4+
CONFIG_SYS_BIG_ENDIAN=y
45
# CONFIG_CMD_CRC32 is not set

include/configs/pb1x00.h

-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@
2929
#endif
3030
#endif
3131

32-
#define CONFIG_SYS_LITTLE_ENDIAN
33-
3432
#define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */
3533

3634
#define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */

0 commit comments

Comments
 (0)