xref: /openbmc/u-boot/arch/mips/Kconfig (revision c57dafb5b413335d397691a3d50ff33c229c272d)
1dd84058dSMasahiro Yamadamenu "MIPS architecture"
2dd84058dSMasahiro Yamada	depends on MIPS
3dd84058dSMasahiro Yamada
4dd84058dSMasahiro Yamadaconfig SYS_ARCH
5dd84058dSMasahiro Yamada	default "mips"
6dd84058dSMasahiro Yamada
7b9863b6dSDaniel Schwierzeckconfig SYS_CPU
8b9863b6dSDaniel Schwierzeck	default "mips32" if CPU_MIPS32_R1 || CPU_MIPS32_R2
9b9863b6dSDaniel Schwierzeck	default "mips64" if CPU_MIPS64_R1 || CPU_MIPS64_R2
10b9863b6dSDaniel Schwierzeck
117bfd5ee1SMasahiro Yamadaconfig USE_PRIVATE_LIBGCC
127bfd5ee1SMasahiro Yamada	default y
137bfd5ee1SMasahiro Yamada
14dd84058dSMasahiro Yamadachoice
15dd84058dSMasahiro Yamada	prompt "Target select"
16dd84058dSMasahiro Yamada
17dd84058dSMasahiro Yamadaconfig TARGET_QEMU_MIPS
18dd84058dSMasahiro Yamada	bool "Support qemu-mips"
190e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
200e1dc345SDaniel Schwierzeck	select SUPPORTS_LITTLE_ENDIAN
2102611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
2202611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
23aa45f75eSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS64_R1
24aa45f75eSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS64_R2
25dd84058dSMasahiro Yamada
26dd84058dSMasahiro Yamadaconfig TARGET_MALTA
27dd84058dSMasahiro Yamada	bool "Support malta"
280e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
290e1dc345SDaniel Schwierzeck	select SUPPORTS_LITTLE_ENDIAN
3002611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
3102611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
32dd84058dSMasahiro Yamada
33dd84058dSMasahiro Yamadaconfig TARGET_VCT
34dd84058dSMasahiro Yamada	bool "Support vct"
350e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
3602611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
3702611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
38dd84058dSMasahiro Yamada
39dd84058dSMasahiro Yamadaconfig TARGET_DBAU1X00
40dd84058dSMasahiro Yamada	bool "Support dbau1x00"
410e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
420e1dc345SDaniel Schwierzeck	select SUPPORTS_LITTLE_ENDIAN
4302611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
4402611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
45dd84058dSMasahiro Yamada
46dd84058dSMasahiro Yamadaconfig TARGET_PB1X00
47dd84058dSMasahiro Yamada	bool "Support pb1x00"
480e1dc345SDaniel Schwierzeck	select SUPPORTS_LITTLE_ENDIAN
4902611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
5002611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
51dd84058dSMasahiro Yamada
52dd84058dSMasahiro Yamada
53dd84058dSMasahiro Yamadaendchoice
54dd84058dSMasahiro Yamada
55dd84058dSMasahiro Yamadasource "board/dbau1x00/Kconfig"
56dd84058dSMasahiro Yamadasource "board/imgtec/malta/Kconfig"
57dd84058dSMasahiro Yamadasource "board/micronas/vct/Kconfig"
58dd84058dSMasahiro Yamadasource "board/pb1x00/Kconfig"
59dd84058dSMasahiro Yamadasource "board/qemu-mips/Kconfig"
60dd84058dSMasahiro Yamada
610e1dc345SDaniel Schwierzeckif MIPS
620e1dc345SDaniel Schwierzeck
630e1dc345SDaniel Schwierzeckchoice
640e1dc345SDaniel Schwierzeck	prompt "Endianness selection"
650e1dc345SDaniel Schwierzeck	help
660e1dc345SDaniel Schwierzeck	  Some MIPS boards can be configured for either little or big endian
670e1dc345SDaniel Schwierzeck	  byte order. These modes require different U-Boot images. In general there
680e1dc345SDaniel Schwierzeck	  is one preferred byteorder for a particular system but some systems are
690e1dc345SDaniel Schwierzeck	  just as commonly used in the one or the other endianness.
700e1dc345SDaniel Schwierzeck
710e1dc345SDaniel Schwierzeckconfig SYS_BIG_ENDIAN
720e1dc345SDaniel Schwierzeck	bool "Big endian"
730e1dc345SDaniel Schwierzeck	depends on SUPPORTS_BIG_ENDIAN
740e1dc345SDaniel Schwierzeck
750e1dc345SDaniel Schwierzeckconfig SYS_LITTLE_ENDIAN
760e1dc345SDaniel Schwierzeck	bool "Little endian"
770e1dc345SDaniel Schwierzeck	depends on SUPPORTS_LITTLE_ENDIAN
780e1dc345SDaniel Schwierzeck
790e1dc345SDaniel Schwierzeckendchoice
800e1dc345SDaniel Schwierzeck
8102611cbbSDaniel Schwierzeckchoice
8202611cbbSDaniel Schwierzeck	prompt "CPU selection"
8302611cbbSDaniel Schwierzeck	default CPU_MIPS32_R2
8402611cbbSDaniel Schwierzeck
8502611cbbSDaniel Schwierzeckconfig CPU_MIPS32_R1
8602611cbbSDaniel Schwierzeck	bool "MIPS32 Release 1"
8702611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS32_R1
8802611cbbSDaniel Schwierzeck	select 32BIT
8902611cbbSDaniel Schwierzeck	help
9002611cbbSDaniel Schwierzeck	  Choose this option to build an U-Boot for release 1 or later of the
9102611cbbSDaniel Schwierzeck	  MIPS32 architecture.
9202611cbbSDaniel Schwierzeck
9302611cbbSDaniel Schwierzeckconfig CPU_MIPS32_R2
9402611cbbSDaniel Schwierzeck	bool "MIPS32 Release 2"
9502611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS32_R2
9602611cbbSDaniel Schwierzeck	select 32BIT
9702611cbbSDaniel Schwierzeck	help
9802611cbbSDaniel Schwierzeck	  Choose this option to build an U-Boot for release 2 or later of the
9902611cbbSDaniel Schwierzeck	  MIPS32 architecture.
10002611cbbSDaniel Schwierzeck
10102611cbbSDaniel Schwierzeckconfig CPU_MIPS64_R1
10202611cbbSDaniel Schwierzeck	bool "MIPS64 Release 1"
10302611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS64_R1
10402611cbbSDaniel Schwierzeck	select 64BIT
10502611cbbSDaniel Schwierzeck	help
10602611cbbSDaniel Schwierzeck	  Choose this option to build a kernel for release 1 or later of the
10702611cbbSDaniel Schwierzeck	  MIPS64 architecture.
10802611cbbSDaniel Schwierzeck
10902611cbbSDaniel Schwierzeckconfig CPU_MIPS64_R2
11002611cbbSDaniel Schwierzeck	bool "MIPS64 Release 2"
11102611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS64_R2
11202611cbbSDaniel Schwierzeck	select 64BIT
11302611cbbSDaniel Schwierzeck	help
11402611cbbSDaniel Schwierzeck	  Choose this option to build a kernel for release 2 or later of the
11502611cbbSDaniel Schwierzeck	  MIPS64 architecture.
11602611cbbSDaniel Schwierzeck
11702611cbbSDaniel Schwierzeckendchoice
11802611cbbSDaniel Schwierzeck
11925fc664fSDaniel Schwierzeckmenu "OS boot interface"
12025fc664fSDaniel Schwierzeck
12125fc664fSDaniel Schwierzeckconfig MIPS_BOOT_CMDLINE_LEGACY
12225fc664fSDaniel Schwierzeck	bool "Hand over legacy command line to Linux kernel"
12325fc664fSDaniel Schwierzeck	default y
12425fc664fSDaniel Schwierzeck	help
12525fc664fSDaniel Schwierzeck	  Enable this option if you want U-Boot to hand over the Yamon-style
12625fc664fSDaniel Schwierzeck	  command line to the kernel. All bootargs will be prepared as argc/argv
12725fc664fSDaniel Schwierzeck	  compatible list. The argument count (argc) is stored in register $a0.
12825fc664fSDaniel Schwierzeck	  The address of the argument list (argv) is stored in register $a1.
12925fc664fSDaniel Schwierzeck
130ca65e585SDaniel Schwierzeckconfig MIPS_BOOT_ENV_LEGACY
131ca65e585SDaniel Schwierzeck	bool "Hand over legacy environment to Linux kernel"
132ca65e585SDaniel Schwierzeck	default y
133ca65e585SDaniel Schwierzeck	help
134ca65e585SDaniel Schwierzeck	  Enable this option if you want U-Boot to hand over the Yamon-style
135ca65e585SDaniel Schwierzeck	  environment to the kernel. Information like memory size, initrd
136ca65e585SDaniel Schwierzeck	  address and size will be prepared as zero-terminated key/value list.
137ca65e585SDaniel Schwierzeck	  The address of the enviroment is stored in register $a2.
138ca65e585SDaniel Schwierzeck
1395002d8ccSDaniel Schwierzeckconfig MIPS_BOOT_FDT
1405002d8ccSDaniel Schwierzeck	bool "Hand over a flattened device tree to Linux kernel (INCOMPLETE)"
1415002d8ccSDaniel Schwierzeck	default n
1425002d8ccSDaniel Schwierzeck	help
1435002d8ccSDaniel Schwierzeck	  Enable this option if you want U-Boot to hand over a flattened
1445002d8ccSDaniel Schwierzeck	  device tree to the kernel.
1455002d8ccSDaniel Schwierzeck
1465002d8ccSDaniel Schwierzeck	  Note: the final hand over to the kernel is not yet implemented. After
1475002d8ccSDaniel Schwierzeck	        the community agreed on the MIPS boot interface for device trees,
1485002d8ccSDaniel Schwierzeck	        the corresponding code will be added.
1495002d8ccSDaniel Schwierzeck
15025fc664fSDaniel Schwierzeckendmenu
15125fc664fSDaniel Schwierzeck
1520e1dc345SDaniel Schwierzeckconfig SUPPORTS_BIG_ENDIAN
1530e1dc345SDaniel Schwierzeck	bool
1540e1dc345SDaniel Schwierzeck
1550e1dc345SDaniel Schwierzeckconfig SUPPORTS_LITTLE_ENDIAN
1560e1dc345SDaniel Schwierzeck	bool
1570e1dc345SDaniel Schwierzeck
15802611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS32_R1
15902611cbbSDaniel Schwierzeck	bool
16002611cbbSDaniel Schwierzeck
16102611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS32_R2
16202611cbbSDaniel Schwierzeck	bool
16302611cbbSDaniel Schwierzeck
16402611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS64_R1
16502611cbbSDaniel Schwierzeck	bool
16602611cbbSDaniel Schwierzeck
16702611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS64_R2
16802611cbbSDaniel Schwierzeck	bool
16902611cbbSDaniel Schwierzeck
170*c57dafb5SDaniel Schwierzeckconfig CPU_MIPS32
171*c57dafb5SDaniel Schwierzeck	bool
172*c57dafb5SDaniel Schwierzeck	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
173*c57dafb5SDaniel Schwierzeck
174*c57dafb5SDaniel Schwierzeckconfig CPU_MIPS64
175*c57dafb5SDaniel Schwierzeck	bool
176*c57dafb5SDaniel Schwierzeck	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
177*c57dafb5SDaniel Schwierzeck
17802611cbbSDaniel Schwierzeckconfig 32BIT
17902611cbbSDaniel Schwierzeck	bool
18002611cbbSDaniel Schwierzeck
18102611cbbSDaniel Schwierzeckconfig 64BIT
18202611cbbSDaniel Schwierzeck	bool
18302611cbbSDaniel Schwierzeck
1840e1dc345SDaniel Schwierzeckendif
1850e1dc345SDaniel Schwierzeck
186dd84058dSMasahiro Yamadaendmenu
187