]> git.sur5r.net Git - u-boot/blob - arch/mips/Kconfig
f113b91de70857163bba8f5e8887f523162c28f7
[u-boot] / arch / mips / Kconfig
1 menu "MIPS architecture"
2         depends on MIPS
3
4 config SYS_ARCH
5         default "mips"
6
7 config SYS_CPU
8         default "mips32" if CPU_MIPS32
9         default "mips64" if CPU_MIPS64
10
11 choice
12         prompt "Target select"
13         optional
14
15 config TARGET_QEMU_MIPS
16         bool "Support qemu-mips"
17         select SUPPORTS_BIG_ENDIAN
18         select SUPPORTS_LITTLE_ENDIAN
19         select SUPPORTS_CPU_MIPS32_R1
20         select SUPPORTS_CPU_MIPS32_R2
21         select SUPPORTS_CPU_MIPS64_R1
22         select SUPPORTS_CPU_MIPS64_R2
23
24 config TARGET_MALTA
25         bool "Support malta"
26         select DM
27         select DM_SERIAL
28         select DYNAMIC_IO_PORT_BASE
29         select MIPS_CM
30         select MIPS_L2_CACHE
31         select OF_CONTROL
32         select OF_ISA_BUS
33         select SUPPORTS_BIG_ENDIAN
34         select SUPPORTS_LITTLE_ENDIAN
35         select SUPPORTS_CPU_MIPS32_R1
36         select SUPPORTS_CPU_MIPS32_R2
37         select SUPPORTS_CPU_MIPS32_R6
38         select SUPPORTS_CPU_MIPS64_R1
39         select SUPPORTS_CPU_MIPS64_R2
40         select SUPPORTS_CPU_MIPS64_R6
41         select SWAP_IO_SPACE
42         select MIPS_L1_CACHE_SHIFT_6
43
44 config TARGET_VCT
45         bool "Support vct"
46         select SUPPORTS_BIG_ENDIAN
47         select SUPPORTS_CPU_MIPS32_R1
48         select SUPPORTS_CPU_MIPS32_R2
49         select SYS_MIPS_CACHE_INIT_RAM_LOAD
50
51 config TARGET_DBAU1X00
52         bool "Support dbau1x00"
53         select SUPPORTS_BIG_ENDIAN
54         select SUPPORTS_LITTLE_ENDIAN
55         select SUPPORTS_CPU_MIPS32_R1
56         select SUPPORTS_CPU_MIPS32_R2
57         select SYS_MIPS_CACHE_INIT_RAM_LOAD
58         select MIPS_TUNE_4KC
59
60 config TARGET_PB1X00
61         bool "Support pb1x00"
62         select SUPPORTS_LITTLE_ENDIAN
63         select SUPPORTS_CPU_MIPS32_R1
64         select SUPPORTS_CPU_MIPS32_R2
65         select SYS_MIPS_CACHE_INIT_RAM_LOAD
66         select MIPS_TUNE_4KC
67
68 config ARCH_ATH79
69         bool "Support QCA/Atheros ath79"
70         select OF_CONTROL
71         select DM
72
73 config MACH_PIC32
74         bool "Support Microchip PIC32"
75         select OF_CONTROL
76         select DM
77
78 config TARGET_XILFPGA
79         bool "Support Imagination Xilfpga"
80         select OF_CONTROL
81         select DM
82         select DM_SERIAL
83         select DM_GPIO
84         select DM_ETH
85         select SUPPORTS_LITTLE_ENDIAN
86         select SUPPORTS_CPU_MIPS32_R1
87         select SUPPORTS_CPU_MIPS32_R2
88         select MIPS_L1_CACHE_SHIFT_4
89         help
90           This supports IMGTEC MIPSfpga platform
91
92 endchoice
93
94 source "board/dbau1x00/Kconfig"
95 source "board/imgtec/malta/Kconfig"
96 source "board/imgtec/xilfpga/Kconfig"
97 source "board/micronas/vct/Kconfig"
98 source "board/pb1x00/Kconfig"
99 source "board/qemu-mips/Kconfig"
100 source "arch/mips/mach-ath79/Kconfig"
101 source "arch/mips/mach-pic32/Kconfig"
102
103 if MIPS
104
105 choice
106         prompt "Endianness selection"
107         help
108           Some MIPS boards can be configured for either little or big endian
109           byte order. These modes require different U-Boot images. In general there
110           is one preferred byteorder for a particular system but some systems are
111           just as commonly used in the one or the other endianness.
112
113 config SYS_BIG_ENDIAN
114         bool "Big endian"
115         depends on SUPPORTS_BIG_ENDIAN
116
117 config SYS_LITTLE_ENDIAN
118         bool "Little endian"
119         depends on SUPPORTS_LITTLE_ENDIAN
120
121 endchoice
122
123 choice
124         prompt "CPU selection"
125         default CPU_MIPS32_R2
126
127 config CPU_MIPS32_R1
128         bool "MIPS32 Release 1"
129         depends on SUPPORTS_CPU_MIPS32_R1
130         select 32BIT
131         help
132           Choose this option to build an U-Boot for release 1 through 5 of the
133           MIPS32 architecture.
134
135 config CPU_MIPS32_R2
136         bool "MIPS32 Release 2"
137         depends on SUPPORTS_CPU_MIPS32_R2
138         select 32BIT
139         help
140           Choose this option to build an U-Boot for release 2 through 5 of the
141           MIPS32 architecture.
142
143 config CPU_MIPS32_R6
144         bool "MIPS32 Release 6"
145         depends on SUPPORTS_CPU_MIPS32_R6
146         select 32BIT
147         help
148           Choose this option to build an U-Boot for release 6 or later of the
149           MIPS32 architecture.
150
151 config CPU_MIPS64_R1
152         bool "MIPS64 Release 1"
153         depends on SUPPORTS_CPU_MIPS64_R1
154         select 64BIT
155         help
156           Choose this option to build a kernel for release 1 through 5 of the
157           MIPS64 architecture.
158
159 config CPU_MIPS64_R2
160         bool "MIPS64 Release 2"
161         depends on SUPPORTS_CPU_MIPS64_R2
162         select 64BIT
163         help
164           Choose this option to build a kernel for release 2 through 5 of the
165           MIPS64 architecture.
166
167 config CPU_MIPS64_R6
168         bool "MIPS64 Release 6"
169         depends on SUPPORTS_CPU_MIPS64_R6
170         select 64BIT
171         help
172           Choose this option to build a kernel for release 6 or later of the
173           MIPS64 architecture.
174
175 endchoice
176
177 menu "OS boot interface"
178
179 config MIPS_BOOT_CMDLINE_LEGACY
180         bool "Hand over legacy command line to Linux kernel"
181         default y
182         help
183           Enable this option if you want U-Boot to hand over the Yamon-style
184           command line to the kernel. All bootargs will be prepared as argc/argv
185           compatible list. The argument count (argc) is stored in register $a0.
186           The address of the argument list (argv) is stored in register $a1.
187
188 config MIPS_BOOT_ENV_LEGACY
189         bool "Hand over legacy environment to Linux kernel"
190         default y
191         help
192           Enable this option if you want U-Boot to hand over the Yamon-style
193           environment to the kernel. Information like memory size, initrd
194           address and size will be prepared as zero-terminated key/value list.
195           The address of the environment is stored in register $a2.
196
197 config MIPS_BOOT_FDT
198         bool "Hand over a flattened device tree to Linux kernel"
199         default n
200         help
201           Enable this option if you want U-Boot to hand over a flattened
202           device tree to the kernel. According to UHI register $a0 will be set
203           to -2 and the FDT address is stored in $a1.
204
205 endmenu
206
207 config SUPPORTS_BIG_ENDIAN
208         bool
209
210 config SUPPORTS_LITTLE_ENDIAN
211         bool
212
213 config SUPPORTS_CPU_MIPS32_R1
214         bool
215
216 config SUPPORTS_CPU_MIPS32_R2
217         bool
218
219 config SUPPORTS_CPU_MIPS32_R6
220         bool
221
222 config SUPPORTS_CPU_MIPS64_R1
223         bool
224
225 config SUPPORTS_CPU_MIPS64_R2
226         bool
227
228 config SUPPORTS_CPU_MIPS64_R6
229         bool
230
231 config CPU_MIPS32
232         bool
233         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
234
235 config CPU_MIPS64
236         bool
237         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
238
239 config MIPS_TUNE_4KC
240         bool
241
242 config MIPS_TUNE_14KC
243         bool
244
245 config MIPS_TUNE_24KC
246         bool
247
248 config MIPS_TUNE_34KC
249         bool
250
251 config MIPS_TUNE_74KC
252         bool
253
254 config 32BIT
255         bool
256
257 config 64BIT
258         bool
259
260 config SWAP_IO_SPACE
261         bool
262
263 config SYS_MIPS_CACHE_INIT_RAM_LOAD
264         bool
265
266 config SYS_DCACHE_SIZE
267         int
268         default 0
269         help
270           The total size of the L1 Dcache, if known at compile time.
271
272 config SYS_DCACHE_LINE_SIZE
273         int
274         default 0
275         help
276           The size of L1 Dcache lines, if known at compile time.
277
278 config SYS_ICACHE_SIZE
279         int
280         default 0
281         help
282           The total size of the L1 ICache, if known at compile time.
283
284 config SYS_ICACHE_LINE_SIZE
285         int
286         default 0
287         help
288           The size of L1 Icache lines, if known at compile time.
289
290 config SYS_CACHE_SIZE_AUTO
291         def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
292                 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
293         help
294           Select this (or let it be auto-selected by not defining any cache
295           sizes) in order to allow U-Boot to automatically detect the sizes
296           of caches at runtime. This has a small cost in code size & runtime
297           so if you know the cache configuration for your system at compile
298           time it would be beneficial to configure it.
299
300 config MIPS_L1_CACHE_SHIFT_4
301         bool
302
303 config MIPS_L1_CACHE_SHIFT_5
304         bool
305
306 config MIPS_L1_CACHE_SHIFT_6
307         bool
308
309 config MIPS_L1_CACHE_SHIFT_7
310         bool
311
312 config MIPS_L1_CACHE_SHIFT
313         int
314         default "7" if MIPS_L1_CACHE_SHIFT_7
315         default "6" if MIPS_L1_CACHE_SHIFT_6
316         default "5" if MIPS_L1_CACHE_SHIFT_5
317         default "4" if MIPS_L1_CACHE_SHIFT_4
318         default "5"
319
320 config MIPS_L2_CACHE
321         bool
322         help
323           Select this if your system includes an L2 cache and you want U-Boot
324           to initialise & maintain it.
325
326 config DYNAMIC_IO_PORT_BASE
327         bool
328
329 config MIPS_CM
330         bool
331         help
332           Select this if your system contains a MIPS Coherence Manager and you
333           wish U-Boot to configure it or make use of it to retrieve system
334           information such as cache configuration.
335
336 config MIPS_CM_BASE
337         hex
338         default 0x1fbf8000
339         help
340           The physical base address at which to map the MIPS Coherence Manager
341           Global Configuration Registers (GCRs). This should be set such that
342           the GCRs occupy a region of the physical address space which is
343           otherwise unused, or at minimum that software doesn't need to access.
344
345 endif
346
347 endmenu