blob: 188aaba92f74ba4902a9f9143d3217be54696f9d [file] [log] [blame]
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeck99e7af22014-10-26 14:14:07 +01007config SYS_CPU
8 default "mips32" if CPU_MIPS32_R1 || CPU_MIPS32_R2
9 default "mips64" if CPU_MIPS64_R1 || CPU_MIPS64_R2
10
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergerf0699602015-05-12 14:46:23 -050013 optional
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090014
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010017 select SUPPORTS_BIG_ENDIAN
18 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck94384d12014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090023
24config TARGET_MALTA
25 bool "Support malta"
Paul Burton8d6600b2016-01-29 13:54:52 +000026 select DYNAMIC_IO_PORT_BASE
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010027 select SUPPORTS_BIG_ENDIAN
28 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010029 select SUPPORTS_CPU_MIPS32_R1
30 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +010031 select SWAP_IO_SPACE
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +010032 select MIPS_L1_CACHE_SHIFT_6
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090033
34config TARGET_VCT
35 bool "Support vct"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010036 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010037 select SUPPORTS_CPU_MIPS32_R1
38 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000039 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090040
41config TARGET_DBAU1X00
42 bool "Support dbau1x00"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010043 select SUPPORTS_BIG_ENDIAN
44 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010045 select SUPPORTS_CPU_MIPS32_R1
46 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000047 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010048 select MIPS_TUNE_4KC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090049
50config TARGET_PB1X00
51 bool "Support pb1x00"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010052 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010053 select SUPPORTS_CPU_MIPS32_R1
54 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000055 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010056 select MIPS_TUNE_4KC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090057
Wills Wang833a1a82016-03-16 16:59:52 +080058config ARCH_ATH79
59 bool "Support QCA/Atheros ath79"
60 select OF_CONTROL
61 select DM
62
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053063config MACH_PIC32
64 bool "Support Microchip PIC32"
65 select OF_CONTROL
66 select DM
67
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090068endchoice
69
70source "board/dbau1x00/Kconfig"
71source "board/imgtec/malta/Kconfig"
72source "board/micronas/vct/Kconfig"
73source "board/pb1x00/Kconfig"
74source "board/qemu-mips/Kconfig"
Wills Wang833a1a82016-03-16 16:59:52 +080075source "arch/mips/mach-ath79/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053076source "arch/mips/mach-pic32/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090077
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010078if MIPS
79
80choice
81 prompt "Endianness selection"
82 help
83 Some MIPS boards can be configured for either little or big endian
84 byte order. These modes require different U-Boot images. In general there
85 is one preferred byteorder for a particular system but some systems are
86 just as commonly used in the one or the other endianness.
87
88config SYS_BIG_ENDIAN
89 bool "Big endian"
90 depends on SUPPORTS_BIG_ENDIAN
91
92config SYS_LITTLE_ENDIAN
93 bool "Little endian"
94 depends on SUPPORTS_LITTLE_ENDIAN
95
96endchoice
97
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010098choice
99 prompt "CPU selection"
100 default CPU_MIPS32_R2
101
102config CPU_MIPS32_R1
103 bool "MIPS32 Release 1"
104 depends on SUPPORTS_CPU_MIPS32_R1
105 select 32BIT
106 help
107 Choose this option to build an U-Boot for release 1 or later of the
108 MIPS32 architecture.
109
110config CPU_MIPS32_R2
111 bool "MIPS32 Release 2"
112 depends on SUPPORTS_CPU_MIPS32_R2
113 select 32BIT
114 help
115 Choose this option to build an U-Boot for release 2 or later of the
116 MIPS32 architecture.
117
118config CPU_MIPS64_R1
119 bool "MIPS64 Release 1"
120 depends on SUPPORTS_CPU_MIPS64_R1
121 select 64BIT
122 help
123 Choose this option to build a kernel for release 1 or later of the
124 MIPS64 architecture.
125
126config CPU_MIPS64_R2
127 bool "MIPS64 Release 2"
128 depends on SUPPORTS_CPU_MIPS64_R2
129 select 64BIT
130 help
131 Choose this option to build a kernel for release 2 or later of the
132 MIPS64 architecture.
133
134endchoice
135
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100136menu "OS boot interface"
137
138config MIPS_BOOT_CMDLINE_LEGACY
139 bool "Hand over legacy command line to Linux kernel"
140 default y
141 help
142 Enable this option if you want U-Boot to hand over the Yamon-style
143 command line to the kernel. All bootargs will be prepared as argc/argv
144 compatible list. The argument count (argc) is stored in register $a0.
145 The address of the argument list (argv) is stored in register $a1.
146
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100147config MIPS_BOOT_ENV_LEGACY
148 bool "Hand over legacy environment to Linux kernel"
149 default y
150 help
151 Enable this option if you want U-Boot to hand over the Yamon-style
152 environment to the kernel. Information like memory size, initrd
153 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day8c60f922016-05-04 04:47:31 -0400154 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100155
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100156config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100157 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100158 default n
159 help
160 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100161 device tree to the kernel. According to UHI register $a0 will be set
162 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100163
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100164endmenu
165
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100166config SUPPORTS_BIG_ENDIAN
167 bool
168
169config SUPPORTS_LITTLE_ENDIAN
170 bool
171
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100172config SUPPORTS_CPU_MIPS32_R1
173 bool
174
175config SUPPORTS_CPU_MIPS32_R2
176 bool
177
178config SUPPORTS_CPU_MIPS64_R1
179 bool
180
181config SUPPORTS_CPU_MIPS64_R2
182 bool
183
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100184config CPU_MIPS32
185 bool
186 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
187
188config CPU_MIPS64
189 bool
190 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
191
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +0100192config MIPS_TUNE_4KC
193 bool
194
195config MIPS_TUNE_14KC
196 bool
197
198config MIPS_TUNE_24KC
199 bool
200
Marek Vasuta9c6e8b2016-05-06 20:10:33 +0200201config MIPS_TUNE_74KC
202 bool
203
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100204config 32BIT
205 bool
206
207config 64BIT
208 bool
209
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100210config SWAP_IO_SPACE
211 bool
212
Paul Burton6832bdc2015-01-29 01:28:02 +0000213config SYS_MIPS_CACHE_INIT_RAM_LOAD
214 bool
215
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +0100216config MIPS_L1_CACHE_SHIFT_4
217 bool
218
219config MIPS_L1_CACHE_SHIFT_5
220 bool
221
222config MIPS_L1_CACHE_SHIFT_6
223 bool
224
225config MIPS_L1_CACHE_SHIFT_7
226 bool
227
228config MIPS_L1_CACHE_SHIFT
229 int
230 default "7" if MIPS_L1_CACHE_SHIFT_7
231 default "6" if MIPS_L1_CACHE_SHIFT_6
232 default "5" if MIPS_L1_CACHE_SHIFT_5
233 default "4" if MIPS_L1_CACHE_SHIFT_4
234 default "5"
235
Paul Burton8d6600b2016-01-29 13:54:52 +0000236config DYNAMIC_IO_PORT_BASE
237 bool
238
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100239endif
240
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900241endmenu