blob: 8f8666c8f28de0c50cf1255d3c57ca4032752b14 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Yoichi Yuasaf8ac0422009-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
Mark Brown7563bbf2012-04-15 10:52:54 +010011 select ARCH_HAVE_CUSTOM_GPIO_H
Wu Zhangjind2bb07622009-11-20 20:34:29 +080012 select HAVE_FUNCTION_TRACER
Wu Zhangjin69a7d1b2009-11-20 20:34:30 +080013 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Wu Zhangjin538f1952009-11-20 20:34:32 +080014 select HAVE_DYNAMIC_FTRACE
15 select HAVE_FTRACE_MCOUNT_RECORD
Wu Zhangjin64575f92010-10-27 18:59:09 +080016 select HAVE_C_RECORDMCOUNT
Wu Zhangjin29c5d342009-11-20 20:34:34 +080017 select HAVE_FUNCTION_GRAPH_TRACER
David Daneyc1bf2072010-08-03 11:22:20 -070018 select HAVE_KPROBES
19 select HAVE_KRETPROBES
Catalin Marinasb69ec422012-10-08 16:28:11 -070020 select HAVE_DEBUG_KMEMLEAK
David Daneye26d1962012-01-10 15:10:22 -080021 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
Ralf Baechle970d0322012-10-18 13:54:15 +020022 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
Wu Zhangjin21a41fa2009-11-10 00:06:11 +080023 select RTC_LIB if !MACH_LOONGSON
Deng-Cheng Zhu2b789202010-06-09 12:35:25 +080024 select GENERIC_ATOMIC64 if !64BIT
Catalin Marinas74634492012-07-30 14:41:09 -070025 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
David Daney48e1fd52010-10-01 13:27:32 -070026 select HAVE_DMA_ATTRS
27 select HAVE_DMA_API_DEBUG
David Daney3bd27e32010-11-05 15:12:48 -070028 select HAVE_GENERIC_HARDIRQS
29 select GENERIC_IRQ_PROBE
Thomas Gleixnerf8396c12011-03-23 21:09:05 +000030 select GENERIC_IRQ_SHOW
David Daney94bb0c12010-12-28 13:26:23 -080031 select HAVE_ARCH_JUMP_LABEL
Will Deaconc1d7e012012-07-30 14:42:46 -070032 select ARCH_WANT_IPC_PARSE_VERSION
Thomas Gleixner0f462e32011-07-23 12:41:25 +000033 select IRQ_FORCED_THREADING
Tejun Heo9d15ffc2011-12-08 10:22:09 -080034 select HAVE_MEMBLOCK
35 select HAVE_MEMBLOCK_NODE_MAP
36 select ARCH_DISCARD_MEMBLOCK
Thomas Gleixner360014a2012-04-20 13:05:51 +000037 select GENERIC_SMP_IDLE_THREAD
David Daney4b054492012-04-19 14:59:58 -070038 select BUILDTIME_EXTABLE_SORT
Anna-Maria Gleixnercde17942012-05-18 16:45:50 +000039 select GENERIC_CLOCKEVENTS
40 select GENERIC_CMOS_UPDATE
David Howells786d35d2012-09-28 14:31:03 +093041 select HAVE_MOD_ARCH_SPECIFIC
Joshua Kinard2f12fb22012-12-27 18:46:46 +000042 select MODULES_USE_ELF_REL if MODULES
43 select MODULES_USE_ELF_RELA if MODULES && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
Linus Torvalds1da177e2005-04-16 15:20:36 -070045menu "Machine selection"
46
Christoph Lameter5ac6da62007-02-10 01:43:14 -080047config ZONE_DMA
48 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080049
Ralf Baechle5e83d432005-10-29 19:32:41 +010050choice
51 prompt "System type"
52 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070053
Manuel Lauss42a4f172010-07-15 21:45:04 +020054config MIPS_ALCHEMY
Yoichi Yuasac3543e22007-05-11 20:44:30 +090055 bool "Alchemy processor based machines"
Manuel Lauss42a4f172010-07-15 21:45:04 +020056 select 64BIT_PHYS_ADDR
Ralf Baechlef772cdb2012-11-30 17:27:27 +010057 select CEVT_R4K
Steven J. Hilld7ea3352012-11-14 23:34:17 -060058 select CSRC_R4K
Manuel Lauss42a4f172010-07-15 21:45:04 +020059 select IRQ_CPU
60 select SYS_HAS_CPU_MIPS32_R1
61 select SYS_SUPPORTS_32BIT_KERNEL
62 select SYS_SUPPORTS_APM_EMULATION
63 select GENERIC_GPIO
64 select ARCH_WANT_OPTIONAL_GPIOLIB
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080065 select SYS_SUPPORTS_ZBOOT
Manuel Lauss3766386032011-08-12 11:39:45 +020066 select USB_ARCH_HAS_OHCI
67 select USB_ARCH_HAS_EHCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070068
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020069config AR7
70 bool "Texas Instruments AR7"
71 select BOOT_ELF32
72 select DMA_NONCOHERENT
73 select CEVT_R4K
74 select CSRC_R4K
75 select IRQ_CPU
76 select NO_EXCEPT_FILL
77 select SWAP_IO_SPACE
78 select SYS_HAS_CPU_MIPS32_R1
79 select SYS_HAS_EARLY_PRINTK
80 select SYS_SUPPORTS_32BIT_KERNEL
81 select SYS_SUPPORTS_LITTLE_ENDIAN
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080082 select SYS_SUPPORTS_ZBOOT_UART16550
Florian Fainelli5f3c9092010-01-03 21:16:51 +010083 select ARCH_REQUIRE_GPIOLIB
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020084 select VLYNQ
Yoichi Yuasa8551fb62012-08-01 15:38:00 +090085 select HAVE_CLK
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020086 help
87 Support for the Texas Instruments AR7 System-on-a-Chip
88 family: TNETD7100, 7200 and 7300.
89
Gabor Juhosd4a67d92011-01-04 21:28:14 +010090config ATH79
91 bool "Atheros AR71XX/AR724X/AR913X based boards"
Gabor Juhos6eae43c2011-01-04 21:28:15 +010092 select ARCH_REQUIRE_GPIOLIB
Gabor Juhosd4a67d92011-01-04 21:28:14 +010093 select BOOT_RAW
94 select CEVT_R4K
95 select CSRC_R4K
96 select DMA_NONCOHERENT
Gabor Juhos94638062012-08-04 18:01:26 +020097 select HAVE_CLK
Gabor Juhosd4a67d92011-01-04 21:28:14 +010098 select IRQ_CPU
Gabor Juhos0aabf1a2011-01-04 21:28:16 +010099 select MIPS_MACHINE
Gabor Juhosd4a67d92011-01-04 21:28:14 +0100100 select SYS_HAS_CPU_MIPS32_R2
101 select SYS_HAS_EARLY_PRINTK
102 select SYS_SUPPORTS_32BIT_KERNEL
103 select SYS_SUPPORTS_BIG_ENDIAN
104 help
105 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
106
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200107config BCM47XX
Florian Fainellic6193662010-03-25 11:42:41 +0100108 bool "Broadcom BCM47XX based boards"
Hauke Mehrtens2da4c742012-11-20 22:24:34 +0000109 select ARCH_WANT_OPTIONAL_GPIOLIB
Hauke Mehrtensfe08f8c2012-12-26 20:06:17 +0000110 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100111 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000112 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200113 select DMA_NONCOHERENT
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100114 select FW_CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200115 select HW_HAS_PCI
116 select IRQ_CPU
Hauke Mehrtensdd54ded2012-12-26 20:06:18 +0000117 select NO_EXCEPT_FILL
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200118 select SYS_SUPPORTS_32BIT_KERNEL
119 select SYS_SUPPORTS_LITTLE_ENDIAN
Aurelien Jarno25e5fb92007-09-25 15:41:24 +0200120 select SYS_HAS_EARLY_PRINTK
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200121 help
122 Support for BCM47XX based boards
123
Maxime Bizone7300d02009-08-18 13:23:37 +0100124config BCM63XX
125 bool "Broadcom BCM63XX based boards"
126 select CEVT_R4K
127 select CSRC_R4K
128 select DMA_NONCOHERENT
129 select IRQ_CPU
130 select SYS_HAS_CPU_MIPS32_R1
131 select SYS_SUPPORTS_32BIT_KERNEL
132 select SYS_SUPPORTS_BIG_ENDIAN
133 select SYS_HAS_EARLY_PRINTK
134 select SWAP_IO_SPACE
135 select ARCH_REQUIRE_GPIOLIB
Yoichi Yuasa3e82eee2012-08-01 15:39:52 +0900136 select HAVE_CLK
Maxime Bizone7300d02009-08-18 13:23:37 +0100137 help
138 Support for BCM63XX based boards
139
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200141 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +0100142 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000143 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900144 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145 select DMA_NONCOHERENT
146 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100147 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148 select I8259
149 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900150 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900151 select PCI_GT64XXX_PCI0
Yoichi Yuasae25bfc92009-06-02 23:17:07 +0900152 select PCI
Ralf Baechle7cf80532005-10-20 22:33:09 +0100153 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +0900154 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700155 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +0100156 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100157 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158
159config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200160 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900162 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +0100163 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +0900164 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +0000165 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +0100166 select CPU_DADDI_WORKAROUNDS if 64BIT
167 select CPU_R4000_WORKAROUNDS if 64BIT
168 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100170 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700171 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +0100172 select SYS_HAS_CPU_R3000
173 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700174 select SYS_SUPPORTS_32BIT_KERNEL
175 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100176 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900177 select SYS_SUPPORTS_128HZ
178 select SYS_SUPPORTS_256HZ
179 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100180 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181 This enables support for DEC's MIPS based workstations. For details
182 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
183 DECstation porting pages on <http://decstation.unix-ag.org/>.
184
185 If you have one of the following DECstation Models you definitely
186 want to choose R4xx0 for the CPU Type:
187
Ralf Baechle93088162007-08-29 14:21:45 +0100188 DECstation 5000/50
189 DECstation 5000/150
190 DECstation 5000/260
191 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700192
193 otherwise choose R3000.
194
Ralf Baechle5e83d432005-10-29 19:32:41 +0100195config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200196 bool "Jazz family of machines"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100197 select FW_ARC
198 select FW_ARC32
Ralf Baechle5e83d432005-10-29 19:32:41 +0100199 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100200 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000201 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100202 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100203 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100204 select HAVE_PCSPKR_PLATFORM
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200205 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100206 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100207 select I8259
208 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100209 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100210 select SYS_SUPPORTS_32BIT_KERNEL
211 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900212 select SYS_SUPPORTS_100HZ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100214 This a family of machines based on the MIPS R4030 chipset which was
215 used by several vendors to build RISC/os and Windows NT workstations.
Matt LaPlante692105b2009-01-26 11:12:25 +0100216 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
Ralf Baechle5e83d432005-10-29 19:32:41 +0100217 Olivetti M700-10 workstations.
218
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000219config MACH_JZ4740
220 bool "Ingenic JZ4740 based machines"
221 select SYS_HAS_CPU_MIPS32_R1
222 select SYS_SUPPORTS_32BIT_KERNEL
223 select SYS_SUPPORTS_LITTLE_ENDIAN
Lluís Batlle i Rossellf9c9aff2012-03-30 16:48:05 +0200224 select SYS_SUPPORTS_ZBOOT_UART16550
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000225 select DMA_NONCOHERENT
226 select IRQ_CPU
227 select GENERIC_GPIO
228 select ARCH_REQUIRE_GPIOLIB
229 select SYS_HAS_EARLY_PRINTK
230 select HAVE_PWM
Maurus Cuelenaereab5330e2011-03-01 00:20:01 +0100231 select HAVE_CLK
Lars-Peter Clausen83bc7692011-09-24 02:29:46 +0200232 select GENERIC_IRQ_CHIP
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000233
John Crispin171bb2f2011-03-30 09:27:47 +0200234config LANTIQ
235 bool "Lantiq based platforms"
236 select DMA_NONCOHERENT
237 select IRQ_CPU
238 select CEVT_R4K
239 select CSRC_R4K
240 select SYS_HAS_CPU_MIPS32_R1
241 select SYS_HAS_CPU_MIPS32_R2
242 select SYS_SUPPORTS_BIG_ENDIAN
243 select SYS_SUPPORTS_32BIT_KERNEL
244 select SYS_SUPPORTS_MULTITHREADING
245 select SYS_HAS_EARLY_PRINTK
246 select ARCH_REQUIRE_GPIOLIB
247 select SWAP_IO_SPACE
248 select BOOT_RAW
John Crispin287e3f32012-04-17 15:53:19 +0200249 select HAVE_MACH_CLKDEV
250 select CLKDEV_LOOKUP
John Crispina0392222012-04-13 20:56:13 +0200251 select USE_OF
John Crispin3f8c50c2012-08-28 12:44:59 +0200252 select PINCTRL
253 select PINCTRL_LANTIQ
John Crispin171bb2f2011-03-30 09:27:47 +0200254
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200255config LASAT
256 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100257 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000258 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200259 select DMA_NONCOHERENT
260 select SYS_HAS_EARLY_PRINTK
261 select HW_HAS_PCI
Ralf Baechlea5ccfe5c12007-10-14 23:49:33 +0100262 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200263 select PCI_GT64XXX_PCI0
264 select MIPS_NILE4
265 select R5000_CPU_SCACHE
266 select SYS_HAS_CPU_R5000
267 select SYS_SUPPORTS_32BIT_KERNEL
268 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
269 select SYS_SUPPORTS_LITTLE_ENDIAN
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200270
Wu Zhangjin85749d22009-07-02 23:26:45 +0800271config MACH_LOONGSON
272 bool "Loongson family of machines"
Wu Zhangjinc7e8c662010-01-04 17:16:46 +0800273 select SYS_SUPPORTS_ZBOOT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900274 help
Wu Zhangjin85749d22009-07-02 23:26:45 +0800275 This enables the support of Loongson family of machines.
276
277 Loongson is a family of general-purpose MIPS-compatible CPUs.
278 developed at Institute of Computing Technology (ICT),
279 Chinese Academy of Sciences (CAS) in the People's Republic
280 of China. The chief architect is Professor Weiwu Hu.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900281
Kelvin Cheungca585cf2012-07-25 16:17:24 +0200282config MACH_LOONGSON1
283 bool "Loongson 1 family of machines"
284 select SYS_SUPPORTS_ZBOOT
285 help
286 This enables support for the Loongson 1 based machines.
287
288 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
289 the ICT (Institute of Computing Technology) and the Chinese Academy
290 of Sciences.
291
Linus Torvalds1da177e2005-04-16 15:20:36 -0700292config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200293 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000294 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700295 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000296 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100297 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000298 select CSRC_R4K
Steven J. Hill778eeb12012-12-07 03:51:04 +0000299 select CSRC_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700300 select DMA_NONCOHERENT
301 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100302 select HAVE_PCSPKR_PLATFORM
Ralf Baechleaa414df2006-11-30 01:14:51 +0000303 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100304 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100306 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700307 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100308 select MIPS_BOARDS_GEN
309 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100310 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900311 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100312 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100314 select SYS_HAS_CPU_MIPS32_R1
315 select SYS_HAS_CPU_MIPS32_R2
316 select SYS_HAS_CPU_MIPS64_R1
Leonid Yegoshin5d9fbed2012-07-19 09:11:15 +0200317 select SYS_HAS_CPU_MIPS64_R2
Ralf Baechle7cf80532005-10-20 22:33:09 +0100318 select SYS_HAS_CPU_NEVADA
319 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000320 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700321 select SYS_SUPPORTS_32BIT_KERNEL
322 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100323 select SYS_SUPPORTS_BIG_ENDIAN
324 select SYS_SUPPORTS_LITTLE_ENDIAN
Tim Anderson03650702009-06-17 16:22:53 -0700325 select SYS_SUPPORTS_MIPS_CMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100326 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100327 select SYS_SUPPORTS_SMARTMIPS
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +0800328 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700329 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000330 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700331 board.
332
Steven J. Hillec47b272012-05-11 02:46:20 +0000333config MIPS_SEAD3
334 bool "MIPS SEAD3 board"
335 select BOOT_ELF32
336 select BOOT_RAW
337 select CEVT_R4K
338 select CSRC_R4K
339 select CPU_MIPSR2_IRQ_VI
340 select CPU_MIPSR2_IRQ_EI
341 select DMA_NONCOHERENT
342 select IRQ_CPU
343 select IRQ_GIC
344 select MIPS_BOARDS_GEN
345 select MIPS_CPU_SCACHE
346 select MIPS_MSC
347 select SYS_HAS_CPU_MIPS32_R1
348 select SYS_HAS_CPU_MIPS32_R2
349 select SYS_HAS_CPU_MIPS64_R1
350 select SYS_HAS_EARLY_PRINTK
351 select SYS_SUPPORTS_32BIT_KERNEL
352 select SYS_SUPPORTS_64BIT_KERNEL
353 select SYS_SUPPORTS_BIG_ENDIAN
354 select SYS_SUPPORTS_LITTLE_ENDIAN
355 select SYS_SUPPORTS_SMARTMIPS
356 select USB_ARCH_HAS_EHCI
357 select USB_EHCI_BIG_ENDIAN_DESC
358 select USB_EHCI_BIG_ENDIAN_MMIO
359 help
360 This enables support for the MIPS Technologies SEAD3 evaluation
361 board.
362
Ralf Baechlea83860c2009-03-13 21:17:57 +0100363config NEC_MARKEINS
364 bool "NEC EMMA2RH Mark-eins board"
365 select SOC_EMMA2RH
366 select HW_HAS_PCI
367 help
368 This enables support for the NEC Electronics Mark-eins boards.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900369
Ralf Baechle5e83d432005-10-29 19:32:41 +0100370config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900371 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100372 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000373 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100374 select SYS_HAS_CPU_VR41XX
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900375 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle5e83d432005-10-29 19:32:41 +0100376
Daniel Lairdedb63102008-06-16 15:49:21 +0100377config NXP_STB220
378 bool "NXP STB220 board"
379 select SOC_PNX833X
380 help
381 Support for NXP Semiconductors STB220 Development Board.
382
383config NXP_STB225
384 bool "NXP 225 board"
385 select SOC_PNX833X
386 select SOC_PNX8335
387 help
388 Support for NXP Semiconductors STB225 Development Board.
389
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900390config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000391 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900392 select PNX8550
393 select SYS_SUPPORTS_LITTLE_ENDIAN
394
395config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000396 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900397 select PNX8550
398 select SYS_SUPPORTS_LITTLE_ENDIAN
399
Marc St-Jean9267a302007-06-14 15:55:31 -0600400config PMC_MSP
401 bool "PMC-Sierra MSP chipsets"
402 depends on EXPERIMENTAL
Anoop P A39d30c12010-11-18 13:42:28 +0530403 select CEVT_R4K
404 select CSRC_R4K
Marc St-Jean9267a302007-06-14 15:55:31 -0600405 select DMA_NONCOHERENT
406 select SWAP_IO_SPACE
407 select NO_EXCEPT_FILL
408 select BOOT_RAW
409 select SYS_HAS_CPU_MIPS32_R1
410 select SYS_HAS_CPU_MIPS32_R2
411 select SYS_SUPPORTS_32BIT_KERNEL
412 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600413 select IRQ_CPU
414 select SERIAL_8250
415 select SERIAL_8250_CONSOLE
416 help
417 This adds support for the PMC-Sierra family of Multi-Service
418 Processor System-On-A-Chips. These parts include a number
419 of integrated peripherals, interfaces and DSPs in addition to
420 a variety of MIPS cores.
421
David VomLehna3a0f8c2009-08-30 17:15:11 -0700422config POWERTV
423 bool "Cisco PowerTV"
424 select BOOT_ELF32
425 select CEVT_R4K
426 select CPU_MIPSR2_IRQ_VI
427 select CPU_MIPSR2_IRQ_EI
428 select CSRC_POWERTV
429 select DMA_NONCOHERENT
430 select HW_HAS_PCI
431 select SYS_HAS_EARLY_PRINTK
432 select SYS_HAS_CPU_MIPS32_R2
433 select SYS_SUPPORTS_32BIT_KERNEL
434 select SYS_SUPPORTS_BIG_ENDIAN
435 select SYS_SUPPORTS_HIGHMEM
436 select USB_OHCI_LITTLE_ENDIAN
437 help
438 This enables support for the Cisco PowerTV Platform.
439
Linus Torvalds1da177e2005-04-16 15:20:36 -0700440config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200441 bool "SGI IP22 (Indy/Indigo2)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100442 select FW_ARC
443 select FW_ARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700444 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100445 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000446 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100447 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700448 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100449 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100450 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100451 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700452 select IP22_CPU_SCACHE
453 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000454 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100455 select SGI_HAS_I8042
456 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200457 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100458 select SGI_HAS_SEEQ
459 select SGI_HAS_WD93
460 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700461 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100462 select SYS_HAS_CPU_R4X00
463 select SYS_HAS_CPU_R5000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000464 #
465 # Disable EARLY_PRINTK for now since it leads to overwritten prom
466 # memory during early boot on some machines.
467 #
468 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
469 # for a more details discussion
470 #
471 # select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700472 select SYS_SUPPORTS_32BIT_KERNEL
473 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100474 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700475 help
476 This are the SGI Indy, Challenge S and Indigo2, as well as certain
477 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
478 that runs on these, say Y here.
479
480config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200481 bool "SGI IP27 (Origin200/2000)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100482 select FW_ARC
483 select FW_ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100484 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100485 select DEFAULT_SGI_PARTITION
Ralf Baechle634286f2009-01-28 17:48:40 +0000486 select DMA_COHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000487 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700488 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000489 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100490 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700491 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100492 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100493 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000494 select SYS_SUPPORTS_SMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700495 help
496 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
497 workstations. To compile a Linux kernel that runs on these, say Y
498 here.
499
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100500config SGI_IP28
501 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
502 depends on EXPERIMENTAL
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100503 select FW_ARC
504 select FW_ARC64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100505 select BOOT_ELF64
506 select CEVT_R4K
507 select CSRC_R4K
508 select DEFAULT_SGI_PARTITION
509 select DMA_NONCOHERENT
510 select GENERIC_ISA_DMA_SUPPORT_BROKEN
511 select IRQ_CPU
512 select HW_HAS_EISA
513 select I8253
514 select I8259
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100515 select SGI_HAS_I8042
516 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200517 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100518 select SGI_HAS_SEEQ
519 select SGI_HAS_WD93
520 select SGI_HAS_ZILOG
521 select SWAP_IO_SPACE
522 select SYS_HAS_CPU_R10000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000523 #
524 # Disable EARLY_PRINTK for now since it leads to overwritten prom
525 # memory during early boot on some machines.
526 #
527 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
528 # for a more details discussion
529 #
530 # select SYS_HAS_EARLY_PRINTK
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100531 select SYS_SUPPORTS_64BIT_KERNEL
532 select SYS_SUPPORTS_BIG_ENDIAN
533 help
534 This is the SGI Indigo2 with R10000 processor. To compile a Linux
535 kernel that runs on these, say Y here.
536
Linus Torvalds1da177e2005-04-16 15:20:36 -0700537config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100538 bool "SGI IP32 (O2)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100539 select FW_ARC
540 select FW_ARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700541 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100542 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000543 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700544 select DMA_NONCOHERENT
545 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100546 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700547 select R5000_CPU_SCACHE
548 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100549 select SYS_HAS_CPU_R5000
550 select SYS_HAS_CPU_R10000 if BROKEN
551 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000552 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700553 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100554 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700555 help
556 If you want this kernel to run on SGI O2 workstation, say Y here.
557
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900558config SIBYTE_CRHINE
559 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100560 depends on EXPERIMENTAL
561 select BOOT_ELF32
562 select DMA_COHERENT
563 select SIBYTE_BCM1120
564 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100565 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100566 select SYS_SUPPORTS_BIG_ENDIAN
567 select SYS_SUPPORTS_LITTLE_ENDIAN
568
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900569config SIBYTE_CARMEL
570 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100571 depends on EXPERIMENTAL
572 select BOOT_ELF32
573 select DMA_COHERENT
574 select SIBYTE_BCM1120
575 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100576 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100577 select SYS_SUPPORTS_BIG_ENDIAN
578 select SYS_SUPPORTS_LITTLE_ENDIAN
579
580config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200581 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100582 depends on EXPERIMENTAL
583 select BOOT_ELF32
584 select DMA_COHERENT
585 select SIBYTE_BCM1125
586 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100587 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100588 select SYS_SUPPORTS_BIG_ENDIAN
589 select SYS_SUPPORTS_HIGHMEM
590 select SYS_SUPPORTS_LITTLE_ENDIAN
591
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900592config SIBYTE_RHONE
593 bool "Sibyte BCM91125E-Rhone"
594 depends on EXPERIMENTAL
595 select BOOT_ELF32
596 select DMA_COHERENT
597 select SIBYTE_BCM1125H
598 select SWAP_IO_SPACE
599 select SYS_HAS_CPU_SB1
600 select SYS_SUPPORTS_BIG_ENDIAN
601 select SYS_SUPPORTS_LITTLE_ENDIAN
602
603config SIBYTE_SWARM
604 bool "Sibyte BCM91250A-SWARM"
605 select BOOT_ELF32
606 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200607 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900608 select NR_CPUS_DEFAULT_2
609 select SIBYTE_SB1250
610 select SWAP_IO_SPACE
611 select SYS_HAS_CPU_SB1
612 select SYS_SUPPORTS_BIG_ENDIAN
613 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900614 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000615 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900616
617config SIBYTE_LITTLESUR
618 bool "Sibyte BCM91250C2-LittleSur"
619 depends on EXPERIMENTAL
620 select BOOT_ELF32
621 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200622 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900623 select NR_CPUS_DEFAULT_2
624 select SIBYTE_SB1250
625 select SWAP_IO_SPACE
626 select SYS_HAS_CPU_SB1
627 select SYS_SUPPORTS_BIG_ENDIAN
628 select SYS_SUPPORTS_HIGHMEM
629 select SYS_SUPPORTS_LITTLE_ENDIAN
630
631config SIBYTE_SENTOSA
632 bool "Sibyte BCM91250E-Sentosa"
633 depends on EXPERIMENTAL
634 select BOOT_ELF32
635 select DMA_COHERENT
636 select NR_CPUS_DEFAULT_2
637 select SIBYTE_SB1250
638 select SWAP_IO_SPACE
639 select SYS_HAS_CPU_SB1
640 select SYS_SUPPORTS_BIG_ENDIAN
641 select SYS_SUPPORTS_LITTLE_ENDIAN
642
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900643config SIBYTE_BIGSUR
644 bool "Sibyte BCM91480B-BigSur"
645 select BOOT_ELF32
646 select DMA_COHERENT
647 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900648 select SIBYTE_BCM1x80
649 select SWAP_IO_SPACE
650 select SYS_HAS_CPU_SB1
651 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000652 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900653 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000654 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900655
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100656config SNI_RM
657 bool "SNI RM200/300/400"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100658 select FW_ARC if CPU_LITTLE_ENDIAN
659 select FW_ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100660 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100661 select ARCH_MAY_HAVE_PC_FDC
662 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100663 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000664 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100665 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100666 select DMA_NONCOHERENT
667 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100668 select HAVE_PCSPKR_PLATFORM
Ralf Baechle5e83d432005-10-29 19:32:41 +0100669 select HW_HAS_EISA
670 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100671 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100672 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100673 select I8259
674 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200675 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100676 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200677 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100678 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200679 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000680 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700681 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100682 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200683 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100684 select SYS_SUPPORTS_HIGHMEM
685 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700686 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100687 The SNI RM200/300/400 are MIPS-based machines manufactured by
688 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100689 Technology and now in turn merged with Fujitsu. Say Y here to
690 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700691
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900692config MACH_TX39XX
693 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100694
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900695config MACH_TX49XX
696 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000697
Ralf Baechle73b43902008-07-16 16:12:25 +0100698config MIKROTIK_RB532
699 bool "Mikrotik RB532 boards"
700 select CEVT_R4K
701 select CSRC_R4K
702 select DMA_NONCOHERENT
Ralf Baechle73b43902008-07-16 16:12:25 +0100703 select HW_HAS_PCI
704 select IRQ_CPU
705 select SYS_HAS_CPU_MIPS32_R1
706 select SYS_SUPPORTS_32BIT_KERNEL
707 select SYS_SUPPORTS_LITTLE_ENDIAN
708 select SWAP_IO_SPACE
709 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200710 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle73b43902008-07-16 16:12:25 +0100711 help
712 Support the Mikrotik(tm) RouterBoard 532 series,
713 based on the IDT RC32434 SoC.
714
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900715config WR_PPMC
716 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100717 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000718 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900719 select IRQ_CPU
720 select BOOT_ELF32
721 select DMA_NONCOHERENT
722 select HW_HAS_PCI
723 select PCI_GT64XXX_PCI0
724 select SWAP_IO_SPACE
725 select SYS_HAS_CPU_MIPS32_R1
726 select SYS_HAS_CPU_MIPS32_R2
727 select SYS_HAS_CPU_MIPS64_R1
728 select SYS_HAS_CPU_NEVADA
729 select SYS_HAS_CPU_RM7000
730 select SYS_SUPPORTS_32BIT_KERNEL
731 select SYS_SUPPORTS_64BIT_KERNEL
732 select SYS_SUPPORTS_BIG_ENDIAN
733 select SYS_SUPPORTS_LITTLE_ENDIAN
734 help
735 This enables support for the Wind River MIPS32 4KC PPMC evaluation
736 board, which is based on GT64120 bridge chip.
737
David Daneya86c7f72008-12-11 15:33:38 -0800738config CAVIUM_OCTEON_SIMULATOR
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900739 bool "Cavium Networks Octeon Simulator"
David Daneya86c7f72008-12-11 15:33:38 -0800740 select CEVT_R4K
741 select 64BIT_PHYS_ADDR
742 select DMA_COHERENT
743 select SYS_SUPPORTS_64BIT_KERNEL
744 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle773cb772009-06-23 10:36:38 +0100745 select SYS_SUPPORTS_HOTPLUG_CPU
David Daney5e683382009-02-02 11:30:59 -0800746 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daney465aaed2011-08-20 08:44:00 -0700747 select HOLES_IN_ZONE
David Daneya86c7f72008-12-11 15:33:38 -0800748 help
749 The Octeon simulator is software performance model of the Cavium
750 Octeon Processor. It supports simulating Octeon processors on x86
751 hardware.
752
753config CAVIUM_OCTEON_REFERENCE_BOARD
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900754 bool "Cavium Networks Octeon reference board"
David Daneya86c7f72008-12-11 15:33:38 -0800755 select CEVT_R4K
756 select 64BIT_PHYS_ADDR
757 select DMA_COHERENT
758 select SYS_SUPPORTS_64BIT_KERNEL
759 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef65aad42012-10-17 00:39:09 +0200760 select EDAC_SUPPORT
Ralf Baechle773cb772009-06-23 10:36:38 +0100761 select SYS_SUPPORTS_HOTPLUG_CPU
David Daneya86c7f72008-12-11 15:33:38 -0800762 select SYS_HAS_EARLY_PRINTK
David Daney5e683382009-02-02 11:30:59 -0800763 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800764 select SWAP_IO_SPACE
David Daneye8635b42009-04-23 17:44:38 -0700765 select HW_HAS_PCI
766 select ARCH_SUPPORTS_MSI
David Daneyf00e0012010-10-01 13:27:30 -0700767 select ZONE_DMA32
David Daney340fbb82010-10-08 14:47:53 -0700768 select USB_ARCH_HAS_OHCI
769 select USB_ARCH_HAS_EHCI
David Daney465aaed2011-08-20 08:44:00 -0700770 select HOLES_IN_ZONE
David Daneya86c7f72008-12-11 15:33:38 -0800771 help
772 This option supports all of the Octeon reference boards from Cavium
773 Networks. It builds a kernel that dynamically determines the Octeon
774 CPU type and supports all known board reference implementations.
775 Some of the supported boards are:
776 EBT3000
777 EBH3000
778 EBH3100
779 Thunder
780 Kodama
781 Hikari
782 Say Y here for most Octeon reference boards.
783
Jayachandran C7f058e82011-05-07 01:36:57 +0530784config NLM_XLR_BOARD
785 bool "Netlogic XLR/XLS based systems"
786 depends on EXPERIMENTAL
787 select BOOT_ELF32
788 select NLM_COMMON
Jayachandran C7f058e82011-05-07 01:36:57 +0530789 select SYS_HAS_CPU_XLR
790 select SYS_SUPPORTS_SMP
791 select HW_HAS_PCI
792 select SWAP_IO_SPACE
793 select SYS_SUPPORTS_32BIT_KERNEL
794 select SYS_SUPPORTS_64BIT_KERNEL
795 select 64BIT_PHYS_ADDR
796 select SYS_SUPPORTS_BIG_ENDIAN
797 select SYS_SUPPORTS_HIGHMEM
798 select DMA_COHERENT
799 select NR_CPUS_DEFAULT_32
800 select CEVT_R4K
801 select CSRC_R4K
802 select IRQ_CPU
Ganesan Ramalingamf32671a2011-08-23 13:36:10 +0530803 select ARCH_SUPPORTS_MSI
Jayachandran Cb97215f2012-10-31 12:01:33 +0000804 select ZONE_DMA32 if 64BIT
Jayachandran C7f058e82011-05-07 01:36:57 +0530805 select SYNC_R4K
806 select SYS_HAS_EARLY_PRINTK
Jayachandran Cf35574a2012-07-24 17:28:53 +0200807 select USB_ARCH_HAS_OHCI if USB_SUPPORT
808 select USB_ARCH_HAS_EHCI if USB_SUPPORT
Jayachandran C7f058e82011-05-07 01:36:57 +0530809 help
810 Support for systems based on Netlogic XLR and XLS processors.
811 Say Y here if you have a XLR or XLS based board.
812
Jayachandran C1c773ea2011-11-16 00:21:28 +0000813config NLM_XLP_BOARD
814 bool "Netlogic XLP based systems"
815 depends on EXPERIMENTAL
816 select BOOT_ELF32
817 select NLM_COMMON
818 select SYS_HAS_CPU_XLP
819 select SYS_SUPPORTS_SMP
820 select HW_HAS_PCI
Jayachandran C1c773ea2011-11-16 00:21:28 +0000821 select SYS_SUPPORTS_32BIT_KERNEL
822 select SYS_SUPPORTS_64BIT_KERNEL
823 select 64BIT_PHYS_ADDR
824 select SYS_SUPPORTS_BIG_ENDIAN
825 select SYS_SUPPORTS_LITTLE_ENDIAN
826 select SYS_SUPPORTS_HIGHMEM
827 select DMA_COHERENT
828 select NR_CPUS_DEFAULT_32
829 select CEVT_R4K
830 select CSRC_R4K
831 select IRQ_CPU
Jayachandran Cb97215f2012-10-31 12:01:33 +0000832 select ZONE_DMA32 if 64BIT
Jayachandran C1c773ea2011-11-16 00:21:28 +0000833 select SYNC_R4K
834 select SYS_HAS_EARLY_PRINTK
Jayachandran C2f6528e2012-07-13 21:53:22 +0530835 select USE_OF
Jayachandran C1c773ea2011-11-16 00:21:28 +0000836 help
837 This board is based on Netlogic XLP Processor.
838 Say Y here if you have a XLP based board.
839
Linus Torvalds1da177e2005-04-16 15:20:36 -0700840endchoice
841
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200842source "arch/mips/alchemy/Kconfig"
Gabor Juhosd4a67d92011-01-04 21:28:14 +0100843source "arch/mips/ath79/Kconfig"
Hauke Mehrtensa656ffc2011-07-23 01:20:13 +0200844source "arch/mips/bcm47xx/Kconfig"
Maxime Bizone7300d02009-08-18 13:23:37 +0100845source "arch/mips/bcm63xx/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100846source "arch/mips/jazz/Kconfig"
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000847source "arch/mips/jz4740/Kconfig"
John Crispin8ec6d932011-03-30 09:27:48 +0200848source "arch/mips/lantiq/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200849source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100850source "arch/mips/pmc-sierra/Kconfig"
David VomLehna3a0f8c2009-08-30 17:15:11 -0700851source "arch/mips/powertv/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000852source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000853source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900854source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100855source "arch/mips/vr41xx/Kconfig"
David Daneya86c7f72008-12-11 15:33:38 -0800856source "arch/mips/cavium-octeon/Kconfig"
Wu Zhangjin85749d22009-07-02 23:26:45 +0800857source "arch/mips/loongson/Kconfig"
Kelvin Cheungca585cf2012-07-25 16:17:24 +0200858source "arch/mips/loongson1/Kconfig"
Jayachandran C7f058e82011-05-07 01:36:57 +0530859source "arch/mips/netlogic/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000860
Ralf Baechle5e83d432005-10-29 19:32:41 +0100861endmenu
862
Linus Torvalds1da177e2005-04-16 15:20:36 -0700863config RWSEM_GENERIC_SPINLOCK
864 bool
865 default y
866
867config RWSEM_XCHGADD_ALGORITHM
868 bool
869
David Howellsf0d1b0b2006-12-08 02:37:49 -0800870config ARCH_HAS_ILOG2_U32
871 bool
872 default n
873
874config ARCH_HAS_ILOG2_U64
875 bool
876 default n
877
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800878config GENERIC_HWEIGHT
879 bool
880 default y
881
Linus Torvalds1da177e2005-04-16 15:20:36 -0700882config GENERIC_CALIBRATE_DELAY
883 bool
884 default y
885
Ingo Molnarae1e9132008-11-11 09:05:16 +0100886config SCHED_OMIT_FRAME_POINTER
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900887 bool
888 default y
889
Linus Torvalds1da177e2005-04-16 15:20:36 -0700890#
891# Select some configuration options automatically based on user selections.
892#
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100893config FW_ARC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700894 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700895
Ralf Baechle61ed2422005-09-15 08:52:34 +0000896config ARCH_MAY_HAVE_PC_FDC
897 bool
898
Marc St-Jean9267a302007-06-14 15:55:31 -0600899config BOOT_RAW
900 bool
901
Ralf Baechle217dd112007-11-01 01:57:55 +0000902config CEVT_BCM1480
903 bool
904
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900905config CEVT_DS1287
906 bool
907
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900908config CEVT_GT641XX
909 bool
910
Ralf Baechle42f77542007-10-18 17:48:11 +0100911config CEVT_R4K
912 bool
913
Ralf Baechle217dd112007-11-01 01:57:55 +0000914config CEVT_SB1250
915 bool
916
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900917config CEVT_TXX9
918 bool
919
Ralf Baechle217dd112007-11-01 01:57:55 +0000920config CSRC_BCM1480
921 bool
922
Yoichi Yuasa42474172008-04-24 09:48:40 +0900923config CSRC_IOASIC
924 bool
925
David VomLehna3a0f8c2009-08-30 17:15:11 -0700926config CSRC_POWERTV
927 bool
928
Ralf Baechle940f6b42007-11-24 22:33:28 +0000929config CSRC_R4K
930 bool
931
Steven J. Hill778eeb12012-12-07 03:51:04 +0000932config CSRC_GIC
933 bool
934
Ralf Baechle217dd112007-11-01 01:57:55 +0000935config CSRC_SB1250
936 bool
937
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900938config GPIO_TXX9
939 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700940 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900941 bool
942
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100943config FW_CFE
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200944 bool
945
FUJITA Tomonori4bafad92010-09-03 09:49:12 +0900946config ARCH_DMA_ADDR_T_64BIT
947 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
948
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700949config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700950 bool
951
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700952config DMA_NONCOHERENT
953 bool
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800954 select NEED_DMA_MAP_STATE
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700955
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800956config NEED_DMA_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700957 bool
958
Ralf Baechle36a88532007-03-01 11:56:43 +0000959config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700960 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700961
Ralf Baechledbb74542007-08-07 14:52:17 +0100962config HOTPLUG_CPU
Ralf Baechle1b2bc752009-06-23 10:00:31 +0100963 bool "Support for hot-pluggable CPUs"
964 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
965 help
966 Say Y here to allow turning CPUs off and on. CPUs can be
967 controlled through /sys/devices/system/cpu.
968 (Note: power management support will enable this option
969 automatically on SMP systems. )
970 Say N if you want to disable CPU hotplug.
971
972config SYS_SUPPORTS_HOTPLUG_CPU
Ralf Baechledbb74542007-08-07 14:52:17 +0100973 bool
Ralf Baechledbb74542007-08-07 14:52:17 +0100974
Linus Torvalds1da177e2005-04-16 15:20:36 -0700975config I8259
976 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700977
Linus Torvalds1da177e2005-04-16 15:20:36 -0700978config MIPS_BONITO64
979 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700980
981config MIPS_MSC
982 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700983
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200984config MIPS_NILE4
985 bool
986
Linus Torvalds1da177e2005-04-16 15:20:36 -0700987config MIPS_DISABLE_OBSOLETE_IDE
988 bool
989
Ralf Baechle39b8d522008-04-28 17:14:26 +0100990config SYNC_R4K
991 bool
992
Gabor Juhos487d70d2010-11-23 16:06:25 +0100993config MIPS_MACHINE
994 def_bool n
995
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100996config NO_IOPORT
997 def_bool n
998
Ralf Baechle8313da32007-08-24 16:48:30 +0100999config GENERIC_ISA_DMA
1000 bool
1001 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
Namhyung Kima35bee82010-10-18 12:55:21 +09001002 select ISA_DMA_API
Ralf Baechle8313da32007-08-24 16:48:30 +01001003
Ralf Baechleaa414df2006-11-30 01:14:51 +00001004config GENERIC_ISA_DMA_SUPPORT_BROKEN
1005 bool
Ralf Baechle8313da32007-08-24 16:48:30 +01001006 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001007
Namhyung Kima35bee82010-10-18 12:55:21 +09001008config ISA_DMA_API
1009 bool
1010
Yoichi Yuasa09663332007-05-22 00:05:58 +09001011config GENERIC_GPIO
1012 bool
1013
David Daney465aaed2011-08-20 08:44:00 -07001014config HOLES_IN_ZONE
1015 bool
1016
Ralf Baechle5e83d432005-10-29 19:32:41 +01001017#
Masanari Iida6b2aac42012-04-14 00:14:11 +09001018# Endianness selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +01001019# answer,so we try hard to limit the available choices. Also the use of a
1020# choice statement should be more obvious to the user.
1021#
1022choice
Masanari Iida6b2aac42012-04-14 00:14:11 +09001023 prompt "Endianness selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001024 help
1025 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +01001026 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +01001027 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +01001028 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +02001029 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +01001030
1031config CPU_BIG_ENDIAN
1032 bool "Big endian"
1033 depends on SYS_SUPPORTS_BIG_ENDIAN
1034
1035config CPU_LITTLE_ENDIAN
1036 bool "Little endian"
1037 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1038 help
1039
1040endchoice
1041
David Daney22b07632010-07-23 18:41:43 -07001042config EXPORT_UASM
1043 bool
1044
Ralf Baechle21162452007-02-09 17:08:58 +00001045config SYS_SUPPORTS_APM_EMULATION
1046 bool
1047
Ralf Baechle5e83d432005-10-29 19:32:41 +01001048config SYS_SUPPORTS_BIG_ENDIAN
1049 bool
1050
1051config SYS_SUPPORTS_LITTLE_ENDIAN
1052 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001053
David Daney9cffd1542009-05-27 17:47:46 -07001054config SYS_SUPPORTS_HUGETLBFS
1055 bool
1056 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1057 default y
1058
David Daneyaa1762f2012-10-17 00:48:10 +02001059config MIPS_HUGE_TLB_SUPPORT
1060 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1061
Linus Torvalds1da177e2005-04-16 15:20:36 -07001062config IRQ_CPU
1063 bool
1064
1065config IRQ_CPU_RM7K
1066 bool
1067
Marc St-Jean9267a302007-06-14 15:55:31 -06001068config IRQ_MSP_SLP
1069 bool
1070
1071config IRQ_MSP_CIC
1072 bool
1073
Atsushi Nemoto8420fd02007-08-02 23:35:53 +09001074config IRQ_TXX9
1075 bool
1076
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +09001077config IRQ_GT641XX
1078 bool
1079
Ralf Baechle39b8d522008-04-28 17:14:26 +01001080config IRQ_GIC
1081 bool
1082
Linus Torvalds1da177e2005-04-16 15:20:36 -07001083config MIPS_BOARDS_GEN
1084 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001085
Yoichi Yuasa252161e2007-03-14 21:51:26 +09001086config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -07001087 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001088
Marc St-Jean9267a302007-06-14 15:55:31 -06001089config NO_EXCEPT_FILL
1090 bool
1091
Ralf Baechlea83860c2009-03-13 21:17:57 +01001092config SOC_EMMA2RH
1093 bool
1094 select CEVT_R4K
1095 select CSRC_R4K
1096 select DMA_NONCOHERENT
1097 select IRQ_CPU
1098 select SWAP_IO_SPACE
1099 select SYS_HAS_CPU_R5500
1100 select SYS_SUPPORTS_32BIT_KERNEL
1101 select SYS_SUPPORTS_64BIT_KERNEL
1102 select SYS_SUPPORTS_BIG_ENDIAN
1103
Daniel Lairdedb63102008-06-16 15:49:21 +01001104config SOC_PNX833X
1105 bool
1106 select CEVT_R4K
1107 select CSRC_R4K
1108 select IRQ_CPU
1109 select DMA_NONCOHERENT
1110 select SYS_HAS_CPU_MIPS32_R2
1111 select SYS_SUPPORTS_32BIT_KERNEL
1112 select SYS_SUPPORTS_LITTLE_ENDIAN
1113 select SYS_SUPPORTS_BIG_ENDIAN
Daniel Lairdedb63102008-06-16 15:49:21 +01001114 select GENERIC_GPIO
1115 select CPU_MIPSR2_IRQ_VI
1116
1117config SOC_PNX8335
1118 bool
1119 select SOC_PNX833X
1120
Pete Popovbdf21b12005-07-14 17:47:57 +00001121config PNX8550
1122 bool
1123 select SOC_PNX8550
1124
1125config SOC_PNX8550
1126 bool
Pete Popovbdf21b12005-07-14 17:47:57 +00001127 select DMA_NONCOHERENT
1128 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +00001129 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +00001130 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +01001131 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli4ead1682007-05-22 21:44:42 +02001132 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +00001133
Linus Torvalds1da177e2005-04-16 15:20:36 -07001134config SWAP_IO_SPACE
1135 bool
1136
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001137config SGI_HAS_INDYDOG
1138 bool
1139
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +02001140config SGI_HAS_HAL2
1141 bool
1142
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001143config SGI_HAS_SEEQ
1144 bool
1145
1146config SGI_HAS_WD93
1147 bool
1148
1149config SGI_HAS_ZILOG
1150 bool
1151
1152config SGI_HAS_I8042
1153 bool
1154
1155config DEFAULT_SGI_PARTITION
1156 bool
1157
Ralf Baechle0e2794b2012-11-15 20:48:50 +01001158config FW_ARC32
Ralf Baechle5e83d432005-10-29 19:32:41 +01001159 bool
1160
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +01001161config SNIPROM
1162 bool
1163
Linus Torvalds1da177e2005-04-16 15:20:36 -07001164config BOOT_ELF32
1165 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001166
1167config MIPS_L1_CACHE_SHIFT
1168 int
Ralf Baechlec7088752009-10-12 22:30:06 +02001169 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
Ralf Baechle0db2b742009-10-13 16:54:01 +02001170 default "6" if MIPS_CPU_SCACHE
David Daneya86c7f72008-12-11 15:33:38 -08001171 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001172 default "5"
1173
Linus Torvalds1da177e2005-04-16 15:20:36 -07001174config HAVE_STD_PC_SERIAL_PORT
1175 bool
1176
Linus Torvalds1da177e2005-04-16 15:20:36 -07001177config ARC_CONSOLE
1178 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001179 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001180
1181config ARC_MEMORY
1182 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +01001183 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001184 default y
1185
1186config ARC_PROMLIB
1187 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001188 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001189 default y
1190
Ralf Baechle0e2794b2012-11-15 20:48:50 +01001191config FW_ARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001192 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001193
1194config BOOT_ELF64
1195 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001196
Linus Torvalds1da177e2005-04-16 15:20:36 -07001197menu "CPU selection"
1198
1199choice
1200 prompt "CPU type"
1201 default CPU_R4X00
1202
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001203config CPU_LOONGSON2E
1204 bool "Loongson 2E"
1205 depends on SYS_HAS_CPU_LOONGSON2E
1206 select CPU_LOONGSON2
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001207 help
1208 The Loongson 2E processor implements the MIPS III instruction set
1209 with many extensions.
1210
Lucas De Marchi25985ed2011-03-30 22:57:33 -03001211 It has an internal FPGA northbridge, which is compatible to
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001212 bonito64.
1213
1214config CPU_LOONGSON2F
1215 bool "Loongson 2F"
1216 depends on SYS_HAS_CPU_LOONGSON2F
1217 select CPU_LOONGSON2
Arnaud Patardc197da92010-04-29 11:58:54 +02001218 select GENERIC_GPIO
1219 select ARCH_REQUIRE_GPIOLIB
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001220 help
1221 The Loongson 2F processor implements the MIPS III instruction set
1222 with many extensions.
1223
1224 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1225 have a similar programming interface with FPGA northbridge used in
1226 Loongson2E.
1227
Kelvin Cheungca585cf2012-07-25 16:17:24 +02001228config CPU_LOONGSON1B
1229 bool "Loongson 1B"
1230 depends on SYS_HAS_CPU_LOONGSON1B
1231 select CPU_LOONGSON1
1232 help
1233 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1234 release 2 instruction set.
1235
Ralf Baechle6e760c82005-07-06 12:08:11 +00001236config CPU_MIPS32_R1
1237 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001238 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechle6e760c82005-07-06 12:08:11 +00001239 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001240 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001241 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001242 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001243 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001244 MIPS32 architecture. Most modern embedded systems with a 32-bit
1245 MIPS processor are based on a MIPS32 processor. If you know the
1246 specific type of processor in your system, choose those that one
1247 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1248 Release 2 of the MIPS32 architecture is available since several
1249 years so chances are you even have a MIPS32 Release 2 processor
1250 in which case you should choose CPU_MIPS32_R2 instead for better
1251 performance.
1252
1253config CPU_MIPS32_R2
1254 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001255 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001256 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001257 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001258 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001259 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001260 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001261 MIPS32 architecture. Most modern embedded systems with a 32-bit
1262 MIPS processor are based on a MIPS32 processor. If you know the
1263 specific type of processor in your system, choose those that one
1264 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001265
Ralf Baechle6e760c82005-07-06 12:08:11 +00001266config CPU_MIPS64_R1
1267 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001268 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechle797798c2005-08-10 15:17:11 +00001269 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001270 select CPU_SUPPORTS_32BIT_KERNEL
1271 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001272 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd1542009-05-27 17:47:46 -07001273 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle6e760c82005-07-06 12:08:11 +00001274 help
1275 Choose this option to build a kernel for release 1 or later of the
1276 MIPS64 architecture. Many modern embedded systems with a 64-bit
1277 MIPS processor are based on a MIPS64 processor. If you know the
1278 specific type of processor in your system, choose those that one
1279 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001280 Release 2 of the MIPS64 architecture is available since several
1281 years so chances are you even have a MIPS64 Release 2 processor
1282 in which case you should choose CPU_MIPS64_R2 instead for better
1283 performance.
1284
1285config CPU_MIPS64_R2
1286 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001287 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechle797798c2005-08-10 15:17:11 +00001288 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001289 select CPU_SUPPORTS_32BIT_KERNEL
1290 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001291 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd1542009-05-27 17:47:46 -07001292 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001293 help
1294 Choose this option to build a kernel for release 2 or later of the
1295 MIPS64 architecture. Many modern embedded systems with a 64-bit
1296 MIPS processor are based on a MIPS64 processor. If you know the
1297 specific type of processor in your system, choose those that one
1298 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001299
1300config CPU_R3000
1301 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001302 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001303 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001304 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001305 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001306 help
1307 Please make sure to pick the right CPU type. Linux/MIPS is not
1308 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1309 *not* work on R4000 machines and vice versa. However, since most
1310 of the supported machines have an R4000 (or similar) CPU, R4x00
1311 might be a safe bet. If the resulting kernel does not work,
1312 try to recompile with R3000.
1313
1314config CPU_TX39XX
1315 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001316 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001317 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001318
1319config CPU_VR41XX
1320 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001321 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001322 select CPU_SUPPORTS_32BIT_KERNEL
1323 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001324 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001325 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001326 Only choose this option if you have one of these processors as a
1327 kernel built with this option will not run on any other type of
1328 processor or vice versa.
1329
1330config CPU_R4300
1331 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001332 depends on SYS_HAS_CPU_R4300
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001333 select CPU_SUPPORTS_32BIT_KERNEL
1334 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001335 help
1336 MIPS Technologies R4300-series processors.
1337
1338config CPU_R4X00
1339 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001340 depends on SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001341 select CPU_SUPPORTS_32BIT_KERNEL
1342 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001343 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001344 help
1345 MIPS Technologies R4000-series processors other than 4300, including
1346 the R4000, R4400, R4600, and 4700.
1347
1348config CPU_TX49XX
1349 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001350 depends on SYS_HAS_CPU_TX49XX
Atsushi Nemotode862b42006-03-17 12:59:22 +09001351 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001352 select CPU_SUPPORTS_32BIT_KERNEL
1353 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001354 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001355
1356config CPU_R5000
1357 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001358 depends on SYS_HAS_CPU_R5000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001359 select CPU_SUPPORTS_32BIT_KERNEL
1360 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001361 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001362 help
1363 MIPS Technologies R5000-series processors other than the Nevada.
1364
1365config CPU_R5432
1366 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001367 depends on SYS_HAS_CPU_R5432
Ralf Baechle5e83d432005-10-29 19:32:41 +01001368 select CPU_SUPPORTS_32BIT_KERNEL
1369 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001370 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001371
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001372config CPU_R5500
1373 bool "R5500"
1374 depends on SYS_HAS_CPU_R5500
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001375 select CPU_SUPPORTS_32BIT_KERNEL
1376 select CPU_SUPPORTS_64BIT_KERNEL
David Daney9cffd1542009-05-27 17:47:46 -07001377 select CPU_SUPPORTS_HUGEPAGES
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001378 help
1379 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1380 instruction set.
1381
Linus Torvalds1da177e2005-04-16 15:20:36 -07001382config CPU_R6000
1383 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001384 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001385 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001386 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001387 help
1388 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001389 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001390
1391config CPU_NEVADA
1392 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001393 depends on SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001394 select CPU_SUPPORTS_32BIT_KERNEL
1395 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001396 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001397 help
1398 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1399
1400config CPU_R8000
1401 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001402 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001403 depends on SYS_HAS_CPU_R8000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001404 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001405 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001406 help
1407 MIPS Technologies R8000 processors. Note these processors are
1408 uncommon and the support for them is incomplete.
1409
1410config CPU_R10000
1411 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001412 depends on SYS_HAS_CPU_R10000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001413 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001414 select CPU_SUPPORTS_32BIT_KERNEL
1415 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001416 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001417 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001418 help
1419 MIPS Technologies R10000-series processors.
1420
1421config CPU_RM7000
1422 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001423 depends on SYS_HAS_CPU_RM7000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001424 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001425 select CPU_SUPPORTS_32BIT_KERNEL
1426 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001427 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001428 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001429
1430config CPU_SB1
1431 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001432 depends on SYS_HAS_CPU_SB1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001433 select CPU_SUPPORTS_32BIT_KERNEL
1434 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001435 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001436 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001437 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001438
David Daneya86c7f72008-12-11 15:33:38 -08001439config CPU_CAVIUM_OCTEON
1440 bool "Cavium Octeon processor"
David Daney5e683382009-02-02 11:30:59 -08001441 depends on SYS_HAS_CPU_CAVIUM_OCTEON
Yoichi Yuasa7ee91de2012-07-19 09:11:15 +02001442 select ARCH_SPARSEMEM_ENABLE
David Daneya86c7f72008-12-11 15:33:38 -08001443 select CPU_HAS_PREFETCH
1444 select CPU_SUPPORTS_64BIT_KERNEL
1445 select SYS_SUPPORTS_SMP
1446 select NR_CPUS_DEFAULT_16
1447 select WEAK_ORDERING
David Daneya86c7f72008-12-11 15:33:38 -08001448 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd1542009-05-27 17:47:46 -07001449 select CPU_SUPPORTS_HUGEPAGES
David Daney7ed18152012-07-05 18:12:38 +02001450 select LIBFDT
1451 select USE_OF
David Daneya86c7f72008-12-11 15:33:38 -08001452 help
1453 The Cavium Octeon processor is a highly integrated chip containing
1454 many ethernet hardware widgets for networking tasks. The processor
1455 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1456 Full details can be found at http://www.caviumnetworks.com.
1457
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001458config CPU_BMIPS3300
1459 bool "BMIPS3300"
1460 depends on SYS_HAS_CPU_BMIPS3300
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001461 select CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001462 help
1463 Broadcom BMIPS3300 processors.
1464
1465config CPU_BMIPS4350
1466 bool "BMIPS4350"
1467 depends on SYS_HAS_CPU_BMIPS4350
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001468 select CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001469 select SYS_SUPPORTS_SMP
1470 select SYS_SUPPORTS_HOTPLUG_CPU
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001471 help
1472 Broadcom BMIPS4350 ("VIPER") processors.
1473
1474config CPU_BMIPS4380
1475 bool "BMIPS4380"
1476 depends on SYS_HAS_CPU_BMIPS4380
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001477 select CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001478 select SYS_SUPPORTS_SMP
1479 select SYS_SUPPORTS_HOTPLUG_CPU
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001480 help
1481 Broadcom BMIPS4380 processors.
1482
1483config CPU_BMIPS5000
1484 bool "BMIPS5000"
1485 depends on SYS_HAS_CPU_BMIPS5000
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001486 select CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001487 select CPU_SUPPORTS_HIGHMEM
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001488 select MIPS_CPU_SCACHE
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001489 select SYS_SUPPORTS_SMP
1490 select SYS_SUPPORTS_HOTPLUG_CPU
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001491 help
1492 Broadcom BMIPS5000 processors.
1493
Jayachandran C7f058e82011-05-07 01:36:57 +05301494config CPU_XLR
1495 bool "Netlogic XLR SoC"
1496 depends on SYS_HAS_CPU_XLR
1497 select CPU_SUPPORTS_32BIT_KERNEL
1498 select CPU_SUPPORTS_64BIT_KERNEL
1499 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001500 select CPU_SUPPORTS_HUGEPAGES
Jayachandran C7f058e82011-05-07 01:36:57 +05301501 select WEAK_ORDERING
1502 select WEAK_REORDERING_BEYOND_LLSC
Jayachandran C7f058e82011-05-07 01:36:57 +05301503 help
1504 Netlogic Microsystems XLR/XLS processors.
Jayachandran C1c773ea2011-11-16 00:21:28 +00001505
1506config CPU_XLP
1507 bool "Netlogic XLP SoC"
1508 depends on SYS_HAS_CPU_XLP
1509 select CPU_SUPPORTS_32BIT_KERNEL
1510 select CPU_SUPPORTS_64BIT_KERNEL
1511 select CPU_SUPPORTS_HIGHMEM
1512 select CPU_HAS_LLSC
1513 select WEAK_ORDERING
1514 select WEAK_REORDERING_BEYOND_LLSC
1515 select CPU_HAS_PREFETCH
Jayachandran Cd6504842012-10-31 12:01:29 +00001516 select CPU_MIPSR2
Jayachandran C1c773ea2011-11-16 00:21:28 +00001517 help
1518 Netlogic Microsystems XLP processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001519endchoice
1520
Wu Zhangjin622844b2010-04-10 20:04:42 +08001521if CPU_LOONGSON2F
1522config CPU_NOP_WORKAROUNDS
1523 bool
1524
1525config CPU_JUMP_WORKAROUNDS
1526 bool
1527
1528config CPU_LOONGSON2F_WORKAROUNDS
1529 bool "Loongson 2F Workarounds"
1530 default y
1531 select CPU_NOP_WORKAROUNDS
1532 select CPU_JUMP_WORKAROUNDS
1533 help
1534 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1535 require workarounds. Without workarounds the system may hang
1536 unexpectedly. For more information please refer to the gas
1537 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1538
1539 Loongson 2F03 and later have fixed these issues and no workarounds
1540 are needed. The workarounds have no significant side effect on them
1541 but may decrease the performance of the system so this option should
1542 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1543 systems.
1544
1545 If unsure, please say Y.
1546endif # CPU_LOONGSON2F
1547
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001548config SYS_SUPPORTS_ZBOOT
1549 bool
1550 select HAVE_KERNEL_GZIP
1551 select HAVE_KERNEL_BZIP2
1552 select HAVE_KERNEL_LZMA
Wu Zhangjinfe1d45e2010-01-15 20:34:46 +08001553 select HAVE_KERNEL_LZO
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001554
1555config SYS_SUPPORTS_ZBOOT_UART16550
1556 bool
1557 select SYS_SUPPORTS_ZBOOT
1558
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001559config CPU_LOONGSON2
1560 bool
1561 select CPU_SUPPORTS_32BIT_KERNEL
1562 select CPU_SUPPORTS_64BIT_KERNEL
1563 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001564 select CPU_SUPPORTS_HUGEPAGES
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001565
Kelvin Cheungca585cf2012-07-25 16:17:24 +02001566config CPU_LOONGSON1
1567 bool
1568 select CPU_MIPS32
1569 select CPU_MIPSR2
1570 select CPU_HAS_PREFETCH
1571 select CPU_SUPPORTS_32BIT_KERNEL
1572 select CPU_SUPPORTS_HIGHMEM
1573
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001574config CPU_BMIPS
1575 bool
1576 select CPU_MIPS32
1577 select CPU_SUPPORTS_32BIT_KERNEL
1578 select DMA_NONCOHERENT
1579 select IRQ_CPU
1580 select SWAP_IO_SPACE
1581 select WEAK_ORDERING
1582
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001583config SYS_HAS_CPU_LOONGSON2E
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001584 bool
1585
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001586config SYS_HAS_CPU_LOONGSON2F
1587 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001588 select CPU_SUPPORTS_CPUFREQ
1589 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001590 select CPU_SUPPORTS_UNCACHED_ACCELERATED
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001591
Kelvin Cheungca585cf2012-07-25 16:17:24 +02001592config SYS_HAS_CPU_LOONGSON1B
1593 bool
1594
Ralf Baechle7cf80532005-10-20 22:33:09 +01001595config SYS_HAS_CPU_MIPS32_R1
1596 bool
1597
1598config SYS_HAS_CPU_MIPS32_R2
1599 bool
1600
1601config SYS_HAS_CPU_MIPS64_R1
1602 bool
1603
1604config SYS_HAS_CPU_MIPS64_R2
1605 bool
1606
1607config SYS_HAS_CPU_R3000
1608 bool
1609
1610config SYS_HAS_CPU_TX39XX
1611 bool
1612
1613config SYS_HAS_CPU_VR41XX
1614 bool
1615
1616config SYS_HAS_CPU_R4300
1617 bool
1618
1619config SYS_HAS_CPU_R4X00
1620 bool
1621
1622config SYS_HAS_CPU_TX49XX
1623 bool
1624
1625config SYS_HAS_CPU_R5000
1626 bool
1627
1628config SYS_HAS_CPU_R5432
1629 bool
1630
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001631config SYS_HAS_CPU_R5500
1632 bool
1633
Ralf Baechle7cf80532005-10-20 22:33:09 +01001634config SYS_HAS_CPU_R6000
1635 bool
1636
1637config SYS_HAS_CPU_NEVADA
1638 bool
1639
1640config SYS_HAS_CPU_R8000
1641 bool
1642
1643config SYS_HAS_CPU_R10000
1644 bool
1645
1646config SYS_HAS_CPU_RM7000
1647 bool
1648
Ralf Baechle7cf80532005-10-20 22:33:09 +01001649config SYS_HAS_CPU_SB1
1650 bool
1651
David Daney5e683382009-02-02 11:30:59 -08001652config SYS_HAS_CPU_CAVIUM_OCTEON
1653 bool
1654
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001655config SYS_HAS_CPU_BMIPS3300
1656 bool
1657
1658config SYS_HAS_CPU_BMIPS4350
1659 bool
1660
1661config SYS_HAS_CPU_BMIPS4380
1662 bool
1663
1664config SYS_HAS_CPU_BMIPS5000
1665 bool
1666
Jayachandran C7f058e82011-05-07 01:36:57 +05301667config SYS_HAS_CPU_XLR
1668 bool
1669
Jayachandran C1c773ea2011-11-16 00:21:28 +00001670config SYS_HAS_CPU_XLP
1671 bool
1672
Ralf Baechle17099b12007-07-14 13:24:05 +01001673#
1674# CPU may reorder R->R, R->W, W->R, W->W
1675# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1676#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001677config WEAK_ORDERING
1678 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001679
1680#
1681# CPU may reorder reads and writes beyond LL/SC
1682# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1683#
1684config WEAK_REORDERING_BEYOND_LLSC
1685 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001686endmenu
1687
1688#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001689# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001690#
1691config CPU_MIPS32
1692 bool
1693 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1694
1695config CPU_MIPS64
1696 bool
1697 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1698
1699#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001700# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001701#
1702config CPU_MIPSR1
1703 bool
1704 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1705
1706config CPU_MIPSR2
1707 bool
David Daneya86c7f72008-12-11 15:33:38 -08001708 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
Ralf Baechle5e83d432005-10-29 19:32:41 +01001709
1710config SYS_SUPPORTS_32BIT_KERNEL
1711 bool
1712config SYS_SUPPORTS_64BIT_KERNEL
1713 bool
1714config CPU_SUPPORTS_32BIT_KERNEL
1715 bool
1716config CPU_SUPPORTS_64BIT_KERNEL
1717 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001718config CPU_SUPPORTS_CPUFREQ
1719 bool
1720config CPU_SUPPORTS_ADDRWINCFG
1721 bool
David Daney9cffd1542009-05-27 17:47:46 -07001722config CPU_SUPPORTS_HUGEPAGES
1723 bool
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001724config CPU_SUPPORTS_UNCACHED_ACCELERATED
1725 bool
David Daney82622282009-10-14 12:16:56 -07001726config MIPS_PGD_C0_CONTEXT
1727 bool
Jayachandran Cd6504842012-10-31 12:01:29 +00001728 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
Ralf Baechle5e83d432005-10-29 19:32:41 +01001729
David Daney8192c9e2008-09-23 00:04:26 -07001730#
1731# Set to y for ptrace access to watch registers.
1732#
1733config HARDWARE_WATCHPOINTS
1734 bool
David Daneyf8394902009-01-05 15:29:14 -08001735 default y if CPU_MIPSR1 || CPU_MIPSR2
David Daney8192c9e2008-09-23 00:04:26 -07001736
Ralf Baechle5e83d432005-10-29 19:32:41 +01001737menu "Kernel type"
1738
1739choice
Ralf Baechle5e83d432005-10-29 19:32:41 +01001740 prompt "Kernel code model"
1741 help
1742 You should only select this option if you have a workload that
1743 actually benefits from 64-bit processing or if your machine has
1744 large memory. You will only be presented a single option in this
1745 menu if your system does not support both 32-bit and 64-bit kernels.
1746
1747config 32BIT
1748 bool "32-bit kernel"
1749 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1750 select TRAD_SIGNALS
1751 help
1752 Select this option if you want to build a 32-bit kernel.
1753config 64BIT
1754 bool "64-bit kernel"
1755 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechledbda6ac2009-02-08 16:00:26 +00001756 select HAVE_SYSCALL_WRAPPERS
Ralf Baechle5e83d432005-10-29 19:32:41 +01001757 help
1758 Select this option if you want to build a 64-bit kernel.
1759
1760endchoice
1761
Linus Torvalds1da177e2005-04-16 15:20:36 -07001762choice
1763 prompt "Kernel page size"
1764 default PAGE_SIZE_4KB
1765
1766config PAGE_SIZE_4KB
1767 bool "4kB"
Wu Zhangjin315fe622009-12-01 14:55:25 +08001768 depends on !CPU_LOONGSON2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001769 help
1770 This option select the standard 4kB Linux page size. On some
1771 R3000-family processors this is the only available page size. Using
1772 4kB page size will minimize memory consumption and is therefore
1773 recommended for low memory systems.
1774
1775config PAGE_SIZE_8KB
1776 bool "8kB"
Ralf Baechlec52399b2009-04-02 14:07:10 +02001777 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001778 help
1779 Using 8kB page size will result in higher performance kernel at
1780 the price of higher memory consumption. This option is available
Ralf Baechlec52399b2009-04-02 14:07:10 +02001781 only on R8000 and cnMIPS processors. Note that you will need a
1782 suitable Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001783
1784config PAGE_SIZE_16KB
1785 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001786 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001787 help
1788 Using 16kB page size will result in higher performance kernel at
1789 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001790 all non-R3000 family processors. Note that you will need a suitable
1791 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001792
Ralf Baechlec52399b2009-04-02 14:07:10 +02001793config PAGE_SIZE_32KB
1794 bool "32kB"
1795 depends on CPU_CAVIUM_OCTEON
1796 help
1797 Using 32kB page size will result in higher performance kernel at
1798 the price of higher memory consumption. This option is available
1799 only on cnMIPS cores. Note that you will need a suitable Linux
1800 distribution to support this.
1801
Linus Torvalds1da177e2005-04-16 15:20:36 -07001802config PAGE_SIZE_64KB
1803 bool "64kB"
1804 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1805 help
1806 Using 64kB page size will result in higher performance kernel at
1807 the price of higher memory consumption. This option is available on
1808 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001809 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001810
1811endchoice
1812
David Daneyc9bace72010-10-11 14:52:45 -07001813config FORCE_MAX_ZONEORDER
1814 int "Maximum zone order"
David Daney85f993b2012-05-04 11:09:35 -07001815 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1816 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1817 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1818 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1819 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1820 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
David Daneyc9bace72010-10-11 14:52:45 -07001821 range 11 64
1822 default "11"
1823 help
1824 The kernel memory allocator divides physically contiguous memory
1825 blocks into "zones", where each zone is a power of two number of
1826 pages. This option selects the largest power of two that the kernel
1827 keeps in the memory allocator. If you need to allocate very large
1828 blocks of physically contiguous memory, then you may need to
1829 increase this value.
1830
1831 This config option is actually maximum order plus one. For example,
1832 a value of 11 means that the largest free memory block is 2^10 pages.
1833
1834 The page size is not necessarily 4KB. Keep this in mind
1835 when choosing a value for this option.
1836
Linus Torvalds1da177e2005-04-16 15:20:36 -07001837config BOARD_SCACHE
1838 bool
1839
1840config IP22_CPU_SCACHE
1841 bool
1842 select BOARD_SCACHE
1843
Chris Dearman9318c512006-06-20 17:15:20 +01001844#
1845# Support for a MIPS32 / MIPS64 style S-caches
1846#
1847config MIPS_CPU_SCACHE
1848 bool
1849 select BOARD_SCACHE
1850
Linus Torvalds1da177e2005-04-16 15:20:36 -07001851config R5000_CPU_SCACHE
1852 bool
1853 select BOARD_SCACHE
1854
1855config RM7000_CPU_SCACHE
1856 bool
1857 select BOARD_SCACHE
1858
1859config SIBYTE_DMA_PAGEOPS
1860 bool "Use DMA to clear/copy pages"
1861 depends on CPU_SB1
1862 help
1863 Instead of using the CPU to zero and copy pages, use a Data Mover
1864 channel. These DMA channels are otherwise unused by the standard
1865 SiByte Linux port. Seems to give a small performance benefit.
1866
1867config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001868 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001869
Florian Fainelli3165c842012-01-31 18:18:43 +01001870config CPU_GENERIC_DUMP_TLB
1871 bool
1872 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1873
Florian Fainelli91405eb2012-01-31 18:18:44 +01001874config CPU_R4K_FPU
1875 bool
1876 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1877
Florian Fainelli62cedc42012-01-31 18:18:45 +01001878config CPU_R4K_CACHE_TLB
1879 bool
1880 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1881
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001882choice
1883 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001884
1885config MIPS_MT_DISABLED
1886 bool "Disable multithreading support."
1887 help
1888 Use this option if your workload can't take advantage of
1889 MIPS hardware multithreading support. On systems that don't have
1890 the option of an MT-enabled processor this option will be the only
1891 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001892
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001893config MIPS_MT_SMP
1894 bool "Use 1 TC on each available VPE for SMP"
1895 depends on SYS_SUPPORTS_MULTITHREADING
1896 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001897 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001898 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001899 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001900 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001901 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001902 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001903 select SMP_UP
Al Cooper399aaa22012-07-13 16:44:53 -04001904 select MIPS_PERF_SHARED_TC_COUNTERS
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001905 help
Ralf Baechle25f12b32010-09-16 11:40:41 +01001906 This is a kernel model which is known a VSMP but lately has been
1907 marketesed into SMVP.
1908 Virtual SMP uses the processor's VPEs to implement virtual
1909 processors. In currently available configuration of the 34K processor
1910 this allows for a dual processor. Both processors will share the same
1911 primary caches; each will obtain the half of the TLB for it's own
1912 exclusive use. For a layman this model can be described as similar to
1913 what Intel calls Hyperthreading.
1914
1915 For further information see http://www.linux-mips.org/wiki/34K#VSMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001916
Ralf Baechle41c594a2006-04-05 09:45:45 +01001917config MIPS_MT_SMTC
1918 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001919 depends on CPU_MIPS32_R2
1920 #depends on CPU_MIPS64_R2 # once there is hardware ...
1921 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001922 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001923 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001924 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001925 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001926 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001927 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001928 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001929 help
1930 This is a kernel model which is known a SMTC or lately has been
1931 marketesed into SMVP.
Ralf Baechle25f12b32010-09-16 11:40:41 +01001932 is presenting the available TC's of the core as processors to Linux.
1933 On currently available 34K processors this means a Linux system will
1934 see up to 5 processors. The implementation of the SMTC kernel differs
1935 significantly from VSMP and cannot efficiently coexist in the same
1936 kernel binary so the choice between VSMP and SMTC is a compile time
1937 decision.
1938
1939 For further information see http://www.linux-mips.org/wiki/34K#SMTC
Ralf Baechle41c594a2006-04-05 09:45:45 +01001940
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001941endchoice
1942
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001943config MIPS_MT
1944 bool
1945
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001946config SCHED_SMT
1947 bool "SMT (multithreading) scheduler support"
1948 depends on SYS_SUPPORTS_SCHED_SMT
1949 default n
1950 help
1951 SMT scheduler support improves the CPU scheduler's decision making
1952 when dealing with MIPS MT enabled cores at a cost of slightly
1953 increased overhead in some places. If unsure say N here.
1954
1955config SYS_SUPPORTS_SCHED_SMT
1956 bool
1957
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001958config SYS_SUPPORTS_MULTITHREADING
1959 bool
1960
Ralf Baechlef088fc82006-04-05 09:45:47 +01001961config MIPS_MT_FPAFF
1962 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001963 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001964 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1965
1966config MIPS_VPE_LOADER
1967 bool "VPE loader support."
1968 depends on SYS_SUPPORTS_MULTITHREADING
1969 select CPU_MIPSR2_IRQ_VI
1970 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001971 select MIPS_MT
1972 help
1973 Includes a loader for loading an elf relocatable object
1974 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001975
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001976config MIPS_MT_SMTC_IM_BACKSTOP
1977 bool "Use per-TC register bits as backstop for inhibited IM bits"
1978 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001979 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001980 help
1981 To support multiple TC microthreads acting as "CPUs" within
1982 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1983 during interrupt handling. To support legacy drivers and interrupt
1984 controller management code, SMTC has a "backstop" to track and
1985 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001986 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001987
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001988config MIPS_MT_SMTC_IRQAFF
1989 bool "Support IRQ affinity API"
1990 depends on MIPS_MT_SMTC
1991 default n
1992 help
1993 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1994 for SMTC Linux kernel. Requires platform support, of which
1995 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001996 platform code. Adds some overhead to interrupt dispatch, and
1997 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001998
Ralf Baechlee01402b2005-07-14 15:57:16 +00001999config MIPS_VPE_LOADER_TOM
2000 bool "Load VPE program into memory hidden from linux"
2001 depends on MIPS_VPE_LOADER
2002 default y
2003 help
2004 The loader can use memory that is present but has been hidden from
2005 Linux using the kernel command line option "mem=xxMB". It's up to
2006 you to ensure the amount you put in the option and the space your
2007 program requires is less or equal to the amount physically present.
2008
2009# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2010config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01002011 bool "Enable support for AP/SP API (RTLX)"
2012 depends on MIPS_VPE_LOADER
2013 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00002014
Ralf Baechle4a16ff42008-10-04 00:06:29 +01002015config MIPS_CMP
2016 bool "MIPS CMP framework support"
2017 depends on SYS_SUPPORTS_MIPS_CMP
Tim Andersoneb9b5142009-06-17 16:40:34 -07002018 select SYNC_R4K
Ralf Baechle4a16ff42008-10-04 00:06:29 +01002019 select SYS_SUPPORTS_SMP
2020 select SYS_SUPPORTS_SCHED_SMT if SMP
2021 select WEAK_ORDERING
2022 default n
2023 help
2024 This is a placeholder option for the GCMP work. It will need to
2025 be handled differently...
2026
Linus Torvalds1da177e2005-04-16 15:20:36 -07002027config SB1_PASS_1_WORKAROUNDS
2028 bool
2029 depends on CPU_SB1_PASS_1
2030 default y
2031
2032config SB1_PASS_2_WORKAROUNDS
2033 bool
2034 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2035 default y
2036
2037config SB1_PASS_2_1_WORKAROUNDS
2038 bool
2039 depends on CPU_SB1 && CPU_SB1_PASS_2
2040 default y
2041
2042config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01002043 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002044
pascal@pabr.org60ec6572010-01-03 13:39:12 +01002045config ARCH_PHYS_ADDR_T_64BIT
2046 def_bool 64BIT_PHYS_ADDR
2047
Franck Bui-Huu9693a852007-02-02 17:41:47 +01002048config CPU_HAS_SMARTMIPS
2049 depends on SYS_SUPPORTS_SMARTMIPS
2050 bool "Support for the SmartMIPS ASE"
2051 help
2052 SmartMIPS is a extension of the MIPS32 architecture aimed at
2053 increased security at both hardware and software level for
2054 smartcards. Enabling this option will allow proper use of the
2055 SmartMIPS instructions by Linux applications. However a kernel with
2056 this option will not work on a MIPS core without SmartMIPS core. If
2057 you don't know you probably don't have SmartMIPS and should say N
2058 here.
2059
Linus Torvalds1da177e2005-04-16 15:20:36 -07002060config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01002061 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002062
Kevin Cernekeedf0ac8a2011-11-16 01:25:45 +00002063config XKS01
2064 bool
2065
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002066#
2067# Vectored interrupt mode is an R2 feature
2068#
Ralf Baechlee01402b2005-07-14 15:57:16 +00002069config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002070 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002071
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002072#
2073# Extended interrupt mode is an R2 feature
2074#
Ralf Baechlee01402b2005-07-14 15:57:16 +00002075config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002076 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002077
Linus Torvalds1da177e2005-04-16 15:20:36 -07002078config CPU_HAS_SYNC
2079 bool
2080 depends on !CPU_R3000
2081 default y
2082
2083#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01002084# CPU non-features
2085#
2086config CPU_DADDI_WORKAROUNDS
2087 bool
2088
2089config CPU_R4000_WORKAROUNDS
2090 bool
2091 select CPU_R4400_WORKAROUNDS
2092
2093config CPU_R4400_WORKAROUNDS
2094 bool
2095
2096#
Linus Torvalds1da177e2005-04-16 15:20:36 -07002097# - Highmem only makes sense for the 32-bit kernel.
2098# - The current highmem code will only work properly on physically indexed
2099# caches such as R3000, SB1, R7000 or those that look like they're virtually
2100# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2101# moment we protect the user and offer the highmem option only on machines
2102# where it's known to be safe. This will not offer highmem on a few systems
2103# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2104# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00002105# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2106# know they might have memory configurations that could make use of highmem
2107# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002108#
2109config HIGHMEM
2110 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00002111 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2112
2113config CPU_SUPPORTS_HIGHMEM
2114 bool
2115
2116config SYS_SUPPORTS_HIGHMEM
2117 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002118
Franck Bui-Huu9693a852007-02-02 17:41:47 +01002119config SYS_SUPPORTS_SMARTMIPS
2120 bool
2121
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002122config ARCH_FLATMEM_ENABLE
2123 def_bool y
Wu Zhangjinf133f222009-12-01 14:55:42 +08002124 depends on !NUMA && !CPU_LOONGSON2
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002125
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002126config ARCH_DISCONTIGMEM_ENABLE
2127 bool
2128 default y if SGI_IP27
2129 help
David Sterba3dde6ad2007-05-09 07:12:20 +02002130 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002131 for architectures which are either NUMA (Non-Uniform Memory Access)
2132 or have huge holes in the physical address space for other reasons.
2133 See <file:Documentation/vm/numa> for more.
2134
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09002135config ARCH_SPARSEMEM_ENABLE
2136 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09002137 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09002138
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002139config NUMA
2140 bool "NUMA Support"
2141 depends on SYS_SUPPORTS_NUMA
2142 help
2143 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2144 Access). This option improves performance on systems with more
2145 than two nodes; on two node systems it is generally better to
2146 leave it disabled; on single node systems disable this option
2147 disabled.
2148
2149config SYS_SUPPORTS_NUMA
2150 bool
2151
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07002152config NODES_SHIFT
2153 int
2154 default "6"
2155 depends on NEED_MULTIPLE_NODES
2156
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +08002157config HW_PERF_EVENTS
2158 bool "Enable hardware performance counter support for perf events"
Zi Shen Lim4be3d2f2012-10-31 12:01:28 +00002159 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +08002160 default y
2161 help
2162 Enable hardware performance counter support for perf events. If
2163 disabled, perf events will use software events only.
2164
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002165source "mm/Kconfig"
2166
Linus Torvalds1da177e2005-04-16 15:20:36 -07002167config SMP
2168 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01002169 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01002170 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02002171 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01002172 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07002173 This enables support for systems with more than one CPU. If you have
2174 a system with only one CPU, like most personal computers, say N. If
2175 you have a system with more than one CPU, say Y.
2176
2177 If you say N here, the kernel will run on single and multiprocessor
2178 machines, but will use only one CPU of a multiprocessor machine. If
2179 you say Y here, the kernel will run on many, but not all,
2180 singleprocessor machines. On a singleprocessor machine, the kernel
2181 will run faster if you say N here.
2182
2183 People using multiprocessor machines who say Y here should also say
2184 Y to "Enhanced Real Time Clock Support", below.
2185
Adrian Bunk03502fa2008-02-03 15:50:21 +02002186 See also the SMP-HOWTO available at
2187 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002188
2189 If you don't know what to do here, say N.
2190
Ralf Baechle87353d82007-11-19 12:23:51 +00002191config SMP_UP
2192 bool
2193
Ralf Baechle4a16ff42008-10-04 00:06:29 +01002194config SYS_SUPPORTS_MIPS_CMP
2195 bool
2196
Ralf Baechlee73ea272006-06-04 11:51:46 +01002197config SYS_SUPPORTS_SMP
2198 bool
2199
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002200config NR_CPUS_DEFAULT_1
2201 bool
2202
Ralf Baechle130e2fb2007-02-06 16:53:15 +00002203config NR_CPUS_DEFAULT_2
2204 bool
2205
2206config NR_CPUS_DEFAULT_4
2207 bool
2208
2209config NR_CPUS_DEFAULT_8
2210 bool
2211
2212config NR_CPUS_DEFAULT_16
2213 bool
2214
2215config NR_CPUS_DEFAULT_32
2216 bool
2217
2218config NR_CPUS_DEFAULT_64
2219 bool
2220
Linus Torvalds1da177e2005-04-16 15:20:36 -07002221config NR_CPUS
2222 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002223 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07002224 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002225 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00002226 default "2" if NR_CPUS_DEFAULT_2
2227 default "4" if NR_CPUS_DEFAULT_4
2228 default "8" if NR_CPUS_DEFAULT_8
2229 default "16" if NR_CPUS_DEFAULT_16
2230 default "32" if NR_CPUS_DEFAULT_32
2231 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07002232 help
2233 This allows you to specify the maximum number of CPUs which this
2234 kernel will support. The maximum supported value is 32 for 32-bit
2235 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002236 sense is 1 for Qemu (useful only for kernel debugging purposes)
2237 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002238
2239 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002240 approximately eight kilobytes to the kernel image. For best
2241 performance should round up your number of processors to the next
2242 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002243
Al Cooper399aaa22012-07-13 16:44:53 -04002244config MIPS_PERF_SHARED_TC_COUNTERS
2245 bool
2246
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002247#
2248# Timer Interrupt Frequency Configuration
2249#
2250
2251choice
2252 prompt "Timer frequency"
2253 default HZ_250
2254 help
2255 Allows the configuration of the timer frequency.
2256
2257 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00002258 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002259
2260 config HZ_100
2261 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2262
2263 config HZ_128
2264 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2265
2266 config HZ_250
2267 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2268
2269 config HZ_256
2270 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2271
2272 config HZ_1000
2273 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2274
2275 config HZ_1024
2276 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2277
2278endchoice
2279
2280config SYS_SUPPORTS_48HZ
2281 bool
2282
2283config SYS_SUPPORTS_100HZ
2284 bool
2285
2286config SYS_SUPPORTS_128HZ
2287 bool
2288
2289config SYS_SUPPORTS_250HZ
2290 bool
2291
2292config SYS_SUPPORTS_256HZ
2293 bool
2294
2295config SYS_SUPPORTS_1000HZ
2296 bool
2297
2298config SYS_SUPPORTS_1024HZ
2299 bool
2300
2301config SYS_SUPPORTS_ARBIT_HZ
2302 bool
2303 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2304 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2305 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2306 !SYS_SUPPORTS_1024HZ
2307
2308config HZ
2309 int
2310 default 48 if HZ_48
2311 default 100 if HZ_100
2312 default 128 if HZ_128
2313 default 250 if HZ_250
2314 default 256 if HZ_256
2315 default 1000 if HZ_1000
2316 default 1024 if HZ_1024
2317
Ralf Baechlee80de852005-07-11 20:45:51 +00002318source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002319
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002320config KEXEC
2321 bool "Kexec system call (EXPERIMENTAL)"
2322 depends on EXPERIMENTAL
2323 help
2324 kexec is a system call that implements the ability to shutdown your
2325 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02002326 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002327 you can start any kernel with it, not just Linux.
2328
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002329 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002330
2331 It is an ongoing process to be certain the hardware in a machine
2332 is properly shutdown, so do not be surprised if this code does not
2333 initially work for you. It may help to enable device hotplugging
2334 support. As of this writing the exact hardware interface is
2335 strongly in flux, so no good recommendation can be made.
2336
Ralf Baechle7aa1c8f2012-10-11 18:14:58 +02002337config CRASH_DUMP
2338 bool "Kernel crash dumps"
2339 help
2340 Generate crash dump after being started by kexec.
2341 This should be normally only set in special crash dump kernels
2342 which are loaded in the main kernel with kexec-tools into
2343 a specially reserved region and then later executed after
2344 a crash by kdump/kexec. The crash dump kernel must be compiled
2345 to a memory address not used by the main kernel or firmware using
2346 PHYSICAL_START.
2347
2348config PHYSICAL_START
2349 hex "Physical address where the kernel is loaded"
2350 default "0xffffffff84000000" if 64BIT
2351 default "0x84000000" if 32BIT
2352 depends on CRASH_DUMP
2353 help
2354 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2355 If you plan to use kernel for capturing the crash dump change
2356 this value to start of the reserved region (the "X" value as
2357 specified in the "crashkernel=YM@XM" command line boot parameter
2358 passed to the panic-ed kernel).
2359
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002360config SECCOMP
2361 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01002362 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002363 default y
2364 help
2365 This kernel feature is useful for number crunching applications
2366 that may need to compute untrusted bytecode during their
2367 execution. By using pipes or other transports made available to
2368 the process as file descriptors supporting the read/write
2369 syscalls, it's possible to isolate those applications in
2370 their own address space using seccomp. Once seccomp is
2371 enabled via /proc/<pid>/seccomp, it cannot be disabled
2372 and the task is only allowed to execute a few safe syscalls
2373 defined by each seccomp mode.
2374
2375 If unsure, say Y. Only embedded should say N here.
2376
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002377config USE_OF
Jonas Gorski0b3e06f2012-09-18 11:28:54 +02002378 bool
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002379 select OF
Stephen Neuendorffere6ce1322010-11-18 15:54:56 -08002380 select OF_EARLY_FLATTREE
Grant Likelyabd23632012-02-24 08:07:06 -07002381 select IRQ_DOMAIN
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002382
Ralf Baechle5e83d432005-10-29 19:32:41 +01002383endmenu
2384
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09002385config LOCKDEP_SUPPORT
2386 bool
2387 default y
2388
2389config STACKTRACE_SUPPORT
2390 bool
2391 default y
2392
Ralf Baechleb6c35392005-11-25 11:35:40 +00002393source "init/Kconfig"
2394
Matt Helsleydc52ddc2008-10-18 20:27:21 -07002395source "kernel/Kconfig.freezer"
2396
Linus Torvalds1da177e2005-04-16 15:20:36 -07002397menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2398
Ralf Baechle5e83d432005-10-29 19:32:41 +01002399config HW_HAS_EISA
2400 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002401config HW_HAS_PCI
2402 bool
2403
2404config PCI
2405 bool "Support for PCI controller"
2406 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01002407 select PCI_DOMAINS
Michael S. Tsirkineab90292011-11-24 21:10:12 +02002408 select GENERIC_PCI_IOMAP
Michael S. Tsirkin0f3b3952012-01-30 00:23:38 +02002409 select NO_GENERIC_PCI_IOPORT_MAP
Linus Torvalds1da177e2005-04-16 15:20:36 -07002410 help
2411 Find out whether you have a PCI motherboard. PCI is the name of a
2412 bus system, i.e. the way the CPU talks to the other stuff inside
2413 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2414 say Y, otherwise N.
2415
Linus Torvalds1da177e2005-04-16 15:20:36 -07002416config PCI_DOMAINS
2417 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002418
2419source "drivers/pci/Kconfig"
2420
Jonas Gorski3f787ca2012-07-24 16:33:14 +02002421source "drivers/pci/pcie/Kconfig"
2422
Linus Torvalds1da177e2005-04-16 15:20:36 -07002423#
2424# ISA support is now enabled via select. Too many systems still have the one
2425# or other ISA chip on the board that users don't know about so don't expect
2426# users to choose the right thing ...
2427#
2428config ISA
2429 bool
2430
2431config EISA
2432 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01002433 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002434 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00002435 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002436 ---help---
2437 The Extended Industry Standard Architecture (EISA) bus was
2438 developed as an open alternative to the IBM MicroChannel bus.
2439
2440 The EISA bus provided some of the features of the IBM MicroChannel
2441 bus while maintaining backward compatibility with cards made for
2442 the older ISA bus. The EISA bus saw limited use between 1988 and
2443 1995 when it was made obsolete by the PCI bus.
2444
2445 Say Y here if you are building a kernel for an EISA-based machine.
2446
2447 Otherwise, say N.
2448
2449source "drivers/eisa/Kconfig"
2450
2451config TC
2452 bool "TURBOchannel support"
2453 depends on MACH_DECSTATION
2454 help
Justin P. Mattock50a23e62010-10-16 10:36:23 -07002455 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2456 processors. TURBOchannel programming specifications are available
2457 at:
2458 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2459 and:
2460 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2461 Linux driver support status is documented at:
2462 <http://www.linux-mips.org/wiki/DECstation>
Linus Torvalds1da177e2005-04-16 15:20:36 -07002463
Linus Torvalds1da177e2005-04-16 15:20:36 -07002464config MMU
2465 bool
2466 default y
2467
Ralf Baechled865bea2007-10-11 23:46:10 +01002468config I8253
2469 bool
Russell King798778b2011-05-08 19:03:03 +01002470 select CLKSRC_I8253
Thomas Gleixner2d026122011-06-09 13:08:27 +00002471 select CLKEVT_I8253
Wu Zhangjin9726b432009-11-17 01:32:58 +08002472 select MIPS_EXTERNAL_TIMER
Ralf Baechled865bea2007-10-11 23:46:10 +01002473
Ralf Baechlecce335a2007-11-03 02:05:43 +00002474config ZONE_DMA32
2475 bool
2476
Linus Torvalds1da177e2005-04-16 15:20:36 -07002477source "drivers/pcmcia/Kconfig"
2478
2479source "drivers/pci/hotplug/Kconfig"
2480
Alexandre Bounine388b78a2011-03-23 16:43:03 -07002481config RAPIDIO
2482 bool "RapidIO support"
2483 depends on PCI
2484 default n
2485 help
2486 If you say Y here, the kernel will include drivers and
2487 infrastructure code to support RapidIO interconnect devices.
2488
2489source "drivers/rapidio/Kconfig"
2490
Linus Torvalds1da177e2005-04-16 15:20:36 -07002491endmenu
2492
2493menu "Executable file formats"
2494
2495source "fs/Kconfig.binfmt"
2496
2497config TRAD_SIGNALS
2498 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002499
Linus Torvalds1da177e2005-04-16 15:20:36 -07002500config MIPS32_COMPAT
2501 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002502 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002503 help
2504 Select this option if you want Linux/MIPS 32-bit binary
2505 compatibility. Since all software available for Linux/MIPS is
2506 currently 32-bit you should say Y here.
2507
2508config COMPAT
2509 bool
2510 depends on MIPS32_COMPAT
Chris Metcalf48b25c42012-03-15 13:13:38 -04002511 select ARCH_WANT_OLD_COMPAT_IPC
Linus Torvalds1da177e2005-04-16 15:20:36 -07002512 default y
2513
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002514config SYSVIPC_COMPAT
2515 bool
2516 depends on COMPAT && SYSVIPC
2517 default y
2518
Linus Torvalds1da177e2005-04-16 15:20:36 -07002519config MIPS32_O32
2520 bool "Kernel support for o32 binaries"
2521 depends on MIPS32_COMPAT
2522 help
2523 Select this option if you want to run o32 binaries. These are pure
2524 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2525 existing binaries are in this format.
2526
2527 If unsure, say Y.
2528
2529config MIPS32_N32
2530 bool "Kernel support for n32 binaries"
2531 depends on MIPS32_COMPAT
2532 help
2533 Select this option if you want to run n32 binaries. These are
2534 64-bit binaries using 32-bit quantities for addressing and certain
2535 data that would normally be 64-bit. They are used in special
2536 cases.
2537
2538 If unsure, say N.
2539
2540config BINFMT_ELF32
2541 bool
2542 default y if MIPS32_O32 || MIPS32_N32
2543
Ralf Baechle21162452007-02-09 17:08:58 +00002544endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002545
Ralf Baechle21162452007-02-09 17:08:58 +00002546menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002547
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002548config ARCH_HIBERNATION_POSSIBLE
2549 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002550 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002551
Johannes Bergf4cb5702007-12-08 02:14:00 +01002552config ARCH_SUSPEND_POSSIBLE
2553 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002554 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Johannes Bergf4cb5702007-12-08 02:14:00 +01002555
Ralf Baechle21162452007-02-09 17:08:58 +00002556source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002557
Linus Torvalds1da177e2005-04-16 15:20:36 -07002558endmenu
2559
Wu Zhangjin9726b432009-11-17 01:32:58 +08002560source "arch/mips/kernel/cpufreq/Kconfig"
2561
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002562source "net/Kconfig"
2563
Linus Torvalds1da177e2005-04-16 15:20:36 -07002564source "drivers/Kconfig"
2565
Ralf Baechle98cdee02012-11-15 10:35:42 +01002566source "drivers/firmware/Kconfig"
2567
Linus Torvalds1da177e2005-04-16 15:20:36 -07002568source "fs/Kconfig"
2569
2570source "arch/mips/Kconfig.debug"
2571
2572source "security/Kconfig"
2573
2574source "crypto/Kconfig"
2575
2576source "lib/Kconfig"