blob: a92648438240608539a3dd4877f5243449574531 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Yoichi Yuasaf8ac04252009-06-04 00:16:04 +09004 select HAVE_GENERIC_DMA_COHERENT
Sam Ravnborgec7748b2008-02-09 10:46:40 +01005 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05006 select HAVE_OPROFILE
Deng-Cheng Zhu91f01732011-01-21 16:19:17 +08007 select HAVE_IRQ_WORK
Deng-Cheng Zhu7f788d22010-10-12 19:37:21 +08008 select HAVE_PERF_EVENTS
9 select PERF_USE_VMALLOC
Jason Wessel88547002008-07-29 15:58:53 -050010 select HAVE_ARCH_KGDB
Wu Zhangjind2bb07622009-11-20 20:34:29 +080011 select HAVE_FUNCTION_TRACER
Wu Zhangjin69a7d1b2009-11-20 20:34:30 +080012 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Wu Zhangjin538f1952009-11-20 20:34:32 +080013 select HAVE_DYNAMIC_FTRACE
14 select HAVE_FTRACE_MCOUNT_RECORD
Wu Zhangjin64575f92010-10-27 18:59:09 +080015 select HAVE_C_RECORDMCOUNT
Wu Zhangjin29c5d342009-11-20 20:34:34 +080016 select HAVE_FUNCTION_GRAPH_TRACER
David Daneyc1bf2072010-08-03 11:22:20 -070017 select HAVE_KPROBES
18 select HAVE_KRETPROBES
Wu Zhangjin21a41fa2009-11-10 00:06:11 +080019 select RTC_LIB if !MACH_LOONGSON
Deng-Cheng Zhu2b789202010-06-09 12:35:25 +080020 select GENERIC_ATOMIC64 if !64BIT
David Daney48e1fd52010-10-01 13:27:32 -070021 select HAVE_DMA_ATTRS
22 select HAVE_DMA_API_DEBUG
David Daney3bd27e32010-11-05 15:12:48 -070023 select HAVE_GENERIC_HARDIRQS
24 select GENERIC_IRQ_PROBE
Thomas Gleixnerf8396c12011-03-23 21:09:05 +000025 select GENERIC_IRQ_SHOW
David Daney94bb0c12010-12-28 13:26:23 -080026 select HAVE_ARCH_JUMP_LABEL
Thomas Gleixner0f462e32011-07-23 12:41:25 +000027 select IRQ_FORCED_THREADING
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
Linus Torvalds1da177e2005-04-16 15:20:36 -070029menu "Machine selection"
30
Christoph Lameter5ac6da62007-02-10 01:43:14 -080031config ZONE_DMA
32 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080033
Ralf Baechle5e83d432005-10-29 19:32:41 +010034choice
35 prompt "System type"
36 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070037
Manuel Lauss42a4f172010-07-15 21:45:04 +020038config MIPS_ALCHEMY
Yoichi Yuasac3543e22007-05-11 20:44:30 +090039 bool "Alchemy processor based machines"
Manuel Lauss42a4f172010-07-15 21:45:04 +020040 select 64BIT_PHYS_ADDR
41 select CEVT_R4K_LIB
42 select CSRC_R4K_LIB
43 select IRQ_CPU
44 select SYS_HAS_CPU_MIPS32_R1
45 select SYS_SUPPORTS_32BIT_KERNEL
46 select SYS_SUPPORTS_APM_EMULATION
47 select GENERIC_GPIO
48 select ARCH_WANT_OPTIONAL_GPIOLIB
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080049 select SYS_SUPPORTS_ZBOOT
Manuel Lauss3766386032011-08-12 11:39:45 +020050 select USB_ARCH_HAS_OHCI
51 select USB_ARCH_HAS_EHCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070052
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020053config AR7
54 bool "Texas Instruments AR7"
55 select BOOT_ELF32
56 select DMA_NONCOHERENT
57 select CEVT_R4K
58 select CSRC_R4K
59 select IRQ_CPU
60 select NO_EXCEPT_FILL
61 select SWAP_IO_SPACE
62 select SYS_HAS_CPU_MIPS32_R1
63 select SYS_HAS_EARLY_PRINTK
64 select SYS_SUPPORTS_32BIT_KERNEL
65 select SYS_SUPPORTS_LITTLE_ENDIAN
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080066 select SYS_SUPPORTS_ZBOOT_UART16550
Florian Fainelli5f3c9092010-01-03 21:16:51 +010067 select ARCH_REQUIRE_GPIOLIB
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020068 select GCD
69 select VLYNQ
70 help
71 Support for the Texas Instruments AR7 System-on-a-Chip
72 family: TNETD7100, 7200 and 7300.
73
Gabor Juhosd4a67d92011-01-04 21:28:14 +010074config ATH79
75 bool "Atheros AR71XX/AR724X/AR913X based boards"
Gabor Juhos6eae43c2011-01-04 21:28:15 +010076 select ARCH_REQUIRE_GPIOLIB
Gabor Juhosd4a67d92011-01-04 21:28:14 +010077 select BOOT_RAW
78 select CEVT_R4K
79 select CSRC_R4K
80 select DMA_NONCOHERENT
81 select IRQ_CPU
Gabor Juhos0aabf1a2011-01-04 21:28:16 +010082 select MIPS_MACHINE
Gabor Juhosd4a67d92011-01-04 21:28:14 +010083 select SYS_HAS_CPU_MIPS32_R2
84 select SYS_HAS_EARLY_PRINTK
85 select SYS_SUPPORTS_32BIT_KERNEL
86 select SYS_SUPPORTS_BIG_ENDIAN
87 help
88 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
89
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020090config BCM47XX
Florian Fainellic6193662010-03-25 11:42:41 +010091 bool "Broadcom BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010092 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000093 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020094 select DMA_NONCOHERENT
95 select HW_HAS_PCI
96 select IRQ_CPU
97 select SYS_HAS_CPU_MIPS32_R1
98 select SYS_SUPPORTS_32BIT_KERNEL
99 select SYS_SUPPORTS_LITTLE_ENDIAN
100 select SSB
101 select SSB_DRIVER_MIPS
Aurelien Jarno2f02c152007-12-11 11:30:34 +0100102 select SSB_DRIVER_EXTIF
Aurelien Jarnob06f3e12008-10-14 11:44:26 +0200103 select SSB_EMBEDDED
Hauke Mehrtens220937b12010-07-27 22:12:45 +0200104 select SSB_B43_PCI_BRIDGE if PCI
Aurelien Jarno2f02c152007-12-11 11:30:34 +0100105 select SSB_PCICORE_HOSTMODE if PCI
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200106 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +0200107 select SYS_HAS_EARLY_PRINTK
108 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200109 help
110 Support for BCM47XX based boards
111
Maxime Bizone7300d02009-08-18 13:23:37 +0100112config BCM63XX
113 bool "Broadcom BCM63XX based boards"
114 select CEVT_R4K
115 select CSRC_R4K
116 select DMA_NONCOHERENT
117 select IRQ_CPU
118 select SYS_HAS_CPU_MIPS32_R1
119 select SYS_SUPPORTS_32BIT_KERNEL
120 select SYS_SUPPORTS_BIG_ENDIAN
121 select SYS_HAS_EARLY_PRINTK
122 select SWAP_IO_SPACE
123 select ARCH_REQUIRE_GPIOLIB
124 help
125 Support for BCM63XX based boards
126
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200128 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +0100129 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000130 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900131 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132 select DMA_NONCOHERENT
133 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100134 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135 select I8259
136 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900137 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900138 select PCI_GT64XXX_PCI0
Yoichi Yuasae25bfc92009-06-02 23:17:07 +0900139 select PCI
Ralf Baechle7cf80532005-10-20 22:33:09 +0100140 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +0900141 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700142 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +0100143 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100144 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145
146config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200147 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900149 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +0100150 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +0900151 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +0000152 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +0100153 select CPU_DADDI_WORKAROUNDS if 64BIT
154 select CPU_R4000_WORKAROUNDS if 64BIT
155 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100157 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +0100159 select SYS_HAS_CPU_R3000
160 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700161 select SYS_SUPPORTS_32BIT_KERNEL
162 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100163 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900164 select SYS_SUPPORTS_128HZ
165 select SYS_SUPPORTS_256HZ
166 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100167 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168 This enables support for DEC's MIPS based workstations. For details
169 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
170 DECstation porting pages on <http://decstation.unix-ag.org/>.
171
172 If you have one of the following DECstation Models you definitely
173 want to choose R4xx0 for the CPU Type:
174
Ralf Baechle93088162007-08-29 14:21:45 +0100175 DECstation 5000/50
176 DECstation 5000/150
177 DECstation 5000/260
178 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179
180 otherwise choose R3000.
181
Ralf Baechle5e83d432005-10-29 19:32:41 +0100182config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200183 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100184 select ARC
185 select ARC32
186 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100187 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000188 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100189 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100190 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100191 select HAVE_PCSPKR_PLATFORM
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200192 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100193 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100194 select I8259
195 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100196 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100197 select SYS_SUPPORTS_32BIT_KERNEL
198 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900199 select SYS_SUPPORTS_100HZ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100201 This a family of machines based on the MIPS R4030 chipset which was
202 used by several vendors to build RISC/os and Windows NT workstations.
Matt LaPlante692105b2009-01-26 11:12:25 +0100203 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
Ralf Baechle5e83d432005-10-29 19:32:41 +0100204 Olivetti M700-10 workstations.
205
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000206config MACH_JZ4740
207 bool "Ingenic JZ4740 based machines"
208 select SYS_HAS_CPU_MIPS32_R1
209 select SYS_SUPPORTS_32BIT_KERNEL
210 select SYS_SUPPORTS_LITTLE_ENDIAN
211 select DMA_NONCOHERENT
212 select IRQ_CPU
213 select GENERIC_GPIO
214 select ARCH_REQUIRE_GPIOLIB
215 select SYS_HAS_EARLY_PRINTK
216 select HAVE_PWM
Maurus Cuelenaereab5330e2011-03-01 00:20:01 +0100217 select HAVE_CLK
Lars-Peter Clausen83bc7692011-09-24 02:29:46 +0200218 select GENERIC_IRQ_CHIP
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000219
John Crispin171bb2f2011-03-30 09:27:47 +0200220config LANTIQ
221 bool "Lantiq based platforms"
222 select DMA_NONCOHERENT
223 select IRQ_CPU
224 select CEVT_R4K
225 select CSRC_R4K
226 select SYS_HAS_CPU_MIPS32_R1
227 select SYS_HAS_CPU_MIPS32_R2
228 select SYS_SUPPORTS_BIG_ENDIAN
229 select SYS_SUPPORTS_32BIT_KERNEL
230 select SYS_SUPPORTS_MULTITHREADING
231 select SYS_HAS_EARLY_PRINTK
232 select ARCH_REQUIRE_GPIOLIB
233 select SWAP_IO_SPACE
234 select BOOT_RAW
235 select HAVE_CLK
John Crispina053ac12011-03-30 09:27:54 +0200236 select MIPS_MACHINE
John Crispin171bb2f2011-03-30 09:27:47 +0200237
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200238config LASAT
239 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100240 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000241 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200242 select DMA_NONCOHERENT
243 select SYS_HAS_EARLY_PRINTK
244 select HW_HAS_PCI
Ralf Baechlea5ccfe52007-10-14 23:49:33 +0100245 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200246 select PCI_GT64XXX_PCI0
247 select MIPS_NILE4
248 select R5000_CPU_SCACHE
249 select SYS_HAS_CPU_R5000
250 select SYS_SUPPORTS_32BIT_KERNEL
251 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
252 select SYS_SUPPORTS_LITTLE_ENDIAN
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200253
Wu Zhangjin85749d22009-07-02 23:26:45 +0800254config MACH_LOONGSON
255 bool "Loongson family of machines"
Wu Zhangjinc7e8c662010-01-04 17:16:46 +0800256 select SYS_SUPPORTS_ZBOOT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900257 help
Wu Zhangjin85749d22009-07-02 23:26:45 +0800258 This enables the support of Loongson family of machines.
259
260 Loongson is a family of general-purpose MIPS-compatible CPUs.
261 developed at Institute of Computing Technology (ICT),
262 Chinese Academy of Sciences (CAS) in the People's Republic
263 of China. The chief architect is Professor Weiwu Hu.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900264
Linus Torvalds1da177e2005-04-16 15:20:36 -0700265config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200266 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000267 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000269 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100270 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000271 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700272 select DMA_NONCOHERENT
273 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100274 select HAVE_PCSPKR_PLATFORM
Ralf Baechleaa414df2006-11-30 01:14:51 +0000275 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100276 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100278 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700279 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100280 select MIPS_BOARDS_GEN
281 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100282 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900283 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100284 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700285 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100286 select SYS_HAS_CPU_MIPS32_R1
287 select SYS_HAS_CPU_MIPS32_R2
288 select SYS_HAS_CPU_MIPS64_R1
289 select SYS_HAS_CPU_NEVADA
290 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000291 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700292 select SYS_SUPPORTS_32BIT_KERNEL
293 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100294 select SYS_SUPPORTS_BIG_ENDIAN
295 select SYS_SUPPORTS_LITTLE_ENDIAN
Tim Anderson03650702009-06-17 16:22:53 -0700296 select SYS_SUPPORTS_MIPS_CMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100297 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100298 select SYS_SUPPORTS_SMARTMIPS
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +0800299 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700300 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000301 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700302 board.
303
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100304config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200305 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100306 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000307 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100308 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000309 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100310 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600311 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100312 select SYS_HAS_CPU_MIPS32_R1
313 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000314 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100315 select SYS_SUPPORTS_32BIT_KERNEL
316 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100317 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100318 select SYS_SUPPORTS_LITTLE_ENDIAN
319 help
320 This option enables support for MIPS Technologies MIPSsim software
321 emulator.
322
Ralf Baechlea83860c2009-03-13 21:17:57 +0100323config NEC_MARKEINS
324 bool "NEC EMMA2RH Mark-eins board"
325 select SOC_EMMA2RH
326 select HW_HAS_PCI
327 help
328 This enables support for the NEC Electronics Mark-eins boards.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900329
Ralf Baechle5e83d432005-10-29 19:32:41 +0100330config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900331 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100332 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000333 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100334 select SYS_HAS_CPU_VR41XX
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900335 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle5e83d432005-10-29 19:32:41 +0100336
Daniel Lairdedb63102008-06-16 15:49:21 +0100337config NXP_STB220
338 bool "NXP STB220 board"
339 select SOC_PNX833X
340 help
341 Support for NXP Semiconductors STB220 Development Board.
342
343config NXP_STB225
344 bool "NXP 225 board"
345 select SOC_PNX833X
346 select SOC_PNX8335
347 help
348 Support for NXP Semiconductors STB225 Development Board.
349
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900350config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000351 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900352 select PNX8550
353 select SYS_SUPPORTS_LITTLE_ENDIAN
354
355config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000356 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900357 select PNX8550
358 select SYS_SUPPORTS_LITTLE_ENDIAN
359
Marc St-Jean9267a302007-06-14 15:55:31 -0600360config PMC_MSP
361 bool "PMC-Sierra MSP chipsets"
362 depends on EXPERIMENTAL
Anoop P A39d30c12010-11-18 13:42:28 +0530363 select CEVT_R4K
364 select CSRC_R4K
Marc St-Jean9267a302007-06-14 15:55:31 -0600365 select DMA_NONCOHERENT
366 select SWAP_IO_SPACE
367 select NO_EXCEPT_FILL
368 select BOOT_RAW
369 select SYS_HAS_CPU_MIPS32_R1
370 select SYS_HAS_CPU_MIPS32_R2
371 select SYS_SUPPORTS_32BIT_KERNEL
372 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600373 select IRQ_CPU
374 select SERIAL_8250
375 select SERIAL_8250_CONSOLE
376 help
377 This adds support for the PMC-Sierra family of Multi-Service
378 Processor System-On-A-Chips. These parts include a number
379 of integrated peripherals, interfaces and DSPs in addition to
380 a variety of MIPS cores.
381
Ralf Baechle5e83d432005-10-29 19:32:41 +0100382config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200383 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100384 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000385 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100386 select DMA_COHERENT
387 select HW_HAS_PCI
388 select IRQ_CPU
389 select IRQ_CPU_RM7K
390 select IRQ_CPU_RM9K
391 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100392 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000393 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100394 select SYS_SUPPORTS_32BIT_KERNEL
395 select SYS_SUPPORTS_64BIT_KERNEL
396 select SYS_SUPPORTS_BIG_ENDIAN
397 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlee73ea272006-06-04 11:51:46 +0100398 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100399 help
400 Yosemite is an evaluation board for the RM9000x2 processor
401 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402
David VomLehna3a0f8c2009-08-30 17:15:11 -0700403config POWERTV
404 bool "Cisco PowerTV"
405 select BOOT_ELF32
406 select CEVT_R4K
407 select CPU_MIPSR2_IRQ_VI
408 select CPU_MIPSR2_IRQ_EI
409 select CSRC_POWERTV
410 select DMA_NONCOHERENT
411 select HW_HAS_PCI
412 select SYS_HAS_EARLY_PRINTK
413 select SYS_HAS_CPU_MIPS32_R2
414 select SYS_SUPPORTS_32BIT_KERNEL
415 select SYS_SUPPORTS_BIG_ENDIAN
416 select SYS_SUPPORTS_HIGHMEM
417 select USB_OHCI_LITTLE_ENDIAN
418 help
419 This enables support for the Cisco PowerTV Platform.
420
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200422 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700423 select ARC
424 select ARC32
425 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100426 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000427 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100428 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700429 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100430 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100431 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100432 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700433 select IP22_CPU_SCACHE
434 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000435 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100436 select SGI_HAS_I8042
437 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200438 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100439 select SGI_HAS_SEEQ
440 select SGI_HAS_WD93
441 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700442 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100443 select SYS_HAS_CPU_R4X00
444 select SYS_HAS_CPU_R5000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000445 #
446 # Disable EARLY_PRINTK for now since it leads to overwritten prom
447 # memory during early boot on some machines.
448 #
449 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
450 # for a more details discussion
451 #
452 # select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700453 select SYS_SUPPORTS_32BIT_KERNEL
454 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100455 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700456 help
457 This are the SGI Indy, Challenge S and Indigo2, as well as certain
458 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
459 that runs on these, say Y here.
460
461config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200462 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700463 select ARC
464 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100465 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100466 select DEFAULT_SGI_PARTITION
Ralf Baechle634286f2009-01-28 17:48:40 +0000467 select DMA_COHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000468 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700469 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000470 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100471 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700472 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100473 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100474 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000475 select SYS_SUPPORTS_SMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700476 help
477 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
478 workstations. To compile a Linux kernel that runs on these, say Y
479 here.
480
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100481config SGI_IP28
482 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
483 depends on EXPERIMENTAL
484 select ARC
485 select ARC64
486 select BOOT_ELF64
487 select CEVT_R4K
488 select CSRC_R4K
489 select DEFAULT_SGI_PARTITION
490 select DMA_NONCOHERENT
491 select GENERIC_ISA_DMA_SUPPORT_BROKEN
492 select IRQ_CPU
493 select HW_HAS_EISA
494 select I8253
495 select I8259
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100496 select SGI_HAS_I8042
497 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200498 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100499 select SGI_HAS_SEEQ
500 select SGI_HAS_WD93
501 select SGI_HAS_ZILOG
502 select SWAP_IO_SPACE
503 select SYS_HAS_CPU_R10000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000504 #
505 # Disable EARLY_PRINTK for now since it leads to overwritten prom
506 # memory during early boot on some machines.
507 #
508 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
509 # for a more details discussion
510 #
511 # select SYS_HAS_EARLY_PRINTK
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100512 select SYS_SUPPORTS_64BIT_KERNEL
513 select SYS_SUPPORTS_BIG_ENDIAN
514 help
515 This is the SGI Indigo2 with R10000 processor. To compile a Linux
516 kernel that runs on these, say Y here.
517
Linus Torvalds1da177e2005-04-16 15:20:36 -0700518config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100519 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700520 select ARC
521 select ARC32
522 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100523 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000524 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700525 select DMA_NONCOHERENT
526 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100527 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700528 select R5000_CPU_SCACHE
529 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100530 select SYS_HAS_CPU_R5000
531 select SYS_HAS_CPU_R10000 if BROKEN
532 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000533 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700534 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100535 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700536 help
537 If you want this kernel to run on SGI O2 workstation, say Y here.
538
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900539config SIBYTE_CRHINE
540 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100541 depends on EXPERIMENTAL
542 select BOOT_ELF32
543 select DMA_COHERENT
544 select SIBYTE_BCM1120
545 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100546 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100547 select SYS_SUPPORTS_BIG_ENDIAN
548 select SYS_SUPPORTS_LITTLE_ENDIAN
549
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900550config SIBYTE_CARMEL
551 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100552 depends on EXPERIMENTAL
553 select BOOT_ELF32
554 select DMA_COHERENT
555 select SIBYTE_BCM1120
556 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100557 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100558 select SYS_SUPPORTS_BIG_ENDIAN
559 select SYS_SUPPORTS_LITTLE_ENDIAN
560
561config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200562 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 depends on EXPERIMENTAL
564 select BOOT_ELF32
565 select DMA_COHERENT
566 select SIBYTE_BCM1125
567 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100568 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100569 select SYS_SUPPORTS_BIG_ENDIAN
570 select SYS_SUPPORTS_HIGHMEM
571 select SYS_SUPPORTS_LITTLE_ENDIAN
572
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900573config SIBYTE_RHONE
574 bool "Sibyte BCM91125E-Rhone"
575 depends on EXPERIMENTAL
576 select BOOT_ELF32
577 select DMA_COHERENT
578 select SIBYTE_BCM1125H
579 select SWAP_IO_SPACE
580 select SYS_HAS_CPU_SB1
581 select SYS_SUPPORTS_BIG_ENDIAN
582 select SYS_SUPPORTS_LITTLE_ENDIAN
583
584config SIBYTE_SWARM
585 bool "Sibyte BCM91250A-SWARM"
586 select BOOT_ELF32
587 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200588 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900589 select NR_CPUS_DEFAULT_2
590 select SIBYTE_SB1250
591 select SWAP_IO_SPACE
592 select SYS_HAS_CPU_SB1
593 select SYS_SUPPORTS_BIG_ENDIAN
594 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900595 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000596 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900597
598config SIBYTE_LITTLESUR
599 bool "Sibyte BCM91250C2-LittleSur"
600 depends on EXPERIMENTAL
601 select BOOT_ELF32
602 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200603 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900604 select NR_CPUS_DEFAULT_2
605 select SIBYTE_SB1250
606 select SWAP_IO_SPACE
607 select SYS_HAS_CPU_SB1
608 select SYS_SUPPORTS_BIG_ENDIAN
609 select SYS_SUPPORTS_HIGHMEM
610 select SYS_SUPPORTS_LITTLE_ENDIAN
611
612config SIBYTE_SENTOSA
613 bool "Sibyte BCM91250E-Sentosa"
614 depends on EXPERIMENTAL
615 select BOOT_ELF32
616 select DMA_COHERENT
617 select NR_CPUS_DEFAULT_2
618 select SIBYTE_SB1250
619 select SWAP_IO_SPACE
620 select SYS_HAS_CPU_SB1
621 select SYS_SUPPORTS_BIG_ENDIAN
622 select SYS_SUPPORTS_LITTLE_ENDIAN
623
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900624config SIBYTE_BIGSUR
625 bool "Sibyte BCM91480B-BigSur"
626 select BOOT_ELF32
627 select DMA_COHERENT
628 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900629 select SIBYTE_BCM1x80
630 select SWAP_IO_SPACE
631 select SYS_HAS_CPU_SB1
632 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000633 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900634 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000635 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900636
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100637config SNI_RM
638 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200639 select ARC if CPU_LITTLE_ENDIAN
640 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100641 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100642 select ARCH_MAY_HAVE_PC_FDC
643 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100644 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000645 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100646 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100647 select DMA_NONCOHERENT
648 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100649 select HAVE_PCSPKR_PLATFORM
Ralf Baechle5e83d432005-10-29 19:32:41 +0100650 select HW_HAS_EISA
651 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100652 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100653 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100654 select I8259
655 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200656 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100657 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200658 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100659 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200660 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000661 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700662 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100663 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200664 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100665 select SYS_SUPPORTS_HIGHMEM
666 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700667 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100668 The SNI RM200/300/400 are MIPS-based machines manufactured by
669 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100670 Technology and now in turn merged with Fujitsu. Say Y here to
671 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700672
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900673config MACH_TX39XX
674 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100675
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900676config MACH_TX49XX
677 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000678
Ralf Baechle73b43902008-07-16 16:12:25 +0100679config MIKROTIK_RB532
680 bool "Mikrotik RB532 boards"
681 select CEVT_R4K
682 select CSRC_R4K
683 select DMA_NONCOHERENT
Ralf Baechle73b43902008-07-16 16:12:25 +0100684 select HW_HAS_PCI
685 select IRQ_CPU
686 select SYS_HAS_CPU_MIPS32_R1
687 select SYS_SUPPORTS_32BIT_KERNEL
688 select SYS_SUPPORTS_LITTLE_ENDIAN
689 select SWAP_IO_SPACE
690 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200691 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle73b43902008-07-16 16:12:25 +0100692 help
693 Support the Mikrotik(tm) RouterBoard 532 series,
694 based on the IDT RC32434 SoC.
695
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900696config WR_PPMC
697 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100698 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000699 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900700 select IRQ_CPU
701 select BOOT_ELF32
702 select DMA_NONCOHERENT
703 select HW_HAS_PCI
704 select PCI_GT64XXX_PCI0
705 select SWAP_IO_SPACE
706 select SYS_HAS_CPU_MIPS32_R1
707 select SYS_HAS_CPU_MIPS32_R2
708 select SYS_HAS_CPU_MIPS64_R1
709 select SYS_HAS_CPU_NEVADA
710 select SYS_HAS_CPU_RM7000
711 select SYS_SUPPORTS_32BIT_KERNEL
712 select SYS_SUPPORTS_64BIT_KERNEL
713 select SYS_SUPPORTS_BIG_ENDIAN
714 select SYS_SUPPORTS_LITTLE_ENDIAN
715 help
716 This enables support for the Wind River MIPS32 4KC PPMC evaluation
717 board, which is based on GT64120 bridge chip.
718
David Daneya86c7f72008-12-11 15:33:38 -0800719config CAVIUM_OCTEON_SIMULATOR
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900720 bool "Cavium Networks Octeon Simulator"
David Daneya86c7f72008-12-11 15:33:38 -0800721 select CEVT_R4K
722 select 64BIT_PHYS_ADDR
723 select DMA_COHERENT
724 select SYS_SUPPORTS_64BIT_KERNEL
725 select SYS_SUPPORTS_BIG_ENDIAN
726 select SYS_SUPPORTS_HIGHMEM
Ralf Baechle773cb772009-06-23 10:36:38 +0100727 select SYS_SUPPORTS_HOTPLUG_CPU
David Daney5e683382009-02-02 11:30:59 -0800728 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daney465aaed2011-08-20 08:44:00 -0700729 select HOLES_IN_ZONE
David Daneya86c7f72008-12-11 15:33:38 -0800730 help
731 The Octeon simulator is software performance model of the Cavium
732 Octeon Processor. It supports simulating Octeon processors on x86
733 hardware.
734
735config CAVIUM_OCTEON_REFERENCE_BOARD
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900736 bool "Cavium Networks Octeon reference board"
David Daneya86c7f72008-12-11 15:33:38 -0800737 select CEVT_R4K
738 select 64BIT_PHYS_ADDR
739 select DMA_COHERENT
740 select SYS_SUPPORTS_64BIT_KERNEL
741 select SYS_SUPPORTS_BIG_ENDIAN
742 select SYS_SUPPORTS_HIGHMEM
Ralf Baechle773cb772009-06-23 10:36:38 +0100743 select SYS_SUPPORTS_HOTPLUG_CPU
David Daneya86c7f72008-12-11 15:33:38 -0800744 select SYS_HAS_EARLY_PRINTK
David Daney5e683382009-02-02 11:30:59 -0800745 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800746 select SWAP_IO_SPACE
David Daneye8635b42009-04-23 17:44:38 -0700747 select HW_HAS_PCI
748 select ARCH_SUPPORTS_MSI
David Daneyf00e0012010-10-01 13:27:30 -0700749 select ZONE_DMA32
David Daney340fbb82010-10-08 14:47:53 -0700750 select USB_ARCH_HAS_OHCI
751 select USB_ARCH_HAS_EHCI
David Daney465aaed2011-08-20 08:44:00 -0700752 select HOLES_IN_ZONE
David Daneya86c7f72008-12-11 15:33:38 -0800753 help
754 This option supports all of the Octeon reference boards from Cavium
755 Networks. It builds a kernel that dynamically determines the Octeon
756 CPU type and supports all known board reference implementations.
757 Some of the supported boards are:
758 EBT3000
759 EBH3000
760 EBH3100
761 Thunder
762 Kodama
763 Hikari
764 Say Y here for most Octeon reference boards.
765
Jayachandran C7f058e82011-05-07 01:36:57 +0530766config NLM_XLR_BOARD
767 bool "Netlogic XLR/XLS based systems"
768 depends on EXPERIMENTAL
769 select BOOT_ELF32
770 select NLM_COMMON
771 select NLM_XLR
772 select SYS_HAS_CPU_XLR
773 select SYS_SUPPORTS_SMP
774 select HW_HAS_PCI
775 select SWAP_IO_SPACE
776 select SYS_SUPPORTS_32BIT_KERNEL
777 select SYS_SUPPORTS_64BIT_KERNEL
778 select 64BIT_PHYS_ADDR
779 select SYS_SUPPORTS_BIG_ENDIAN
780 select SYS_SUPPORTS_HIGHMEM
781 select DMA_COHERENT
782 select NR_CPUS_DEFAULT_32
783 select CEVT_R4K
784 select CSRC_R4K
785 select IRQ_CPU
786 select ZONE_DMA if 64BIT
787 select SYNC_R4K
788 select SYS_HAS_EARLY_PRINTK
789 help
790 Support for systems based on Netlogic XLR and XLS processors.
791 Say Y here if you have a XLR or XLS based board.
792
Linus Torvalds1da177e2005-04-16 15:20:36 -0700793endchoice
794
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200795source "arch/mips/alchemy/Kconfig"
Gabor Juhosd4a67d92011-01-04 21:28:14 +0100796source "arch/mips/ath79/Kconfig"
Maxime Bizone7300d02009-08-18 13:23:37 +0100797source "arch/mips/bcm63xx/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100798source "arch/mips/jazz/Kconfig"
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000799source "arch/mips/jz4740/Kconfig"
John Crispin8ec6d932011-03-30 09:27:48 +0200800source "arch/mips/lantiq/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200801source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100802source "arch/mips/pmc-sierra/Kconfig"
David VomLehna3a0f8c2009-08-30 17:15:11 -0700803source "arch/mips/powertv/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000804source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000805source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900806source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100807source "arch/mips/vr41xx/Kconfig"
David Daneya86c7f72008-12-11 15:33:38 -0800808source "arch/mips/cavium-octeon/Kconfig"
Wu Zhangjin85749d22009-07-02 23:26:45 +0800809source "arch/mips/loongson/Kconfig"
Jayachandran C7f058e82011-05-07 01:36:57 +0530810source "arch/mips/netlogic/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000811
Ralf Baechle5e83d432005-10-29 19:32:41 +0100812endmenu
813
Linus Torvalds1da177e2005-04-16 15:20:36 -0700814config RWSEM_GENERIC_SPINLOCK
815 bool
816 default y
817
818config RWSEM_XCHGADD_ALGORITHM
819 bool
820
David Howellsf0d1b0b2006-12-08 02:37:49 -0800821config ARCH_HAS_ILOG2_U32
822 bool
823 default n
824
825config ARCH_HAS_ILOG2_U64
826 bool
827 default n
828
Ralf Baechle00a58252007-12-06 16:53:19 +0000829config ARCH_SUPPORTS_OPROFILE
830 bool
831 default y if !MIPS_MT_SMTC
832
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800833config GENERIC_HWEIGHT
834 bool
835 default y
836
Linus Torvalds1da177e2005-04-16 15:20:36 -0700837config GENERIC_CALIBRATE_DELAY
838 bool
839 default y
840
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100841config GENERIC_CLOCKEVENTS
842 bool
843 default y
844
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100845config GENERIC_CMOS_UPDATE
846 bool
847 default y
848
Ingo Molnarae1e9132008-11-11 09:05:16 +0100849config SCHED_OMIT_FRAME_POINTER
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900850 bool
851 default y
852
Linus Torvalds1da177e2005-04-16 15:20:36 -0700853#
854# Select some configuration options automatically based on user selections.
855#
856config ARC
857 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700858
Ralf Baechle61ed2422005-09-15 08:52:34 +0000859config ARCH_MAY_HAVE_PC_FDC
860 bool
861
Marc St-Jean9267a302007-06-14 15:55:31 -0600862config BOOT_RAW
863 bool
864
Ralf Baechle217dd112007-11-01 01:57:55 +0000865config CEVT_BCM1480
866 bool
867
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900868config CEVT_DS1287
869 bool
870
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900871config CEVT_GT641XX
872 bool
873
Manuel Lauss779e7d42008-12-21 09:26:22 +0100874config CEVT_R4K_LIB
875 bool
876
Ralf Baechle42f77542007-10-18 17:48:11 +0100877config CEVT_R4K
Manuel Lauss779e7d42008-12-21 09:26:22 +0100878 select CEVT_R4K_LIB
Ralf Baechle42f77542007-10-18 17:48:11 +0100879 bool
880
Ralf Baechle217dd112007-11-01 01:57:55 +0000881config CEVT_SB1250
882 bool
883
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900884config CEVT_TXX9
885 bool
886
Ralf Baechle217dd112007-11-01 01:57:55 +0000887config CSRC_BCM1480
888 bool
889
Yoichi Yuasa42474172008-04-24 09:48:40 +0900890config CSRC_IOASIC
891 bool
892
David VomLehna3a0f8c2009-08-30 17:15:11 -0700893config CSRC_POWERTV
894 bool
895
Manuel Lauss779e7d42008-12-21 09:26:22 +0100896config CSRC_R4K_LIB
897 bool
898
Ralf Baechle940f6b42007-11-24 22:33:28 +0000899config CSRC_R4K
Manuel Lauss779e7d42008-12-21 09:26:22 +0100900 select CSRC_R4K_LIB
Ralf Baechle940f6b42007-11-24 22:33:28 +0000901 bool
902
Ralf Baechle217dd112007-11-01 01:57:55 +0000903config CSRC_SB1250
904 bool
905
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900906config GPIO_TXX9
907 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700908 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900909 bool
910
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200911config CFE
912 bool
913
FUJITA Tomonori4bafad92010-09-03 09:49:12 +0900914config ARCH_DMA_ADDR_T_64BIT
915 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
916
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700917config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700918 bool
919
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700920config DMA_NONCOHERENT
921 bool
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800922 select NEED_DMA_MAP_STATE
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700923
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800924config NEED_DMA_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700925 bool
926
Ralf Baechle36a88532007-03-01 11:56:43 +0000927config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700928 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700929
Ralf Baechledbb74542007-08-07 14:52:17 +0100930config HOTPLUG_CPU
Ralf Baechle1b2bc752009-06-23 10:00:31 +0100931 bool "Support for hot-pluggable CPUs"
932 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
933 help
934 Say Y here to allow turning CPUs off and on. CPUs can be
935 controlled through /sys/devices/system/cpu.
936 (Note: power management support will enable this option
937 automatically on SMP systems. )
938 Say N if you want to disable CPU hotplug.
939
940config SYS_SUPPORTS_HOTPLUG_CPU
Ralf Baechledbb74542007-08-07 14:52:17 +0100941 bool
Ralf Baechledbb74542007-08-07 14:52:17 +0100942
Linus Torvalds1da177e2005-04-16 15:20:36 -0700943config I8259
944 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700945
Linus Torvalds1da177e2005-04-16 15:20:36 -0700946config MIPS_BONITO64
947 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700948
949config MIPS_MSC
950 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700951
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200952config MIPS_NILE4
953 bool
954
Linus Torvalds1da177e2005-04-16 15:20:36 -0700955config MIPS_DISABLE_OBSOLETE_IDE
956 bool
957
Ralf Baechle39b8d522008-04-28 17:14:26 +0100958config SYNC_R4K
959 bool
960
Gabor Juhos487d70d2010-11-23 16:06:25 +0100961config MIPS_MACHINE
962 def_bool n
963
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100964config NO_IOPORT
965 def_bool n
966
Ralf Baechle8313da32007-08-24 16:48:30 +0100967config GENERIC_ISA_DMA
968 bool
969 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
Namhyung Kima35bee82010-10-18 12:55:21 +0900970 select ISA_DMA_API
Ralf Baechle8313da32007-08-24 16:48:30 +0100971
Ralf Baechleaa414df2006-11-30 01:14:51 +0000972config GENERIC_ISA_DMA_SUPPORT_BROKEN
973 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100974 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000975
Namhyung Kima35bee82010-10-18 12:55:21 +0900976config ISA_DMA_API
977 bool
978
Yoichi Yuasa09663332007-05-22 00:05:58 +0900979config GENERIC_GPIO
980 bool
981
David Daney465aaed2011-08-20 08:44:00 -0700982config HOLES_IN_ZONE
983 bool
984
Ralf Baechle5e83d432005-10-29 19:32:41 +0100985#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100986# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100987# answer,so we try hard to limit the available choices. Also the use of a
988# choice statement should be more obvious to the user.
989#
990choice
991 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700992 help
993 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100994 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100995 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100996 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200997 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100998
999config CPU_BIG_ENDIAN
1000 bool "Big endian"
1001 depends on SYS_SUPPORTS_BIG_ENDIAN
1002
1003config CPU_LITTLE_ENDIAN
1004 bool "Little endian"
1005 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1006 help
1007
1008endchoice
1009
David Daney22b07632010-07-23 18:41:43 -07001010config EXPORT_UASM
1011 bool
1012
Ralf Baechle21162452007-02-09 17:08:58 +00001013config SYS_SUPPORTS_APM_EMULATION
1014 bool
1015
Ralf Baechle5e83d432005-10-29 19:32:41 +01001016config SYS_SUPPORTS_BIG_ENDIAN
1017 bool
1018
1019config SYS_SUPPORTS_LITTLE_ENDIAN
1020 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001021
David Daney9cffd152009-05-27 17:47:46 -07001022config SYS_SUPPORTS_HUGETLBFS
1023 bool
1024 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1025 default y
1026
Linus Torvalds1da177e2005-04-16 15:20:36 -07001027config IRQ_CPU
1028 bool
1029
1030config IRQ_CPU_RM7K
1031 bool
1032
Ralf Baechle5e83d432005-10-29 19:32:41 +01001033config IRQ_CPU_RM9K
1034 bool
1035
Marc St-Jean9267a302007-06-14 15:55:31 -06001036config IRQ_MSP_SLP
1037 bool
1038
1039config IRQ_MSP_CIC
1040 bool
1041
Atsushi Nemoto8420fd02007-08-02 23:35:53 +09001042config IRQ_TXX9
1043 bool
1044
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +09001045config IRQ_GT641XX
1046 bool
1047
Ralf Baechle39b8d522008-04-28 17:14:26 +01001048config IRQ_GIC
1049 bool
1050
Linus Torvalds1da177e2005-04-16 15:20:36 -07001051config MIPS_BOARDS_GEN
1052 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001053
Yoichi Yuasa252161e2007-03-14 21:51:26 +09001054config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -07001055 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001056
Marc St-Jean9267a302007-06-14 15:55:31 -06001057config NO_EXCEPT_FILL
1058 bool
1059
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +02001060config MIPS_RM9122
1061 bool
1062 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +02001063
Ralf Baechlea83860c2009-03-13 21:17:57 +01001064config SOC_EMMA2RH
1065 bool
1066 select CEVT_R4K
1067 select CSRC_R4K
1068 select DMA_NONCOHERENT
1069 select IRQ_CPU
1070 select SWAP_IO_SPACE
1071 select SYS_HAS_CPU_R5500
1072 select SYS_SUPPORTS_32BIT_KERNEL
1073 select SYS_SUPPORTS_64BIT_KERNEL
1074 select SYS_SUPPORTS_BIG_ENDIAN
1075
Daniel Lairdedb63102008-06-16 15:49:21 +01001076config SOC_PNX833X
1077 bool
1078 select CEVT_R4K
1079 select CSRC_R4K
1080 select IRQ_CPU
1081 select DMA_NONCOHERENT
1082 select SYS_HAS_CPU_MIPS32_R2
1083 select SYS_SUPPORTS_32BIT_KERNEL
1084 select SYS_SUPPORTS_LITTLE_ENDIAN
1085 select SYS_SUPPORTS_BIG_ENDIAN
Daniel Lairdedb63102008-06-16 15:49:21 +01001086 select GENERIC_GPIO
1087 select CPU_MIPSR2_IRQ_VI
1088
1089config SOC_PNX8335
1090 bool
1091 select SOC_PNX833X
1092
Pete Popovbdf21b12005-07-14 17:47:57 +00001093config PNX8550
1094 bool
1095 select SOC_PNX8550
1096
1097config SOC_PNX8550
1098 bool
Pete Popovbdf21b12005-07-14 17:47:57 +00001099 select DMA_NONCOHERENT
1100 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +00001101 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +00001102 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +01001103 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli4ead1682007-05-22 21:44:42 +02001104 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +00001105
Linus Torvalds1da177e2005-04-16 15:20:36 -07001106config SWAP_IO_SPACE
1107 bool
1108
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +02001109config SERIAL_RM9000
1110 bool
1111
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001112config SGI_HAS_INDYDOG
1113 bool
1114
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +02001115config SGI_HAS_HAL2
1116 bool
1117
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001118config SGI_HAS_SEEQ
1119 bool
1120
1121config SGI_HAS_WD93
1122 bool
1123
1124config SGI_HAS_ZILOG
1125 bool
1126
1127config SGI_HAS_I8042
1128 bool
1129
1130config DEFAULT_SGI_PARTITION
1131 bool
1132
Ralf Baechle5e83d432005-10-29 19:32:41 +01001133config ARC32
1134 bool
1135
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +01001136config SNIPROM
1137 bool
1138
Linus Torvalds1da177e2005-04-16 15:20:36 -07001139config BOOT_ELF32
1140 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001141
1142config MIPS_L1_CACHE_SHIFT
1143 int
Ralf Baechlec7088752009-10-12 22:30:06 +02001144 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
Ralf Baechle0db2b742009-10-13 16:54:01 +02001145 default "6" if MIPS_CPU_SCACHE
David Daneya86c7f72008-12-11 15:33:38 -08001146 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001147 default "5"
1148
Linus Torvalds1da177e2005-04-16 15:20:36 -07001149config HAVE_STD_PC_SERIAL_PORT
1150 bool
1151
Linus Torvalds1da177e2005-04-16 15:20:36 -07001152config ARC_CONSOLE
1153 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001154 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001155
1156config ARC_MEMORY
1157 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +01001158 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001159 default y
1160
1161config ARC_PROMLIB
1162 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001163 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001164 default y
1165
1166config ARC64
1167 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001168
1169config BOOT_ELF64
1170 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001171
Linus Torvalds1da177e2005-04-16 15:20:36 -07001172menu "CPU selection"
1173
1174choice
1175 prompt "CPU type"
1176 default CPU_R4X00
1177
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001178config CPU_LOONGSON2E
1179 bool "Loongson 2E"
1180 depends on SYS_HAS_CPU_LOONGSON2E
1181 select CPU_LOONGSON2
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001182 help
1183 The Loongson 2E processor implements the MIPS III instruction set
1184 with many extensions.
1185
Lucas De Marchi25985ed2011-03-30 22:57:33 -03001186 It has an internal FPGA northbridge, which is compatible to
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001187 bonito64.
1188
1189config CPU_LOONGSON2F
1190 bool "Loongson 2F"
1191 depends on SYS_HAS_CPU_LOONGSON2F
1192 select CPU_LOONGSON2
Arnaud Patardc197da92010-04-29 11:58:54 +02001193 select GENERIC_GPIO
1194 select ARCH_REQUIRE_GPIOLIB
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001195 help
1196 The Loongson 2F processor implements the MIPS III instruction set
1197 with many extensions.
1198
1199 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1200 have a similar programming interface with FPGA northbridge used in
1201 Loongson2E.
1202
Ralf Baechle6e760c82005-07-06 12:08:11 +00001203config CPU_MIPS32_R1
1204 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001205 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechle6e760c82005-07-06 12:08:11 +00001206 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001207 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001208 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001209 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001210 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001211 MIPS32 architecture. Most modern embedded systems with a 32-bit
1212 MIPS processor are based on a MIPS32 processor. If you know the
1213 specific type of processor in your system, choose those that one
1214 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1215 Release 2 of the MIPS32 architecture is available since several
1216 years so chances are you even have a MIPS32 Release 2 processor
1217 in which case you should choose CPU_MIPS32_R2 instead for better
1218 performance.
1219
1220config CPU_MIPS32_R2
1221 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001222 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001223 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001224 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001225 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001226 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001227 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001228 MIPS32 architecture. Most modern embedded systems with a 32-bit
1229 MIPS processor are based on a MIPS32 processor. If you know the
1230 specific type of processor in your system, choose those that one
1231 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001232
Ralf Baechle6e760c82005-07-06 12:08:11 +00001233config CPU_MIPS64_R1
1234 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001235 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechle797798c2005-08-10 15:17:11 +00001236 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001237 select CPU_SUPPORTS_32BIT_KERNEL
1238 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001239 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001240 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle6e760c82005-07-06 12:08:11 +00001241 help
1242 Choose this option to build a kernel for release 1 or later of the
1243 MIPS64 architecture. Many modern embedded systems with a 64-bit
1244 MIPS processor are based on a MIPS64 processor. If you know the
1245 specific type of processor in your system, choose those that one
1246 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001247 Release 2 of the MIPS64 architecture is available since several
1248 years so chances are you even have a MIPS64 Release 2 processor
1249 in which case you should choose CPU_MIPS64_R2 instead for better
1250 performance.
1251
1252config CPU_MIPS64_R2
1253 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001254 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechle797798c2005-08-10 15:17:11 +00001255 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001256 select CPU_SUPPORTS_32BIT_KERNEL
1257 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001258 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001259 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001260 help
1261 Choose this option to build a kernel for release 2 or later of the
1262 MIPS64 architecture. Many modern embedded systems with a 64-bit
1263 MIPS processor are based on a MIPS64 processor. If you know the
1264 specific type of processor in your system, choose those that one
1265 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001266
1267config CPU_R3000
1268 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001269 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001270 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001271 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001272 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001273 help
1274 Please make sure to pick the right CPU type. Linux/MIPS is not
1275 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1276 *not* work on R4000 machines and vice versa. However, since most
1277 of the supported machines have an R4000 (or similar) CPU, R4x00
1278 might be a safe bet. If the resulting kernel does not work,
1279 try to recompile with R3000.
1280
1281config CPU_TX39XX
1282 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001283 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001284 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001285
1286config CPU_VR41XX
1287 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001288 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001289 select CPU_SUPPORTS_32BIT_KERNEL
1290 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001291 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001292 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001293 Only choose this option if you have one of these processors as a
1294 kernel built with this option will not run on any other type of
1295 processor or vice versa.
1296
1297config CPU_R4300
1298 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001299 depends on SYS_HAS_CPU_R4300
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001300 select CPU_SUPPORTS_32BIT_KERNEL
1301 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001302 help
1303 MIPS Technologies R4300-series processors.
1304
1305config CPU_R4X00
1306 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001307 depends on SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001308 select CPU_SUPPORTS_32BIT_KERNEL
1309 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001310 help
1311 MIPS Technologies R4000-series processors other than 4300, including
1312 the R4000, R4400, R4600, and 4700.
1313
1314config CPU_TX49XX
1315 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001316 depends on SYS_HAS_CPU_TX49XX
Atsushi Nemotode862b42006-03-17 12:59:22 +09001317 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001318 select CPU_SUPPORTS_32BIT_KERNEL
1319 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001320
1321config CPU_R5000
1322 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001323 depends on SYS_HAS_CPU_R5000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001324 select CPU_SUPPORTS_32BIT_KERNEL
1325 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001326 help
1327 MIPS Technologies R5000-series processors other than the Nevada.
1328
1329config CPU_R5432
1330 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001331 depends on SYS_HAS_CPU_R5432
Ralf Baechle5e83d432005-10-29 19:32:41 +01001332 select CPU_SUPPORTS_32BIT_KERNEL
1333 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001334
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001335config CPU_R5500
1336 bool "R5500"
1337 depends on SYS_HAS_CPU_R5500
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001338 select CPU_SUPPORTS_32BIT_KERNEL
1339 select CPU_SUPPORTS_64BIT_KERNEL
David Daney9cffd152009-05-27 17:47:46 -07001340 select CPU_SUPPORTS_HUGEPAGES
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001341 help
1342 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1343 instruction set.
1344
Linus Torvalds1da177e2005-04-16 15:20:36 -07001345config CPU_R6000
1346 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001347 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001348 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001349 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001350 help
1351 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001352 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001353
1354config CPU_NEVADA
1355 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001356 depends on SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001357 select CPU_SUPPORTS_32BIT_KERNEL
1358 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001359 help
1360 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1361
1362config CPU_R8000
1363 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001364 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001365 depends on SYS_HAS_CPU_R8000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001366 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001367 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001368 help
1369 MIPS Technologies R8000 processors. Note these processors are
1370 uncommon and the support for them is incomplete.
1371
1372config CPU_R10000
1373 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001374 depends on SYS_HAS_CPU_R10000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001375 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001376 select CPU_SUPPORTS_32BIT_KERNEL
1377 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001378 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001379 help
1380 MIPS Technologies R10000-series processors.
1381
1382config CPU_RM7000
1383 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001384 depends on SYS_HAS_CPU_RM7000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001385 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001386 select CPU_SUPPORTS_32BIT_KERNEL
1387 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001388 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001389
1390config CPU_RM9000
1391 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001392 depends on SYS_HAS_CPU_RM9000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001393 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001394 select CPU_SUPPORTS_32BIT_KERNEL
1395 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001396 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001397 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001398
1399config CPU_SB1
1400 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001401 depends on SYS_HAS_CPU_SB1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001402 select CPU_SUPPORTS_32BIT_KERNEL
1403 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001404 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001405 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001406
David Daneya86c7f72008-12-11 15:33:38 -08001407config CPU_CAVIUM_OCTEON
1408 bool "Cavium Octeon processor"
David Daney5e683382009-02-02 11:30:59 -08001409 depends on SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -08001410 select CPU_HAS_PREFETCH
1411 select CPU_SUPPORTS_64BIT_KERNEL
1412 select SYS_SUPPORTS_SMP
1413 select NR_CPUS_DEFAULT_16
1414 select WEAK_ORDERING
David Daneya86c7f72008-12-11 15:33:38 -08001415 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001416 select CPU_SUPPORTS_HUGEPAGES
David Daneya86c7f72008-12-11 15:33:38 -08001417 help
1418 The Cavium Octeon processor is a highly integrated chip containing
1419 many ethernet hardware widgets for networking tasks. The processor
1420 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1421 Full details can be found at http://www.caviumnetworks.com.
1422
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001423config CPU_BMIPS3300
1424 bool "BMIPS3300"
1425 depends on SYS_HAS_CPU_BMIPS3300
1426 select DMA_NONCOHERENT
1427 select IRQ_CPU
1428 select SWAP_IO_SPACE
1429 select SYS_SUPPORTS_32BIT_KERNEL
1430 select WEAK_ORDERING
1431 help
1432 Broadcom BMIPS3300 processors.
1433
1434config CPU_BMIPS4350
1435 bool "BMIPS4350"
1436 depends on SYS_HAS_CPU_BMIPS4350
1437 select CPU_SUPPORTS_32BIT_KERNEL
1438 select DMA_NONCOHERENT
1439 select IRQ_CPU
1440 select SWAP_IO_SPACE
1441 select SYS_SUPPORTS_SMP
1442 select SYS_SUPPORTS_HOTPLUG_CPU
1443 select WEAK_ORDERING
1444 help
1445 Broadcom BMIPS4350 ("VIPER") processors.
1446
1447config CPU_BMIPS4380
1448 bool "BMIPS4380"
1449 depends on SYS_HAS_CPU_BMIPS4380
1450 select CPU_SUPPORTS_32BIT_KERNEL
1451 select DMA_NONCOHERENT
1452 select IRQ_CPU
1453 select SWAP_IO_SPACE
1454 select SYS_SUPPORTS_SMP
1455 select SYS_SUPPORTS_HOTPLUG_CPU
1456 select WEAK_ORDERING
1457 help
1458 Broadcom BMIPS4380 processors.
1459
1460config CPU_BMIPS5000
1461 bool "BMIPS5000"
1462 depends on SYS_HAS_CPU_BMIPS5000
1463 select CPU_SUPPORTS_32BIT_KERNEL
1464 select CPU_SUPPORTS_HIGHMEM
1465 select DMA_NONCOHERENT
1466 select IRQ_CPU
1467 select SWAP_IO_SPACE
1468 select SYS_SUPPORTS_SMP
1469 select SYS_SUPPORTS_HOTPLUG_CPU
1470 select WEAK_ORDERING
1471 help
1472 Broadcom BMIPS5000 processors.
1473
Jayachandran C7f058e82011-05-07 01:36:57 +05301474config CPU_XLR
1475 bool "Netlogic XLR SoC"
1476 depends on SYS_HAS_CPU_XLR
1477 select CPU_SUPPORTS_32BIT_KERNEL
1478 select CPU_SUPPORTS_64BIT_KERNEL
1479 select CPU_SUPPORTS_HIGHMEM
1480 select WEAK_ORDERING
1481 select WEAK_REORDERING_BEYOND_LLSC
1482 select CPU_SUPPORTS_HUGEPAGES
1483 help
1484 Netlogic Microsystems XLR/XLS processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001485endchoice
1486
Wu Zhangjin622844b2010-04-10 20:04:42 +08001487if CPU_LOONGSON2F
1488config CPU_NOP_WORKAROUNDS
1489 bool
1490
1491config CPU_JUMP_WORKAROUNDS
1492 bool
1493
1494config CPU_LOONGSON2F_WORKAROUNDS
1495 bool "Loongson 2F Workarounds"
1496 default y
1497 select CPU_NOP_WORKAROUNDS
1498 select CPU_JUMP_WORKAROUNDS
1499 help
1500 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1501 require workarounds. Without workarounds the system may hang
1502 unexpectedly. For more information please refer to the gas
1503 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1504
1505 Loongson 2F03 and later have fixed these issues and no workarounds
1506 are needed. The workarounds have no significant side effect on them
1507 but may decrease the performance of the system so this option should
1508 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1509 systems.
1510
1511 If unsure, please say Y.
1512endif # CPU_LOONGSON2F
1513
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001514config SYS_SUPPORTS_ZBOOT
1515 bool
1516 select HAVE_KERNEL_GZIP
1517 select HAVE_KERNEL_BZIP2
1518 select HAVE_KERNEL_LZMA
Wu Zhangjinfe1d45e2010-01-15 20:34:46 +08001519 select HAVE_KERNEL_LZO
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001520
1521config SYS_SUPPORTS_ZBOOT_UART16550
1522 bool
1523 select SYS_SUPPORTS_ZBOOT
1524
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001525config CPU_LOONGSON2
1526 bool
1527 select CPU_SUPPORTS_32BIT_KERNEL
1528 select CPU_SUPPORTS_64BIT_KERNEL
1529 select CPU_SUPPORTS_HIGHMEM
1530
1531config SYS_HAS_CPU_LOONGSON2E
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001532 bool
1533
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001534config SYS_HAS_CPU_LOONGSON2F
1535 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001536 select CPU_SUPPORTS_CPUFREQ
1537 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001538 select CPU_SUPPORTS_UNCACHED_ACCELERATED
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001539
Ralf Baechle7cf80532005-10-20 22:33:09 +01001540config SYS_HAS_CPU_MIPS32_R1
1541 bool
1542
1543config SYS_HAS_CPU_MIPS32_R2
1544 bool
1545
1546config SYS_HAS_CPU_MIPS64_R1
1547 bool
1548
1549config SYS_HAS_CPU_MIPS64_R2
1550 bool
1551
1552config SYS_HAS_CPU_R3000
1553 bool
1554
1555config SYS_HAS_CPU_TX39XX
1556 bool
1557
1558config SYS_HAS_CPU_VR41XX
1559 bool
1560
1561config SYS_HAS_CPU_R4300
1562 bool
1563
1564config SYS_HAS_CPU_R4X00
1565 bool
1566
1567config SYS_HAS_CPU_TX49XX
1568 bool
1569
1570config SYS_HAS_CPU_R5000
1571 bool
1572
1573config SYS_HAS_CPU_R5432
1574 bool
1575
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001576config SYS_HAS_CPU_R5500
1577 bool
1578
Ralf Baechle7cf80532005-10-20 22:33:09 +01001579config SYS_HAS_CPU_R6000
1580 bool
1581
1582config SYS_HAS_CPU_NEVADA
1583 bool
1584
1585config SYS_HAS_CPU_R8000
1586 bool
1587
1588config SYS_HAS_CPU_R10000
1589 bool
1590
1591config SYS_HAS_CPU_RM7000
1592 bool
1593
1594config SYS_HAS_CPU_RM9000
1595 bool
1596
1597config SYS_HAS_CPU_SB1
1598 bool
1599
David Daney5e683382009-02-02 11:30:59 -08001600config SYS_HAS_CPU_CAVIUM_OCTEON
1601 bool
1602
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001603config SYS_HAS_CPU_BMIPS3300
1604 bool
1605
1606config SYS_HAS_CPU_BMIPS4350
1607 bool
1608
1609config SYS_HAS_CPU_BMIPS4380
1610 bool
1611
1612config SYS_HAS_CPU_BMIPS5000
1613 bool
1614
Jayachandran C7f058e82011-05-07 01:36:57 +05301615config SYS_HAS_CPU_XLR
1616 bool
1617
Ralf Baechle17099b12007-07-14 13:24:05 +01001618#
1619# CPU may reorder R->R, R->W, W->R, W->W
1620# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1621#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001622config WEAK_ORDERING
1623 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001624
1625#
1626# CPU may reorder reads and writes beyond LL/SC
1627# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1628#
1629config WEAK_REORDERING_BEYOND_LLSC
1630 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001631endmenu
1632
1633#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001634# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001635#
1636config CPU_MIPS32
1637 bool
1638 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1639
1640config CPU_MIPS64
1641 bool
1642 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1643
1644#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001645# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001646#
1647config CPU_MIPSR1
1648 bool
1649 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1650
1651config CPU_MIPSR2
1652 bool
David Daneya86c7f72008-12-11 15:33:38 -08001653 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
Ralf Baechle5e83d432005-10-29 19:32:41 +01001654
1655config SYS_SUPPORTS_32BIT_KERNEL
1656 bool
1657config SYS_SUPPORTS_64BIT_KERNEL
1658 bool
1659config CPU_SUPPORTS_32BIT_KERNEL
1660 bool
1661config CPU_SUPPORTS_64BIT_KERNEL
1662 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001663config CPU_SUPPORTS_CPUFREQ
1664 bool
1665config CPU_SUPPORTS_ADDRWINCFG
1666 bool
David Daney9cffd152009-05-27 17:47:46 -07001667config CPU_SUPPORTS_HUGEPAGES
1668 bool
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001669config CPU_SUPPORTS_UNCACHED_ACCELERATED
1670 bool
David Daney826222842009-10-14 12:16:56 -07001671config MIPS_PGD_C0_CONTEXT
1672 bool
1673 default y if 64BIT && CPU_MIPSR2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001674
David Daney8192c9e2008-09-23 00:04:26 -07001675#
1676# Set to y for ptrace access to watch registers.
1677#
1678config HARDWARE_WATCHPOINTS
1679 bool
David Daneyf8394902009-01-05 15:29:14 -08001680 default y if CPU_MIPSR1 || CPU_MIPSR2
David Daney8192c9e2008-09-23 00:04:26 -07001681
Ralf Baechle5e83d432005-10-29 19:32:41 +01001682menu "Kernel type"
1683
1684choice
1685
1686 prompt "Kernel code model"
1687 help
1688 You should only select this option if you have a workload that
1689 actually benefits from 64-bit processing or if your machine has
1690 large memory. You will only be presented a single option in this
1691 menu if your system does not support both 32-bit and 64-bit kernels.
1692
1693config 32BIT
1694 bool "32-bit kernel"
1695 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1696 select TRAD_SIGNALS
1697 help
1698 Select this option if you want to build a 32-bit kernel.
1699config 64BIT
1700 bool "64-bit kernel"
1701 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechledbda6ac2009-02-08 16:00:26 +00001702 select HAVE_SYSCALL_WRAPPERS
Ralf Baechle5e83d432005-10-29 19:32:41 +01001703 help
1704 Select this option if you want to build a 64-bit kernel.
1705
1706endchoice
1707
Linus Torvalds1da177e2005-04-16 15:20:36 -07001708choice
1709 prompt "Kernel page size"
1710 default PAGE_SIZE_4KB
1711
1712config PAGE_SIZE_4KB
1713 bool "4kB"
Wu Zhangjin315fe622009-12-01 14:55:25 +08001714 depends on !CPU_LOONGSON2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001715 help
1716 This option select the standard 4kB Linux page size. On some
1717 R3000-family processors this is the only available page size. Using
1718 4kB page size will minimize memory consumption and is therefore
1719 recommended for low memory systems.
1720
1721config PAGE_SIZE_8KB
1722 bool "8kB"
Ralf Baechlec52399b2009-04-02 14:07:10 +02001723 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001724 help
1725 Using 8kB page size will result in higher performance kernel at
1726 the price of higher memory consumption. This option is available
Ralf Baechlec52399b2009-04-02 14:07:10 +02001727 only on R8000 and cnMIPS processors. Note that you will need a
1728 suitable Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001729
1730config PAGE_SIZE_16KB
1731 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001732 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001733 help
1734 Using 16kB page size will result in higher performance kernel at
1735 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001736 all non-R3000 family processors. Note that you will need a suitable
1737 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001738
Ralf Baechlec52399b2009-04-02 14:07:10 +02001739config PAGE_SIZE_32KB
1740 bool "32kB"
1741 depends on CPU_CAVIUM_OCTEON
1742 help
1743 Using 32kB page size will result in higher performance kernel at
1744 the price of higher memory consumption. This option is available
1745 only on cnMIPS cores. Note that you will need a suitable Linux
1746 distribution to support this.
1747
Linus Torvalds1da177e2005-04-16 15:20:36 -07001748config PAGE_SIZE_64KB
1749 bool "64kB"
1750 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1751 help
1752 Using 64kB page size will result in higher performance kernel at
1753 the price of higher memory consumption. This option is available on
1754 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001755 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001756
1757endchoice
1758
David Daneyc9bace72010-10-11 14:52:45 -07001759config FORCE_MAX_ZONEORDER
1760 int "Maximum zone order"
1761 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1762 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1763 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1764 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1765 range 11 64
1766 default "11"
1767 help
1768 The kernel memory allocator divides physically contiguous memory
1769 blocks into "zones", where each zone is a power of two number of
1770 pages. This option selects the largest power of two that the kernel
1771 keeps in the memory allocator. If you need to allocate very large
1772 blocks of physically contiguous memory, then you may need to
1773 increase this value.
1774
1775 This config option is actually maximum order plus one. For example,
1776 a value of 11 means that the largest free memory block is 2^10 pages.
1777
1778 The page size is not necessarily 4KB. Keep this in mind
1779 when choosing a value for this option.
1780
Linus Torvalds1da177e2005-04-16 15:20:36 -07001781config BOARD_SCACHE
1782 bool
1783
1784config IP22_CPU_SCACHE
1785 bool
1786 select BOARD_SCACHE
1787
Chris Dearman9318c512006-06-20 17:15:20 +01001788#
1789# Support for a MIPS32 / MIPS64 style S-caches
1790#
1791config MIPS_CPU_SCACHE
1792 bool
1793 select BOARD_SCACHE
1794
Linus Torvalds1da177e2005-04-16 15:20:36 -07001795config R5000_CPU_SCACHE
1796 bool
1797 select BOARD_SCACHE
1798
1799config RM7000_CPU_SCACHE
1800 bool
1801 select BOARD_SCACHE
1802
1803config SIBYTE_DMA_PAGEOPS
1804 bool "Use DMA to clear/copy pages"
1805 depends on CPU_SB1
1806 help
1807 Instead of using the CPU to zero and copy pages, use a Data Mover
1808 channel. These DMA channels are otherwise unused by the standard
1809 SiByte Linux port. Seems to give a small performance benefit.
1810
1811config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001812 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001813
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001814choice
1815 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001816
1817config MIPS_MT_DISABLED
1818 bool "Disable multithreading support."
1819 help
1820 Use this option if your workload can't take advantage of
1821 MIPS hardware multithreading support. On systems that don't have
1822 the option of an MT-enabled processor this option will be the only
1823 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001824
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001825config MIPS_MT_SMP
1826 bool "Use 1 TC on each available VPE for SMP"
1827 depends on SYS_SUPPORTS_MULTITHREADING
1828 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001829 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001830 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001831 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001832 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001833 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001834 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001835 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001836 help
Ralf Baechle25f12b32010-09-16 11:40:41 +01001837 This is a kernel model which is known a VSMP but lately has been
1838 marketesed into SMVP.
1839 Virtual SMP uses the processor's VPEs to implement virtual
1840 processors. In currently available configuration of the 34K processor
1841 this allows for a dual processor. Both processors will share the same
1842 primary caches; each will obtain the half of the TLB for it's own
1843 exclusive use. For a layman this model can be described as similar to
1844 what Intel calls Hyperthreading.
1845
1846 For further information see http://www.linux-mips.org/wiki/34K#VSMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001847
Ralf Baechle41c594a2006-04-05 09:45:45 +01001848config MIPS_MT_SMTC
1849 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001850 depends on CPU_MIPS32_R2
1851 #depends on CPU_MIPS64_R2 # once there is hardware ...
1852 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001853 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001854 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001855 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001856 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001857 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001858 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001859 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001860 help
1861 This is a kernel model which is known a SMTC or lately has been
1862 marketesed into SMVP.
Ralf Baechle25f12b32010-09-16 11:40:41 +01001863 is presenting the available TC's of the core as processors to Linux.
1864 On currently available 34K processors this means a Linux system will
1865 see up to 5 processors. The implementation of the SMTC kernel differs
1866 significantly from VSMP and cannot efficiently coexist in the same
1867 kernel binary so the choice between VSMP and SMTC is a compile time
1868 decision.
1869
1870 For further information see http://www.linux-mips.org/wiki/34K#SMTC
Ralf Baechle41c594a2006-04-05 09:45:45 +01001871
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001872endchoice
1873
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001874config MIPS_MT
1875 bool
1876
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001877config SCHED_SMT
1878 bool "SMT (multithreading) scheduler support"
1879 depends on SYS_SUPPORTS_SCHED_SMT
1880 default n
1881 help
1882 SMT scheduler support improves the CPU scheduler's decision making
1883 when dealing with MIPS MT enabled cores at a cost of slightly
1884 increased overhead in some places. If unsure say N here.
1885
1886config SYS_SUPPORTS_SCHED_SMT
1887 bool
1888
1889
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001890config SYS_SUPPORTS_MULTITHREADING
1891 bool
1892
Ralf Baechlef088fc82006-04-05 09:45:47 +01001893config MIPS_MT_FPAFF
1894 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001895 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001896 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1897
1898config MIPS_VPE_LOADER
1899 bool "VPE loader support."
1900 depends on SYS_SUPPORTS_MULTITHREADING
1901 select CPU_MIPSR2_IRQ_VI
1902 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001903 select MIPS_MT
1904 help
1905 Includes a loader for loading an elf relocatable object
1906 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001907
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001908config MIPS_MT_SMTC_IM_BACKSTOP
1909 bool "Use per-TC register bits as backstop for inhibited IM bits"
1910 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001911 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001912 help
1913 To support multiple TC microthreads acting as "CPUs" within
1914 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1915 during interrupt handling. To support legacy drivers and interrupt
1916 controller management code, SMTC has a "backstop" to track and
1917 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001918 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001919
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001920config MIPS_MT_SMTC_IRQAFF
1921 bool "Support IRQ affinity API"
1922 depends on MIPS_MT_SMTC
1923 default n
1924 help
1925 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1926 for SMTC Linux kernel. Requires platform support, of which
1927 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001928 platform code. Adds some overhead to interrupt dispatch, and
1929 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001930
Ralf Baechlee01402b2005-07-14 15:57:16 +00001931config MIPS_VPE_LOADER_TOM
1932 bool "Load VPE program into memory hidden from linux"
1933 depends on MIPS_VPE_LOADER
1934 default y
1935 help
1936 The loader can use memory that is present but has been hidden from
1937 Linux using the kernel command line option "mem=xxMB". It's up to
1938 you to ensure the amount you put in the option and the space your
1939 program requires is less or equal to the amount physically present.
1940
1941# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1942config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001943 bool "Enable support for AP/SP API (RTLX)"
1944 depends on MIPS_VPE_LOADER
1945 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001946
Ralf Baechle26009902006-04-05 09:45:45 +01001947config MIPS_APSP_KSPD
1948 bool "Enable KSPD"
1949 depends on MIPS_VPE_APSP_API
1950 default y
1951 help
1952 KSPD is a kernel daemon that accepts syscall requests from the SP
1953 side, actions them and returns the results. It also handles the
1954 "exit" syscall notifying other kernel modules the SP program is
1955 exiting. You probably want to say yes here.
1956
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001957config MIPS_CMP
1958 bool "MIPS CMP framework support"
1959 depends on SYS_SUPPORTS_MIPS_CMP
Tim Andersoneb9b5142009-06-17 16:40:34 -07001960 select SYNC_R4K
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001961 select SYS_SUPPORTS_SMP
1962 select SYS_SUPPORTS_SCHED_SMT if SMP
1963 select WEAK_ORDERING
1964 default n
1965 help
1966 This is a placeholder option for the GCMP work. It will need to
1967 be handled differently...
1968
Linus Torvalds1da177e2005-04-16 15:20:36 -07001969config SB1_PASS_1_WORKAROUNDS
1970 bool
1971 depends on CPU_SB1_PASS_1
1972 default y
1973
1974config SB1_PASS_2_WORKAROUNDS
1975 bool
1976 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1977 default y
1978
1979config SB1_PASS_2_1_WORKAROUNDS
1980 bool
1981 depends on CPU_SB1 && CPU_SB1_PASS_2
1982 default y
1983
1984config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001985 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001986
pascal@pabr.org60ec6572010-01-03 13:39:12 +01001987config ARCH_PHYS_ADDR_T_64BIT
1988 def_bool 64BIT_PHYS_ADDR
1989
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001990config CPU_HAS_SMARTMIPS
1991 depends on SYS_SUPPORTS_SMARTMIPS
1992 bool "Support for the SmartMIPS ASE"
1993 help
1994 SmartMIPS is a extension of the MIPS32 architecture aimed at
1995 increased security at both hardware and software level for
1996 smartcards. Enabling this option will allow proper use of the
1997 SmartMIPS instructions by Linux applications. However a kernel with
1998 this option will not work on a MIPS core without SmartMIPS core. If
1999 you don't know you probably don't have SmartMIPS and should say N
2000 here.
2001
Linus Torvalds1da177e2005-04-16 15:20:36 -07002002config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01002003 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002004
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002005#
2006# Vectored interrupt mode is an R2 feature
2007#
Ralf Baechlee01402b2005-07-14 15:57:16 +00002008config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002009 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002010
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002011#
2012# Extended interrupt mode is an R2 feature
2013#
Ralf Baechlee01402b2005-07-14 15:57:16 +00002014config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002015 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002016
Linus Torvalds1da177e2005-04-16 15:20:36 -07002017config CPU_HAS_SYNC
2018 bool
2019 depends on !CPU_R3000
2020 default y
2021
Ralf Baechleea580402007-10-11 23:46:09 +01002022config GENERIC_CLOCKEVENTS_BROADCAST
2023 bool
2024
Linus Torvalds1da177e2005-04-16 15:20:36 -07002025#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01002026# CPU non-features
2027#
2028config CPU_DADDI_WORKAROUNDS
2029 bool
2030
2031config CPU_R4000_WORKAROUNDS
2032 bool
2033 select CPU_R4400_WORKAROUNDS
2034
2035config CPU_R4400_WORKAROUNDS
2036 bool
2037
2038#
Linus Torvalds1da177e2005-04-16 15:20:36 -07002039# - Highmem only makes sense for the 32-bit kernel.
2040# - The current highmem code will only work properly on physically indexed
2041# caches such as R3000, SB1, R7000 or those that look like they're virtually
2042# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2043# moment we protect the user and offer the highmem option only on machines
2044# where it's known to be safe. This will not offer highmem on a few systems
2045# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2046# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00002047# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2048# know they might have memory configurations that could make use of highmem
2049# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002050#
2051config HIGHMEM
2052 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00002053 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2054
2055config CPU_SUPPORTS_HIGHMEM
2056 bool
2057
2058config SYS_SUPPORTS_HIGHMEM
2059 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002060
Franck Bui-Huu9693a852007-02-02 17:41:47 +01002061config SYS_SUPPORTS_SMARTMIPS
2062 bool
2063
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002064config ARCH_FLATMEM_ENABLE
2065 def_bool y
Wu Zhangjinf133f222009-12-01 14:55:42 +08002066 depends on !NUMA && !CPU_LOONGSON2
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002067
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002068config ARCH_DISCONTIGMEM_ENABLE
2069 bool
2070 default y if SGI_IP27
2071 help
David Sterba3dde6ad2007-05-09 07:12:20 +02002072 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002073 for architectures which are either NUMA (Non-Uniform Memory Access)
2074 or have huge holes in the physical address space for other reasons.
2075 See <file:Documentation/vm/numa> for more.
2076
Ralf Baechlecce335ae2007-11-03 02:05:43 +00002077config ARCH_POPULATES_NODE_MAP
2078 def_bool y
2079
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09002080config ARCH_SPARSEMEM_ENABLE
2081 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09002082 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09002083
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002084config NUMA
2085 bool "NUMA Support"
2086 depends on SYS_SUPPORTS_NUMA
2087 help
2088 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2089 Access). This option improves performance on systems with more
2090 than two nodes; on two node systems it is generally better to
2091 leave it disabled; on single node systems disable this option
2092 disabled.
2093
2094config SYS_SUPPORTS_NUMA
2095 bool
2096
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07002097config NODES_SHIFT
2098 int
2099 default "6"
2100 depends on NEED_MULTIPLE_NODES
2101
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +08002102config HW_PERF_EVENTS
2103 bool "Enable hardware performance counter support for perf events"
David Daney939991c2011-09-24 02:29:55 +02002104 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +08002105 default y
2106 help
2107 Enable hardware performance counter support for perf events. If
2108 disabled, perf events will use software events only.
2109
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002110source "mm/Kconfig"
2111
Linus Torvalds1da177e2005-04-16 15:20:36 -07002112config SMP
2113 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01002114 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01002115 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02002116 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01002117 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07002118 This enables support for systems with more than one CPU. If you have
2119 a system with only one CPU, like most personal computers, say N. If
2120 you have a system with more than one CPU, say Y.
2121
2122 If you say N here, the kernel will run on single and multiprocessor
2123 machines, but will use only one CPU of a multiprocessor machine. If
2124 you say Y here, the kernel will run on many, but not all,
2125 singleprocessor machines. On a singleprocessor machine, the kernel
2126 will run faster if you say N here.
2127
2128 People using multiprocessor machines who say Y here should also say
2129 Y to "Enhanced Real Time Clock Support", below.
2130
Adrian Bunk03502fa2008-02-03 15:50:21 +02002131 See also the SMP-HOWTO available at
2132 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002133
2134 If you don't know what to do here, say N.
2135
Ralf Baechle87353d82007-11-19 12:23:51 +00002136config SMP_UP
2137 bool
2138
Ralf Baechle4a16ff42008-10-04 00:06:29 +01002139config SYS_SUPPORTS_MIPS_CMP
2140 bool
2141
Ralf Baechlee73ea272006-06-04 11:51:46 +01002142config SYS_SUPPORTS_SMP
2143 bool
2144
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002145config NR_CPUS_DEFAULT_1
2146 bool
2147
Ralf Baechle130e2fb2007-02-06 16:53:15 +00002148config NR_CPUS_DEFAULT_2
2149 bool
2150
2151config NR_CPUS_DEFAULT_4
2152 bool
2153
2154config NR_CPUS_DEFAULT_8
2155 bool
2156
2157config NR_CPUS_DEFAULT_16
2158 bool
2159
2160config NR_CPUS_DEFAULT_32
2161 bool
2162
2163config NR_CPUS_DEFAULT_64
2164 bool
2165
Linus Torvalds1da177e2005-04-16 15:20:36 -07002166config NR_CPUS
2167 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002168 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07002169 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002170 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00002171 default "2" if NR_CPUS_DEFAULT_2
2172 default "4" if NR_CPUS_DEFAULT_4
2173 default "8" if NR_CPUS_DEFAULT_8
2174 default "16" if NR_CPUS_DEFAULT_16
2175 default "32" if NR_CPUS_DEFAULT_32
2176 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07002177 help
2178 This allows you to specify the maximum number of CPUs which this
2179 kernel will support. The maximum supported value is 32 for 32-bit
2180 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002181 sense is 1 for Qemu (useful only for kernel debugging purposes)
2182 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002183
2184 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002185 approximately eight kilobytes to the kernel image. For best
2186 performance should round up your number of processors to the next
2187 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002188
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09002189source "kernel/time/Kconfig"
2190
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002191#
2192# Timer Interrupt Frequency Configuration
2193#
2194
2195choice
2196 prompt "Timer frequency"
2197 default HZ_250
2198 help
2199 Allows the configuration of the timer frequency.
2200
2201 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00002202 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002203
2204 config HZ_100
2205 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2206
2207 config HZ_128
2208 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2209
2210 config HZ_250
2211 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2212
2213 config HZ_256
2214 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2215
2216 config HZ_1000
2217 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2218
2219 config HZ_1024
2220 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2221
2222endchoice
2223
2224config SYS_SUPPORTS_48HZ
2225 bool
2226
2227config SYS_SUPPORTS_100HZ
2228 bool
2229
2230config SYS_SUPPORTS_128HZ
2231 bool
2232
2233config SYS_SUPPORTS_250HZ
2234 bool
2235
2236config SYS_SUPPORTS_256HZ
2237 bool
2238
2239config SYS_SUPPORTS_1000HZ
2240 bool
2241
2242config SYS_SUPPORTS_1024HZ
2243 bool
2244
2245config SYS_SUPPORTS_ARBIT_HZ
2246 bool
2247 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2248 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2249 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2250 !SYS_SUPPORTS_1024HZ
2251
2252config HZ
2253 int
2254 default 48 if HZ_48
2255 default 100 if HZ_100
2256 default 128 if HZ_128
2257 default 250 if HZ_250
2258 default 256 if HZ_256
2259 default 1000 if HZ_1000
2260 default 1024 if HZ_1024
2261
Ralf Baechlee80de852005-07-11 20:45:51 +00002262source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002263
Linus Torvalds1da177e2005-04-16 15:20:36 -07002264config MIPS_INSANE_LARGE
2265 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002266 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002267 help
2268 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2269 previous 64-bit processors which only supported 40 bit / 1TB. If you
2270 need processes of more than 1TB virtual address space, say Y here.
2271 This will result in additional memory usage, so it is not
2272 recommended for normal users.
2273
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002274config KEXEC
2275 bool "Kexec system call (EXPERIMENTAL)"
2276 depends on EXPERIMENTAL
2277 help
2278 kexec is a system call that implements the ability to shutdown your
2279 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02002280 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002281 you can start any kernel with it, not just Linux.
2282
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002283 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002284
2285 It is an ongoing process to be certain the hardware in a machine
2286 is properly shutdown, so do not be surprised if this code does not
2287 initially work for you. It may help to enable device hotplugging
2288 support. As of this writing the exact hardware interface is
2289 strongly in flux, so no good recommendation can be made.
2290
2291config SECCOMP
2292 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01002293 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002294 default y
2295 help
2296 This kernel feature is useful for number crunching applications
2297 that may need to compute untrusted bytecode during their
2298 execution. By using pipes or other transports made available to
2299 the process as file descriptors supporting the read/write
2300 syscalls, it's possible to isolate those applications in
2301 their own address space using seccomp. Once seccomp is
2302 enabled via /proc/<pid>/seccomp, it cannot be disabled
2303 and the task is only allowed to execute a few safe syscalls
2304 defined by each seccomp mode.
2305
2306 If unsure, say Y. Only embedded should say N here.
2307
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002308config USE_OF
2309 bool "Flattened Device Tree support"
2310 select OF
Stephen Neuendorffere6ce1322010-11-18 15:54:56 -08002311 select OF_EARLY_FLATTREE
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002312 help
2313 Include support for flattened device tree machine descriptions.
2314
Ralf Baechle5e83d432005-10-29 19:32:41 +01002315endmenu
2316
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09002317config LOCKDEP_SUPPORT
2318 bool
2319 default y
2320
2321config STACKTRACE_SUPPORT
2322 bool
2323 default y
2324
Ralf Baechleb6c35392005-11-25 11:35:40 +00002325source "init/Kconfig"
2326
Matt Helsleydc52ddc2008-10-18 20:27:21 -07002327source "kernel/Kconfig.freezer"
2328
Linus Torvalds1da177e2005-04-16 15:20:36 -07002329menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2330
Ralf Baechle5e83d432005-10-29 19:32:41 +01002331config HW_HAS_EISA
2332 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002333config HW_HAS_PCI
2334 bool
2335
2336config PCI
2337 bool "Support for PCI controller"
2338 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01002339 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07002340 help
2341 Find out whether you have a PCI motherboard. PCI is the name of a
2342 bus system, i.e. the way the CPU talks to the other stuff inside
2343 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2344 say Y, otherwise N.
2345
Linus Torvalds1da177e2005-04-16 15:20:36 -07002346config PCI_DOMAINS
2347 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002348
2349source "drivers/pci/Kconfig"
2350
2351#
2352# ISA support is now enabled via select. Too many systems still have the one
2353# or other ISA chip on the board that users don't know about so don't expect
2354# users to choose the right thing ...
2355#
2356config ISA
2357 bool
2358
2359config EISA
2360 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01002361 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002362 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00002363 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002364 ---help---
2365 The Extended Industry Standard Architecture (EISA) bus was
2366 developed as an open alternative to the IBM MicroChannel bus.
2367
2368 The EISA bus provided some of the features of the IBM MicroChannel
2369 bus while maintaining backward compatibility with cards made for
2370 the older ISA bus. The EISA bus saw limited use between 1988 and
2371 1995 when it was made obsolete by the PCI bus.
2372
2373 Say Y here if you are building a kernel for an EISA-based machine.
2374
2375 Otherwise, say N.
2376
2377source "drivers/eisa/Kconfig"
2378
2379config TC
2380 bool "TURBOchannel support"
2381 depends on MACH_DECSTATION
2382 help
Justin P. Mattock50a23e62010-10-16 10:36:23 -07002383 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2384 processors. TURBOchannel programming specifications are available
2385 at:
2386 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2387 and:
2388 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2389 Linux driver support status is documented at:
2390 <http://www.linux-mips.org/wiki/DECstation>
Linus Torvalds1da177e2005-04-16 15:20:36 -07002391
2392#config ACCESSBUS
2393# bool "Access.Bus support"
2394# depends on TC
2395
2396config MMU
2397 bool
2398 default y
2399
Ralf Baechled865bea2007-10-11 23:46:10 +01002400config I8253
2401 bool
Russell King798778b2011-05-08 19:03:03 +01002402 select CLKSRC_I8253
Thomas Gleixner2d026122011-06-09 13:08:27 +00002403 select CLKEVT_I8253
Wu Zhangjin9726b432009-11-17 01:32:58 +08002404 select MIPS_EXTERNAL_TIMER
Ralf Baechled865bea2007-10-11 23:46:10 +01002405
Ralf Baechlecce335ae2007-11-03 02:05:43 +00002406config ZONE_DMA32
2407 bool
2408
Linus Torvalds1da177e2005-04-16 15:20:36 -07002409source "drivers/pcmcia/Kconfig"
2410
2411source "drivers/pci/hotplug/Kconfig"
2412
Alexandre Bounine388b78a2011-03-23 16:43:03 -07002413config RAPIDIO
2414 bool "RapidIO support"
2415 depends on PCI
2416 default n
2417 help
2418 If you say Y here, the kernel will include drivers and
2419 infrastructure code to support RapidIO interconnect devices.
2420
2421source "drivers/rapidio/Kconfig"
2422
Linus Torvalds1da177e2005-04-16 15:20:36 -07002423endmenu
2424
2425menu "Executable file formats"
2426
2427source "fs/Kconfig.binfmt"
2428
2429config TRAD_SIGNALS
2430 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002431
Linus Torvalds1da177e2005-04-16 15:20:36 -07002432config MIPS32_COMPAT
2433 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002434 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002435 help
2436 Select this option if you want Linux/MIPS 32-bit binary
2437 compatibility. Since all software available for Linux/MIPS is
2438 currently 32-bit you should say Y here.
2439
2440config COMPAT
2441 bool
2442 depends on MIPS32_COMPAT
2443 default y
2444
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002445config SYSVIPC_COMPAT
2446 bool
2447 depends on COMPAT && SYSVIPC
2448 default y
2449
Linus Torvalds1da177e2005-04-16 15:20:36 -07002450config MIPS32_O32
2451 bool "Kernel support for o32 binaries"
2452 depends on MIPS32_COMPAT
2453 help
2454 Select this option if you want to run o32 binaries. These are pure
2455 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2456 existing binaries are in this format.
2457
2458 If unsure, say Y.
2459
2460config MIPS32_N32
2461 bool "Kernel support for n32 binaries"
2462 depends on MIPS32_COMPAT
2463 help
2464 Select this option if you want to run n32 binaries. These are
2465 64-bit binaries using 32-bit quantities for addressing and certain
2466 data that would normally be 64-bit. They are used in special
2467 cases.
2468
2469 If unsure, say N.
2470
2471config BINFMT_ELF32
2472 bool
2473 default y if MIPS32_O32 || MIPS32_N32
2474
Ralf Baechle21162452007-02-09 17:08:58 +00002475endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002476
Ralf Baechle21162452007-02-09 17:08:58 +00002477menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002478
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002479config ARCH_HIBERNATION_POSSIBLE
2480 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002481 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002482
Johannes Bergf4cb5702007-12-08 02:14:00 +01002483config ARCH_SUSPEND_POSSIBLE
2484 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002485 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Johannes Bergf4cb5702007-12-08 02:14:00 +01002486
Ralf Baechle21162452007-02-09 17:08:58 +00002487source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002488
Linus Torvalds1da177e2005-04-16 15:20:36 -07002489endmenu
2490
Wu Zhangjin9726b432009-11-17 01:32:58 +08002491source "arch/mips/kernel/cpufreq/Kconfig"
2492
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002493source "net/Kconfig"
2494
Linus Torvalds1da177e2005-04-16 15:20:36 -07002495source "drivers/Kconfig"
2496
2497source "fs/Kconfig"
2498
2499source "arch/mips/Kconfig.debug"
2500
2501source "security/Kconfig"
2502
2503source "crypto/Kconfig"
2504
2505source "lib/Kconfig"