DEVICETREE: Add bindings for the SoC of the ATH79 family
[linux-2.6-block.git] / arch / mips / Kconfig
CommitLineData
1da177e4
LT
1config MIPS
2 bool
3 default y
a862a426 4 select ARCH_MIGHT_HAVE_PC_PARPORT
393c1262 5 select ARCH_MIGHT_HAVE_PC_SERIO
c3fc5cd5 6 select HAVE_CONTEXT_TRACKING
f8ac0425 7 select HAVE_GENERIC_DMA_COHERENT
ec7748b5 8 select HAVE_IDE
42d4b839 9 select HAVE_OPROFILE
7f788d2d
DCZ
10 select HAVE_PERF_EVENTS
11 select PERF_USE_VMALLOC
88547001 12 select HAVE_ARCH_KGDB
490b004f 13 select HAVE_ARCH_SECCOMP_FILTER
c0ff3c53 14 select HAVE_ARCH_TRACEHOOK
3f5fdb4b 15 select HAVE_BPF_JIT if !CPU_MICROMIPS
7563bbf8 16 select ARCH_HAVE_CUSTOM_GPIO_H
d2bb0762 17 select HAVE_FUNCTION_TRACER
538f1952
WZ
18 select HAVE_DYNAMIC_FTRACE
19 select HAVE_FTRACE_MCOUNT_RECORD
64575f91 20 select HAVE_C_RECORDMCOUNT
29c5d346 21 select HAVE_FUNCTION_GRAPH_TRACER
c1bf207d
DD
22 select HAVE_KPROBES
23 select HAVE_KRETPROBES
fb59e394 24 select HAVE_SYSCALL_TRACEPOINTS
b69ec42b 25 select HAVE_DEBUG_KMEMLEAK
1d7bf993 26 select HAVE_SYSCALL_TRACEPOINTS
2b68f6ca 27 select ARCH_HAS_ELF_RANDOMIZE
383c97b4 28 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
30ad29bb 29 select RTC_LIB if !MACH_LOONGSON64
2b78920d 30 select GENERIC_ATOMIC64 if !64BIT
7463449b 31 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
48e1fd5a 32 select HAVE_DMA_ATTRS
f4649382 33 select HAVE_DMA_CONTIGUOUS
48e1fd5a 34 select HAVE_DMA_API_DEBUG
3bd27e32 35 select GENERIC_IRQ_PROBE
f8396c17 36 select GENERIC_IRQ_SHOW
78857614 37 select GENERIC_PCI_IOMAP
94bb0c1a 38 select HAVE_ARCH_JUMP_LABEL
c1d7e01d 39 select ARCH_WANT_IPC_PARSE_VERSION
0f462e3c 40 select IRQ_FORCED_THREADING
9d15ffc8
TH
41 select HAVE_MEMBLOCK
42 select HAVE_MEMBLOCK_NODE_MAP
43 select ARCH_DISCARD_MEMBLOCK
360014a3 44 select GENERIC_SMP_IDLE_THREAD
4b054495 45 select BUILDTIME_EXTABLE_SORT
cde1794b 46 select GENERIC_CLOCKEVENTS
929de4cc 47 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
cde1794b 48 select GENERIC_CMOS_UPDATE
786d35d4 49 select HAVE_MOD_ARCH_SPECIFIC
4febd95a 50 select VIRT_TO_BUS
2f12fb20
JK
51 select MODULES_USE_ELF_REL if MODULES
52 select MODULES_USE_ELF_RELA if MODULES && 64BIT
50150d2b 53 select CLONE_BACKWARDS
d1a1dc0b 54 select HAVE_DEBUG_STACKOVERFLOW
19952a92 55 select HAVE_CC_STACKPROTECTOR
b1d4c6ca 56 select CPU_PM if CPU_IDLE
cc7964af 57 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
90cee759 58 select ARCH_BINFMT_ELF_STATE
d79d853d 59 select SYSCTL_EXCEPTION_TRACE
bb877e96 60 select HAVE_VIRT_CPU_ACCOUNTING_GEN
ec9ddad3 61 select HAVE_IRQ_TIME_ACCOUNTING
1da177e4 62
1da177e4
LT
63menu "Machine selection"
64
5e83d430
RB
65choice
66 prompt "System type"
67 default SGI_IP22
1da177e4 68
42a4f17d 69config MIPS_ALCHEMY
c3543e25 70 bool "Alchemy processor based machines"
34adb28d 71 select ARCH_PHYS_ADDR_T_64BIT
f772cdb2 72 select CEVT_R4K
d7ea335c 73 select CSRC_R4K
67e38cf2 74 select IRQ_MIPS_CPU
88e9a93c 75 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
42a4f17d
ML
76 select SYS_HAS_CPU_MIPS32_R1
77 select SYS_SUPPORTS_32BIT_KERNEL
78 select SYS_SUPPORTS_APM_EMULATION
efb12436 79 select ARCH_REQUIRE_GPIOLIB
1b93b3c3 80 select SYS_SUPPORTS_ZBOOT
47440229 81 select COMMON_CLK
1da177e4 82
7ca5dc14
FF
83config AR7
84 bool "Texas Instruments AR7"
85 select BOOT_ELF32
86 select DMA_NONCOHERENT
87 select CEVT_R4K
88 select CSRC_R4K
67e38cf2 89 select IRQ_MIPS_CPU
7ca5dc14
FF
90 select NO_EXCEPT_FILL
91 select SWAP_IO_SPACE
92 select SYS_HAS_CPU_MIPS32_R1
93 select SYS_HAS_EARLY_PRINTK
94 select SYS_SUPPORTS_32BIT_KERNEL
95 select SYS_SUPPORTS_LITTLE_ENDIAN
377cb1b6 96 select SYS_SUPPORTS_MIPS16
1b93b3c3 97 select SYS_SUPPORTS_ZBOOT_UART16550
5f3c9098 98 select ARCH_REQUIRE_GPIOLIB
7ca5dc14 99 select VLYNQ
8551fb64 100 select HAVE_CLK
7ca5dc14
FF
101 help
102 Support for the Texas Instruments AR7 System-on-a-Chip
103 family: TNETD7100, 7200 and 7300.
104
43cc739f
SR
105config ATH25
106 bool "Atheros AR231x/AR531x SoC support"
107 select CEVT_R4K
108 select CSRC_R4K
109 select DMA_NONCOHERENT
67e38cf2 110 select IRQ_MIPS_CPU
1753e74e 111 select IRQ_DOMAIN
43cc739f
SR
112 select SYS_HAS_CPU_MIPS32_R1
113 select SYS_SUPPORTS_BIG_ENDIAN
114 select SYS_SUPPORTS_32BIT_KERNEL
8aaa7278 115 select SYS_HAS_EARLY_PRINTK
43cc739f
SR
116 help
117 Support for Atheros AR231x and Atheros AR531x based boards
118
d4a67d9d
GJ
119config ATH79
120 bool "Atheros AR71XX/AR724X/AR913X based boards"
6eae43c5 121 select ARCH_REQUIRE_GPIOLIB
d4a67d9d
GJ
122 select BOOT_RAW
123 select CEVT_R4K
124 select CSRC_R4K
125 select DMA_NONCOHERENT
94638067 126 select HAVE_CLK
411520af 127 select COMMON_CLK
2c4f1ac5 128 select CLKDEV_LOOKUP
67e38cf2 129 select IRQ_MIPS_CPU
0aabf1a4 130 select MIPS_MACHINE
d4a67d9d
GJ
131 select SYS_HAS_CPU_MIPS32_R2
132 select SYS_HAS_EARLY_PRINTK
133 select SYS_SUPPORTS_32BIT_KERNEL
134 select SYS_SUPPORTS_BIG_ENDIAN
377cb1b6 135 select SYS_SUPPORTS_MIPS16
da628e8b 136 select SYS_SUPPORTS_ZBOOT
d4a67d9d
GJ
137 help
138 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
139
5f2d4459
KC
140config BMIPS_GENERIC
141 bool "Broadcom Generic BMIPS kernel"
d666cd02
KC
142 select BOOT_RAW
143 select NO_EXCEPT_FILL
144 select USE_OF
145 select CEVT_R4K
146 select CSRC_R4K
147 select SYNC_R4K
148 select COMMON_CLK
60b858f2
KC
149 select BCM7038_L1_IRQ
150 select BCM7120_L2_IRQ
151 select BRCMSTB_L2_IRQ
67e38cf2 152 select IRQ_MIPS_CPU
60b858f2
KC
153 select RAW_IRQ_ACCESSORS
154 select DMA_NONCOHERENT
d666cd02 155 select SYS_SUPPORTS_32BIT_KERNEL
60b858f2 156 select SYS_SUPPORTS_LITTLE_ENDIAN
d666cd02
KC
157 select SYS_SUPPORTS_BIG_ENDIAN
158 select SYS_SUPPORTS_HIGHMEM
60b858f2
KC
159 select SYS_HAS_CPU_BMIPS32_3300
160 select SYS_HAS_CPU_BMIPS4350
161 select SYS_HAS_CPU_BMIPS4380
d666cd02
KC
162 select SYS_HAS_CPU_BMIPS5000
163 select SWAP_IO_SPACE
60b858f2
KC
164 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
165 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
166 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
167 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
d666cd02 168 help
5f2d4459
KC
169 Build a generic DT-based kernel image that boots on select
170 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
171 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
172 must be set appropriately for your board.
d666cd02 173
1c0c13eb 174config BCM47XX
c619366e 175 bool "Broadcom BCM47XX based boards"
2da4c74d 176 select ARCH_WANT_OPTIONAL_GPIOLIB
fe08f8c2 177 select BOOT_RAW
42f77542 178 select CEVT_R4K
940f6b48 179 select CSRC_R4K
1c0c13eb
AJ
180 select DMA_NONCOHERENT
181 select HW_HAS_PCI
67e38cf2 182 select IRQ_MIPS_CPU
314878d2 183 select SYS_HAS_CPU_MIPS32_R1
dd54dedd 184 select NO_EXCEPT_FILL
1c0c13eb
AJ
185 select SYS_SUPPORTS_32BIT_KERNEL
186 select SYS_SUPPORTS_LITTLE_ENDIAN
377cb1b6 187 select SYS_SUPPORTS_MIPS16
25e5fb97 188 select SYS_HAS_EARLY_PRINTK
e6086557 189 select USE_GENERIC_EARLY_PRINTK_8250
c949c0bc
RM
190 select GPIOLIB
191 select LEDS_GPIO_REGISTER
1c0c13eb
AJ
192 help
193 Support for BCM47XX based boards
194
e7300d04
MB
195config BCM63XX
196 bool "Broadcom BCM63XX based boards"
ae8de61c 197 select BOOT_RAW
e7300d04
MB
198 select CEVT_R4K
199 select CSRC_R4K
fc264022 200 select SYNC_R4K
e7300d04 201 select DMA_NONCOHERENT
67e38cf2 202 select IRQ_MIPS_CPU
e7300d04
MB
203 select SYS_SUPPORTS_32BIT_KERNEL
204 select SYS_SUPPORTS_BIG_ENDIAN
205 select SYS_HAS_EARLY_PRINTK
206 select SWAP_IO_SPACE
207 select ARCH_REQUIRE_GPIOLIB
3e82eeeb 208 select HAVE_CLK
af2418be 209 select MIPS_L1_CACHE_SHIFT_4
e7300d04
MB
210 help
211 Support for BCM63XX based boards
212
1da177e4 213config MIPS_COBALT
3fa986fa 214 bool "Cobalt Server"
42f77542 215 select CEVT_R4K
940f6b48 216 select CSRC_R4K
1097c6ac 217 select CEVT_GT641XX
1da177e4
LT
218 select DMA_NONCOHERENT
219 select HW_HAS_PCI
d865bea4 220 select I8253
1da177e4 221 select I8259
67e38cf2 222 select IRQ_MIPS_CPU
d5ab1a69 223 select IRQ_GT641XX
252161ec 224 select PCI_GT64XXX_PCI0
e25bfc92 225 select PCI
7cf8053b 226 select SYS_HAS_CPU_NEVADA
0a22e0d4 227 select SYS_HAS_EARLY_PRINTK
ed5ba2fb 228 select SYS_SUPPORTS_32BIT_KERNEL
0e8774b6 229 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 230 select SYS_SUPPORTS_LITTLE_ENDIAN
e6086557 231 select USE_GENERIC_EARLY_PRINTK_8250
1da177e4
LT
232
233config MACH_DECSTATION
3fa986fa 234 bool "DECstations"
1da177e4 235 select BOOT_ELF32
6457d9fc 236 select CEVT_DS1287
81d10bad 237 select CEVT_R4K if CPU_R4X00
4247417d 238 select CSRC_IOASIC
81d10bad 239 select CSRC_R4K if CPU_R4X00
20d60d99
MR
240 select CPU_DADDI_WORKAROUNDS if 64BIT
241 select CPU_R4000_WORKAROUNDS if 64BIT
242 select CPU_R4400_WORKAROUNDS if 64BIT
1da177e4 243 select DMA_NONCOHERENT
ce816fa8 244 select NO_IOPORT_MAP
67e38cf2 245 select IRQ_MIPS_CPU
7cf8053b
RB
246 select SYS_HAS_CPU_R3000
247 select SYS_HAS_CPU_R4X00
ed5ba2fb 248 select SYS_SUPPORTS_32BIT_KERNEL
7d60717e 249 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 250 select SYS_SUPPORTS_LITTLE_ENDIAN
1723b4a3
AN
251 select SYS_SUPPORTS_128HZ
252 select SYS_SUPPORTS_256HZ
253 select SYS_SUPPORTS_1024HZ
930beb5a 254 select MIPS_L1_CACHE_SHIFT_4
5e83d430 255 help
1da177e4
LT
256 This enables support for DEC's MIPS based workstations. For details
257 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
258 DECstation porting pages on <http://decstation.unix-ag.org/>.
259
260 If you have one of the following DECstation Models you definitely
261 want to choose R4xx0 for the CPU Type:
262
9308816c
RB
263 DECstation 5000/50
264 DECstation 5000/150
265 DECstation 5000/260
266 DECsystem 5900/260
1da177e4
LT
267
268 otherwise choose R3000.
269
5e83d430 270config MACH_JAZZ
3fa986fa 271 bool "Jazz family of machines"
0e2794b0
RB
272 select FW_ARC
273 select FW_ARC32
5e83d430 274 select ARCH_MAY_HAVE_PC_FDC
42f77542 275 select CEVT_R4K
940f6b48 276 select CSRC_R4K
e2defae5 277 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
5e83d430 278 select GENERIC_ISA_DMA
8a118c38 279 select HAVE_PCSPKR_PLATFORM
67e38cf2 280 select IRQ_MIPS_CPU
d865bea4 281 select I8253
5e83d430
RB
282 select I8259
283 select ISA
7cf8053b 284 select SYS_HAS_CPU_R4X00
5e83d430 285 select SYS_SUPPORTS_32BIT_KERNEL
7d60717e 286 select SYS_SUPPORTS_64BIT_KERNEL
1723b4a3 287 select SYS_SUPPORTS_100HZ
1da177e4 288 help
5e83d430
RB
289 This a family of machines based on the MIPS R4030 chipset which was
290 used by several vendors to build RISC/os and Windows NT workstations.
692105b8 291 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
5e83d430
RB
292 Olivetti M700-10 workstations.
293
de361e8b
PB
294config MACH_INGENIC
295 bool "Ingenic SoC based machines"
5ebabe59
LPC
296 select SYS_SUPPORTS_32BIT_KERNEL
297 select SYS_SUPPORTS_LITTLE_ENDIAN
f9c9affc 298 select SYS_SUPPORTS_ZBOOT_UART16550
5ebabe59 299 select DMA_NONCOHERENT
67e38cf2 300 select IRQ_MIPS_CPU
5ebabe59 301 select ARCH_REQUIRE_GPIOLIB
ff1930c6 302 select COMMON_CLK
83bc7692 303 select GENERIC_IRQ_CHIP
ffb1843d
PB
304 select BUILTIN_DTB
305 select USE_OF
6ec127fb 306 select LIBFDT
5ebabe59 307
171bb2f1
JC
308config LANTIQ
309 bool "Lantiq based platforms"
310 select DMA_NONCOHERENT
67e38cf2 311 select IRQ_MIPS_CPU
171bb2f1
JC
312 select CEVT_R4K
313 select CSRC_R4K
314 select SYS_HAS_CPU_MIPS32_R1
315 select SYS_HAS_CPU_MIPS32_R2
316 select SYS_SUPPORTS_BIG_ENDIAN
317 select SYS_SUPPORTS_32BIT_KERNEL
377cb1b6 318 select SYS_SUPPORTS_MIPS16
171bb2f1
JC
319 select SYS_SUPPORTS_MULTITHREADING
320 select SYS_HAS_EARLY_PRINTK
321 select ARCH_REQUIRE_GPIOLIB
322 select SWAP_IO_SPACE
323 select BOOT_RAW
287e3f3f
JC
324 select HAVE_MACH_CLKDEV
325 select CLKDEV_LOOKUP
a0392222 326 select USE_OF
3f8c50c9
JC
327 select PINCTRL
328 select PINCTRL_LANTIQ
c530781c
JC
329 select ARCH_HAS_RESET_CONTROLLER
330 select RESET_CONTROLLER
171bb2f1 331
1f21d2bd
BM
332config LASAT
333 bool "LASAT Networks platforms"
42f77542 334 select CEVT_R4K
16f0bbbc 335 select CRC32
940f6b48 336 select CSRC_R4K
1f21d2bd
BM
337 select DMA_NONCOHERENT
338 select SYS_HAS_EARLY_PRINTK
339 select HW_HAS_PCI
67e38cf2 340 select IRQ_MIPS_CPU
1f21d2bd
BM
341 select PCI_GT64XXX_PCI0
342 select MIPS_NILE4
343 select R5000_CPU_SCACHE
344 select SYS_HAS_CPU_R5000
345 select SYS_SUPPORTS_32BIT_KERNEL
346 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
347 select SYS_SUPPORTS_LITTLE_ENDIAN
1f21d2bd 348
30ad29bb
HC
349config MACH_LOONGSON32
350 bool "Loongson-1 family of machines"
c7e8c668 351 select SYS_SUPPORTS_ZBOOT
ade299d8 352 help
30ad29bb 353 This enables support for the Loongson-1 family of machines.
85749d24 354
30ad29bb
HC
355 Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by
356 the Institute of Computing Technology (ICT), Chinese Academy of
357 Sciences (CAS).
ade299d8 358
30ad29bb
HC
359config MACH_LOONGSON64
360 bool "Loongson-2/3 family of machines"
ca585cf9
KC
361 select SYS_SUPPORTS_ZBOOT
362 help
30ad29bb 363 This enables the support of Loongson-2/3 family of machines.
ca585cf9 364
30ad29bb
HC
365 Loongson-2 is a family of single-core CPUs and Loongson-3 is a
366 family of multi-core CPUs. They are both 64-bit general-purpose
367 MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute
368 of Computing Technology (ICT), Chinese Academy of Sciences (CAS)
369 in the People's Republic of China. The chief architect is Professor
370 Weiwu Hu.
ca585cf9 371
6a438309
AB
372config MACH_PISTACHIO
373 bool "IMG Pistachio SoC based boards"
374 select ARCH_REQUIRE_GPIOLIB
375 select BOOT_ELF32
376 select BOOT_RAW
377 select CEVT_R4K
378 select CLKSRC_MIPS_GIC
379 select COMMON_CLK
380 select CSRC_R4K
381 select DMA_MAYBE_COHERENT
67e38cf2 382 select IRQ_MIPS_CPU
6a438309
AB
383 select LIBFDT
384 select MFD_SYSCON
385 select MIPS_CPU_SCACHE
386 select MIPS_GIC
387 select PINCTRL
388 select REGULATOR
389 select SYS_HAS_CPU_MIPS32_R2
390 select SYS_SUPPORTS_32BIT_KERNEL
391 select SYS_SUPPORTS_LITTLE_ENDIAN
392 select SYS_SUPPORTS_MIPS_CPS
393 select SYS_SUPPORTS_MULTITHREADING
394 select SYS_SUPPORTS_ZBOOT
018f62ee
EG
395 select SYS_HAS_EARLY_PRINTK
396 select USE_GENERIC_EARLY_PRINTK_8250
6a438309
AB
397 select USE_OF
398 help
399 This enables support for the IMG Pistachio SoC platform.
400
1da177e4 401config MIPS_MALTA
3fa986fa 402 bool "MIPS Malta board"
61ed242d 403 select ARCH_MAY_HAVE_PC_FDC
1da177e4 404 select BOOT_ELF32
fa71c960 405 select BOOT_RAW
42f77542 406 select CEVT_R4K
940f6b48 407 select CSRC_R4K
fa5635a2 408 select CLKSRC_MIPS_GIC
885014bc 409 select DMA_MAYBE_COHERENT
1da177e4 410 select GENERIC_ISA_DMA
8a118c38 411 select HAVE_PCSPKR_PLATFORM
67e38cf2 412 select IRQ_MIPS_CPU
8a19b8f1 413 select MIPS_GIC
1da177e4 414 select HW_HAS_PCI
d865bea4 415 select I8253
1da177e4 416 select I8259
5e83d430 417 select MIPS_BONITO64
9318c51a 418 select MIPS_CPU_SCACHE
a7ef1ead 419 select MIPS_L1_CACHE_SHIFT_6
252161ec 420 select PCI_GT64XXX_PCI0
5e83d430 421 select MIPS_MSC
1da177e4 422 select SWAP_IO_SPACE
7cf8053b
RB
423 select SYS_HAS_CPU_MIPS32_R1
424 select SYS_HAS_CPU_MIPS32_R2
bfc3c5a6 425 select SYS_HAS_CPU_MIPS32_R3_5
c5b36783 426 select SYS_HAS_CPU_MIPS32_R5
575509b6 427 select SYS_HAS_CPU_MIPS32_R6
7cf8053b 428 select SYS_HAS_CPU_MIPS64_R1
5d9fbed1 429 select SYS_HAS_CPU_MIPS64_R2
575509b6 430 select SYS_HAS_CPU_MIPS64_R6
7cf8053b
RB
431 select SYS_HAS_CPU_NEVADA
432 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
433 select SYS_SUPPORTS_32BIT_KERNEL
434 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 435 select SYS_SUPPORTS_BIG_ENDIAN
c5b36783 436 select SYS_SUPPORTS_HIGHMEM
5e83d430 437 select SYS_SUPPORTS_LITTLE_ENDIAN
424ebcdf 438 select SYS_SUPPORTS_MICROMIPS
0365070f 439 select SYS_SUPPORTS_MIPS_CMP
e56b6aa6 440 select SYS_SUPPORTS_MIPS_CPS
377cb1b6 441 select SYS_SUPPORTS_MIPS16
f41ae0b2 442 select SYS_SUPPORTS_MULTITHREADING
9693a853 443 select SYS_SUPPORTS_SMARTMIPS
1b93b3c3 444 select SYS_SUPPORTS_ZBOOT
abcc82b1 445 select ZONE_DMA32 if 64BIT
1da177e4 446 help
f638d197 447 This enables support for the MIPS Technologies Malta evaluation
1da177e4
LT
448 board.
449
ec47b274
SH
450config MIPS_SEAD3
451 bool "MIPS SEAD3 board"
452 select BOOT_ELF32
453 select BOOT_RAW
f262b5f2 454 select BUILTIN_DTB
ec47b274
SH
455 select CEVT_R4K
456 select CSRC_R4K
fa5635a2 457 select CLKSRC_MIPS_GIC
ec47b274
SH
458 select CPU_MIPSR2_IRQ_VI
459 select CPU_MIPSR2_IRQ_EI
460 select DMA_NONCOHERENT
67e38cf2 461 select IRQ_MIPS_CPU
8a19b8f1 462 select MIPS_GIC
44327236 463 select LIBFDT
ec47b274
SH
464 select MIPS_MSC
465 select SYS_HAS_CPU_MIPS32_R1
466 select SYS_HAS_CPU_MIPS32_R2
467 select SYS_HAS_CPU_MIPS64_R1
468 select SYS_HAS_EARLY_PRINTK
469 select SYS_SUPPORTS_32BIT_KERNEL
470 select SYS_SUPPORTS_64BIT_KERNEL
471 select SYS_SUPPORTS_BIG_ENDIAN
472 select SYS_SUPPORTS_LITTLE_ENDIAN
473 select SYS_SUPPORTS_SMARTMIPS
a6a4834c 474 select SYS_SUPPORTS_MICROMIPS
377cb1b6 475 select SYS_SUPPORTS_MIPS16
ec47b274
SH
476 select USB_EHCI_BIG_ENDIAN_DESC
477 select USB_EHCI_BIG_ENDIAN_MMIO
9b731009 478 select USE_OF
ec47b274
SH
479 help
480 This enables support for the MIPS Technologies SEAD3 evaluation
481 board.
482
a83860c2
RB
483config NEC_MARKEINS
484 bool "NEC EMMA2RH Mark-eins board"
485 select SOC_EMMA2RH
486 select HW_HAS_PCI
487 help
488 This enables support for the NEC Electronics Mark-eins boards.
ade299d8 489
5e83d430 490config MACH_VR41XX
74142d65 491 bool "NEC VR4100 series based machines"
42f77542 492 select CEVT_R4K
940f6b48 493 select CSRC_R4K
7cf8053b 494 select SYS_HAS_CPU_VR41XX
377cb1b6 495 select SYS_SUPPORTS_MIPS16
27fdd325 496 select ARCH_REQUIRE_GPIOLIB
5e83d430 497
edb6310a
DL
498config NXP_STB220
499 bool "NXP STB220 board"
500 select SOC_PNX833X
501 help
502 Support for NXP Semiconductors STB220 Development Board.
503
504config NXP_STB225
505 bool "NXP 225 board"
506 select SOC_PNX833X
507 select SOC_PNX8335
508 help
509 Support for NXP Semiconductors STB225 Development Board.
510
9267a30d
MSJ
511config PMC_MSP
512 bool "PMC-Sierra MSP chipsets"
39d30c13
A
513 select CEVT_R4K
514 select CSRC_R4K
9267a30d
MSJ
515 select DMA_NONCOHERENT
516 select SWAP_IO_SPACE
517 select NO_EXCEPT_FILL
518 select BOOT_RAW
519 select SYS_HAS_CPU_MIPS32_R1
520 select SYS_HAS_CPU_MIPS32_R2
521 select SYS_SUPPORTS_32BIT_KERNEL
522 select SYS_SUPPORTS_BIG_ENDIAN
377cb1b6 523 select SYS_SUPPORTS_MIPS16
67e38cf2 524 select IRQ_MIPS_CPU
9267a30d
MSJ
525 select SERIAL_8250
526 select SERIAL_8250_CONSOLE
9296d94d
FF
527 select USB_EHCI_BIG_ENDIAN_MMIO
528 select USB_EHCI_BIG_ENDIAN_DESC
9267a30d
MSJ
529 help
530 This adds support for the PMC-Sierra family of Multi-Service
531 Processor System-On-A-Chips. These parts include a number
532 of integrated peripherals, interfaces and DSPs in addition to
533 a variety of MIPS cores.
534
ae2b5bb6
JC
535config RALINK
536 bool "Ralink based machines"
537 select CEVT_R4K
538 select CSRC_R4K
539 select BOOT_RAW
540 select DMA_NONCOHERENT
67e38cf2 541 select IRQ_MIPS_CPU
ae2b5bb6
JC
542 select USE_OF
543 select SYS_HAS_CPU_MIPS32_R1
544 select SYS_HAS_CPU_MIPS32_R2
545 select SYS_SUPPORTS_32BIT_KERNEL
546 select SYS_SUPPORTS_LITTLE_ENDIAN
377cb1b6 547 select SYS_SUPPORTS_MIPS16
ae2b5bb6
JC
548 select SYS_HAS_EARLY_PRINTK
549 select HAVE_MACH_CLKDEV
550 select CLKDEV_LOOKUP
2a153f1c
JC
551 select ARCH_HAS_RESET_CONTROLLER
552 select RESET_CONTROLLER
ae2b5bb6 553
1da177e4 554config SGI_IP22
3fa986fa 555 bool "SGI IP22 (Indy/Indigo2)"
0e2794b0
RB
556 select FW_ARC
557 select FW_ARC32
1da177e4 558 select BOOT_ELF32
42f77542 559 select CEVT_R4K
940f6b48 560 select CSRC_R4K
e2defae5 561 select DEFAULT_SGI_PARTITION
1da177e4 562 select DMA_NONCOHERENT
5e83d430 563 select HW_HAS_EISA
d865bea4 564 select I8253
68de4803 565 select I8259
1da177e4 566 select IP22_CPU_SCACHE
67e38cf2 567 select IRQ_MIPS_CPU
aa414dff 568 select GENERIC_ISA_DMA_SUPPORT_BROKEN
e2defae5
TB
569 select SGI_HAS_I8042
570 select SGI_HAS_INDYDOG
36e5c21d 571 select SGI_HAS_HAL2
e2defae5
TB
572 select SGI_HAS_SEEQ
573 select SGI_HAS_WD93
574 select SGI_HAS_ZILOG
1da177e4 575 select SWAP_IO_SPACE
7cf8053b
RB
576 select SYS_HAS_CPU_R4X00
577 select SYS_HAS_CPU_R5000
2b5e63f6
MM
578 #
579 # Disable EARLY_PRINTK for now since it leads to overwritten prom
580 # memory during early boot on some machines.
581 #
582 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
583 # for a more details discussion
584 #
585 # select SYS_HAS_EARLY_PRINTK
ed5ba2fb
YY
586 select SYS_SUPPORTS_32BIT_KERNEL
587 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 588 select SYS_SUPPORTS_BIG_ENDIAN
930beb5a 589 select MIPS_L1_CACHE_SHIFT_7
1da177e4
LT
590 help
591 This are the SGI Indy, Challenge S and Indigo2, as well as certain
592 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
593 that runs on these, say Y here.
594
595config SGI_IP27
3fa986fa 596 bool "SGI IP27 (Origin200/2000)"
0e2794b0
RB
597 select FW_ARC
598 select FW_ARC64
5e83d430 599 select BOOT_ELF64
e2defae5 600 select DEFAULT_SGI_PARTITION
634286f1 601 select DMA_COHERENT
36a88530 602 select SYS_HAS_EARLY_PRINTK
1da177e4 603 select HW_HAS_PCI
130e2fb7 604 select NR_CPUS_DEFAULT_64
7cf8053b 605 select SYS_HAS_CPU_R10000
ed5ba2fb 606 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 607 select SYS_SUPPORTS_BIG_ENDIAN
d8cb4e11 608 select SYS_SUPPORTS_NUMA
1a5c5de1 609 select SYS_SUPPORTS_SMP
930beb5a 610 select MIPS_L1_CACHE_SHIFT_7
1da177e4
LT
611 help
612 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
613 workstations. To compile a Linux kernel that runs on these, say Y
614 here.
615
e2defae5 616config SGI_IP28
7d60717e 617 bool "SGI IP28 (Indigo2 R10k)"
0e2794b0
RB
618 select FW_ARC
619 select FW_ARC64
e2defae5
TB
620 select BOOT_ELF64
621 select CEVT_R4K
622 select CSRC_R4K
623 select DEFAULT_SGI_PARTITION
624 select DMA_NONCOHERENT
625 select GENERIC_ISA_DMA_SUPPORT_BROKEN
67e38cf2 626 select IRQ_MIPS_CPU
e2defae5
TB
627 select HW_HAS_EISA
628 select I8253
629 select I8259
e2defae5
TB
630 select SGI_HAS_I8042
631 select SGI_HAS_INDYDOG
5b438c44 632 select SGI_HAS_HAL2
e2defae5
TB
633 select SGI_HAS_SEEQ
634 select SGI_HAS_WD93
635 select SGI_HAS_ZILOG
636 select SWAP_IO_SPACE
637 select SYS_HAS_CPU_R10000
2b5e63f6
MM
638 #
639 # Disable EARLY_PRINTK for now since it leads to overwritten prom
640 # memory during early boot on some machines.
641 #
642 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
643 # for a more details discussion
644 #
645 # select SYS_HAS_EARLY_PRINTK
e2defae5
TB
646 select SYS_SUPPORTS_64BIT_KERNEL
647 select SYS_SUPPORTS_BIG_ENDIAN
dc24d68d 648 select MIPS_L1_CACHE_SHIFT_7
e2defae5
TB
649 help
650 This is the SGI Indigo2 with R10000 processor. To compile a Linux
651 kernel that runs on these, say Y here.
652
1da177e4 653config SGI_IP32
cfd2afc0 654 bool "SGI IP32 (O2)"
0e2794b0
RB
655 select FW_ARC
656 select FW_ARC32
1da177e4 657 select BOOT_ELF32
42f77542 658 select CEVT_R4K
940f6b48 659 select CSRC_R4K
1da177e4
LT
660 select DMA_NONCOHERENT
661 select HW_HAS_PCI
67e38cf2 662 select IRQ_MIPS_CPU
1da177e4
LT
663 select R5000_CPU_SCACHE
664 select RM7000_CPU_SCACHE
7cf8053b
RB
665 select SYS_HAS_CPU_R5000
666 select SYS_HAS_CPU_R10000 if BROKEN
667 select SYS_HAS_CPU_RM7000
dd2f18fe 668 select SYS_HAS_CPU_NEVADA
ed5ba2fb 669 select SYS_SUPPORTS_64BIT_KERNEL
23fbee9d 670 select SYS_SUPPORTS_BIG_ENDIAN
23fbee9d 671 help
5e83d430 672 If you want this kernel to run on SGI O2 workstation, say Y here.
1da177e4 673
ade299d8
YY
674config SIBYTE_CRHINE
675 bool "Sibyte BCM91120C-CRhine"
9a6dcea1
AI
676 select BOOT_ELF32
677 select DMA_COHERENT
ade299d8 678 select SIBYTE_BCM1120
9a6dcea1 679 select SWAP_IO_SPACE
7cf8053b 680 select SYS_HAS_CPU_SB1
9a6dcea1
AI
681 select SYS_SUPPORTS_BIG_ENDIAN
682 select SYS_SUPPORTS_LITTLE_ENDIAN
683
ade299d8
YY
684config SIBYTE_CARMEL
685 bool "Sibyte BCM91120x-Carmel"
5e83d430 686 select BOOT_ELF32
1da177e4 687 select DMA_COHERENT
ade299d8 688 select SIBYTE_BCM1120
5e83d430 689 select SWAP_IO_SPACE
7cf8053b 690 select SYS_HAS_CPU_SB1
81731f79 691 select SYS_SUPPORTS_BIG_ENDIAN
5e83d430 692 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 693
ade299d8
YY
694config SIBYTE_CRHONE
695 bool "Sibyte BCM91125C-CRhone"
5e83d430
RB
696 select BOOT_ELF32
697 select DMA_COHERENT
ade299d8 698 select SIBYTE_BCM1125
5e83d430 699 select SWAP_IO_SPACE
7cf8053b 700 select SYS_HAS_CPU_SB1
5e83d430 701 select SYS_SUPPORTS_BIG_ENDIAN
ade299d8 702 select SYS_SUPPORTS_HIGHMEM
5e83d430 703 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 704
5e83d430 705config SIBYTE_RHONE
3fa986fa 706 bool "Sibyte BCM91125E-Rhone"
5e83d430
RB
707 select BOOT_ELF32
708 select DMA_COHERENT
709 select SIBYTE_BCM1125H
710 select SWAP_IO_SPACE
7cf8053b 711 select SYS_HAS_CPU_SB1
5e83d430
RB
712 select SYS_SUPPORTS_BIG_ENDIAN
713 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 714
ade299d8
YY
715config SIBYTE_SWARM
716 bool "Sibyte BCM91250A-SWARM"
5e83d430 717 select BOOT_ELF32
26a940e2 718 select DMA_COHERENT
fcf3ca4c 719 select HAVE_PATA_PLATFORM
ade299d8 720 select SIBYTE_SB1250
5e83d430 721 select SWAP_IO_SPACE
7cf8053b 722 select SYS_HAS_CPU_SB1
5e83d430 723 select SYS_SUPPORTS_BIG_ENDIAN
ade299d8 724 select SYS_SUPPORTS_HIGHMEM
e3ad1c23 725 select SYS_SUPPORTS_LITTLE_ENDIAN
cce335ae 726 select ZONE_DMA32 if 64BIT
e3ad1c23 727
ade299d8
YY
728config SIBYTE_LITTLESUR
729 bool "Sibyte BCM91250C2-LittleSur"
5e83d430
RB
730 select BOOT_ELF32
731 select DMA_COHERENT
fcf3ca4c 732 select HAVE_PATA_PLATFORM
5e83d430
RB
733 select SIBYTE_SB1250
734 select SWAP_IO_SPACE
7cf8053b 735 select SYS_HAS_CPU_SB1
5e83d430
RB
736 select SYS_SUPPORTS_BIG_ENDIAN
737 select SYS_SUPPORTS_HIGHMEM
738 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 739
ade299d8
YY
740config SIBYTE_SENTOSA
741 bool "Sibyte BCM91250E-Sentosa"
5e83d430
RB
742 select BOOT_ELF32
743 select DMA_COHERENT
744 select SIBYTE_SB1250
745 select SWAP_IO_SPACE
7cf8053b 746 select SYS_HAS_CPU_SB1
5e83d430 747 select SYS_SUPPORTS_BIG_ENDIAN
5e83d430 748 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 749
ade299d8
YY
750config SIBYTE_BIGSUR
751 bool "Sibyte BCM91480B-BigSur"
5e83d430
RB
752 select BOOT_ELF32
753 select DMA_COHERENT
ade299d8 754 select NR_CPUS_DEFAULT_4
ade299d8 755 select SIBYTE_BCM1x80
5e83d430 756 select SWAP_IO_SPACE
7cf8053b 757 select SYS_HAS_CPU_SB1
5e83d430 758 select SYS_SUPPORTS_BIG_ENDIAN
651194f8 759 select SYS_SUPPORTS_HIGHMEM
5e83d430 760 select SYS_SUPPORTS_LITTLE_ENDIAN
cce335ae 761 select ZONE_DMA32 if 64BIT
1da177e4 762
14b36af4
TB
763config SNI_RM
764 bool "SNI RM200/300/400"
0e2794b0
RB
765 select FW_ARC if CPU_LITTLE_ENDIAN
766 select FW_ARC32 if CPU_LITTLE_ENDIAN
aaa9fad3 767 select FW_SNIPROM if CPU_BIG_ENDIAN
61ed242d 768 select ARCH_MAY_HAVE_PC_FDC
1da177e4 769 select BOOT_ELF32
42f77542 770 select CEVT_R4K
940f6b48 771 select CSRC_R4K
e2defae5 772 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
1da177e4
LT
773 select DMA_NONCOHERENT
774 select GENERIC_ISA_DMA
8a118c38 775 select HAVE_PCSPKR_PLATFORM
5e83d430 776 select HW_HAS_EISA
1da177e4 777 select HW_HAS_PCI
67e38cf2 778 select IRQ_MIPS_CPU
d865bea4 779 select I8253
1da177e4
LT
780 select I8259
781 select ISA
4a0312fc 782 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
7cf8053b 783 select SYS_HAS_CPU_R4X00
4a0312fc 784 select SYS_HAS_CPU_R5000
c066a32a 785 select SYS_HAS_CPU_R10000
4a0312fc 786 select R5000_CPU_SCACHE
36a88530 787 select SYS_HAS_EARLY_PRINTK
ed5ba2fb 788 select SYS_SUPPORTS_32BIT_KERNEL
7d60717e 789 select SYS_SUPPORTS_64BIT_KERNEL
4a0312fc 790 select SYS_SUPPORTS_BIG_ENDIAN
797798c1 791 select SYS_SUPPORTS_HIGHMEM
5e83d430 792 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 793 help
14b36af4
TB
794 The SNI RM200/300/400 are MIPS-based machines manufactured by
795 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
1da177e4
LT
796 Technology and now in turn merged with Fujitsu. Say Y here to
797 support this machine type.
798
edcaf1a6
AN
799config MACH_TX39XX
800 bool "Toshiba TX39 series based machines"
5e83d430 801
edcaf1a6
AN
802config MACH_TX49XX
803 bool "Toshiba TX49 series based machines"
5e83d430 804
73b4390f
RB
805config MIKROTIK_RB532
806 bool "Mikrotik RB532 boards"
807 select CEVT_R4K
808 select CSRC_R4K
809 select DMA_NONCOHERENT
73b4390f 810 select HW_HAS_PCI
67e38cf2 811 select IRQ_MIPS_CPU
73b4390f
RB
812 select SYS_HAS_CPU_MIPS32_R1
813 select SYS_SUPPORTS_32BIT_KERNEL
814 select SYS_SUPPORTS_LITTLE_ENDIAN
815 select SWAP_IO_SPACE
816 select BOOT_RAW
d888e25b 817 select ARCH_REQUIRE_GPIOLIB
930beb5a 818 select MIPS_L1_CACHE_SHIFT_4
73b4390f
RB
819 help
820 Support the Mikrotik(tm) RouterBoard 532 series,
821 based on the IDT RC32434 SoC.
822
9ddebc46
DD
823config CAVIUM_OCTEON_SOC
824 bool "Cavium Networks Octeon SoC based boards"
a86c7f72 825 select CEVT_R4K
34adb28d 826 select ARCH_PHYS_ADDR_T_64BIT
a86c7f72
DD
827 select DMA_COHERENT
828 select SYS_SUPPORTS_64BIT_KERNEL
829 select SYS_SUPPORTS_BIG_ENDIAN
f65aad41 830 select EDAC_SUPPORT
73569d87
DD
831 select SYS_SUPPORTS_LITTLE_ENDIAN
832 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
a86c7f72 833 select SYS_HAS_EARLY_PRINTK
5e683389 834 select SYS_HAS_CPU_CAVIUM_OCTEON
a86c7f72 835 select SWAP_IO_SPACE
e8635b48 836 select HW_HAS_PCI
f00e001e 837 select ZONE_DMA32
465aaed0 838 select HOLES_IN_ZONE
99cab4bb 839 select ARCH_REQUIRE_GPIOLIB
6e511163
DD
840 select LIBFDT
841 select USE_OF
842 select ARCH_SPARSEMEM_ENABLE
843 select SYS_SUPPORTS_SMP
844 select NR_CPUS_DEFAULT_16
e326479f 845 select BUILTIN_DTB
8c1e6b14 846 select MTD_COMPLEX_MAPPINGS
a86c7f72
DD
847 help
848 This option supports all of the Octeon reference boards from Cavium
849 Networks. It builds a kernel that dynamically determines the Octeon
850 CPU type and supports all known board reference implementations.
851 Some of the supported boards are:
852 EBT3000
853 EBH3000
854 EBH3100
855 Thunder
856 Kodama
857 Hikari
858 Say Y here for most Octeon reference boards.
859
7f058e85
J
860config NLM_XLR_BOARD
861 bool "Netlogic XLR/XLS based systems"
7f058e85
J
862 select BOOT_ELF32
863 select NLM_COMMON
7f058e85
J
864 select SYS_HAS_CPU_XLR
865 select SYS_SUPPORTS_SMP
866 select HW_HAS_PCI
867 select SWAP_IO_SPACE
868 select SYS_SUPPORTS_32BIT_KERNEL
869 select SYS_SUPPORTS_64BIT_KERNEL
34adb28d 870 select ARCH_PHYS_ADDR_T_64BIT
7f058e85
J
871 select SYS_SUPPORTS_BIG_ENDIAN
872 select SYS_SUPPORTS_HIGHMEM
873 select DMA_COHERENT
874 select NR_CPUS_DEFAULT_32
875 select CEVT_R4K
876 select CSRC_R4K
67e38cf2 877 select IRQ_MIPS_CPU
b97215fd 878 select ZONE_DMA32 if 64BIT
7f058e85
J
879 select SYNC_R4K
880 select SYS_HAS_EARLY_PRINTK
8f0b0430
J
881 select SYS_SUPPORTS_ZBOOT
882 select SYS_SUPPORTS_ZBOOT_UART16550
7f058e85
J
883 help
884 Support for systems based on Netlogic XLR and XLS processors.
885 Say Y here if you have a XLR or XLS based board.
886
1c773ea4
J
887config NLM_XLP_BOARD
888 bool "Netlogic XLP based systems"
1c773ea4
J
889 select BOOT_ELF32
890 select NLM_COMMON
891 select SYS_HAS_CPU_XLP
892 select SYS_SUPPORTS_SMP
893 select HW_HAS_PCI
1c773ea4
J
894 select SYS_SUPPORTS_32BIT_KERNEL
895 select SYS_SUPPORTS_64BIT_KERNEL
34adb28d 896 select ARCH_PHYS_ADDR_T_64BIT
1c773ea4
J
897 select SYS_SUPPORTS_BIG_ENDIAN
898 select SYS_SUPPORTS_LITTLE_ENDIAN
899 select SYS_SUPPORTS_HIGHMEM
900 select DMA_COHERENT
901 select NR_CPUS_DEFAULT_32
902 select CEVT_R4K
903 select CSRC_R4K
67e38cf2 904 select IRQ_MIPS_CPU
b97215fd 905 select ZONE_DMA32 if 64BIT
1c773ea4
J
906 select SYNC_R4K
907 select SYS_HAS_EARLY_PRINTK
2f6528e1 908 select USE_OF
8f0b0430
J
909 select SYS_SUPPORTS_ZBOOT
910 select SYS_SUPPORTS_ZBOOT_UART16550
1c773ea4
J
911 help
912 This board is based on Netlogic XLP Processor.
913 Say Y here if you have a XLP based board.
914
9bc463be
DD
915config MIPS_PARAVIRT
916 bool "Para-Virtualized guest system"
917 select CEVT_R4K
918 select CSRC_R4K
919 select DMA_COHERENT
920 select SYS_SUPPORTS_64BIT_KERNEL
921 select SYS_SUPPORTS_32BIT_KERNEL
922 select SYS_SUPPORTS_BIG_ENDIAN
923 select SYS_SUPPORTS_SMP
924 select NR_CPUS_DEFAULT_4
925 select SYS_HAS_EARLY_PRINTK
926 select SYS_HAS_CPU_MIPS32_R2
927 select SYS_HAS_CPU_MIPS64_R2
928 select SYS_HAS_CPU_CAVIUM_OCTEON
929 select HW_HAS_PCI
930 select SWAP_IO_SPACE
931 help
932 This option supports guest running under ????
933
5e83d430 934endchoice
1da177e4 935
e8c7c482 936source "arch/mips/alchemy/Kconfig"
3b12308f 937source "arch/mips/ath25/Kconfig"
d4a67d9d 938source "arch/mips/ath79/Kconfig"
a656ffcb 939source "arch/mips/bcm47xx/Kconfig"
e7300d04 940source "arch/mips/bcm63xx/Kconfig"
8945e37e 941source "arch/mips/bmips/Kconfig"
5e83d430 942source "arch/mips/jazz/Kconfig"
5ebabe59 943source "arch/mips/jz4740/Kconfig"
8ec6d935 944source "arch/mips/lantiq/Kconfig"
1f21d2bd 945source "arch/mips/lasat/Kconfig"
0f3a05cb 946source "arch/mips/pmcs-msp71xx/Kconfig"
ae2b5bb6 947source "arch/mips/ralink/Kconfig"
29c48699 948source "arch/mips/sgi-ip27/Kconfig"
38b18f72 949source "arch/mips/sibyte/Kconfig"
22b1d707 950source "arch/mips/txx9/Kconfig"
5e83d430 951source "arch/mips/vr41xx/Kconfig"
a86c7f72 952source "arch/mips/cavium-octeon/Kconfig"
30ad29bb
HC
953source "arch/mips/loongson32/Kconfig"
954source "arch/mips/loongson64/Kconfig"
7f058e85 955source "arch/mips/netlogic/Kconfig"
ae6e7e63 956source "arch/mips/paravirt/Kconfig"
38b18f72 957
5e83d430
RB
958endmenu
959
1da177e4
LT
960config RWSEM_GENERIC_SPINLOCK
961 bool
962 default y
963
964config RWSEM_XCHGADD_ALGORITHM
965 bool
966
f0d1b0b3
DH
967config ARCH_HAS_ILOG2_U32
968 bool
969 default n
970
971config ARCH_HAS_ILOG2_U64
972 bool
973 default n
974
3c9ee7ef
AM
975config GENERIC_HWEIGHT
976 bool
977 default y
978
1da177e4
LT
979config GENERIC_CALIBRATE_DELAY
980 bool
981 default y
982
ae1e9130 983config SCHED_OMIT_FRAME_POINTER
1cc89038
AN
984 bool
985 default y
986
1da177e4
LT
987#
988# Select some configuration options automatically based on user selections.
989#
0e2794b0 990config FW_ARC
1da177e4 991 bool
1da177e4 992
61ed242d
RB
993config ARCH_MAY_HAVE_PC_FDC
994 bool
995
9267a30d
MSJ
996config BOOT_RAW
997 bool
998
217dd11e
RB
999config CEVT_BCM1480
1000 bool
1001
6457d9fc
YY
1002config CEVT_DS1287
1003 bool
1004
1097c6ac
YY
1005config CEVT_GT641XX
1006 bool
1007
42f77542
RB
1008config CEVT_R4K
1009 bool
1010
217dd11e
RB
1011config CEVT_SB1250
1012 bool
1013
229f773e
AN
1014config CEVT_TXX9
1015 bool
1016
217dd11e
RB
1017config CSRC_BCM1480
1018 bool
1019
4247417d
YY
1020config CSRC_IOASIC
1021 bool
1022
940f6b48
RB
1023config CSRC_R4K
1024 bool
1025
217dd11e
RB
1026config CSRC_SB1250
1027 bool
1028
a9aec7fe 1029config GPIO_TXX9
7444a72e 1030 select ARCH_REQUIRE_GPIOLIB
a9aec7fe
AN
1031 bool
1032
0e2794b0 1033config FW_CFE
df78b5c8
AJ
1034 bool
1035
4bafad92 1036config ARCH_DMA_ADDR_T_64BIT
34adb28d 1037 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
4bafad92 1038
885014bc
FF
1039config DMA_MAYBE_COHERENT
1040 select DMA_NONCOHERENT
1041 bool
1042
4ce588cd 1043config DMA_COHERENT
1da177e4
LT
1044 bool
1045
4ce588cd
RB
1046config DMA_NONCOHERENT
1047 bool
e1e02b32 1048 select NEED_DMA_MAP_STATE
4ce588cd 1049
e1e02b32 1050config NEED_DMA_MAP_STATE
1da177e4
LT
1051 bool
1052
36a88530 1053config SYS_HAS_EARLY_PRINTK
1da177e4 1054 bool
1da177e4 1055
dbb74540 1056config HOTPLUG_CPU
1b2bc75c 1057 bool "Support for hot-pluggable CPUs"
40b31360 1058 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
1b2bc75c
RB
1059 help
1060 Say Y here to allow turning CPUs off and on. CPUs can be
1061 controlled through /sys/devices/system/cpu.
1062 (Note: power management support will enable this option
1063 automatically on SMP systems. )
1064 Say N if you want to disable CPU hotplug.
1065
1066config SYS_SUPPORTS_HOTPLUG_CPU
dbb74540 1067 bool
dbb74540 1068
1da177e4
LT
1069config I8259
1070 bool
079a4601 1071 select IRQ_DOMAIN
1da177e4 1072
1da177e4
LT
1073config MIPS_BONITO64
1074 bool
1da177e4
LT
1075
1076config MIPS_MSC
1077 bool
1da177e4 1078
1f21d2bd
BM
1079config MIPS_NILE4
1080 bool
1081
39b8d525
RB
1082config SYNC_R4K
1083 bool
1084
487d70d0
GJ
1085config MIPS_MACHINE
1086 def_bool n
1087
ce816fa8 1088config NO_IOPORT_MAP
d388d685
MR
1089 def_bool n
1090
4e0748f5
MC
1091config GENERIC_CSUM
1092 bool
1093
8313da30
RB
1094config GENERIC_ISA_DMA
1095 bool
1096 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
a35bee8a 1097 select ISA_DMA_API
8313da30 1098
aa414dff
RB
1099config GENERIC_ISA_DMA_SUPPORT_BROKEN
1100 bool
8313da30 1101 select GENERIC_ISA_DMA
aa414dff 1102
a35bee8a
NK
1103config ISA_DMA_API
1104 bool
1105
465aaed0
DD
1106config HOLES_IN_ZONE
1107 bool
1108
5e83d430 1109#
6b2aac42 1110# Endianness selection. Sufficiently obscure so many users don't know what to
5e83d430
RB
1111# answer,so we try hard to limit the available choices. Also the use of a
1112# choice statement should be more obvious to the user.
1113#
1114choice
6b2aac42 1115 prompt "Endianness selection"
1da177e4
LT
1116 help
1117 Some MIPS machines can be configured for either little or big endian
5e83d430 1118 byte order. These modes require different kernels and a different
3cb2fccc 1119 Linux distribution. In general there is one preferred byteorder for a
5e83d430 1120 particular system but some systems are just as commonly used in the
3dde6ad8 1121 one or the other endianness.
5e83d430
RB
1122
1123config CPU_BIG_ENDIAN
1124 bool "Big endian"
1125 depends on SYS_SUPPORTS_BIG_ENDIAN
1126
1127config CPU_LITTLE_ENDIAN
1128 bool "Little endian"
1129 depends on SYS_SUPPORTS_LITTLE_ENDIAN
5e83d430
RB
1130
1131endchoice
1132
22b0763a
DD
1133config EXPORT_UASM
1134 bool
1135
2116245e
RB
1136config SYS_SUPPORTS_APM_EMULATION
1137 bool
1138
5e83d430
RB
1139config SYS_SUPPORTS_BIG_ENDIAN
1140 bool
1141
1142config SYS_SUPPORTS_LITTLE_ENDIAN
1143 bool
1da177e4 1144
9cffd154
DD
1145config SYS_SUPPORTS_HUGETLBFS
1146 bool
1147 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1148 default y
1149
aa1762f4
DD
1150config MIPS_HUGE_TLB_SUPPORT
1151 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1152
1da177e4
LT
1153config IRQ_CPU_RM7K
1154 bool
1155
9267a30d
MSJ
1156config IRQ_MSP_SLP
1157 bool
1158
1159config IRQ_MSP_CIC
1160 bool
1161
8420fd00
AN
1162config IRQ_TXX9
1163 bool
1164
d5ab1a69
YY
1165config IRQ_GT641XX
1166 bool
1167
252161ec 1168config PCI_GT64XXX_PCI0
1da177e4 1169 bool
1da177e4 1170
9267a30d
MSJ
1171config NO_EXCEPT_FILL
1172 bool
1173
a83860c2
RB
1174config SOC_EMMA2RH
1175 bool
1176 select CEVT_R4K
1177 select CSRC_R4K
1178 select DMA_NONCOHERENT
67e38cf2 1179 select IRQ_MIPS_CPU
a83860c2
RB
1180 select SWAP_IO_SPACE
1181 select SYS_HAS_CPU_R5500
1182 select SYS_SUPPORTS_32BIT_KERNEL
1183 select SYS_SUPPORTS_64BIT_KERNEL
1184 select SYS_SUPPORTS_BIG_ENDIAN
1185
edb6310a
DL
1186config SOC_PNX833X
1187 bool
1188 select CEVT_R4K
1189 select CSRC_R4K
67e38cf2 1190 select IRQ_MIPS_CPU
edb6310a
DL
1191 select DMA_NONCOHERENT
1192 select SYS_HAS_CPU_MIPS32_R2
1193 select SYS_SUPPORTS_32BIT_KERNEL
1194 select SYS_SUPPORTS_LITTLE_ENDIAN
1195 select SYS_SUPPORTS_BIG_ENDIAN
377cb1b6 1196 select SYS_SUPPORTS_MIPS16
edb6310a
DL
1197 select CPU_MIPSR2_IRQ_VI
1198
1199config SOC_PNX8335
1200 bool
1201 select SOC_PNX833X
1202
a7e07b1a
MC
1203config MIPS_SPRAM
1204 bool
1205
1da177e4
LT
1206config SWAP_IO_SPACE
1207 bool
1208
e2defae5
TB
1209config SGI_HAS_INDYDOG
1210 bool
1211
5b438c44
TB
1212config SGI_HAS_HAL2
1213 bool
1214
e2defae5
TB
1215config SGI_HAS_SEEQ
1216 bool
1217
1218config SGI_HAS_WD93
1219 bool
1220
1221config SGI_HAS_ZILOG
1222 bool
1223
1224config SGI_HAS_I8042
1225 bool
1226
1227config DEFAULT_SGI_PARTITION
1228 bool
1229
0e2794b0 1230config FW_ARC32
5e83d430
RB
1231 bool
1232
aaa9fad3 1233config FW_SNIPROM
231a35d3
TB
1234 bool
1235
1da177e4
LT
1236config BOOT_ELF32
1237 bool
1da177e4 1238
930beb5a
FF
1239config MIPS_L1_CACHE_SHIFT_4
1240 bool
1241
1242config MIPS_L1_CACHE_SHIFT_5
1243 bool
1244
1245config MIPS_L1_CACHE_SHIFT_6
1246 bool
1247
1248config MIPS_L1_CACHE_SHIFT_7
1249 bool
1250
1da177e4
LT
1251config MIPS_L1_CACHE_SHIFT
1252 int
a4c0201e 1253 default "7" if MIPS_L1_CACHE_SHIFT_7
5432eeb6
KC
1254 default "6" if MIPS_L1_CACHE_SHIFT_6
1255 default "5" if MIPS_L1_CACHE_SHIFT_5
1256 default "4" if MIPS_L1_CACHE_SHIFT_4
1da177e4
LT
1257 default "5"
1258
1da177e4
LT
1259config HAVE_STD_PC_SERIAL_PORT
1260 bool
1261
1da177e4
LT
1262config ARC_CONSOLE
1263 bool "ARC console support"
e2defae5 1264 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1da177e4
LT
1265
1266config ARC_MEMORY
1267 bool
14b36af4 1268 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1da177e4
LT
1269 default y
1270
1271config ARC_PROMLIB
1272 bool
e2defae5 1273 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1da177e4
LT
1274 default y
1275
0e2794b0 1276config FW_ARC64
1da177e4 1277 bool
1da177e4
LT
1278
1279config BOOT_ELF64
1280 bool
1da177e4 1281
1da177e4
LT
1282menu "CPU selection"
1283
1284choice
1285 prompt "CPU type"
1286 default CPU_R4X00
1287
0e476d91
HC
1288config CPU_LOONGSON3
1289 bool "Loongson 3 CPU"
1290 depends on SYS_HAS_CPU_LOONGSON3
1291 select CPU_SUPPORTS_64BIT_KERNEL
1292 select CPU_SUPPORTS_HIGHMEM
1293 select CPU_SUPPORTS_HUGEPAGES
1294 select WEAK_ORDERING
1295 select WEAK_REORDERING_BEYOND_LLSC
cbfb3ea7 1296 select ARCH_REQUIRE_GPIOLIB
0e476d91
HC
1297 help
1298 The Loongson 3 processor implements the MIPS64R2 instruction
1299 set with many extensions.
1300
3702bba5
WZ
1301config CPU_LOONGSON2E
1302 bool "Loongson 2E"
1303 depends on SYS_HAS_CPU_LOONGSON2E
1304 select CPU_LOONGSON2
2a21c730
FZ
1305 help
1306 The Loongson 2E processor implements the MIPS III instruction set
1307 with many extensions.
1308
25985edc 1309 It has an internal FPGA northbridge, which is compatible to
6f7a251a
WZ
1310 bonito64.
1311
1312config CPU_LOONGSON2F
1313 bool "Loongson 2F"
1314 depends on SYS_HAS_CPU_LOONGSON2F
1315 select CPU_LOONGSON2
c197da91 1316 select ARCH_REQUIRE_GPIOLIB
6f7a251a
WZ
1317 help
1318 The Loongson 2F processor implements the MIPS III instruction set
1319 with many extensions.
1320
1321 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1322 have a similar programming interface with FPGA northbridge used in
1323 Loongson2E.
1324
ca585cf9
KC
1325config CPU_LOONGSON1B
1326 bool "Loongson 1B"
1327 depends on SYS_HAS_CPU_LOONGSON1B
1328 select CPU_LOONGSON1
1329 help
1330 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1331 release 2 instruction set.
1332
6e760c8d
RB
1333config CPU_MIPS32_R1
1334 bool "MIPS32 Release 1"
7cf8053b 1335 depends on SYS_HAS_CPU_MIPS32_R1
6e760c8d 1336 select CPU_HAS_PREFETCH
797798c1 1337 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1338 select CPU_SUPPORTS_HIGHMEM
1e5f1caa 1339 help
5e83d430 1340 Choose this option to build a kernel for release 1 or later of the
1e5f1caa
RB
1341 MIPS32 architecture. Most modern embedded systems with a 32-bit
1342 MIPS processor are based on a MIPS32 processor. If you know the
1343 specific type of processor in your system, choose those that one
1344 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1345 Release 2 of the MIPS32 architecture is available since several
1346 years so chances are you even have a MIPS32 Release 2 processor
1347 in which case you should choose CPU_MIPS32_R2 instead for better
1348 performance.
1349
1350config CPU_MIPS32_R2
1351 bool "MIPS32 Release 2"
7cf8053b 1352 depends on SYS_HAS_CPU_MIPS32_R2
1e5f1caa 1353 select CPU_HAS_PREFETCH
797798c1 1354 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1355 select CPU_SUPPORTS_HIGHMEM
a5e9a69e 1356 select CPU_SUPPORTS_MSA
2235a54d 1357 select HAVE_KVM
6e760c8d 1358 help
5e83d430 1359 Choose this option to build a kernel for release 2 or later of the
6e760c8d
RB
1360 MIPS32 architecture. Most modern embedded systems with a 32-bit
1361 MIPS processor are based on a MIPS32 processor. If you know the
1362 specific type of processor in your system, choose those that one
1363 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1364
7fd08ca5
LY
1365config CPU_MIPS32_R6
1366 bool "MIPS32 Release 6 (EXPERIMENTAL)"
1367 depends on SYS_HAS_CPU_MIPS32_R6
1368 select CPU_HAS_PREFETCH
1369 select CPU_SUPPORTS_32BIT_KERNEL
1370 select CPU_SUPPORTS_HIGHMEM
1371 select CPU_SUPPORTS_MSA
4e0748f5 1372 select GENERIC_CSUM
7fd08ca5
LY
1373 select HAVE_KVM
1374 select MIPS_O32_FP64_SUPPORT
1375 help
1376 Choose this option to build a kernel for release 6 or later of the
1377 MIPS32 architecture. New MIPS processors, starting with the Warrior
1378 family, are based on a MIPS32r6 processor. If you own an older
1379 processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
1380
6e760c8d
RB
1381config CPU_MIPS64_R1
1382 bool "MIPS64 Release 1"
7cf8053b 1383 depends on SYS_HAS_CPU_MIPS64_R1
797798c1 1384 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1385 select CPU_SUPPORTS_32BIT_KERNEL
1386 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1387 select CPU_SUPPORTS_HIGHMEM
9cffd154 1388 select CPU_SUPPORTS_HUGEPAGES
6e760c8d
RB
1389 help
1390 Choose this option to build a kernel for release 1 or later of the
1391 MIPS64 architecture. Many modern embedded systems with a 64-bit
1392 MIPS processor are based on a MIPS64 processor. If you know the
1393 specific type of processor in your system, choose those that one
1394 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1395 Release 2 of the MIPS64 architecture is available since several
1396 years so chances are you even have a MIPS64 Release 2 processor
1397 in which case you should choose CPU_MIPS64_R2 instead for better
1398 performance.
1399
1400config CPU_MIPS64_R2
1401 bool "MIPS64 Release 2"
7cf8053b 1402 depends on SYS_HAS_CPU_MIPS64_R2
797798c1 1403 select CPU_HAS_PREFETCH
1e5f1caa
RB
1404 select CPU_SUPPORTS_32BIT_KERNEL
1405 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1406 select CPU_SUPPORTS_HIGHMEM
9cffd154 1407 select CPU_SUPPORTS_HUGEPAGES
a5e9a69e 1408 select CPU_SUPPORTS_MSA
1e5f1caa
RB
1409 help
1410 Choose this option to build a kernel for release 2 or later of the
1411 MIPS64 architecture. Many modern embedded systems with a 64-bit
1412 MIPS processor are based on a MIPS64 processor. If you know the
1413 specific type of processor in your system, choose those that one
1414 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4 1415
7fd08ca5
LY
1416config CPU_MIPS64_R6
1417 bool "MIPS64 Release 6 (EXPERIMENTAL)"
1418 depends on SYS_HAS_CPU_MIPS64_R6
1419 select CPU_HAS_PREFETCH
1420 select CPU_SUPPORTS_32BIT_KERNEL
1421 select CPU_SUPPORTS_64BIT_KERNEL
1422 select CPU_SUPPORTS_HIGHMEM
1423 select CPU_SUPPORTS_MSA
4e0748f5 1424 select GENERIC_CSUM
7fd08ca5
LY
1425 help
1426 Choose this option to build a kernel for release 6 or later of the
1427 MIPS64 architecture. New MIPS processors, starting with the Warrior
1428 family, are based on a MIPS64r6 processor. If you own an older
1429 processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
1430
1da177e4
LT
1431config CPU_R3000
1432 bool "R3000"
7cf8053b 1433 depends on SYS_HAS_CPU_R3000
f7062ddb 1434 select CPU_HAS_WB
ed5ba2fb 1435 select CPU_SUPPORTS_32BIT_KERNEL
797798c1 1436 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1437 help
1438 Please make sure to pick the right CPU type. Linux/MIPS is not
1439 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1440 *not* work on R4000 machines and vice versa. However, since most
1441 of the supported machines have an R4000 (or similar) CPU, R4x00
1442 might be a safe bet. If the resulting kernel does not work,
1443 try to recompile with R3000.
1444
1445config CPU_TX39XX
1446 bool "R39XX"
7cf8053b 1447 depends on SYS_HAS_CPU_TX39XX
ed5ba2fb 1448 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1449
1450config CPU_VR41XX
1451 bool "R41xx"
7cf8053b 1452 depends on SYS_HAS_CPU_VR41XX
ed5ba2fb
YY
1453 select CPU_SUPPORTS_32BIT_KERNEL
1454 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4 1455 help
5e83d430 1456 The options selects support for the NEC VR4100 series of processors.
1da177e4
LT
1457 Only choose this option if you have one of these processors as a
1458 kernel built with this option will not run on any other type of
1459 processor or vice versa.
1460
1461config CPU_R4300
1462 bool "R4300"
7cf8053b 1463 depends on SYS_HAS_CPU_R4300
ed5ba2fb
YY
1464 select CPU_SUPPORTS_32BIT_KERNEL
1465 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1466 help
1467 MIPS Technologies R4300-series processors.
1468
1469config CPU_R4X00
1470 bool "R4x00"
7cf8053b 1471 depends on SYS_HAS_CPU_R4X00
ed5ba2fb
YY
1472 select CPU_SUPPORTS_32BIT_KERNEL
1473 select CPU_SUPPORTS_64BIT_KERNEL
970d032f 1474 select CPU_SUPPORTS_HUGEPAGES
1da177e4
LT
1475 help
1476 MIPS Technologies R4000-series processors other than 4300, including
1477 the R4000, R4400, R4600, and 4700.
1478
1479config CPU_TX49XX
1480 bool "R49XX"
7cf8053b 1481 depends on SYS_HAS_CPU_TX49XX
de862b48 1482 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1483 select CPU_SUPPORTS_32BIT_KERNEL
1484 select CPU_SUPPORTS_64BIT_KERNEL
970d032f 1485 select CPU_SUPPORTS_HUGEPAGES
1da177e4
LT
1486
1487config CPU_R5000
1488 bool "R5000"
7cf8053b 1489 depends on SYS_HAS_CPU_R5000
ed5ba2fb
YY
1490 select CPU_SUPPORTS_32BIT_KERNEL
1491 select CPU_SUPPORTS_64BIT_KERNEL
970d032f 1492 select CPU_SUPPORTS_HUGEPAGES
1da177e4
LT
1493 help
1494 MIPS Technologies R5000-series processors other than the Nevada.
1495
1496config CPU_R5432
1497 bool "R5432"
7cf8053b 1498 depends on SYS_HAS_CPU_R5432
5e83d430
RB
1499 select CPU_SUPPORTS_32BIT_KERNEL
1500 select CPU_SUPPORTS_64BIT_KERNEL
970d032f 1501 select CPU_SUPPORTS_HUGEPAGES
1da177e4 1502
542c1020
SK
1503config CPU_R5500
1504 bool "R5500"
1505 depends on SYS_HAS_CPU_R5500
542c1020
SK
1506 select CPU_SUPPORTS_32BIT_KERNEL
1507 select CPU_SUPPORTS_64BIT_KERNEL
9cffd154 1508 select CPU_SUPPORTS_HUGEPAGES
542c1020
SK
1509 help
1510 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1511 instruction set.
1512
1da177e4
LT
1513config CPU_R6000
1514 bool "R6000"
7cf8053b 1515 depends on SYS_HAS_CPU_R6000
ed5ba2fb 1516 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1517 help
1518 MIPS Technologies R6000 and R6000A series processors. Note these
c09b47d8 1519 processors are extremely rare and the support for them is incomplete.
1da177e4
LT
1520
1521config CPU_NEVADA
1522 bool "RM52xx"
7cf8053b 1523 depends on SYS_HAS_CPU_NEVADA
ed5ba2fb
YY
1524 select CPU_SUPPORTS_32BIT_KERNEL
1525 select CPU_SUPPORTS_64BIT_KERNEL
970d032f 1526 select CPU_SUPPORTS_HUGEPAGES
1da177e4
LT
1527 help
1528 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1529
1530config CPU_R8000
1531 bool "R8000"
7cf8053b 1532 depends on SYS_HAS_CPU_R8000
5e83d430 1533 select CPU_HAS_PREFETCH
ed5ba2fb 1534 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1535 help
1536 MIPS Technologies R8000 processors. Note these processors are
1537 uncommon and the support for them is incomplete.
1538
1539config CPU_R10000
1540 bool "R10000"
7cf8053b 1541 depends on SYS_HAS_CPU_R10000
5e83d430 1542 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1543 select CPU_SUPPORTS_32BIT_KERNEL
1544 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1545 select CPU_SUPPORTS_HIGHMEM
970d032f 1546 select CPU_SUPPORTS_HUGEPAGES
1da177e4
LT
1547 help
1548 MIPS Technologies R10000-series processors.
1549
1550config CPU_RM7000
1551 bool "RM7000"
7cf8053b 1552 depends on SYS_HAS_CPU_RM7000
5e83d430 1553 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1554 select CPU_SUPPORTS_32BIT_KERNEL
1555 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1556 select CPU_SUPPORTS_HIGHMEM
970d032f 1557 select CPU_SUPPORTS_HUGEPAGES
1da177e4
LT
1558
1559config CPU_SB1
1560 bool "SB1"
7cf8053b 1561 depends on SYS_HAS_CPU_SB1
ed5ba2fb
YY
1562 select CPU_SUPPORTS_32BIT_KERNEL
1563 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1564 select CPU_SUPPORTS_HIGHMEM
970d032f 1565 select CPU_SUPPORTS_HUGEPAGES
0004a9df 1566 select WEAK_ORDERING
1da177e4 1567
a86c7f72
DD
1568config CPU_CAVIUM_OCTEON
1569 bool "Cavium Octeon processor"
5e683389 1570 depends on SYS_HAS_CPU_CAVIUM_OCTEON
a86c7f72
DD
1571 select CPU_HAS_PREFETCH
1572 select CPU_SUPPORTS_64BIT_KERNEL
a86c7f72 1573 select WEAK_ORDERING
a86c7f72 1574 select CPU_SUPPORTS_HIGHMEM
9cffd154 1575 select CPU_SUPPORTS_HUGEPAGES
9296d94d 1576 select USB_EHCI_BIG_ENDIAN_MMIO
930beb5a 1577 select MIPS_L1_CACHE_SHIFT_7
a86c7f72
DD
1578 help
1579 The Cavium Octeon processor is a highly integrated chip containing
1580 many ethernet hardware widgets for networking tasks. The processor
1581 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1582 Full details can be found at http://www.caviumnetworks.com.
1583
cd746249
JG
1584config CPU_BMIPS
1585 bool "Broadcom BMIPS"
1586 depends on SYS_HAS_CPU_BMIPS
1587 select CPU_MIPS32
fe7f62c0 1588 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
cd746249
JG
1589 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1590 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1591 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1592 select CPU_SUPPORTS_32BIT_KERNEL
1593 select DMA_NONCOHERENT
67e38cf2 1594 select IRQ_MIPS_CPU
cd746249
JG
1595 select SWAP_IO_SPACE
1596 select WEAK_ORDERING
c1c0c461 1597 select CPU_SUPPORTS_HIGHMEM
69aaf9c8 1598 select CPU_HAS_PREFETCH
c1c0c461 1599 help
fe7f62c0 1600 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
c1c0c461 1601
7f058e85
J
1602config CPU_XLR
1603 bool "Netlogic XLR SoC"
1604 depends on SYS_HAS_CPU_XLR
1605 select CPU_SUPPORTS_32BIT_KERNEL
1606 select CPU_SUPPORTS_64BIT_KERNEL
1607 select CPU_SUPPORTS_HIGHMEM
970d032f 1608 select CPU_SUPPORTS_HUGEPAGES
7f058e85
J
1609 select WEAK_ORDERING
1610 select WEAK_REORDERING_BEYOND_LLSC
7f058e85
J
1611 help
1612 Netlogic Microsystems XLR/XLS processors.
1c773ea4
J
1613
1614config CPU_XLP
1615 bool "Netlogic XLP SoC"
1616 depends on SYS_HAS_CPU_XLP
1617 select CPU_SUPPORTS_32BIT_KERNEL
1618 select CPU_SUPPORTS_64BIT_KERNEL
1619 select CPU_SUPPORTS_HIGHMEM
1c773ea4
J
1620 select WEAK_ORDERING
1621 select WEAK_REORDERING_BEYOND_LLSC
1622 select CPU_HAS_PREFETCH
d6504846 1623 select CPU_MIPSR2
ddba6833 1624 select CPU_SUPPORTS_HUGEPAGES
1c773ea4
J
1625 help
1626 Netlogic Microsystems XLP processors.
1da177e4
LT
1627endchoice
1628
a6e18781
LY
1629config CPU_MIPS32_3_5_FEATURES
1630 bool "MIPS32 Release 3.5 Features"
1631 depends on SYS_HAS_CPU_MIPS32_R3_5
7fd08ca5 1632 depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
a6e18781
LY
1633 help
1634 Choose this option to build a kernel for release 2 or later of the
1635 MIPS32 architecture including features from the 3.5 release such as
1636 support for Enhanced Virtual Addressing (EVA).
1637
1638config CPU_MIPS32_3_5_EVA
1639 bool "Enhanced Virtual Addressing (EVA)"
1640 depends on CPU_MIPS32_3_5_FEATURES
1641 select EVA
1642 default y
1643 help
1644 Choose this option if you want to enable the Enhanced Virtual
1645 Addressing (EVA) on your MIPS32 core (such as proAptiv).
1646 One of its primary benefits is an increase in the maximum size
1647 of lowmem (up to 3GB). If unsure, say 'N' here.
1648
c5b36783
SH
1649config CPU_MIPS32_R5_FEATURES
1650 bool "MIPS32 Release 5 Features"
1651 depends on SYS_HAS_CPU_MIPS32_R5
1652 depends on CPU_MIPS32_R2
1653 help
1654 Choose this option to build a kernel for release 2 or later of the
1655 MIPS32 architecture including features from release 5 such as
1656 support for Extended Physical Addressing (XPA).
1657
1658config CPU_MIPS32_R5_XPA
1659 bool "Extended Physical Addressing (XPA)"
1660 depends on CPU_MIPS32_R5_FEATURES
1661 depends on !EVA
1662 depends on !PAGE_SIZE_4KB
1663 depends on SYS_SUPPORTS_HIGHMEM
1664 select XPA
1665 select HIGHMEM
1666 select ARCH_PHYS_ADDR_T_64BIT
1667 default n
1668 help
1669 Choose this option if you want to enable the Extended Physical
1670 Addressing (XPA) on your MIPS32 core (such as P5600 series). The
1671 benefit is to increase physical addressing equal to or greater
1672 than 40 bits. Note that this has the side effect of turning on
1673 64-bit addressing which in turn makes the PTEs 64-bit in size.
1674 If unsure, say 'N' here.
1675
622844bf
WZ
1676if CPU_LOONGSON2F
1677config CPU_NOP_WORKAROUNDS
1678 bool
1679
1680config CPU_JUMP_WORKAROUNDS
1681 bool
1682
1683config CPU_LOONGSON2F_WORKAROUNDS
1684 bool "Loongson 2F Workarounds"
1685 default y
1686 select CPU_NOP_WORKAROUNDS
1687 select CPU_JUMP_WORKAROUNDS
1688 help
1689 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1690 require workarounds. Without workarounds the system may hang
1691 unexpectedly. For more information please refer to the gas
1692 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1693
1694 Loongson 2F03 and later have fixed these issues and no workarounds
1695 are needed. The workarounds have no significant side effect on them
1696 but may decrease the performance of the system so this option should
1697 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1698 systems.
1699
1700 If unsure, please say Y.
1701endif # CPU_LOONGSON2F
1702
1b93b3c3
WZ
1703config SYS_SUPPORTS_ZBOOT
1704 bool
1705 select HAVE_KERNEL_GZIP
1706 select HAVE_KERNEL_BZIP2
31c4867d 1707 select HAVE_KERNEL_LZ4
1b93b3c3 1708 select HAVE_KERNEL_LZMA
fe1d45e0 1709 select HAVE_KERNEL_LZO
4e23eb63 1710 select HAVE_KERNEL_XZ
1b93b3c3
WZ
1711
1712config SYS_SUPPORTS_ZBOOT_UART16550
1713 bool
1714 select SYS_SUPPORTS_ZBOOT
1715
3702bba5
WZ
1716config CPU_LOONGSON2
1717 bool
1718 select CPU_SUPPORTS_32BIT_KERNEL
1719 select CPU_SUPPORTS_64BIT_KERNEL
1720 select CPU_SUPPORTS_HIGHMEM
970d032f 1721 select CPU_SUPPORTS_HUGEPAGES
3702bba5 1722
ca585cf9
KC
1723config CPU_LOONGSON1
1724 bool
1725 select CPU_MIPS32
1726 select CPU_MIPSR2
1727 select CPU_HAS_PREFETCH
1728 select CPU_SUPPORTS_32BIT_KERNEL
1729 select CPU_SUPPORTS_HIGHMEM
f29ad10d 1730 select CPU_SUPPORTS_CPUFREQ
ca585cf9 1731
fe7f62c0 1732config CPU_BMIPS32_3300
04fa8bf7 1733 select SMP_UP if SMP
1bbb6c1b 1734 bool
cd746249
JG
1735
1736config CPU_BMIPS4350
1737 bool
1738 select SYS_SUPPORTS_SMP
1739 select SYS_SUPPORTS_HOTPLUG_CPU
1740
1741config CPU_BMIPS4380
1742 bool
bbf2ba67 1743 select MIPS_L1_CACHE_SHIFT_6
cd746249
JG
1744 select SYS_SUPPORTS_SMP
1745 select SYS_SUPPORTS_HOTPLUG_CPU
1746
1747config CPU_BMIPS5000
1748 bool
cd746249 1749 select MIPS_CPU_SCACHE
bbf2ba67 1750 select MIPS_L1_CACHE_SHIFT_7
cd746249
JG
1751 select SYS_SUPPORTS_SMP
1752 select SYS_SUPPORTS_HOTPLUG_CPU
1bbb6c1b 1753
0e476d91
HC
1754config SYS_HAS_CPU_LOONGSON3
1755 bool
1756 select CPU_SUPPORTS_CPUFREQ
1757
3702bba5 1758config SYS_HAS_CPU_LOONGSON2E
2a21c730
FZ
1759 bool
1760
6f7a251a
WZ
1761config SYS_HAS_CPU_LOONGSON2F
1762 bool
55045ff5
WZ
1763 select CPU_SUPPORTS_CPUFREQ
1764 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
22f1fdfd 1765 select CPU_SUPPORTS_UNCACHED_ACCELERATED
6f7a251a 1766
ca585cf9
KC
1767config SYS_HAS_CPU_LOONGSON1B
1768 bool
1769
7cf8053b
RB
1770config SYS_HAS_CPU_MIPS32_R1
1771 bool
1772
1773config SYS_HAS_CPU_MIPS32_R2
1774 bool
1775
a6e18781
LY
1776config SYS_HAS_CPU_MIPS32_R3_5
1777 bool
1778
c5b36783
SH
1779config SYS_HAS_CPU_MIPS32_R5
1780 bool
1781
7fd08ca5
LY
1782config SYS_HAS_CPU_MIPS32_R6
1783 bool
1784
7cf8053b
RB
1785config SYS_HAS_CPU_MIPS64_R1
1786 bool
1787
1788config SYS_HAS_CPU_MIPS64_R2
1789 bool
1790
7fd08ca5
LY
1791config SYS_HAS_CPU_MIPS64_R6
1792 bool
1793
7cf8053b
RB
1794config SYS_HAS_CPU_R3000
1795 bool
1796
1797config SYS_HAS_CPU_TX39XX
1798 bool
1799
1800config SYS_HAS_CPU_VR41XX
1801 bool
1802
1803config SYS_HAS_CPU_R4300
1804 bool
1805
1806config SYS_HAS_CPU_R4X00
1807 bool
1808
1809config SYS_HAS_CPU_TX49XX
1810 bool
1811
1812config SYS_HAS_CPU_R5000
1813 bool
1814
1815config SYS_HAS_CPU_R5432
1816 bool
1817
542c1020
SK
1818config SYS_HAS_CPU_R5500
1819 bool
1820
7cf8053b
RB
1821config SYS_HAS_CPU_R6000
1822 bool
1823
1824config SYS_HAS_CPU_NEVADA
1825 bool
1826
1827config SYS_HAS_CPU_R8000
1828 bool
1829
1830config SYS_HAS_CPU_R10000
1831 bool
1832
1833config SYS_HAS_CPU_RM7000
1834 bool
1835
7cf8053b
RB
1836config SYS_HAS_CPU_SB1
1837 bool
1838
5e683389
DD
1839config SYS_HAS_CPU_CAVIUM_OCTEON
1840 bool
1841
cd746249 1842config SYS_HAS_CPU_BMIPS
c1c0c461
KC
1843 bool
1844
fe7f62c0 1845config SYS_HAS_CPU_BMIPS32_3300
c1c0c461 1846 bool
cd746249 1847 select SYS_HAS_CPU_BMIPS
c1c0c461
KC
1848
1849config SYS_HAS_CPU_BMIPS4350
1850 bool
cd746249 1851 select SYS_HAS_CPU_BMIPS
c1c0c461
KC
1852
1853config SYS_HAS_CPU_BMIPS4380
1854 bool
cd746249 1855 select SYS_HAS_CPU_BMIPS
c1c0c461
KC
1856
1857config SYS_HAS_CPU_BMIPS5000
1858 bool
cd746249 1859 select SYS_HAS_CPU_BMIPS
c1c0c461 1860
7f058e85
J
1861config SYS_HAS_CPU_XLR
1862 bool
1863
1c773ea4
J
1864config SYS_HAS_CPU_XLP
1865 bool
1866
b6911bba
PB
1867config MIPS_MALTA_PM
1868 depends on MIPS_MALTA
1869 depends on PCI
1870 bool
1871 default y
1872
17099b11
RB
1873#
1874# CPU may reorder R->R, R->W, W->R, W->W
1875# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1876#
0004a9df
RB
1877config WEAK_ORDERING
1878 bool
17099b11
RB
1879
1880#
1881# CPU may reorder reads and writes beyond LL/SC
1882# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1883#
1884config WEAK_REORDERING_BEYOND_LLSC
1885 bool
5e83d430
RB
1886endmenu
1887
1888#
c09b47d8 1889# These two indicate any level of the MIPS32 and MIPS64 architecture
5e83d430
RB
1890#
1891config CPU_MIPS32
1892 bool
7fd08ca5 1893 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
5e83d430
RB
1894
1895config CPU_MIPS64
1896 bool
7fd08ca5 1897 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
5e83d430
RB
1898
1899#
c09b47d8 1900# These two indicate the revision of the architecture, either Release 1 or Release 2
5e83d430
RB
1901#
1902config CPU_MIPSR1
1903 bool
1904 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1905
1906config CPU_MIPSR2
1907 bool
a86c7f72 1908 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
a7e07b1a 1909 select MIPS_SPRAM
5e83d430 1910
7fd08ca5
LY
1911config CPU_MIPSR6
1912 bool
1913 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
a7e07b1a 1914 select MIPS_SPRAM
5e83d430 1915
a6e18781
LY
1916config EVA
1917 bool
1918
c5b36783
SH
1919config XPA
1920 bool
1921
5e83d430
RB
1922config SYS_SUPPORTS_32BIT_KERNEL
1923 bool
1924config SYS_SUPPORTS_64BIT_KERNEL
1925 bool
1926config CPU_SUPPORTS_32BIT_KERNEL
1927 bool
1928config CPU_SUPPORTS_64BIT_KERNEL
1929 bool
55045ff5
WZ
1930config CPU_SUPPORTS_CPUFREQ
1931 bool
1932config CPU_SUPPORTS_ADDRWINCFG
1933 bool
9cffd154
DD
1934config CPU_SUPPORTS_HUGEPAGES
1935 bool
22f1fdfd
WZ
1936config CPU_SUPPORTS_UNCACHED_ACCELERATED
1937 bool
82622284
DD
1938config MIPS_PGD_C0_CONTEXT
1939 bool
d6504846 1940 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
5e83d430 1941
8192c9ea
DD
1942#
1943# Set to y for ptrace access to watch registers.
1944#
1945config HARDWARE_WATCHPOINTS
1946 bool
f839490a 1947 default y if CPU_MIPSR1 || CPU_MIPSR2
8192c9ea 1948
5e83d430
RB
1949menu "Kernel type"
1950
1951choice
5e83d430
RB
1952 prompt "Kernel code model"
1953 help
1954 You should only select this option if you have a workload that
1955 actually benefits from 64-bit processing or if your machine has
1956 large memory. You will only be presented a single option in this
1957 menu if your system does not support both 32-bit and 64-bit kernels.
1958
1959config 32BIT
1960 bool "32-bit kernel"
1961 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1962 select TRAD_SIGNALS
1963 help
1964 Select this option if you want to build a 32-bit kernel.
1965config 64BIT
1966 bool "64-bit kernel"
1967 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1968 help
1969 Select this option if you want to build a 64-bit kernel.
1970
1971endchoice
1972
2235a54d
SL
1973config KVM_GUEST
1974 bool "KVM Guest Kernel"
f2a5b1d7 1975 depends on BROKEN_ON_SMP
2235a54d
SL
1976 help
1977 Select this option if building a guest kernel for KVM (Trap & Emulate) mode
1978
eda3d33c
JH
1979config KVM_GUEST_TIMER_FREQ
1980 int "Count/Compare Timer Frequency (MHz)"
2235a54d 1981 depends on KVM_GUEST
eda3d33c 1982 default 100
2235a54d 1983 help
eda3d33c
JH
1984 Set this to non-zero if building a guest kernel for KVM to skip RTC
1985 emulation when determining guest CPU Frequency. Instead, the guest's
1986 timer frequency is specified directly.
2235a54d 1987
1da177e4
LT
1988choice
1989 prompt "Kernel page size"
1990 default PAGE_SIZE_4KB
1991
1992config PAGE_SIZE_4KB
1993 bool "4kB"
0e476d91 1994 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
1da177e4
LT
1995 help
1996 This option select the standard 4kB Linux page size. On some
1997 R3000-family processors this is the only available page size. Using
1998 4kB page size will minimize memory consumption and is therefore
1999 recommended for low memory systems.
2000
2001config PAGE_SIZE_8KB
2002 bool "8kB"
7d60717e 2003 depends on CPU_R8000 || CPU_CAVIUM_OCTEON
1da177e4
LT
2004 help
2005 Using 8kB page size will result in higher performance kernel at
2006 the price of higher memory consumption. This option is available
c52399be
RB
2007 only on R8000 and cnMIPS processors. Note that you will need a
2008 suitable Linux distribution to support this.
1da177e4
LT
2009
2010config PAGE_SIZE_16KB
2011 bool "16kB"
714bfad6 2012 depends on !CPU_R3000 && !CPU_TX39XX
1da177e4
LT
2013 help
2014 Using 16kB page size will result in higher performance kernel at
2015 the price of higher memory consumption. This option is available on
714bfad6
RB
2016 all non-R3000 family processors. Note that you will need a suitable
2017 Linux distribution to support this.
1da177e4 2018
c52399be
RB
2019config PAGE_SIZE_32KB
2020 bool "32kB"
2021 depends on CPU_CAVIUM_OCTEON
2022 help
2023 Using 32kB page size will result in higher performance kernel at
2024 the price of higher memory consumption. This option is available
2025 only on cnMIPS cores. Note that you will need a suitable Linux
2026 distribution to support this.
2027
1da177e4
LT
2028config PAGE_SIZE_64KB
2029 bool "64kB"
7d60717e 2030 depends on !CPU_R3000 && !CPU_TX39XX
1da177e4
LT
2031 help
2032 Using 64kB page size will result in higher performance kernel at
2033 the price of higher memory consumption. This option is available on
2034 all non-R3000 family processor. Not that at the time of this
714bfad6 2035 writing this option is still high experimental.
1da177e4
LT
2036
2037endchoice
2038
c9bace7c
DD
2039config FORCE_MAX_ZONEORDER
2040 int "Maximum zone order"
e4362d1e
AS
2041 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2042 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2043 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2044 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2045 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2046 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
c9bace7c
DD
2047 range 11 64
2048 default "11"
2049 help
2050 The kernel memory allocator divides physically contiguous memory
2051 blocks into "zones", where each zone is a power of two number of
2052 pages. This option selects the largest power of two that the kernel
2053 keeps in the memory allocator. If you need to allocate very large
2054 blocks of physically contiguous memory, then you may need to
2055 increase this value.
2056
2057 This config option is actually maximum order plus one. For example,
2058 a value of 11 means that the largest free memory block is 2^10 pages.
2059
2060 The page size is not necessarily 4KB. Keep this in mind
2061 when choosing a value for this option.
2062
1da177e4
LT
2063config BOARD_SCACHE
2064 bool
2065
2066config IP22_CPU_SCACHE
2067 bool
2068 select BOARD_SCACHE
2069
9318c51a
CD
2070#
2071# Support for a MIPS32 / MIPS64 style S-caches
2072#
2073config MIPS_CPU_SCACHE
2074 bool
2075 select BOARD_SCACHE
2076
1da177e4
LT
2077config R5000_CPU_SCACHE
2078 bool
2079 select BOARD_SCACHE
2080
2081config RM7000_CPU_SCACHE
2082 bool
2083 select BOARD_SCACHE
2084
2085config SIBYTE_DMA_PAGEOPS
2086 bool "Use DMA to clear/copy pages"
2087 depends on CPU_SB1
2088 help
2089 Instead of using the CPU to zero and copy pages, use a Data Mover
2090 channel. These DMA channels are otherwise unused by the standard
2091 SiByte Linux port. Seems to give a small performance benefit.
2092
2093config CPU_HAS_PREFETCH
c8094b53 2094 bool
1da177e4 2095
3165c846
FF
2096config CPU_GENERIC_DUMP_TLB
2097 bool
2098 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
2099
91405eb6
FF
2100config CPU_R4K_FPU
2101 bool
2102 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2103
62cedc4f
FF
2104config CPU_R4K_CACHE_TLB
2105 bool
2106 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2107
59d6ab86 2108config MIPS_MT_SMP
a92b7f87 2109 bool "MIPS MT SMP support (1 TC on each available VPE)"
f41ae0b2 2110 depends on SYS_SUPPORTS_MULTITHREADING
f7062ddb 2111 select CPU_MIPSR2_IRQ_VI
d725cf38 2112 select CPU_MIPSR2_IRQ_EI
c080faa5 2113 select SYNC_R4K
0c2cb004 2114 select MIPS_GIC_IPI
f41ae0b2 2115 select MIPS_MT
41c594ab 2116 select SMP
87353d8a 2117 select SMP_UP
c080faa5
SH
2118 select SYS_SUPPORTS_SMP
2119 select SYS_SUPPORTS_SCHED_SMT
399aaa25 2120 select MIPS_PERF_SHARED_TC_COUNTERS
f41ae0b2 2121 help
c080faa5
SH
2122 This is a kernel model which is known as SMVP. This is supported
2123 on cores with the MT ASE and uses the available VPEs to implement
2124 virtual processors which supports SMP. This is equivalent to the
2125 Intel Hyperthreading feature. For further information go to
2126 <http://www.imgtec.com/mips/mips-multithreading.asp>.
41c594ab 2127
f41ae0b2
RB
2128config MIPS_MT
2129 bool
2130
0ab7aefc
RB
2131config SCHED_SMT
2132 bool "SMT (multithreading) scheduler support"
2133 depends on SYS_SUPPORTS_SCHED_SMT
2134 default n
2135 help
2136 SMT scheduler support improves the CPU scheduler's decision making
2137 when dealing with MIPS MT enabled cores at a cost of slightly
2138 increased overhead in some places. If unsure say N here.
2139
2140config SYS_SUPPORTS_SCHED_SMT
2141 bool
2142
f41ae0b2
RB
2143config SYS_SUPPORTS_MULTITHREADING
2144 bool
2145
f088fc84
RB
2146config MIPS_MT_FPAFF
2147 bool "Dynamic FPU affinity for FP-intensive threads"
f088fc84 2148 default y
b633648c 2149 depends on MIPS_MT_SMP
07cc0c9e 2150
b0a668fb
LY
2151config MIPSR2_TO_R6_EMULATOR
2152 bool "MIPS R2-to-R6 emulator"
2153 depends on CPU_MIPSR6 && !SMP
2154 default y
2155 help
2156 Choose this option if you want to run non-R6 MIPS userland code.
2157 Even if you say 'Y' here, the emulator will still be disabled by
07edf0d4 2158 default. You can enable it using the 'mipsr2emu' kernel option.
b0a668fb
LY
2159 The only reason this is a build-time option is to save ~14K from the
2160 final kernel image.
2161comment "MIPS R2-to-R6 emulator is only available for UP kernels"
2162 depends on SMP && CPU_MIPSR6
2163
07cc0c9e
RB
2164config MIPS_VPE_LOADER
2165 bool "VPE loader support."
704e6460 2166 depends on SYS_SUPPORTS_MULTITHREADING && MODULES
07cc0c9e
RB
2167 select CPU_MIPSR2_IRQ_VI
2168 select CPU_MIPSR2_IRQ_EI
07cc0c9e
RB
2169 select MIPS_MT
2170 help
2171 Includes a loader for loading an elf relocatable object
2172 onto another VPE and running it.
f088fc84 2173
17a1d523
DCZ
2174config MIPS_VPE_LOADER_CMP
2175 bool
2176 default "y"
2177 depends on MIPS_VPE_LOADER && MIPS_CMP
2178
1a2a6d7e
DCZ
2179config MIPS_VPE_LOADER_MT
2180 bool
2181 default "y"
2182 depends on MIPS_VPE_LOADER && !MIPS_CMP
2183
e01402b1
RB
2184config MIPS_VPE_LOADER_TOM
2185 bool "Load VPE program into memory hidden from linux"
2186 depends on MIPS_VPE_LOADER
2187 default y
2188 help
2189 The loader can use memory that is present but has been hidden from
2190 Linux using the kernel command line option "mem=xxMB". It's up to
2191 you to ensure the amount you put in the option and the space your
2192 program requires is less or equal to the amount physically present.
2193
e01402b1 2194config MIPS_VPE_APSP_API
5e83d430
RB
2195 bool "Enable support for AP/SP API (RTLX)"
2196 depends on MIPS_VPE_LOADER
2197 help
e01402b1 2198
da615cf6
DCZ
2199config MIPS_VPE_APSP_API_CMP
2200 bool
2201 default "y"
2202 depends on MIPS_VPE_APSP_API && MIPS_CMP
2203
2c973ef0
DCZ
2204config MIPS_VPE_APSP_API_MT
2205 bool
2206 default "y"
2207 depends on MIPS_VPE_APSP_API && !MIPS_CMP
2208
4a16ff4c 2209config MIPS_CMP
5cac93b3 2210 bool "MIPS CMP framework support (DEPRECATED)"
b633648c 2211 depends on SYS_SUPPORTS_MIPS_CMP
72e20142 2212 select MIPS_GIC_IPI
b10b43ba 2213 select SMP
eb9b5141 2214 select SYNC_R4K
b10b43ba 2215 select SYS_SUPPORTS_SMP
4a16ff4c
RB
2216 select WEAK_ORDERING
2217 default n
2218 help
044505c7
PB
2219 Select this if you are using a bootloader which implements the "CMP
2220 framework" protocol (ie. YAMON) and want your kernel to make use of
2221 its ability to start secondary CPUs.
4a16ff4c 2222
5cac93b3
PB
2223 Unless you have a specific need, you should use CONFIG_MIPS_CPS
2224 instead of this.
2225
0ee958e1
PB
2226config MIPS_CPS
2227 bool "MIPS Coherent Processing System support"
6ca716f2 2228 depends on SYS_SUPPORTS_MIPS_CPS && !64BIT
0ee958e1
PB
2229 select MIPS_CM
2230 select MIPS_CPC
1d8f1f5a 2231 select MIPS_CPS_PM if HOTPLUG_CPU
0ee958e1
PB
2232 select MIPS_GIC_IPI
2233 select SMP
2234 select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
1d8f1f5a 2235 select SYS_SUPPORTS_HOTPLUG_CPU
0ee958e1
PB
2236 select SYS_SUPPORTS_SMP
2237 select WEAK_ORDERING
2238 help
2239 Select this if you wish to run an SMP kernel across multiple cores
2240 within a MIPS Coherent Processing System. When this option is
2241 enabled the kernel will probe for other cores and boot them with
2242 no external assistance. It is safe to enable this when hardware
2243 support is unavailable.
2244
3179d37e 2245config MIPS_CPS_PM
39a59593 2246 depends on MIPS_CPS
a8b84677 2247 select MIPS_CPC
3179d37e
PB
2248 bool
2249
72e20142
PB
2250config MIPS_GIC_IPI
2251 bool
2252
9f98f3dd
PB
2253config MIPS_CM
2254 bool
2255
9c38cf44
PB
2256config MIPS_CPC
2257 bool
4a16ff4c 2258
1da177e4
LT
2259config SB1_PASS_1_WORKAROUNDS
2260 bool
2261 depends on CPU_SB1_PASS_1
2262 default y
2263
2264config SB1_PASS_2_WORKAROUNDS
2265 bool
2266 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2267 default y
2268
2269config SB1_PASS_2_1_WORKAROUNDS
2270 bool
2271 depends on CPU_SB1 && CPU_SB1_PASS_2
2272 default y
2273
2235a54d 2274
60ec6571 2275config ARCH_PHYS_ADDR_T_64BIT
34adb28d 2276 bool
60ec6571 2277
9e2b5372
MC
2278choice
2279 prompt "SmartMIPS or microMIPS ASE support"
2280
2281config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
2282 bool "None"
2283 help
2284 Select this if you want neither microMIPS nor SmartMIPS support
2285
9693a853
FBH
2286config CPU_HAS_SMARTMIPS
2287 depends on SYS_SUPPORTS_SMARTMIPS
9e2b5372 2288 bool "SmartMIPS"
9693a853
FBH
2289 help
2290 SmartMIPS is a extension of the MIPS32 architecture aimed at
2291 increased security at both hardware and software level for
2292 smartcards. Enabling this option will allow proper use of the
2293 SmartMIPS instructions by Linux applications. However a kernel with
2294 this option will not work on a MIPS core without SmartMIPS core. If
2295 you don't know you probably don't have SmartMIPS and should say N
2296 here.
2297
bce86083 2298config CPU_MICROMIPS
7fd08ca5 2299 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
9e2b5372 2300 bool "microMIPS"
bce86083
SH
2301 help
2302 When this option is enabled the kernel will be built using the
2303 microMIPS ISA
2304
9e2b5372
MC
2305endchoice
2306
a5e9a69e 2307config CPU_HAS_MSA
4af94d5d 2308 bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
a5e9a69e 2309 depends on CPU_SUPPORTS_MSA
2a6cb669 2310 depends on 64BIT || MIPS_O32_FP64_SUPPORT
a5e9a69e
PB
2311 help
2312 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2313 and a set of SIMD instructions to operate on them. When this option
1db1af84
PB
2314 is enabled the kernel will support allocating & switching MSA
2315 vector register contexts. If you know that your kernel will only be
2316 running on CPUs which do not support MSA or that your userland will
2317 not be making use of it then you may wish to say N here to reduce
2318 the size & complexity of your kernel.
a5e9a69e
PB
2319
2320 If unsure, say Y.
2321
1da177e4 2322config CPU_HAS_WB
f7062ddb 2323 bool
e01402b1 2324
df0ac8a4
KC
2325config XKS01
2326 bool
2327
f41ae0b2
RB
2328#
2329# Vectored interrupt mode is an R2 feature
2330#
e01402b1 2331config CPU_MIPSR2_IRQ_VI
f41ae0b2 2332 bool
e01402b1 2333
f41ae0b2
RB
2334#
2335# Extended interrupt mode is an R2 feature
2336#
e01402b1 2337config CPU_MIPSR2_IRQ_EI
f41ae0b2 2338 bool
e01402b1 2339
1da177e4
LT
2340config CPU_HAS_SYNC
2341 bool
2342 depends on !CPU_R3000
2343 default y
2344
20d60d99
MR
2345#
2346# CPU non-features
2347#
2348config CPU_DADDI_WORKAROUNDS
2349 bool
2350
2351config CPU_R4000_WORKAROUNDS
2352 bool
2353 select CPU_R4400_WORKAROUNDS
2354
2355config CPU_R4400_WORKAROUNDS
2356 bool
2357
1da177e4
LT
2358#
2359# - Highmem only makes sense for the 32-bit kernel.
2360# - The current highmem code will only work properly on physically indexed
2361# caches such as R3000, SB1, R7000 or those that look like they're virtually
2362# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2363# moment we protect the user and offer the highmem option only on machines
2364# where it's known to be safe. This will not offer highmem on a few systems
2365# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2366# indexed CPUs but we're playing safe.
797798c1
RB
2367# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2368# know they might have memory configurations that could make use of highmem
2369# support.
1da177e4
LT
2370#
2371config HIGHMEM
2372 bool "High Memory Support"
a6e18781 2373 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
797798c1
RB
2374
2375config CPU_SUPPORTS_HIGHMEM
2376 bool
2377
2378config SYS_SUPPORTS_HIGHMEM
2379 bool
1da177e4 2380
9693a853
FBH
2381config SYS_SUPPORTS_SMARTMIPS
2382 bool
2383
a6a4834c
SH
2384config SYS_SUPPORTS_MICROMIPS
2385 bool
2386
377cb1b6
RB
2387config SYS_SUPPORTS_MIPS16
2388 bool
2389 help
2390 This option must be set if a kernel might be executed on a MIPS16-
2391 enabled CPU even if MIPS16 is not actually being used. In other
2392 words, it makes the kernel MIPS16-tolerant.
2393
a5e9a69e
PB
2394config CPU_SUPPORTS_MSA
2395 bool
2396
b4819b59
YY
2397config ARCH_FLATMEM_ENABLE
2398 def_bool y
f133f22d 2399 depends on !NUMA && !CPU_LOONGSON2
b4819b59 2400
d8cb4e11
RB
2401config ARCH_DISCONTIGMEM_ENABLE
2402 bool
2403 default y if SGI_IP27
2404 help
3dde6ad8 2405 Say Y to support efficient handling of discontiguous physical memory,
d8cb4e11
RB
2406 for architectures which are either NUMA (Non-Uniform Memory Access)
2407 or have huge holes in the physical address space for other reasons.
2408 See <file:Documentation/vm/numa> for more.
2409
31473747
AN
2410config ARCH_SPARSEMEM_ENABLE
2411 bool
7de58fab 2412 select SPARSEMEM_STATIC
31473747 2413
d8cb4e11
RB
2414config NUMA
2415 bool "NUMA Support"
2416 depends on SYS_SUPPORTS_NUMA
2417 help
2418 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2419 Access). This option improves performance on systems with more
2420 than two nodes; on two node systems it is generally better to
2421 leave it disabled; on single node systems disable this option
2422 disabled.
2423
2424config SYS_SUPPORTS_NUMA
2425 bool
2426
c80d79d7
YG
2427config NODES_SHIFT
2428 int
2429 default "6"
2430 depends on NEED_MULTIPLE_NODES
2431
14f70012
DCZ
2432config HW_PERF_EVENTS
2433 bool "Enable hardware performance counter support for perf events"
f14ceff7 2434 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
14f70012
DCZ
2435 default y
2436 help
2437 Enable hardware performance counter support for perf events. If
2438 disabled, perf events will use software events only.
2439
b4819b59
YY
2440source "mm/Kconfig"
2441
1da177e4
LT
2442config SMP
2443 bool "Multi-Processing support"
e73ea273
RB
2444 depends on SYS_SUPPORTS_SMP
2445 help
1da177e4 2446 This enables support for systems with more than one CPU. If you have
4a474157
RG
2447 a system with only one CPU, say N. If you have a system with more
2448 than one CPU, say Y.
1da177e4 2449
4a474157 2450 If you say N here, the kernel will run on uni- and multiprocessor
1da177e4
LT
2451 machines, but will use only one CPU of a multiprocessor machine. If
2452 you say Y here, the kernel will run on many, but not all,
4a474157 2453 uniprocessor machines. On a uniprocessor machine, the kernel
1da177e4
LT
2454 will run faster if you say N here.
2455
2456 People using multiprocessor machines who say Y here should also say
2457 Y to "Enhanced Real Time Clock Support", below.
2458
03502faa
AB
2459 See also the SMP-HOWTO available at
2460 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
2461
2462 If you don't know what to do here, say N.
2463
87353d8a
RB
2464config SMP_UP
2465 bool
2466
4a16ff4c
RB
2467config SYS_SUPPORTS_MIPS_CMP
2468 bool
2469
0ee958e1
PB
2470config SYS_SUPPORTS_MIPS_CPS
2471 bool
2472
e73ea273
RB
2473config SYS_SUPPORTS_SMP
2474 bool
2475
130e2fb7
RB
2476config NR_CPUS_DEFAULT_4
2477 bool
2478
2479config NR_CPUS_DEFAULT_8
2480 bool
2481
2482config NR_CPUS_DEFAULT_16
2483 bool
2484
2485config NR_CPUS_DEFAULT_32
2486 bool
2487
2488config NR_CPUS_DEFAULT_64
2489 bool
2490
1da177e4 2491config NR_CPUS
a91796a9
J
2492 int "Maximum number of CPUs (2-256)"
2493 range 2 256
1da177e4 2494 depends on SMP
130e2fb7
RB
2495 default "4" if NR_CPUS_DEFAULT_4
2496 default "8" if NR_CPUS_DEFAULT_8
2497 default "16" if NR_CPUS_DEFAULT_16
2498 default "32" if NR_CPUS_DEFAULT_32
2499 default "64" if NR_CPUS_DEFAULT_64
1da177e4
LT
2500 help
2501 This allows you to specify the maximum number of CPUs which this
2502 kernel will support. The maximum supported value is 32 for 32-bit
2503 kernel and 64 for 64-bit kernels; the minimum value which makes
72ede9b1
AN
2504 sense is 1 for Qemu (useful only for kernel debugging purposes)
2505 and 2 for all others.
1da177e4
LT
2506
2507 This is purely to save memory - each supported CPU adds
72ede9b1
AN
2508 approximately eight kilobytes to the kernel image. For best
2509 performance should round up your number of processors to the next
2510 power of two.
1da177e4 2511
399aaa25
AC
2512config MIPS_PERF_SHARED_TC_COUNTERS
2513 bool
2514
1723b4a3
AN
2515#
2516# Timer Interrupt Frequency Configuration
2517#
2518
2519choice
2520 prompt "Timer frequency"
2521 default HZ_250
2522 help
2523 Allows the configuration of the timer frequency.
2524
2525 config HZ_48
0f873585 2526 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1723b4a3
AN
2527
2528 config HZ_100
2529 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2530
2531 config HZ_128
2532 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2533
2534 config HZ_250
2535 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2536
2537 config HZ_256
2538 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2539
2540 config HZ_1000
2541 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2542
2543 config HZ_1024
2544 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2545
2546endchoice
2547
2548config SYS_SUPPORTS_48HZ
2549 bool
2550
2551config SYS_SUPPORTS_100HZ
2552 bool
2553
2554config SYS_SUPPORTS_128HZ
2555 bool
2556
2557config SYS_SUPPORTS_250HZ
2558 bool
2559
2560config SYS_SUPPORTS_256HZ
2561 bool
2562
2563config SYS_SUPPORTS_1000HZ
2564 bool
2565
2566config SYS_SUPPORTS_1024HZ
2567 bool
2568
2569config SYS_SUPPORTS_ARBIT_HZ
2570 bool
2571 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2572 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2573 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2574 !SYS_SUPPORTS_1024HZ
2575
2576config HZ
2577 int
2578 default 48 if HZ_48
2579 default 100 if HZ_100
2580 default 128 if HZ_128
2581 default 250 if HZ_250
2582 default 256 if HZ_256
2583 default 1000 if HZ_1000
2584 default 1024 if HZ_1024
2585
96685b17
DCZ
2586config SCHED_HRTICK
2587 def_bool HIGH_RES_TIMERS
2588
e80de850 2589source "kernel/Kconfig.preempt"
1da177e4 2590
ea6e942b 2591config KEXEC
7d60717e 2592 bool "Kexec system call"
ea6e942b
AN
2593 help
2594 kexec is a system call that implements the ability to shutdown your
2595 current kernel, and to start another kernel. It is like a reboot
3dde6ad8 2596 but it is independent of the system firmware. And like a reboot
ea6e942b
AN
2597 you can start any kernel with it, not just Linux.
2598
01dd2fbf 2599 The name comes from the similarity to the exec system call.
ea6e942b
AN
2600
2601 It is an ongoing process to be certain the hardware in a machine
2602 is properly shutdown, so do not be surprised if this code does not
bf220695
GU
2603 initially work for you. As of this writing the exact hardware
2604 interface is strongly in flux, so no good recommendation can be
2605 made.
ea6e942b 2606
7aa1c8f4
RB
2607config CRASH_DUMP
2608 bool "Kernel crash dumps"
2609 help
2610 Generate crash dump after being started by kexec.
2611 This should be normally only set in special crash dump kernels
2612 which are loaded in the main kernel with kexec-tools into
2613 a specially reserved region and then later executed after
2614 a crash by kdump/kexec. The crash dump kernel must be compiled
2615 to a memory address not used by the main kernel or firmware using
2616 PHYSICAL_START.
2617
2618config PHYSICAL_START
2619 hex "Physical address where the kernel is loaded"
2620 default "0xffffffff84000000" if 64BIT
2621 default "0x84000000" if 32BIT
2622 depends on CRASH_DUMP
2623 help
2624 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2625 If you plan to use kernel for capturing the crash dump change
2626 this value to start of the reserved region (the "X" value as
2627 specified in the "crashkernel=YM@XM" command line boot parameter
2628 passed to the panic-ed kernel).
2629
ea6e942b
AN
2630config SECCOMP
2631 bool "Enable seccomp to safely compute untrusted bytecode"
293c5bd1 2632 depends on PROC_FS
ea6e942b
AN
2633 default y
2634 help
2635 This kernel feature is useful for number crunching applications
2636 that may need to compute untrusted bytecode during their
2637 execution. By using pipes or other transports made available to
2638 the process as file descriptors supporting the read/write
2639 syscalls, it's possible to isolate those applications in
2640 their own address space using seccomp. Once seccomp is
2641 enabled via /proc/<pid>/seccomp, it cannot be disabled
2642 and the task is only allowed to execute a few safe syscalls
2643 defined by each seccomp mode.
2644
2645 If unsure, say Y. Only embedded should say N here.
2646
597ce172 2647config MIPS_O32_FP64_SUPPORT
06e2e882 2648 bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)"
597ce172 2649 depends on 32BIT || MIPS32_O32
597ce172
PB
2650 help
2651 When this is enabled, the kernel will support use of 64-bit floating
2652 point registers with binaries using the O32 ABI along with the
2653 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2654 32-bit MIPS systems this support is at the cost of increasing the
2655 size and complexity of the compiled FPU emulator. Thus if you are
2656 running a MIPS32 system and know that none of your userland binaries
2657 will require 64-bit floating point, you may wish to reduce the size
2658 of your kernel & potentially improve FP emulation performance by
2659 saying N here.
2660
06e2e882
PB
2661 Although binutils currently supports use of this flag the details
2662 concerning its effect upon the O32 ABI in userland are still being
2663 worked on. In order to avoid userland becoming dependant upon current
2664 behaviour before the details have been finalised, this option should
2665 be considered experimental and only enabled by those working upon
2666 said details.
2667
2668 If unsure, say N.
597ce172 2669
f2ffa5ab 2670config USE_OF
0b3e06fd 2671 bool
f2ffa5ab 2672 select OF
e6ce1324 2673 select OF_EARLY_FLATTREE
abd2363f 2674 select IRQ_DOMAIN
f2ffa5ab 2675
7fafb068
AB
2676config BUILTIN_DTB
2677 bool
2678
5e83d430
RB
2679endmenu
2680
1df0f0ff
AN
2681config LOCKDEP_SUPPORT
2682 bool
2683 default y
2684
2685config STACKTRACE_SUPPORT
2686 bool
2687 default y
2688
a728ab52
KS
2689config PGTABLE_LEVELS
2690 int
2691 default 3 if 64BIT && !PAGE_SIZE_64KB
2692 default 2
2693
b6c3539b
RB
2694source "init/Kconfig"
2695
dc52ddc0
MH
2696source "kernel/Kconfig.freezer"
2697
1da177e4
LT
2698menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2699
5e83d430
RB
2700config HW_HAS_EISA
2701 bool
1da177e4
LT
2702config HW_HAS_PCI
2703 bool
2704
2705config PCI
2706 bool "Support for PCI controller"
2707 depends on HW_HAS_PCI
abb4ae46 2708 select PCI_DOMAINS
0f3b3956 2709 select NO_GENERIC_PCI_IOPORT_MAP
1da177e4
LT
2710 help
2711 Find out whether you have a PCI motherboard. PCI is the name of a
2712 bus system, i.e. the way the CPU talks to the other stuff inside
2713 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2714 say Y, otherwise N.
2715
0e476d91
HC
2716config HT_PCI
2717 bool "Support for HT-linked PCI"
2718 default y
2719 depends on CPU_LOONGSON3
2720 select PCI
2721 select PCI_DOMAINS
2722 help
2723 Loongson family machines use Hyper-Transport bus for inter-core
2724 connection and device connection. The PCI bus is a subordinate
2725 linked at HT. Choose Y for Loongson-3 based machines.
2726
1da177e4
LT
2727config PCI_DOMAINS
2728 bool
1da177e4
LT
2729
2730source "drivers/pci/Kconfig"
2731
3f787ca4
JG
2732source "drivers/pci/pcie/Kconfig"
2733
1da177e4
LT
2734#
2735# ISA support is now enabled via select. Too many systems still have the one
2736# or other ISA chip on the board that users don't know about so don't expect
2737# users to choose the right thing ...
2738#
2739config ISA
2740 bool
2741
2742config EISA
2743 bool "EISA support"
5e83d430 2744 depends on HW_HAS_EISA
1da177e4 2745 select ISA
aa414dff 2746 select GENERIC_ISA_DMA
1da177e4
LT
2747 ---help---
2748 The Extended Industry Standard Architecture (EISA) bus was
2749 developed as an open alternative to the IBM MicroChannel bus.
2750
2751 The EISA bus provided some of the features of the IBM MicroChannel
2752 bus while maintaining backward compatibility with cards made for
2753 the older ISA bus. The EISA bus saw limited use between 1988 and
2754 1995 when it was made obsolete by the PCI bus.
2755
2756 Say Y here if you are building a kernel for an EISA-based machine.
2757
2758 Otherwise, say N.
2759
2760source "drivers/eisa/Kconfig"
2761
2762config TC
2763 bool "TURBOchannel support"
2764 depends on MACH_DECSTATION
2765 help
50a23e6e
JM
2766 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2767 processors. TURBOchannel programming specifications are available
2768 at:
2769 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2770 and:
2771 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2772 Linux driver support status is documented at:
2773 <http://www.linux-mips.org/wiki/DECstation>
1da177e4 2774
1da177e4
LT
2775config MMU
2776 bool
2777 default y
2778
d865bea4
RB
2779config I8253
2780 bool
798778b8 2781 select CLKSRC_I8253
2d02612f 2782 select CLKEVT_I8253
9726b43a 2783 select MIPS_EXTERNAL_TIMER
d865bea4 2784
e05eb3f8
RB
2785config ZONE_DMA
2786 bool
2787
cce335ae
RB
2788config ZONE_DMA32
2789 bool
2790
1da177e4
LT
2791source "drivers/pcmcia/Kconfig"
2792
2793source "drivers/pci/hotplug/Kconfig"
2794
388b78ad 2795config RAPIDIO
56abde72 2796 tristate "RapidIO support"
388b78ad
AB
2797 depends on PCI
2798 default n
2799 help
2800 If you say Y here, the kernel will include drivers and
2801 infrastructure code to support RapidIO interconnect devices.
2802
2803source "drivers/rapidio/Kconfig"
2804
1da177e4
LT
2805endmenu
2806
2807menu "Executable file formats"
2808
2809source "fs/Kconfig.binfmt"
2810
2811config TRAD_SIGNALS
2812 bool
1da177e4 2813
1da177e4 2814config MIPS32_COMPAT
78aaf956 2815 bool
1da177e4
LT
2816
2817config COMPAT
2818 bool
1da177e4 2819
05e43966
AN
2820config SYSVIPC_COMPAT
2821 bool
05e43966 2822
1da177e4
LT
2823config MIPS32_O32
2824 bool "Kernel support for o32 binaries"
78aaf956
RB
2825 depends on 64BIT
2826 select ARCH_WANT_OLD_COMPAT_IPC
2827 select COMPAT
2828 select MIPS32_COMPAT
2829 select SYSVIPC_COMPAT if SYSVIPC
1da177e4
LT
2830 help
2831 Select this option if you want to run o32 binaries. These are pure
2832 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2833 existing binaries are in this format.
2834
2835 If unsure, say Y.
2836
2837config MIPS32_N32
2838 bool "Kernel support for n32 binaries"
c22eacfe 2839 depends on 64BIT
78aaf956
RB
2840 select COMPAT
2841 select MIPS32_COMPAT
2842 select SYSVIPC_COMPAT if SYSVIPC
1da177e4
LT
2843 help
2844 Select this option if you want to run n32 binaries. These are
2845 64-bit binaries using 32-bit quantities for addressing and certain
2846 data that would normally be 64-bit. They are used in special
2847 cases.
2848
2849 If unsure, say N.
2850
2851config BINFMT_ELF32
2852 bool
2853 default y if MIPS32_O32 || MIPS32_N32
2854
2116245e
RB
2855endmenu
2856
2857menu "Power management options"
2858
363c55ca
WZ
2859config ARCH_HIBERNATION_POSSIBLE
2860 def_bool y
3f5b3e17 2861 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
363c55ca 2862
f4cb5700
JB
2863config ARCH_SUSPEND_POSSIBLE
2864 def_bool y
3f5b3e17 2865 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
f4cb5700 2866
2116245e 2867source "kernel/power/Kconfig"
952fa954 2868
1da177e4
LT
2869endmenu
2870
7a998935
VK
2871config MIPS_EXTERNAL_TIMER
2872 bool
2873
7a998935 2874menu "CPU Power Management"
c095ebaf
PB
2875
2876if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
7a998935 2877source "drivers/cpufreq/Kconfig"
7a998935 2878endif
9726b43a 2879
c095ebaf
PB
2880source "drivers/cpuidle/Kconfig"
2881
2882endmenu
2883
d5950b43
SR
2884source "net/Kconfig"
2885
1da177e4
LT
2886source "drivers/Kconfig"
2887
98cdee0e
RB
2888source "drivers/firmware/Kconfig"
2889
1da177e4
LT
2890source "fs/Kconfig"
2891
2892source "arch/mips/Kconfig.debug"
2893
2894source "security/Kconfig"
2895
2896source "crypto/Kconfig"
2897
2898source "lib/Kconfig"
2235a54d
SL
2899
2900source "arch/mips/kvm/Kconfig"