[MIPS] Support for the RM9000-based Basler eXcite smart camera platform.
[firefly-linux-kernel-4.4.55.git] / arch / mips / Kconfig
1 config MIPS
2         bool
3         default y
4         # Horrible source of confusion.  Die, die, die ...
5         select EMBEDDED
6
7 mainmenu "Linux/MIPS Kernel Configuration"
8
9 menu "Machine selection"
10
11 choice
12         prompt "System type"
13         default SGI_IP22
14
15 config MIPS_MTX1
16         bool "4G Systems MTX-1 board"
17         select DMA_NONCOHERENT
18         select HW_HAS_PCI
19         select SOC_AU1500
20         select SYS_HAS_CPU_MIPS32_R1
21         select SYS_SUPPORTS_LITTLE_ENDIAN
22
23 config MIPS_BOSPORUS
24         bool "AMD Alchemy Bosporus board"
25         select SOC_AU1500
26         select DMA_NONCOHERENT
27         select SYS_HAS_CPU_MIPS32_R1
28         select SYS_SUPPORTS_LITTLE_ENDIAN
29
30 config MIPS_PB1000
31         bool "AMD Alchemy PB1000 board"
32         select SOC_AU1000
33         select DMA_NONCOHERENT
34         select HW_HAS_PCI
35         select SWAP_IO_SPACE
36         select SYS_HAS_CPU_MIPS32_R1
37         select SYS_SUPPORTS_LITTLE_ENDIAN
38
39 config MIPS_PB1100
40         bool "AMD Alchemy PB1100 board"
41         select SOC_AU1100
42         select DMA_NONCOHERENT
43         select HW_HAS_PCI
44         select SWAP_IO_SPACE
45         select SYS_HAS_CPU_MIPS32_R1
46         select SYS_SUPPORTS_LITTLE_ENDIAN
47
48 config MIPS_PB1500
49         bool "AMD Alchemy PB1500 board"
50         select SOC_AU1500
51         select DMA_NONCOHERENT
52         select HW_HAS_PCI
53         select SYS_HAS_CPU_MIPS32_R1
54         select SYS_SUPPORTS_LITTLE_ENDIAN
55
56 config MIPS_PB1550
57         bool "AMD Alchemy PB1550 board"
58         select SOC_AU1550
59         select DMA_NONCOHERENT
60         select HW_HAS_PCI
61         select MIPS_DISABLE_OBSOLETE_IDE
62         select SYS_HAS_CPU_MIPS32_R1
63         select SYS_SUPPORTS_LITTLE_ENDIAN
64
65 config MIPS_PB1200
66         bool "AMD Alchemy PB1200 board"
67         select SOC_AU1200
68         select DMA_NONCOHERENT
69         select MIPS_DISABLE_OBSOLETE_IDE
70         select SYS_HAS_CPU_MIPS32_R1
71         select SYS_SUPPORTS_LITTLE_ENDIAN
72
73 config MIPS_DB1000
74         bool "AMD Alchemy DB1000 board"
75         select SOC_AU1000
76         select DMA_NONCOHERENT
77         select HW_HAS_PCI
78         select SYS_HAS_CPU_MIPS32_R1
79         select SYS_SUPPORTS_LITTLE_ENDIAN
80
81 config MIPS_DB1100
82         bool "AMD Alchemy DB1100 board"
83         select SOC_AU1100
84         select DMA_NONCOHERENT
85         select SYS_HAS_CPU_MIPS32_R1
86         select SYS_SUPPORTS_LITTLE_ENDIAN
87
88 config MIPS_DB1500
89         bool "AMD Alchemy DB1500 board"
90         select SOC_AU1500
91         select DMA_NONCOHERENT
92         select HW_HAS_PCI
93         select MIPS_DISABLE_OBSOLETE_IDE
94         select SYS_HAS_CPU_MIPS32_R1
95         select SYS_SUPPORTS_BIG_ENDIAN
96         select SYS_SUPPORTS_LITTLE_ENDIAN
97
98 config MIPS_DB1550
99         bool "AMD Alchemy DB1550 board"
100         select SOC_AU1550
101         select HW_HAS_PCI
102         select DMA_NONCOHERENT
103         select MIPS_DISABLE_OBSOLETE_IDE
104         select SYS_HAS_CPU_MIPS32_R1
105         select SYS_SUPPORTS_LITTLE_ENDIAN
106
107 config MIPS_DB1200
108         bool "AMD Alchemy DB1200 board"
109         select SOC_AU1200
110         select DMA_COHERENT
111         select MIPS_DISABLE_OBSOLETE_IDE
112         select SYS_HAS_CPU_MIPS32_R1
113         select SYS_SUPPORTS_LITTLE_ENDIAN
114
115 config MIPS_MIRAGE
116         bool "AMD Alchemy Mirage board"
117         select DMA_NONCOHERENT
118         select SOC_AU1500
119         select SYS_HAS_CPU_MIPS32_R1
120         select SYS_SUPPORTS_LITTLE_ENDIAN
121
122 config BASLER_EXCITE
123         bool "Basler eXcite smart camera support"
124         select DMA_COHERENT
125         select HW_HAS_PCI
126         select IRQ_CPU
127         select IRQ_CPU_RM7K
128         select IRQ_CPU_RM9K
129         select SERIAL_RM9000
130         select SYS_HAS_CPU_RM9000
131         select SYS_SUPPORTS_32BIT_KERNEL
132         select SYS_SUPPORTS_64BIT_KERNEL
133         select SYS_SUPPORTS_BIG_ENDIAN
134         help
135           The eXcite is a smart camera platform manufactured by
136           Basler Vision Technologies AG
137
138 config BASLER_EXCITE_PROTOTYPE
139         bool "Support for pre-release units"
140         depends on BASLER_EXCITE
141         default n
142         help
143           Pre-series (prototype) units are different from later ones in
144           some ways. Select this option if you have one of these. Please
145           note that a kernel built with this option selected will not be
146           able to run on normal units.
147
148 config MIPS_COBALT
149         bool "Cobalt Server"
150         select DMA_NONCOHERENT
151         select HW_HAS_PCI
152         select I8259
153         select IRQ_CPU
154         select MIPS_GT64111
155         select SYS_HAS_CPU_NEVADA
156         select SYS_SUPPORTS_32BIT_KERNEL
157         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
158         select SYS_SUPPORTS_LITTLE_ENDIAN
159
160 config MACH_DECSTATION
161         bool "DECstations"
162         select BOOT_ELF32
163         select DMA_NONCOHERENT
164         select EARLY_PRINTK
165         select IRQ_CPU
166         select SYS_HAS_CPU_R3000
167         select SYS_HAS_CPU_R4X00
168         select SYS_SUPPORTS_32BIT_KERNEL
169         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
170         select SYS_SUPPORTS_LITTLE_ENDIAN
171         help
172           This enables support for DEC's MIPS based workstations.  For details
173           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
174           DECstation porting pages on <http://decstation.unix-ag.org/>.
175
176           If you have one of the following DECstation Models you definitely
177           want to choose R4xx0 for the CPU Type:
178
179                 DECstation 5000/50
180                 DECstation 5000/150
181                 DECstation 5000/260
182                 DECsystem 5900/260
183
184           otherwise choose R3000.
185
186 config MIPS_EV64120
187         bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
188         depends on EXPERIMENTAL
189         select DMA_NONCOHERENT
190         select HW_HAS_PCI
191         select MIPS_GT64120
192         select SYS_HAS_CPU_R5000
193         select SYS_SUPPORTS_32BIT_KERNEL
194         select SYS_SUPPORTS_64BIT_KERNEL
195         select SYS_SUPPORTS_BIG_ENDIAN
196         help
197           This is an evaluation board based on the Galileo GT-64120
198           single-chip system controller that contains a MIPS R5000 compatible
199           core running at 75/100MHz.  Their website is located at
200           <http://www.marvell.com/>.  Say Y here if you wish to build a
201           kernel for this platform.
202
203 config MIPS_EV96100
204         bool "Galileo EV96100 Evaluation board (EXPERIMENTAL)"
205         depends on EXPERIMENTAL
206         select DMA_NONCOHERENT
207         select HW_HAS_PCI
208         select IRQ_CPU
209         select MIPS_GT96100
210         select RM7000_CPU_SCACHE
211         select SWAP_IO_SPACE
212         select SYS_HAS_CPU_R5000
213         select SYS_HAS_CPU_RM7000
214         select SYS_SUPPORTS_32BIT_KERNEL
215         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
216         select SYS_SUPPORTS_BIG_ENDIAN
217         help
218           This is an evaluation board based on the Galileo GT-96100 LAN/WAN
219           communications controllers containing a MIPS R5000 compatible core
220           running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
221           here if you wish to build a kernel for this platform.
222
223 config MIPS_IVR
224         bool "Globespan IVR board"
225         select DMA_NONCOHERENT
226         select HW_HAS_PCI
227         select ITE_BOARD_GEN
228         select SYS_HAS_CPU_NEVADA
229         select SYS_SUPPORTS_32BIT_KERNEL
230         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
231         select SYS_SUPPORTS_LITTLE_ENDIAN
232         help
233           This is an evaluation board built by Globespan to showcase thir
234           iVR (Internet Video Recorder) design. It utilizes a QED RM5231
235           R5000 MIPS core. More information can be found out their website
236           located at <http://www.globespan.net/>. Say Y here if you wish to
237           build a kernel for this platform.
238
239 config MIPS_ITE8172
240         bool "ITE 8172G board"
241         select DMA_NONCOHERENT
242         select HW_HAS_PCI
243         select ITE_BOARD_GEN
244         select SYS_HAS_CPU_R5432
245         select SYS_HAS_CPU_NEVADA
246         select SYS_SUPPORTS_32BIT_KERNEL
247         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
248         select SYS_SUPPORTS_LITTLE_ENDIAN
249         help
250           Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
251           with ATX form factor that utilizes a MIPS R5000 to work with its
252           ITE8172G companion internet appliance chip. The MIPS core can be
253           either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
254           a kernel for this platform.
255
256 config MACH_JAZZ
257         bool "Jazz family of machines"
258         select ARC
259         select ARC32
260         select ARCH_MAY_HAVE_PC_FDC
261         select GENERIC_ISA_DMA
262         select I8253
263         select I8259
264         select ISA
265         select SYS_HAS_CPU_R4X00
266         select SYS_SUPPORTS_32BIT_KERNEL
267         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
268         help
269          This a family of machines based on the MIPS R4030 chipset which was
270          used by several vendors to build RISC/os and Windows NT workstations.
271          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
272          Olivetti M700-10 workstations.
273
274 config LASAT
275         bool "LASAT Networks platforms"
276         select DMA_NONCOHERENT
277         select HW_HAS_PCI
278         select MIPS_GT64120
279         select MIPS_NILE4
280         select R5000_CPU_SCACHE
281         select SYS_HAS_CPU_R5000
282         select SYS_SUPPORTS_32BIT_KERNEL
283         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
284         select SYS_SUPPORTS_LITTLE_ENDIAN
285
286 config MIPS_ATLAS
287         bool "MIPS Atlas board"
288         select BOOT_ELF32
289         select DMA_NONCOHERENT
290         select IRQ_CPU
291         select HW_HAS_PCI
292         select MIPS_BOARDS_GEN
293         select MIPS_BONITO64
294         select MIPS_GT64120
295         select MIPS_MSC
296         select RM7000_CPU_SCACHE
297         select SWAP_IO_SPACE
298         select SYS_HAS_CPU_MIPS32_R1
299         select SYS_HAS_CPU_MIPS32_R2
300         select SYS_HAS_CPU_MIPS64_R1
301         select SYS_HAS_CPU_NEVADA
302         select SYS_HAS_CPU_RM7000
303         select SYS_SUPPORTS_32BIT_KERNEL
304         select SYS_SUPPORTS_64BIT_KERNEL
305         select SYS_SUPPORTS_BIG_ENDIAN
306         select SYS_SUPPORTS_LITTLE_ENDIAN
307         help
308           This enables support for the MIPS Technologies Atlas evaluation
309           board.
310
311 config MIPS_MALTA
312         bool "MIPS Malta board"
313         select ARCH_MAY_HAVE_PC_FDC
314         select BOOT_ELF32
315         select HAVE_STD_PC_SERIAL_PORT
316         select DMA_NONCOHERENT
317         select IRQ_CPU
318         select GENERIC_ISA_DMA
319         select HW_HAS_PCI
320         select I8259
321         select MIPS_BOARDS_GEN
322         select MIPS_BONITO64
323         select MIPS_GT64120
324         select MIPS_MSC
325         select SWAP_IO_SPACE
326         select SYS_HAS_CPU_MIPS32_R1
327         select SYS_HAS_CPU_MIPS32_R2
328         select SYS_HAS_CPU_MIPS64_R1
329         select SYS_HAS_CPU_NEVADA
330         select SYS_HAS_CPU_RM7000
331         select SYS_SUPPORTS_32BIT_KERNEL
332         select SYS_SUPPORTS_64BIT_KERNEL
333         select SYS_SUPPORTS_BIG_ENDIAN
334         select SYS_SUPPORTS_LITTLE_ENDIAN
335         help
336           This enables support for the MIPS Technologies Malta evaluation
337           board.
338
339 config MIPS_SEAD
340         bool "MIPS SEAD board (EXPERIMENTAL)"
341         depends on EXPERIMENTAL
342         select IRQ_CPU
343         select DMA_NONCOHERENT
344         select MIPS_BOARDS_GEN
345         select SYS_HAS_CPU_MIPS32_R1
346         select SYS_HAS_CPU_MIPS32_R2
347         select SYS_HAS_CPU_MIPS64_R1
348         select SYS_SUPPORTS_32BIT_KERNEL
349         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
350         select SYS_SUPPORTS_BIG_ENDIAN
351         select SYS_SUPPORTS_LITTLE_ENDIAN
352         help
353           This enables support for the MIPS Technologies SEAD evaluation
354           board.
355
356 config WR_PPMC
357         bool "Support for Wind River PPMC board"
358         select IRQ_CPU
359         select BOOT_ELF32
360         select DMA_NONCOHERENT
361         select HW_HAS_PCI
362         select MIPS_GT64120
363         select SWAP_IO_SPACE
364         select SYS_HAS_CPU_MIPS32_R1
365         select SYS_HAS_CPU_MIPS32_R2
366         select SYS_HAS_CPU_MIPS64_R1
367         select SYS_HAS_CPU_NEVADA
368         select SYS_HAS_CPU_RM7000
369         select SYS_SUPPORTS_32BIT_KERNEL
370         select SYS_SUPPORTS_64BIT_KERNEL
371         select SYS_SUPPORTS_BIG_ENDIAN
372         select SYS_SUPPORTS_LITTLE_ENDIAN
373         help
374           This enables support for the Wind River MIPS32 4KC PPMC evaluation
375           board, which is based on GT64120 bridge chip.
376
377 config MIPS_SIM
378         bool 'MIPS simulator (MIPSsim)'
379         select DMA_NONCOHERENT
380         select IRQ_CPU
381         select SYS_HAS_CPU_MIPS32_R1
382         select SYS_HAS_CPU_MIPS32_R2
383         select SYS_SUPPORTS_32BIT_KERNEL
384         select SYS_SUPPORTS_BIG_ENDIAN
385         select SYS_SUPPORTS_LITTLE_ENDIAN
386         help
387           This option enables support for MIPS Technologies MIPSsim software
388           emulator.
389
390 config MOMENCO_JAGUAR_ATX
391         bool "Momentum Jaguar board"
392         select BOOT_ELF32
393         select DMA_NONCOHERENT
394         select HW_HAS_PCI
395         select IRQ_CPU
396         select IRQ_CPU_RM7K
397         select IRQ_MV64340
398         select LIMITED_DMA
399         select PCI_MARVELL
400         select RM7000_CPU_SCACHE
401         select SWAP_IO_SPACE
402         select SYS_HAS_CPU_RM9000
403         select SYS_SUPPORTS_32BIT_KERNEL
404         select SYS_SUPPORTS_64BIT_KERNEL
405         select SYS_SUPPORTS_BIG_ENDIAN
406         help
407           The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
408           Momentum Computer <http://www.momenco.com/>.
409
410 config MOMENCO_OCELOT
411         bool "Momentum Ocelot board"
412         select DMA_NONCOHERENT
413         select HW_HAS_PCI
414         select IRQ_CPU
415         select IRQ_CPU_RM7K
416         select MIPS_GT64120
417         select RM7000_CPU_SCACHE
418         select SWAP_IO_SPACE
419         select SYS_HAS_CPU_RM7000
420         select SYS_SUPPORTS_32BIT_KERNEL
421         select SYS_SUPPORTS_64BIT_KERNEL
422         select SYS_SUPPORTS_BIG_ENDIAN
423         help
424           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
425           Momentum Computer <http://www.momenco.com/>.
426
427 config MOMENCO_OCELOT_3
428         bool "Momentum Ocelot-3 board"
429         select BOOT_ELF32
430         select DMA_NONCOHERENT
431         select HW_HAS_PCI
432         select IRQ_CPU
433         select IRQ_CPU_RM7K
434         select IRQ_MV64340
435         select PCI_MARVELL
436         select RM7000_CPU_SCACHE
437         select SWAP_IO_SPACE
438         select SYS_HAS_CPU_RM9000
439         select SYS_SUPPORTS_32BIT_KERNEL
440         select SYS_SUPPORTS_64BIT_KERNEL
441         select SYS_SUPPORTS_BIG_ENDIAN
442         help
443           The Ocelot-3 is based off Discovery III System Controller and
444           PMC-Sierra Rm79000 core.
445
446 config MOMENCO_OCELOT_C
447         bool "Momentum Ocelot-C board"
448         select DMA_NONCOHERENT
449         select HW_HAS_PCI
450         select IRQ_CPU
451         select IRQ_MV64340
452         select PCI_MARVELL
453         select RM7000_CPU_SCACHE
454         select SWAP_IO_SPACE
455         select SYS_HAS_CPU_RM7000
456         select SYS_SUPPORTS_32BIT_KERNEL
457         select SYS_SUPPORTS_64BIT_KERNEL
458         select SYS_SUPPORTS_BIG_ENDIAN
459         help
460           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
461           Momentum Computer <http://www.momenco.com/>.
462
463 config MOMENCO_OCELOT_G
464         bool "Momentum Ocelot-G board"
465         select DMA_NONCOHERENT
466         select HW_HAS_PCI
467         select IRQ_CPU
468         select IRQ_CPU_RM7K
469         select PCI_MARVELL
470         select RM7000_CPU_SCACHE
471         select SWAP_IO_SPACE
472         select SYS_HAS_CPU_RM7000
473         select SYS_SUPPORTS_32BIT_KERNEL
474         select SYS_SUPPORTS_64BIT_KERNEL
475         select SYS_SUPPORTS_BIG_ENDIAN
476         help
477           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
478           Momentum Computer <http://www.momenco.com/>.
479
480 config MIPS_XXS1500
481         bool "MyCable XXS1500 board"
482         select DMA_NONCOHERENT
483         select SOC_AU1500
484         select SYS_SUPPORTS_LITTLE_ENDIAN
485
486 config PNX8550_V2PCI
487         bool "Philips PNX8550 based Viper2-PCI board"
488         depends on BROKEN
489         select PNX8550
490         select SYS_SUPPORTS_LITTLE_ENDIAN
491
492 config PNX8550_JBS
493         bool "Philips PNX8550 based JBS board"
494         depends on BROKEN
495         select PNX8550
496         select SYS_SUPPORTS_LITTLE_ENDIAN
497
498 config DDB5477
499         bool "NEC DDB Vrc-5477"
500         select DDB5XXX_COMMON
501         select DMA_NONCOHERENT
502         select HW_HAS_PCI
503         select I8259
504         select IRQ_CPU
505         select SYS_HAS_CPU_R5432
506         select SYS_SUPPORTS_32BIT_KERNEL
507         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
508         select SYS_SUPPORTS_LITTLE_ENDIAN
509         help
510           This enables support for the R5432-based NEC DDB Vrc-5477,
511           or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
512
513           Features : kernel debugging, serial terminal, NFS root fs, on-board
514           ether port USB, AC97, PCI, etc.
515
516 config MACH_VR41XX
517         bool "NEC VR41XX-based machines"
518         select SYS_HAS_CPU_VR41XX
519         select SYS_SUPPORTS_32BIT_KERNEL
520         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
521
522 config PMC_YOSEMITE
523         bool "PMC-Sierra Yosemite eval board"
524         select DMA_COHERENT
525         select HW_HAS_PCI
526         select IRQ_CPU
527         select IRQ_CPU_RM7K
528         select IRQ_CPU_RM9K
529         select SWAP_IO_SPACE
530         select SYS_HAS_CPU_RM9000
531         select SYS_SUPPORTS_32BIT_KERNEL
532         select SYS_SUPPORTS_64BIT_KERNEL
533         select SYS_SUPPORTS_BIG_ENDIAN
534         select SYS_SUPPORTS_HIGHMEM
535         help
536           Yosemite is an evaluation board for the RM9000x2 processor
537           manufactured by PMC-Sierra.
538
539 config QEMU
540         bool "Qemu"
541         select DMA_COHERENT
542         select GENERIC_ISA_DMA
543         select HAVE_STD_PC_SERIAL_PORT
544         select I8253
545         select I8259
546         select ISA
547         select SWAP_IO_SPACE
548         select SYS_HAS_CPU_MIPS32_R1
549         select SYS_SUPPORTS_32BIT_KERNEL
550         select SYS_SUPPORTS_BIG_ENDIAN
551         help
552           Qemu is a software emulator which among other architectures also
553           can simulate a MIPS32 4Kc system.  This patch adds support for the
554           system architecture that currently is being simulated by Qemu.  It
555           will eventually be removed again when Qemu has the capability to
556           simulate actual MIPS hardware platforms.  More information on Qemu
557           can be found at http://www.linux-mips.org/wiki/Qemu.
558
559 config MARKEINS
560         bool "Support for NEC EMMA2RH Mark-eins"
561         select DMA_NONCOHERENT
562         select HW_HAS_PCI
563         select IRQ_CPU
564         select SWAP_IO_SPACE
565         select SYS_SUPPORTS_32BIT_KERNEL
566         select SYS_SUPPORTS_BIG_ENDIAN
567         select SYS_SUPPORTS_LITTLE_ENDIAN
568         select SYS_HAS_CPU_R5000
569         help
570           This enables support for the R5432-based NEC Mark-eins
571           boards with R5500 CPU.
572
573 config SGI_IP22
574         bool "SGI IP22 (Indy/Indigo2)"
575         select ARC
576         select ARC32
577         select BOOT_ELF32
578         select DMA_NONCOHERENT
579         select HW_HAS_EISA
580         select IP22_CPU_SCACHE
581         select IRQ_CPU
582         select NO_ISA if ISA
583         select SWAP_IO_SPACE
584         select SYS_HAS_CPU_R4X00
585         select SYS_HAS_CPU_R5000
586         select SYS_SUPPORTS_32BIT_KERNEL
587         select SYS_SUPPORTS_64BIT_KERNEL
588         select SYS_SUPPORTS_BIG_ENDIAN
589         help
590           This are the SGI Indy, Challenge S and Indigo2, as well as certain
591           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
592           that runs on these, say Y here.
593
594 config SGI_IP27
595         bool "SGI IP27 (Origin200/2000)"
596         select ARC
597         select ARC64
598         select BOOT_ELF64
599         select DMA_IP27
600         select HW_HAS_PCI
601         select PCI_DOMAINS
602         select SYS_HAS_CPU_R10000
603         select SYS_SUPPORTS_64BIT_KERNEL
604         select SYS_SUPPORTS_BIG_ENDIAN
605         select SYS_SUPPORTS_NUMA
606         help
607           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
608           workstations.  To compile a Linux kernel that runs on these, say Y
609           here.
610
611 config SGI_IP32
612         bool "SGI IP32 (O2) (EXPERIMENTAL)"
613         depends on EXPERIMENTAL
614         select ARC
615         select ARC32
616         select BOOT_ELF32
617         select OWN_DMA
618         select DMA_IP32
619         select DMA_NONCOHERENT
620         select HW_HAS_PCI
621         select R5000_CPU_SCACHE
622         select RM7000_CPU_SCACHE
623         select SYS_HAS_CPU_R5000
624         select SYS_HAS_CPU_R10000 if BROKEN
625         select SYS_HAS_CPU_RM7000
626         select SYS_HAS_CPU_NEVADA
627         select SYS_SUPPORTS_64BIT_KERNEL
628         select SYS_SUPPORTS_BIG_ENDIAN
629         help
630           If you want this kernel to run on SGI O2 workstation, say Y here.
631
632 config SIBYTE_BIGSUR
633         bool "Sibyte BCM91480B-BigSur"
634         select BOOT_ELF32
635         select DMA_COHERENT
636         select PCI_DOMAINS
637         select SIBYTE_BCM1x80
638         select SWAP_IO_SPACE
639         select SYS_HAS_CPU_SB1
640         select SYS_SUPPORTS_BIG_ENDIAN
641         select SYS_SUPPORTS_LITTLE_ENDIAN
642
643 config SIBYTE_SWARM
644         bool "Sibyte BCM91250A-SWARM"
645         select BOOT_ELF32
646         select DMA_COHERENT
647         select SIBYTE_SB1250
648         select SWAP_IO_SPACE
649         select SYS_HAS_CPU_SB1
650         select SYS_SUPPORTS_BIG_ENDIAN
651         select SYS_SUPPORTS_HIGHMEM
652         select SYS_SUPPORTS_LITTLE_ENDIAN
653
654 config SIBYTE_SENTOSA
655         bool "Sibyte BCM91250E-Sentosa"
656         depends on EXPERIMENTAL
657         select BOOT_ELF32
658         select DMA_COHERENT
659         select SIBYTE_SB1250
660         select SWAP_IO_SPACE
661         select SYS_HAS_CPU_SB1
662         select SYS_SUPPORTS_BIG_ENDIAN
663         select SYS_SUPPORTS_LITTLE_ENDIAN
664
665 config SIBYTE_RHONE
666         bool "Sibyte BCM91125E-Rhone"
667         depends on EXPERIMENTAL
668         select BOOT_ELF32
669         select DMA_COHERENT
670         select SIBYTE_BCM1125H
671         select SWAP_IO_SPACE
672         select SYS_HAS_CPU_SB1
673         select SYS_SUPPORTS_BIG_ENDIAN
674         select SYS_SUPPORTS_LITTLE_ENDIAN
675
676 config SIBYTE_CARMEL
677         bool "Sibyte BCM91120x-Carmel"
678         depends on EXPERIMENTAL
679         select BOOT_ELF32
680         select DMA_COHERENT
681         select SIBYTE_BCM1120
682         select SWAP_IO_SPACE
683         select SYS_HAS_CPU_SB1
684         select SYS_SUPPORTS_BIG_ENDIAN
685         select SYS_SUPPORTS_LITTLE_ENDIAN
686
687 config SIBYTE_PTSWARM
688         bool "Sibyte BCM91250PT-PTSWARM"
689         depends on EXPERIMENTAL
690         select BOOT_ELF32
691         select DMA_COHERENT
692         select SIBYTE_SB1250
693         select SWAP_IO_SPACE
694         select SYS_HAS_CPU_SB1
695         select SYS_SUPPORTS_BIG_ENDIAN
696         select SYS_SUPPORTS_HIGHMEM
697         select SYS_SUPPORTS_LITTLE_ENDIAN
698
699 config SIBYTE_LITTLESUR
700         bool "Sibyte BCM91250C2-LittleSur"
701         depends on EXPERIMENTAL
702         select BOOT_ELF32
703         select DMA_COHERENT
704         select SIBYTE_SB1250
705         select SWAP_IO_SPACE
706         select SYS_HAS_CPU_SB1
707         select SYS_SUPPORTS_BIG_ENDIAN
708         select SYS_SUPPORTS_HIGHMEM
709         select SYS_SUPPORTS_LITTLE_ENDIAN
710
711 config SIBYTE_CRHINE
712         bool "Sibyte BCM91120C-CRhine"
713         depends on EXPERIMENTAL
714         select BOOT_ELF32
715         select DMA_COHERENT
716         select SIBYTE_BCM1120
717         select SWAP_IO_SPACE
718         select SYS_HAS_CPU_SB1
719         select SYS_SUPPORTS_BIG_ENDIAN
720         select SYS_SUPPORTS_LITTLE_ENDIAN
721
722 config SIBYTE_CRHONE
723         bool "Sibyte BCM91125C-CRhone"
724         depends on EXPERIMENTAL
725         select BOOT_ELF32
726         select DMA_COHERENT
727         select SIBYTE_BCM1125
728         select SWAP_IO_SPACE
729         select SYS_HAS_CPU_SB1
730         select SYS_SUPPORTS_BIG_ENDIAN
731         select SYS_SUPPORTS_HIGHMEM
732         select SYS_SUPPORTS_LITTLE_ENDIAN
733
734 config SNI_RM200_PCI
735         bool "SNI RM200 PCI"
736         select ARC if CPU_LITTLE_ENDIAN
737         select ARC32 if CPU_LITTLE_ENDIAN
738         select ARCH_MAY_HAVE_PC_FDC
739         select BOOT_ELF32
740         select DMA_NONCOHERENT
741         select GENERIC_ISA_DMA
742         select HAVE_STD_PC_SERIAL_PORT
743         select HW_HAS_EISA
744         select HW_HAS_PCI
745         select I8253
746         select I8259
747         select ISA
748         select SWAP_IO_SPACE if CPU_BIG_ENDIAN
749         select SYS_HAS_CPU_R4X00
750         select SYS_HAS_CPU_R5000
751         select R5000_CPU_SCACHE
752         select SYS_SUPPORTS_32BIT_KERNEL
753         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
754         select SYS_SUPPORTS_BIG_ENDIAN
755         select SYS_SUPPORTS_HIGHMEM
756         select SYS_SUPPORTS_LITTLE_ENDIAN
757         help
758           The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
759           Nixdorf Informationssysteme (SNI), parent company of Pyramid
760           Technology and now in turn merged with Fujitsu.  Say Y here to
761           support this machine type.
762
763 config TOSHIBA_JMR3927
764         bool "Toshiba JMR-TX3927 board"
765         select DMA_NONCOHERENT
766         select HW_HAS_PCI
767         select MIPS_TX3927
768         select SWAP_IO_SPACE
769         select SYS_HAS_CPU_TX39XX
770         select SYS_SUPPORTS_32BIT_KERNEL
771         select SYS_SUPPORTS_BIG_ENDIAN
772         select TOSHIBA_BOARDS
773
774 config TOSHIBA_RBTX4927
775         bool "Toshiba TBTX49[23]7 board"
776         select DMA_NONCOHERENT
777         select HAS_TXX9_SERIAL
778         select HW_HAS_PCI
779         select I8259
780         select ISA
781         select SWAP_IO_SPACE
782         select SYS_HAS_CPU_TX49XX
783         select SYS_SUPPORTS_32BIT_KERNEL
784         select SYS_SUPPORTS_64BIT_KERNEL
785         select SYS_SUPPORTS_BIG_ENDIAN
786         select TOSHIBA_BOARDS
787         help
788           This Toshiba board is based on the TX4927 processor. Say Y here to
789           support this machine type
790
791 config TOSHIBA_RBTX4938
792         bool "Toshiba RBTX4938 board"
793         select HAVE_STD_PC_SERIAL_PORT
794         select DMA_NONCOHERENT
795         select GENERIC_ISA_DMA
796         select HAS_TXX9_SERIAL
797         select HW_HAS_PCI
798         select I8259
799         select ISA
800         select SWAP_IO_SPACE
801         select SYS_HAS_CPU_TX49XX
802         select SYS_SUPPORTS_32BIT_KERNEL
803         select SYS_SUPPORTS_LITTLE_ENDIAN
804         select SYS_SUPPORTS_BIG_ENDIAN
805         select TOSHIBA_BOARDS
806         help
807           This Toshiba board is based on the TX4938 processor. Say Y here to
808           support this machine type
809
810 endchoice
811
812 source "arch/mips/ddb5xxx/Kconfig"
813 source "arch/mips/gt64120/ev64120/Kconfig"
814 source "arch/mips/jazz/Kconfig"
815 source "arch/mips/ite-boards/Kconfig"
816 source "arch/mips/lasat/Kconfig"
817 source "arch/mips/momentum/Kconfig"
818 source "arch/mips/pmc-sierra/Kconfig"
819 source "arch/mips/sgi-ip27/Kconfig"
820 source "arch/mips/sibyte/Kconfig"
821 source "arch/mips/tx4927/Kconfig"
822 source "arch/mips/tx4938/Kconfig"
823 source "arch/mips/vr41xx/Kconfig"
824 source "arch/mips/philips/pnx8550/common/Kconfig"
825 source "arch/mips/cobalt/Kconfig"
826
827 endmenu
828
829 config RWSEM_GENERIC_SPINLOCK
830         bool
831         default y
832
833 config RWSEM_XCHGADD_ALGORITHM
834         bool
835
836 config GENERIC_FIND_NEXT_BIT
837         bool
838         default y
839
840 config GENERIC_HWEIGHT
841         bool
842         default y
843
844 config GENERIC_CALIBRATE_DELAY
845         bool
846         default y
847
848 config SCHED_NO_NO_OMIT_FRAME_POINTER
849         bool
850         default y
851
852 #
853 # Select some configuration options automatically based on user selections.
854 #
855 config ARC
856         bool
857
858 config ARCH_MAY_HAVE_PC_FDC
859         bool
860
861 config DMA_COHERENT
862         bool
863
864 config DMA_IP27
865         bool
866
867 config DMA_IP32
868         bool
869         select DMA_NEED_PCI_MAP_STATE
870
871 config DMA_NONCOHERENT
872         bool
873         select DMA_NEED_PCI_MAP_STATE
874
875 config DMA_NEED_PCI_MAP_STATE
876         bool
877
878 config OWN_DMA
879         bool
880
881 config EARLY_PRINTK
882         bool
883
884 config GENERIC_ISA_DMA
885         bool
886
887 config I8259
888         bool
889
890 config LIMITED_DMA
891         bool
892         select HIGHMEM
893         select SYS_SUPPORTS_HIGHMEM
894
895 config MIPS_BONITO64
896         bool
897
898 config MIPS_MSC
899         bool
900
901 config MIPS_NILE4
902         bool
903
904 config MIPS_DISABLE_OBSOLETE_IDE
905         bool
906
907 #
908 # Endianess selection.  Suffiently obscure so many users don't know what to
909 # answer,so we try hard to limit the available choices.  Also the use of a
910 # choice statement should be more obvious to the user.
911 #
912 choice
913         prompt "Endianess selection"
914         help
915           Some MIPS machines can be configured for either little or big endian
916           byte order. These modes require different kernels and a different
917           Linux distribution.  In general there is one prefered byteorder for a
918           particular system but some systems are just as commonly used in the
919           one or the other endianess.
920
921 config CPU_BIG_ENDIAN
922         bool "Big endian"
923         depends on SYS_SUPPORTS_BIG_ENDIAN
924
925 config CPU_LITTLE_ENDIAN
926         bool "Little endian"
927         depends on SYS_SUPPORTS_LITTLE_ENDIAN
928         help
929
930 endchoice
931
932 config SYS_SUPPORTS_BIG_ENDIAN
933         bool
934
935 config SYS_SUPPORTS_LITTLE_ENDIAN
936         bool
937
938 config IRQ_CPU
939         bool
940
941 config IRQ_CPU_RM7K
942         bool
943
944 config IRQ_CPU_RM9K
945         bool
946
947 config IRQ_MV64340
948         bool
949
950 config DDB5XXX_COMMON
951         bool
952
953 config MIPS_BOARDS_GEN
954         bool
955
956 config MIPS_GT64111
957         bool
958
959 config MIPS_GT64120
960         bool
961
962 config MIPS_TX3927
963         bool
964         select HAS_TXX9_SERIAL
965
966 config PCI_MARVELL
967         bool
968
969 config ITE_BOARD_GEN
970         bool
971
972 config SOC_AU1000
973         bool
974         select SOC_AU1X00
975
976 config SOC_AU1100
977         bool
978         select SOC_AU1X00
979
980 config SOC_AU1500
981         bool
982         select SOC_AU1X00
983
984 config SOC_AU1550
985         bool
986         select SOC_AU1X00
987
988 config SOC_AU1200
989         bool
990         select SOC_AU1X00
991
992 config SOC_AU1X00
993         bool
994         select SYS_HAS_CPU_MIPS32_R1
995         select SYS_SUPPORTS_32BIT_KERNEL
996
997 config PNX8550
998         bool
999         select SOC_PNX8550
1000
1001 config SOC_PNX8550
1002         bool
1003         select DMA_NONCOHERENT
1004         select HW_HAS_PCI
1005         select SYS_HAS_CPU_MIPS32_R1
1006         select SYS_SUPPORTS_32BIT_KERNEL
1007
1008 config SWAP_IO_SPACE
1009         bool
1010
1011 config EMMA2RH
1012         bool
1013         depends on MARKEINS
1014         default y
1015
1016 #
1017 # Unfortunately not all GT64120 systems run the chip at the same clock.
1018 # As the user for the clock rate and try to minimize the available options.
1019 #
1020 choice
1021         prompt "Galileo Chip Clock"
1022         #default SYSCLK_83 if MIPS_EV64120
1023         depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1024         default SYSCLK_83 if MIPS_EV64120
1025         default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
1026
1027 config SYSCLK_75
1028         bool "75" if MIPS_EV64120
1029
1030 config SYSCLK_83
1031         bool "83.3" if MIPS_EV64120
1032
1033 config SYSCLK_100
1034         bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1035
1036 endchoice
1037
1038 config ARC32
1039         bool
1040
1041 config AU1X00_USB_DEVICE
1042         bool
1043         depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1044         default n
1045
1046 config MIPS_GT96100
1047         bool
1048         select MIPS_GT64120
1049
1050 config IT8172_CIR
1051         bool
1052         depends on MIPS_ITE8172 || MIPS_IVR
1053         default y
1054
1055 config IT8712
1056         bool
1057         depends on MIPS_ITE8172
1058         default y
1059
1060 config BOOT_ELF32
1061         bool
1062
1063 config MIPS_L1_CACHE_SHIFT
1064         int
1065         default "4" if MACH_DECSTATION
1066         default "7" if SGI_IP27
1067         default "5"
1068
1069 config HAVE_STD_PC_SERIAL_PORT
1070         bool
1071
1072 config ARC_CONSOLE
1073         bool "ARC console support"
1074         depends on SGI_IP22 || SNI_RM200_PCI
1075
1076 config ARC_MEMORY
1077         bool
1078         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1079         default y
1080
1081 config ARC_PROMLIB
1082         bool
1083         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1084         default y
1085
1086 config ARC64
1087         bool
1088
1089 config BOOT_ELF64
1090         bool
1091
1092 config TOSHIBA_BOARDS
1093         bool
1094
1095 menu "CPU selection"
1096
1097 choice
1098         prompt "CPU type"
1099         default CPU_R4X00
1100
1101 config CPU_MIPS32_R1
1102         bool "MIPS32 Release 1"
1103         depends on SYS_HAS_CPU_MIPS32_R1
1104         select CPU_HAS_LLSC
1105         select CPU_HAS_PREFETCH
1106         select CPU_SUPPORTS_32BIT_KERNEL
1107         select CPU_SUPPORTS_HIGHMEM
1108         help
1109           Choose this option to build a kernel for release 1 or later of the
1110           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1111           MIPS processor are based on a MIPS32 processor.  If you know the
1112           specific type of processor in your system, choose those that one
1113           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1114           Release 2 of the MIPS32 architecture is available since several
1115           years so chances are you even have a MIPS32 Release 2 processor
1116           in which case you should choose CPU_MIPS32_R2 instead for better
1117           performance.
1118
1119 config CPU_MIPS32_R2
1120         bool "MIPS32 Release 2"
1121         depends on SYS_HAS_CPU_MIPS32_R2
1122         select CPU_HAS_LLSC
1123         select CPU_HAS_PREFETCH
1124         select CPU_SUPPORTS_32BIT_KERNEL
1125         select CPU_SUPPORTS_HIGHMEM
1126         help
1127           Choose this option to build a kernel for release 2 or later of the
1128           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1129           MIPS processor are based on a MIPS32 processor.  If you know the
1130           specific type of processor in your system, choose those that one
1131           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1132
1133 config CPU_MIPS64_R1
1134         bool "MIPS64 Release 1"
1135         depends on SYS_HAS_CPU_MIPS64_R1
1136         select CPU_HAS_LLSC
1137         select CPU_HAS_PREFETCH
1138         select CPU_SUPPORTS_32BIT_KERNEL
1139         select CPU_SUPPORTS_64BIT_KERNEL
1140         select CPU_SUPPORTS_HIGHMEM
1141         help
1142           Choose this option to build a kernel for release 1 or later of the
1143           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1144           MIPS processor are based on a MIPS64 processor.  If you know the
1145           specific type of processor in your system, choose those that one
1146           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1147           Release 2 of the MIPS64 architecture is available since several
1148           years so chances are you even have a MIPS64 Release 2 processor
1149           in which case you should choose CPU_MIPS64_R2 instead for better
1150           performance.
1151
1152 config CPU_MIPS64_R2
1153         bool "MIPS64 Release 2"
1154         depends on SYS_HAS_CPU_MIPS64_R2
1155         select CPU_HAS_LLSC
1156         select CPU_HAS_PREFETCH
1157         select CPU_SUPPORTS_32BIT_KERNEL
1158         select CPU_SUPPORTS_64BIT_KERNEL
1159         select CPU_SUPPORTS_HIGHMEM
1160         help
1161           Choose this option to build a kernel for release 2 or later of the
1162           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1163           MIPS processor are based on a MIPS64 processor.  If you know the
1164           specific type of processor in your system, choose those that one
1165           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1166
1167 config CPU_R3000
1168         bool "R3000"
1169         depends on SYS_HAS_CPU_R3000
1170         select CPU_HAS_WB
1171         select CPU_SUPPORTS_32BIT_KERNEL
1172         select CPU_SUPPORTS_HIGHMEM
1173         help
1174           Please make sure to pick the right CPU type. Linux/MIPS is not
1175           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1176           *not* work on R4000 machines and vice versa.  However, since most
1177           of the supported machines have an R4000 (or similar) CPU, R4x00
1178           might be a safe bet.  If the resulting kernel does not work,
1179           try to recompile with R3000.
1180
1181 config CPU_TX39XX
1182         bool "R39XX"
1183         depends on SYS_HAS_CPU_TX39XX
1184         select CPU_SUPPORTS_32BIT_KERNEL
1185
1186 config CPU_VR41XX
1187         bool "R41xx"
1188         depends on SYS_HAS_CPU_VR41XX
1189         select CPU_SUPPORTS_32BIT_KERNEL
1190         select CPU_SUPPORTS_64BIT_KERNEL
1191         help
1192           The options selects support for the NEC VR4100 series of processors.
1193           Only choose this option if you have one of these processors as a
1194           kernel built with this option will not run on any other type of
1195           processor or vice versa.
1196
1197 config CPU_R4300
1198         bool "R4300"
1199         depends on SYS_HAS_CPU_R4300
1200         select CPU_HAS_LLSC
1201         select CPU_SUPPORTS_32BIT_KERNEL
1202         select CPU_SUPPORTS_64BIT_KERNEL
1203         help
1204           MIPS Technologies R4300-series processors.
1205
1206 config CPU_R4X00
1207         bool "R4x00"
1208         depends on SYS_HAS_CPU_R4X00
1209         select CPU_HAS_LLSC
1210         select CPU_SUPPORTS_32BIT_KERNEL
1211         select CPU_SUPPORTS_64BIT_KERNEL
1212         help
1213           MIPS Technologies R4000-series processors other than 4300, including
1214           the R4000, R4400, R4600, and 4700.
1215
1216 config CPU_TX49XX
1217         bool "R49XX"
1218         depends on SYS_HAS_CPU_TX49XX
1219         select CPU_HAS_LLSC
1220         select CPU_HAS_PREFETCH
1221         select CPU_SUPPORTS_32BIT_KERNEL
1222         select CPU_SUPPORTS_64BIT_KERNEL
1223
1224 config CPU_R5000
1225         bool "R5000"
1226         depends on SYS_HAS_CPU_R5000
1227         select CPU_HAS_LLSC
1228         select CPU_SUPPORTS_32BIT_KERNEL
1229         select CPU_SUPPORTS_64BIT_KERNEL
1230         help
1231           MIPS Technologies R5000-series processors other than the Nevada.
1232
1233 config CPU_R5432
1234         bool "R5432"
1235         depends on SYS_HAS_CPU_R5432
1236         select CPU_HAS_LLSC
1237         select CPU_SUPPORTS_32BIT_KERNEL
1238         select CPU_SUPPORTS_64BIT_KERNEL
1239
1240 config CPU_R6000
1241         bool "R6000"
1242         depends on EXPERIMENTAL
1243         select CPU_HAS_LLSC
1244         depends on SYS_HAS_CPU_R6000
1245         select CPU_SUPPORTS_32BIT_KERNEL
1246         help
1247           MIPS Technologies R6000 and R6000A series processors.  Note these
1248           processors are extremly rare and the support for them is incomplete.
1249
1250 config CPU_NEVADA
1251         bool "RM52xx"
1252         depends on SYS_HAS_CPU_NEVADA
1253         select CPU_HAS_LLSC
1254         select CPU_SUPPORTS_32BIT_KERNEL
1255         select CPU_SUPPORTS_64BIT_KERNEL
1256         help
1257           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1258
1259 config CPU_R8000
1260         bool "R8000"
1261         depends on EXPERIMENTAL
1262         depends on SYS_HAS_CPU_R8000
1263         select CPU_HAS_LLSC
1264         select CPU_HAS_PREFETCH
1265         select CPU_SUPPORTS_64BIT_KERNEL
1266         help
1267           MIPS Technologies R8000 processors.  Note these processors are
1268           uncommon and the support for them is incomplete.
1269
1270 config CPU_R10000
1271         bool "R10000"
1272         depends on SYS_HAS_CPU_R10000
1273         select CPU_HAS_LLSC
1274         select CPU_HAS_PREFETCH
1275         select CPU_SUPPORTS_32BIT_KERNEL
1276         select CPU_SUPPORTS_64BIT_KERNEL
1277         select CPU_SUPPORTS_HIGHMEM
1278         help
1279           MIPS Technologies R10000-series processors.
1280
1281 config CPU_RM7000
1282         bool "RM7000"
1283         depends on SYS_HAS_CPU_RM7000
1284         select CPU_HAS_LLSC
1285         select CPU_HAS_PREFETCH
1286         select CPU_SUPPORTS_32BIT_KERNEL
1287         select CPU_SUPPORTS_64BIT_KERNEL
1288         select CPU_SUPPORTS_HIGHMEM
1289
1290 config CPU_RM9000
1291         bool "RM9000"
1292         depends on SYS_HAS_CPU_RM9000
1293         select CPU_HAS_LLSC
1294         select CPU_HAS_PREFETCH
1295         select CPU_SUPPORTS_32BIT_KERNEL
1296         select CPU_SUPPORTS_64BIT_KERNEL
1297         select CPU_SUPPORTS_HIGHMEM
1298
1299 config CPU_SB1
1300         bool "SB1"
1301         depends on SYS_HAS_CPU_SB1
1302         select CPU_HAS_LLSC
1303         select CPU_SUPPORTS_32BIT_KERNEL
1304         select CPU_SUPPORTS_64BIT_KERNEL
1305         select CPU_SUPPORTS_HIGHMEM
1306
1307 endchoice
1308
1309 config SYS_HAS_CPU_MIPS32_R1
1310         bool
1311
1312 config SYS_HAS_CPU_MIPS32_R2
1313         bool
1314
1315 config SYS_HAS_CPU_MIPS64_R1
1316         bool
1317
1318 config SYS_HAS_CPU_MIPS64_R2
1319         bool
1320
1321 config SYS_HAS_CPU_R3000
1322         bool
1323
1324 config SYS_HAS_CPU_TX39XX
1325         bool
1326
1327 config SYS_HAS_CPU_VR41XX
1328         bool
1329
1330 config SYS_HAS_CPU_R4300
1331         bool
1332
1333 config SYS_HAS_CPU_R4X00
1334         bool
1335
1336 config SYS_HAS_CPU_TX49XX
1337         bool
1338
1339 config SYS_HAS_CPU_R5000
1340         bool
1341
1342 config SYS_HAS_CPU_R5432
1343         bool
1344
1345 config SYS_HAS_CPU_R6000
1346         bool
1347
1348 config SYS_HAS_CPU_NEVADA
1349         bool
1350
1351 config SYS_HAS_CPU_R8000
1352         bool
1353
1354 config SYS_HAS_CPU_R10000
1355         bool
1356
1357 config SYS_HAS_CPU_RM7000
1358         bool
1359
1360 config SYS_HAS_CPU_RM9000
1361         bool
1362
1363 config SYS_HAS_CPU_SB1
1364         bool
1365
1366 endmenu
1367
1368 #
1369 # These two indicate any levelof the MIPS32 and MIPS64 architecture
1370 #
1371 config CPU_MIPS32
1372         bool
1373         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1374
1375 config CPU_MIPS64
1376         bool
1377         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1378
1379 #
1380 # These two indicate the revision of the architecture, either 32 bot 64 bit.
1381 #
1382 config CPU_MIPSR1
1383         bool
1384         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1385
1386 config CPU_MIPSR2
1387         bool
1388         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1389
1390 config SYS_SUPPORTS_32BIT_KERNEL
1391         bool
1392 config SYS_SUPPORTS_64BIT_KERNEL
1393         bool
1394 config CPU_SUPPORTS_32BIT_KERNEL
1395         bool
1396 config CPU_SUPPORTS_64BIT_KERNEL
1397         bool
1398
1399 menu "Kernel type"
1400
1401 choice
1402
1403         prompt "Kernel code model"
1404         help
1405           You should only select this option if you have a workload that
1406           actually benefits from 64-bit processing or if your machine has
1407           large memory.  You will only be presented a single option in this
1408           menu if your system does not support both 32-bit and 64-bit kernels.
1409
1410 config 32BIT
1411         bool "32-bit kernel"
1412         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1413         select TRAD_SIGNALS
1414         help
1415           Select this option if you want to build a 32-bit kernel.
1416 config 64BIT
1417         bool "64-bit kernel"
1418         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1419         help
1420           Select this option if you want to build a 64-bit kernel.
1421
1422 endchoice
1423
1424 choice
1425         prompt "Kernel page size"
1426         default PAGE_SIZE_4KB
1427
1428 config PAGE_SIZE_4KB
1429         bool "4kB"
1430         help
1431          This option select the standard 4kB Linux page size.  On some
1432          R3000-family processors this is the only available page size.  Using
1433          4kB page size will minimize memory consumption and is therefore
1434          recommended for low memory systems.
1435
1436 config PAGE_SIZE_8KB
1437         bool "8kB"
1438         depends on EXPERIMENTAL && CPU_R8000
1439         help
1440           Using 8kB page size will result in higher performance kernel at
1441           the price of higher memory consumption.  This option is available
1442           only on the R8000 processor.  Not that at the time of this writing
1443           this option is still high experimental; there are also issues with
1444           compatibility of user applications.
1445
1446 config PAGE_SIZE_16KB
1447         bool "16kB"
1448         depends on !CPU_R3000 && !CPU_TX39XX
1449         help
1450           Using 16kB page size will result in higher performance kernel at
1451           the price of higher memory consumption.  This option is available on
1452           all non-R3000 family processors.  Note that you will need a suitable
1453           Linux distribution to support this.
1454
1455 config PAGE_SIZE_64KB
1456         bool "64kB"
1457         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1458         help
1459           Using 64kB page size will result in higher performance kernel at
1460           the price of higher memory consumption.  This option is available on
1461           all non-R3000 family processor.  Not that at the time of this
1462           writing this option is still high experimental.
1463
1464 endchoice
1465
1466 config BOARD_SCACHE
1467         bool
1468
1469 config IP22_CPU_SCACHE
1470         bool
1471         select BOARD_SCACHE
1472
1473 config R5000_CPU_SCACHE
1474         bool
1475         select BOARD_SCACHE
1476
1477 config RM7000_CPU_SCACHE
1478         bool
1479         select BOARD_SCACHE
1480
1481 config SIBYTE_DMA_PAGEOPS
1482         bool "Use DMA to clear/copy pages"
1483         depends on CPU_SB1
1484         help
1485           Instead of using the CPU to zero and copy pages, use a Data Mover
1486           channel.  These DMA channels are otherwise unused by the standard
1487           SiByte Linux port.  Seems to give a small performance benefit.
1488
1489 config CPU_HAS_PREFETCH
1490         bool
1491
1492 config MIPS_MT
1493         bool "Enable MIPS MT"
1494
1495 choice
1496         prompt "MIPS MT options"
1497         depends on MIPS_MT
1498
1499 config MIPS_MT_SMTC
1500         bool "SMTC: Use all TCs on all VPEs for SMP"
1501         select CPU_MIPSR2_IRQ_VI
1502         select CPU_MIPSR2_SRS
1503         select SMP
1504
1505 config MIPS_MT_SMP
1506         bool "Use 1 TC on each available VPE for SMP"
1507         select SMP
1508
1509 config MIPS_VPE_LOADER
1510         bool "VPE loader support."
1511         depends on MIPS_MT
1512         help
1513           Includes a loader for loading an elf relocatable object
1514           onto another VPE and running it.
1515
1516 endchoice
1517
1518 config MIPS_MT_FPAFF
1519         bool "Dynamic FPU affinity for FP-intensive threads"
1520         depends on MIPS_MT
1521         default y
1522
1523 config MIPS_VPE_LOADER_TOM
1524         bool "Load VPE program into memory hidden from linux"
1525         depends on MIPS_VPE_LOADER
1526         default y
1527         help
1528           The loader can use memory that is present but has been hidden from
1529           Linux using the kernel command line option "mem=xxMB". It's up to
1530           you to ensure the amount you put in the option and the space your
1531           program requires is less or equal to the amount physically present.
1532
1533 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1534 config MIPS_VPE_APSP_API
1535         bool "Enable support for AP/SP API (RTLX)"
1536         depends on MIPS_VPE_LOADER
1537         help
1538
1539 config MIPS_APSP_KSPD
1540         bool "Enable KSPD"
1541         depends on MIPS_VPE_APSP_API
1542         default y
1543         help
1544           KSPD is a kernel daemon that accepts syscall requests from the SP
1545           side, actions them and returns the results. It also handles the
1546           "exit" syscall notifying other kernel modules the SP program is
1547           exiting.  You probably want to say yes here.
1548
1549 config SB1_PASS_1_WORKAROUNDS
1550         bool
1551         depends on CPU_SB1_PASS_1
1552         default y
1553
1554 config SB1_PASS_2_WORKAROUNDS
1555         bool
1556         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1557         default y
1558
1559 config SB1_PASS_2_1_WORKAROUNDS
1560         bool
1561         depends on CPU_SB1 && CPU_SB1_PASS_2
1562         default y
1563
1564 config 64BIT_PHYS_ADDR
1565         bool "Support for 64-bit physical address space"
1566         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1567
1568 config CPU_HAS_LLSC
1569         bool
1570
1571 config CPU_HAS_WB
1572         bool
1573
1574 config CPU_MIPSR2_IRQ_VI
1575         bool "Vectored interrupt mode"
1576         depends on CPU_MIPSR2
1577         help
1578            Vectored interrupt mode allowing faster dispatching of interrupts.
1579            The board support code needs to be written to take advantage of this
1580            mode.  Compatibility code is included to allow the kernel to run on
1581            a CPU that does not support vectored interrupts.  It's safe to
1582            say Y here.
1583
1584 config CPU_MIPSR2_IRQ_EI
1585         bool "External interrupt controller mode"
1586         depends on CPU_MIPSR2
1587         help
1588            Extended interrupt mode takes advantage of an external interrupt
1589            controller to allow fast dispatching from many possible interrupt
1590            sources. Say N unless you know that external interrupt support is
1591            required.
1592
1593 config CPU_MIPSR2_SRS
1594         bool "Make shadow set registers available for interrupt handlers"
1595         depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1596         help
1597            Allow the kernel to use shadow register sets for fast interrupts.
1598            Interrupt handlers must be specially written to use shadow sets.
1599            Say N unless you know that shadow register set upport is needed.
1600
1601 config CPU_HAS_SYNC
1602         bool
1603         depends on !CPU_R3000
1604         default y
1605
1606 #
1607 # Use the generic interrupt handling code in kernel/irq/:
1608 #
1609 config GENERIC_HARDIRQS
1610         bool
1611         default y
1612
1613 config GENERIC_IRQ_PROBE
1614         bool
1615         default y
1616
1617 #
1618 # - Highmem only makes sense for the 32-bit kernel.
1619 # - The current highmem code will only work properly on physically indexed
1620 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1621 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1622 #   moment we protect the user and offer the highmem option only on machines
1623 #   where it's known to be safe.  This will not offer highmem on a few systems
1624 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1625 #   indexed CPUs but we're playing safe.
1626 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1627 #   know they might have memory configurations that could make use of highmem
1628 #   support.
1629 #
1630 config HIGHMEM
1631         bool "High Memory Support"
1632         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1633
1634 config CPU_SUPPORTS_HIGHMEM
1635         bool
1636
1637 config SYS_SUPPORTS_HIGHMEM
1638         bool
1639
1640 config ARCH_FLATMEM_ENABLE
1641         def_bool y
1642         depends on !NUMA
1643
1644 config ARCH_DISCONTIGMEM_ENABLE
1645         bool
1646         default y if SGI_IP27
1647         help
1648           Say Y to upport efficient handling of discontiguous physical memory,
1649           for architectures which are either NUMA (Non-Uniform Memory Access)
1650           or have huge holes in the physical address space for other reasons.
1651           See <file:Documentation/vm/numa> for more.
1652
1653 config NUMA
1654         bool "NUMA Support"
1655         depends on SYS_SUPPORTS_NUMA
1656         help
1657           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1658           Access).  This option improves performance on systems with more
1659           than two nodes; on two node systems it is generally better to
1660           leave it disabled; on single node systems disable this option
1661           disabled.
1662
1663 config SYS_SUPPORTS_NUMA
1664         bool
1665
1666 config NODES_SHIFT
1667         int
1668         default "6"
1669         depends on NEED_MULTIPLE_NODES
1670
1671 source "mm/Kconfig"
1672
1673 config SMP
1674         bool "Multi-Processing support"
1675         depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC
1676         ---help---
1677           This enables support for systems with more than one CPU. If you have
1678           a system with only one CPU, like most personal computers, say N. If
1679           you have a system with more than one CPU, say Y.
1680
1681           If you say N here, the kernel will run on single and multiprocessor
1682           machines, but will use only one CPU of a multiprocessor machine. If
1683           you say Y here, the kernel will run on many, but not all,
1684           singleprocessor machines. On a singleprocessor machine, the kernel
1685           will run faster if you say N here.
1686
1687           People using multiprocessor machines who say Y here should also say
1688           Y to "Enhanced Real Time Clock Support", below.
1689
1690           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1691           available at <http://www.tldp.org/docs.html#howto>.
1692
1693           If you don't know what to do here, say N.
1694
1695 config NR_CPUS
1696         int "Maximum number of CPUs (2-64)"
1697         range 2 64
1698         depends on SMP
1699         default "64" if SGI_IP27
1700         default "2"
1701         help
1702           This allows you to specify the maximum number of CPUs which this
1703           kernel will support.  The maximum supported value is 32 for 32-bit
1704           kernel and 64 for 64-bit kernels; the minimum value which makes
1705           sense is 2.
1706
1707           This is purely to save memory - each supported CPU adds
1708           approximately eight kilobytes to the kernel image.
1709
1710 source "kernel/Kconfig.preempt"
1711
1712 config RTC_DS1742
1713         bool "DS1742 BRAM/RTC support"
1714         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1715
1716 config MIPS_INSANE_LARGE
1717         bool "Support for large 64-bit configurations"
1718         depends on CPU_R10000 && 64BIT
1719         help
1720           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1721           previous 64-bit processors which only supported 40 bit / 1TB. If you
1722           need processes of more than 1TB virtual address space, say Y here.
1723           This will result in additional memory usage, so it is not
1724           recommended for normal users.
1725
1726 endmenu
1727
1728 config RWSEM_GENERIC_SPINLOCK
1729         bool
1730         default y
1731
1732 source "init/Kconfig"
1733
1734 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1735
1736 config HW_HAS_EISA
1737         bool
1738 config HW_HAS_PCI
1739         bool
1740
1741 config PCI
1742         bool "Support for PCI controller"
1743         depends on HW_HAS_PCI
1744         help
1745           Find out whether you have a PCI motherboard. PCI is the name of a
1746           bus system, i.e. the way the CPU talks to the other stuff inside
1747           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1748           say Y, otherwise N.
1749
1750           The PCI-HOWTO, available from
1751           <http://www.tldp.org/docs.html#howto>, contains valuable
1752           information about which PCI hardware does work under Linux and which
1753           doesn't.
1754
1755 config PCI_DOMAINS
1756         bool
1757         depends on PCI
1758
1759 source "drivers/pci/Kconfig"
1760
1761 #
1762 # ISA support is now enabled via select.  Too many systems still have the one
1763 # or other ISA chip on the board that users don't know about so don't expect
1764 # users to choose the right thing ...
1765 #
1766 config ISA
1767         bool
1768
1769 config NO_ISA
1770         bool
1771
1772 config EISA
1773         bool "EISA support"
1774         depends on HW_HAS_EISA
1775         select ISA
1776         ---help---
1777           The Extended Industry Standard Architecture (EISA) bus was
1778           developed as an open alternative to the IBM MicroChannel bus.
1779
1780           The EISA bus provided some of the features of the IBM MicroChannel
1781           bus while maintaining backward compatibility with cards made for
1782           the older ISA bus.  The EISA bus saw limited use between 1988 and
1783           1995 when it was made obsolete by the PCI bus.
1784
1785           Say Y here if you are building a kernel for an EISA-based machine.
1786
1787           Otherwise, say N.
1788
1789 source "drivers/eisa/Kconfig"
1790
1791 config TC
1792         bool "TURBOchannel support"
1793         depends on MACH_DECSTATION
1794         help
1795           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1796           processors.  Documentation on writing device drivers for TurboChannel
1797           is available at:
1798           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1799
1800 #config ACCESSBUS
1801 #       bool "Access.Bus support"
1802 #       depends on TC
1803
1804 config MMU
1805         bool
1806         default y
1807
1808 config I8253
1809         bool
1810
1811 source "drivers/pcmcia/Kconfig"
1812
1813 source "drivers/pci/hotplug/Kconfig"
1814
1815 endmenu
1816
1817 menu "Executable file formats"
1818
1819 source "fs/Kconfig.binfmt"
1820
1821 config TRAD_SIGNALS
1822         bool
1823
1824 config BUILD_ELF64
1825         bool "Use 64-bit ELF format for building"
1826         depends on 64BIT
1827         help
1828           A 64-bit kernel is usually built using the 64-bit ELF binary object
1829           format as it's one that allows arbitrary 64-bit constructs.  For
1830           kernels that are loaded within the KSEG compatibility segments the
1831           32-bit ELF format can optionally be used resulting in a somewhat
1832           smaller binary, but this option is not explicitly supported by the
1833           toolchain and since binutils 2.14 it does not even work at all.
1834
1835           Say Y to use the 64-bit format or N to use the 32-bit one.
1836
1837           If unsure say Y.
1838
1839 config BINFMT_IRIX
1840         bool "Include IRIX binary compatibility"
1841         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1842
1843 config MIPS32_COMPAT
1844         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1845         depends on 64BIT
1846         help
1847           Select this option if you want Linux/MIPS 32-bit binary
1848           compatibility. Since all software available for Linux/MIPS is
1849           currently 32-bit you should say Y here.
1850
1851 config COMPAT
1852         bool
1853         depends on MIPS32_COMPAT
1854         default y
1855
1856 config MIPS32_O32
1857         bool "Kernel support for o32 binaries"
1858         depends on MIPS32_COMPAT
1859         help
1860           Select this option if you want to run o32 binaries.  These are pure
1861           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1862           existing binaries are in this format.
1863
1864           If unsure, say Y.
1865
1866 config MIPS32_N32
1867         bool "Kernel support for n32 binaries"
1868         depends on MIPS32_COMPAT
1869         help
1870           Select this option if you want to run n32 binaries.  These are
1871           64-bit binaries using 32-bit quantities for addressing and certain
1872           data that would normally be 64-bit.  They are used in special
1873           cases.
1874
1875           If unsure, say N.
1876
1877 config BINFMT_ELF32
1878         bool
1879         default y if MIPS32_O32 || MIPS32_N32
1880
1881 config SECCOMP
1882         bool "Enable seccomp to safely compute untrusted bytecode"
1883         depends on PROC_FS && BROKEN
1884         default y
1885         help
1886           This kernel feature is useful for number crunching applications
1887           that may need to compute untrusted bytecode during their
1888           execution. By using pipes or other transports made available to
1889           the process as file descriptors supporting the read/write
1890           syscalls, it's possible to isolate those applications in
1891           their own address space using seccomp. Once seccomp is
1892           enabled via /proc/<pid>/seccomp, it cannot be disabled
1893           and the task is only allowed to execute a few safe syscalls
1894           defined by each seccomp mode.
1895
1896           If unsure, say Y. Only embedded should say N here.
1897
1898 config PM
1899         bool "Power Management support (EXPERIMENTAL)"
1900         depends on EXPERIMENTAL && SOC_AU1X00
1901
1902 config APM
1903         tristate "Advanced Power Management Emulation"
1904         depends on PM
1905         ---help---
1906           APM is a BIOS specification for saving power using several different
1907           techniques. This is mostly useful for battery powered systems with
1908           APM compliant BIOSes. If you say Y here, the system time will be
1909           reset after a RESUME operation, the /proc/apm device will provide
1910           battery status information, and user-space programs will receive
1911           notification of APM "events" (e.g. battery status change).
1912
1913           In order to use APM, you will need supporting software. For location
1914           and more information, read <file:Documentation/pm.txt> and the
1915           Battery Powered Linux mini-HOWTO, available from
1916           <http://www.tldp.org/docs.html#howto>.
1917
1918           This driver does not spin down disk drives (see the hdparm(8)
1919           manpage ("man 8 hdparm") for that), and it doesn't turn off
1920           VESA-compliant "green" monitors.
1921
1922           Generally, if you don't have a battery in your machine, there isn't
1923           much point in using this driver and you should say N. If you get
1924           random kernel OOPSes or reboots that don't seem to be related to
1925           anything, try disabling/enabling this option (or disabling/enabling
1926           APM in your BIOS).
1927
1928 endmenu
1929
1930 source "net/Kconfig"
1931
1932 source "drivers/Kconfig"
1933
1934 source "fs/Kconfig"
1935
1936 source "arch/mips/oprofile/Kconfig"
1937
1938 source "arch/mips/Kconfig.debug"
1939
1940 source "security/Kconfig"
1941
1942 source "crypto/Kconfig"
1943
1944 source "lib/Kconfig"