aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/Kconfig
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-04-02 16:40:50 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-02 16:40:50 -0400
commitbdfc7cbdeef8cadba0e5793079ac0130b8e2220c (patch)
tree82af0cae4898e259edcc6cbdad639087dc1189a8 /arch/mips/Kconfig
parent62d1a3ba5adc5653d43f6cd3a90758bb6ad5d5bd (diff)
parentade63aada79c61bcd5f51cbd310f237399892268 (diff)
Merge branch 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr
Pull MIPS updates from Ralf Baechle: - Support for Imgtec's Aptiv family of MIPS cores. - Improved detection of BCM47xx configurations. - Fix hiberation for certain configurations. - Add support for the Chinese Loongson 3 CPU, a MIPS64 R2 core and systems. - Detection and support for the MIPS P5600 core. - A few more random fixes that didn't make 3.14. - Support for the EVA Extended Virtual Addressing - Switch Alchemy to the platform PATA driver - Complete unification of Alchemy support - Allow availability of I/O cache coherency to be runtime detected - Improvments to multiprocessing support for Imgtec platforms - A few microoptimizations - Cleanups of FPU support - Paul Gortmaker's fixes for the init stuff - Support for seccomp * 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr: (165 commits) MIPS: CPC: Use __raw_ memory access functions MIPS: CM: use __raw_ memory access functions MIPS: Fix warning when including smp-ops.h with CONFIG_SMP=n MIPS: Malta: GIC IPIs may be used without MT MIPS: smp-mt: Use common GIC IPI implementation MIPS: smp-cmp: Remove incorrect core number probe MIPS: Fix gigaton of warning building with microMIPS. MIPS: Fix core number detection for MT cores MIPS: MT: core_nvpes function to retrieve VPE count MIPS: Provide empty mips_mt_set_cpuoptions when CONFIG_MIPS_MT=n MIPS: Lasat: Replace del_timer by del_timer_sync MIPS: Malta: Setup PM I/O region on boot MIPS: Loongson: Add a Loongson-3 default config file MIPS: Loongson 3: Add CPU hotplug support MIPS: Loongson 3: Add Loongson-3 SMP support MIPS: Loongson: Add Loongson-3 Kconfig options MIPS: Loongson: Add swiotlb to support All-Memory DMA MIPS: Loongson 3: Add serial port support MIPS: Loongson 3: Add IRQ init and dispatch support MIPS: Loongson 3: Add HT-linked PCI support ...
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r--arch/mips/Kconfig135
1 files changed, 125 insertions, 10 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index cb1da372346c..16d5ab1615b1 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -10,6 +10,7 @@ config MIPS
10 select HAVE_PERF_EVENTS 10 select HAVE_PERF_EVENTS
11 select PERF_USE_VMALLOC 11 select PERF_USE_VMALLOC
12 select HAVE_ARCH_KGDB 12 select HAVE_ARCH_KGDB
13 select HAVE_ARCH_SECCOMP_FILTER
13 select HAVE_ARCH_TRACEHOOK 14 select HAVE_ARCH_TRACEHOOK
14 select ARCH_HAVE_CUSTOM_GPIO_H 15 select ARCH_HAVE_CUSTOM_GPIO_H
15 select HAVE_FUNCTION_TRACER 16 select HAVE_FUNCTION_TRACER
@@ -62,6 +63,7 @@ config MIPS_ALCHEMY
62 select CEVT_R4K 63 select CEVT_R4K
63 select CSRC_R4K 64 select CSRC_R4K
64 select IRQ_CPU 65 select IRQ_CPU
66 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
65 select SYS_HAS_CPU_MIPS32_R1 67 select SYS_HAS_CPU_MIPS32_R1
66 select SYS_SUPPORTS_32BIT_KERNEL 68 select SYS_SUPPORTS_32BIT_KERNEL
67 select SYS_SUPPORTS_APM_EMULATION 69 select SYS_SUPPORTS_APM_EMULATION
@@ -121,7 +123,7 @@ config BCM47XX
121 select SYS_SUPPORTS_32BIT_KERNEL 123 select SYS_SUPPORTS_32BIT_KERNEL
122 select SYS_SUPPORTS_LITTLE_ENDIAN 124 select SYS_SUPPORTS_LITTLE_ENDIAN
123 select SYS_HAS_EARLY_PRINTK 125 select SYS_HAS_EARLY_PRINTK
124 select EARLY_PRINTK_8250 if EARLY_PRINTK 126 select USE_GENERIC_EARLY_PRINTK_8250
125 help 127 help
126 Support for BCM47XX based boards 128 Support for BCM47XX based boards
127 129
@@ -148,7 +150,6 @@ config MIPS_COBALT
148 select CSRC_R4K 150 select CSRC_R4K
149 select CEVT_GT641XX 151 select CEVT_GT641XX
150 select DMA_NONCOHERENT 152 select DMA_NONCOHERENT
151 select EARLY_PRINTK_8250 if EARLY_PRINTK
152 select HW_HAS_PCI 153 select HW_HAS_PCI
153 select I8253 154 select I8253
154 select I8259 155 select I8259
@@ -161,6 +162,7 @@ config MIPS_COBALT
161 select SYS_SUPPORTS_32BIT_KERNEL 162 select SYS_SUPPORTS_32BIT_KERNEL
162 select SYS_SUPPORTS_64BIT_KERNEL 163 select SYS_SUPPORTS_64BIT_KERNEL
163 select SYS_SUPPORTS_LITTLE_ENDIAN 164 select SYS_SUPPORTS_LITTLE_ENDIAN
165 select USE_GENERIC_EARLY_PRINTK_8250
164 166
165config MACH_DECSTATION 167config MACH_DECSTATION
166 bool "DECstations" 168 bool "DECstations"
@@ -233,7 +235,6 @@ config MACH_JZ4740
233 select IRQ_CPU 235 select IRQ_CPU
234 select ARCH_REQUIRE_GPIOLIB 236 select ARCH_REQUIRE_GPIOLIB
235 select SYS_HAS_EARLY_PRINTK 237 select SYS_HAS_EARLY_PRINTK
236 select HAVE_PWM
237 select HAVE_CLK 238 select HAVE_CLK
238 select GENERIC_IRQ_CHIP 239 select GENERIC_IRQ_CHIP
239 240
@@ -318,6 +319,7 @@ config MIPS_MALTA
318 select SWAP_IO_SPACE 319 select SWAP_IO_SPACE
319 select SYS_HAS_CPU_MIPS32_R1 320 select SYS_HAS_CPU_MIPS32_R1
320 select SYS_HAS_CPU_MIPS32_R2 321 select SYS_HAS_CPU_MIPS32_R2
322 select SYS_HAS_CPU_MIPS32_R3_5
321 select SYS_HAS_CPU_MIPS64_R1 323 select SYS_HAS_CPU_MIPS64_R1
322 select SYS_HAS_CPU_MIPS64_R2 324 select SYS_HAS_CPU_MIPS64_R2
323 select SYS_HAS_CPU_NEVADA 325 select SYS_HAS_CPU_NEVADA
@@ -327,6 +329,7 @@ config MIPS_MALTA
327 select SYS_SUPPORTS_BIG_ENDIAN 329 select SYS_SUPPORTS_BIG_ENDIAN
328 select SYS_SUPPORTS_LITTLE_ENDIAN 330 select SYS_SUPPORTS_LITTLE_ENDIAN
329 select SYS_SUPPORTS_MIPS_CMP 331 select SYS_SUPPORTS_MIPS_CMP
332 select SYS_SUPPORTS_MIPS_CPS
330 select SYS_SUPPORTS_MULTITHREADING 333 select SYS_SUPPORTS_MULTITHREADING
331 select SYS_SUPPORTS_SMARTMIPS 334 select SYS_SUPPORTS_SMARTMIPS
332 select SYS_SUPPORTS_ZBOOT 335 select SYS_SUPPORTS_ZBOOT
@@ -671,6 +674,7 @@ config SNI_RM
671 select SYS_SUPPORTS_BIG_ENDIAN 674 select SYS_SUPPORTS_BIG_ENDIAN
672 select SYS_SUPPORTS_HIGHMEM 675 select SYS_SUPPORTS_HIGHMEM
673 select SYS_SUPPORTS_LITTLE_ENDIAN 676 select SYS_SUPPORTS_LITTLE_ENDIAN
677 select USE_GENERIC_EARLY_PRINTK_8250
674 help 678 help
675 The SNI RM200/300/400 are MIPS-based machines manufactured by 679 The SNI RM200/300/400 are MIPS-based machines manufactured by
676 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 680 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
@@ -775,7 +779,6 @@ config NLM_XLP_BOARD
775 select CEVT_R4K 779 select CEVT_R4K
776 select CSRC_R4K 780 select CSRC_R4K
777 select IRQ_CPU 781 select IRQ_CPU
778 select ARCH_SUPPORTS_MSI
779 select ZONE_DMA32 if 64BIT 782 select ZONE_DMA32 if 64BIT
780 select SYNC_R4K 783 select SYNC_R4K
781 select SYS_HAS_EARLY_PRINTK 784 select SYS_HAS_EARLY_PRINTK
@@ -861,6 +864,7 @@ config CEVT_R4K
861 bool 864 bool
862 865
863config CEVT_GIC 866config CEVT_GIC
867 select MIPS_CM
864 bool 868 bool
865 869
866config CEVT_SB1250 870config CEVT_SB1250
@@ -879,6 +883,7 @@ config CSRC_R4K
879 bool 883 bool
880 884
881config CSRC_GIC 885config CSRC_GIC
886 select MIPS_CM
882 bool 887 bool
883 888
884config CSRC_SB1250 889config CSRC_SB1250
@@ -1023,6 +1028,7 @@ config IRQ_GT641XX
1023 bool 1028 bool
1024 1029
1025config IRQ_GIC 1030config IRQ_GIC
1031 select MIPS_CM
1026 bool 1032 bool
1027 1033
1028config PCI_GT64XXX_PCI0 1034config PCI_GT64XXX_PCI0
@@ -1141,6 +1147,18 @@ choice
1141 prompt "CPU type" 1147 prompt "CPU type"
1142 default CPU_R4X00 1148 default CPU_R4X00
1143 1149
1150config CPU_LOONGSON3
1151 bool "Loongson 3 CPU"
1152 depends on SYS_HAS_CPU_LOONGSON3
1153 select CPU_SUPPORTS_64BIT_KERNEL
1154 select CPU_SUPPORTS_HIGHMEM
1155 select CPU_SUPPORTS_HUGEPAGES
1156 select WEAK_ORDERING
1157 select WEAK_REORDERING_BEYOND_LLSC
1158 help
1159 The Loongson 3 processor implements the MIPS64R2 instruction
1160 set with many extensions.
1161
1144config CPU_LOONGSON2E 1162config CPU_LOONGSON2E
1145 bool "Loongson 2E" 1163 bool "Loongson 2E"
1146 depends on SYS_HAS_CPU_LOONGSON2E 1164 depends on SYS_HAS_CPU_LOONGSON2E
@@ -1196,6 +1214,7 @@ config CPU_MIPS32_R2
1196 select CPU_HAS_PREFETCH 1214 select CPU_HAS_PREFETCH
1197 select CPU_SUPPORTS_32BIT_KERNEL 1215 select CPU_SUPPORTS_32BIT_KERNEL
1198 select CPU_SUPPORTS_HIGHMEM 1216 select CPU_SUPPORTS_HIGHMEM
1217 select CPU_SUPPORTS_MSA
1199 select HAVE_KVM 1218 select HAVE_KVM
1200 help 1219 help
1201 Choose this option to build a kernel for release 2 or later of the 1220 Choose this option to build a kernel for release 2 or later of the
@@ -1231,6 +1250,7 @@ config CPU_MIPS64_R2
1231 select CPU_SUPPORTS_64BIT_KERNEL 1250 select CPU_SUPPORTS_64BIT_KERNEL
1232 select CPU_SUPPORTS_HIGHMEM 1251 select CPU_SUPPORTS_HIGHMEM
1233 select CPU_SUPPORTS_HUGEPAGES 1252 select CPU_SUPPORTS_HUGEPAGES
1253 select CPU_SUPPORTS_MSA
1234 help 1254 help
1235 Choose this option to build a kernel for release 2 or later of the 1255 Choose this option to build a kernel for release 2 or later of the
1236 MIPS64 architecture. Many modern embedded systems with a 64-bit 1256 MIPS64 architecture. Many modern embedded systems with a 64-bit
@@ -1389,7 +1409,6 @@ config CPU_CAVIUM_OCTEON
1389 select LIBFDT 1409 select LIBFDT
1390 select USE_OF 1410 select USE_OF
1391 select USB_EHCI_BIG_ENDIAN_MMIO 1411 select USB_EHCI_BIG_ENDIAN_MMIO
1392 select SYS_HAS_DMA_OPS
1393 select MIPS_L1_CACHE_SHIFT_7 1412 select MIPS_L1_CACHE_SHIFT_7
1394 help 1413 help
1395 The Cavium Octeon processor is a highly integrated chip containing 1414 The Cavium Octeon processor is a highly integrated chip containing
@@ -1441,6 +1460,26 @@ config CPU_XLP
1441 Netlogic Microsystems XLP processors. 1460 Netlogic Microsystems XLP processors.
1442endchoice 1461endchoice
1443 1462
1463config CPU_MIPS32_3_5_FEATURES
1464 bool "MIPS32 Release 3.5 Features"
1465 depends on SYS_HAS_CPU_MIPS32_R3_5
1466 depends on CPU_MIPS32_R2
1467 help
1468 Choose this option to build a kernel for release 2 or later of the
1469 MIPS32 architecture including features from the 3.5 release such as
1470 support for Enhanced Virtual Addressing (EVA).
1471
1472config CPU_MIPS32_3_5_EVA
1473 bool "Enhanced Virtual Addressing (EVA)"
1474 depends on CPU_MIPS32_3_5_FEATURES
1475 select EVA
1476 default y
1477 help
1478 Choose this option if you want to enable the Enhanced Virtual
1479 Addressing (EVA) on your MIPS32 core (such as proAptiv).
1480 One of its primary benefits is an increase in the maximum size
1481 of lowmem (up to 3GB). If unsure, say 'N' here.
1482
1444if CPU_LOONGSON2F 1483if CPU_LOONGSON2F
1445config CPU_NOP_WORKAROUNDS 1484config CPU_NOP_WORKAROUNDS
1446 bool 1485 bool
@@ -1516,6 +1555,10 @@ config CPU_BMIPS5000
1516 select SYS_SUPPORTS_SMP 1555 select SYS_SUPPORTS_SMP
1517 select SYS_SUPPORTS_HOTPLUG_CPU 1556 select SYS_SUPPORTS_HOTPLUG_CPU
1518 1557
1558config SYS_HAS_CPU_LOONGSON3
1559 bool
1560 select CPU_SUPPORTS_CPUFREQ
1561
1519config SYS_HAS_CPU_LOONGSON2E 1562config SYS_HAS_CPU_LOONGSON2E
1520 bool 1563 bool
1521 1564
@@ -1534,6 +1577,9 @@ config SYS_HAS_CPU_MIPS32_R1
1534config SYS_HAS_CPU_MIPS32_R2 1577config SYS_HAS_CPU_MIPS32_R2
1535 bool 1578 bool
1536 1579
1580config SYS_HAS_CPU_MIPS32_R3_5
1581 bool
1582
1537config SYS_HAS_CPU_MIPS64_R1 1583config SYS_HAS_CPU_MIPS64_R1
1538 bool 1584 bool
1539 1585
@@ -1650,6 +1696,9 @@ config CPU_MIPSR2
1650 bool 1696 bool
1651 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 1697 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1652 1698
1699config EVA
1700 bool
1701
1653config SYS_SUPPORTS_32BIT_KERNEL 1702config SYS_SUPPORTS_32BIT_KERNEL
1654 bool 1703 bool
1655config SYS_SUPPORTS_64BIT_KERNEL 1704config SYS_SUPPORTS_64BIT_KERNEL
@@ -1722,7 +1771,7 @@ choice
1722 1771
1723config PAGE_SIZE_4KB 1772config PAGE_SIZE_4KB
1724 bool "4kB" 1773 bool "4kB"
1725 depends on !CPU_LOONGSON2 1774 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
1726 help 1775 help
1727 This option select the standard 4kB Linux page size. On some 1776 This option select the standard 4kB Linux page size. On some
1728 R3000-family processors this is the only available page size. Using 1777 R3000-family processors this is the only available page size. Using
@@ -1863,6 +1912,7 @@ config MIPS_MT_SMP
1863 select CPU_MIPSR2_IRQ_VI 1912 select CPU_MIPSR2_IRQ_VI
1864 select CPU_MIPSR2_IRQ_EI 1913 select CPU_MIPSR2_IRQ_EI
1865 select SYNC_R4K 1914 select SYNC_R4K
1915 select MIPS_GIC_IPI
1866 select MIPS_MT 1916 select MIPS_MT
1867 select SMP 1917 select SMP
1868 select SMP_UP 1918 select SMP_UP
@@ -1880,6 +1930,7 @@ config MIPS_MT_SMTC
1880 bool "Use all TCs on all VPEs for SMP (DEPRECATED)" 1930 bool "Use all TCs on all VPEs for SMP (DEPRECATED)"
1881 depends on CPU_MIPS32_R2 1931 depends on CPU_MIPS32_R2
1882 depends on SYS_SUPPORTS_MULTITHREADING 1932 depends on SYS_SUPPORTS_MULTITHREADING
1933 depends on !MIPS_CPS
1883 select CPU_MIPSR2_IRQ_VI 1934 select CPU_MIPSR2_IRQ_VI
1884 select CPU_MIPSR2_IRQ_EI 1935 select CPU_MIPSR2_IRQ_EI
1885 select MIPS_MT 1936 select MIPS_MT
@@ -1987,13 +2038,45 @@ config MIPS_VPE_APSP_API_MT
1987 depends on MIPS_VPE_APSP_API && !MIPS_CMP 2038 depends on MIPS_VPE_APSP_API && !MIPS_CMP
1988 2039
1989config MIPS_CMP 2040config MIPS_CMP
1990 bool "MIPS CMP support" 2041 bool "MIPS CMP framework support (DEPRECATED)"
1991 depends on SYS_SUPPORTS_MIPS_CMP && MIPS_MT_SMP 2042 depends on SYS_SUPPORTS_MIPS_CMP && !MIPS_MT_SMTC
2043 select MIPS_GIC_IPI
1992 select SYNC_R4K 2044 select SYNC_R4K
1993 select WEAK_ORDERING 2045 select WEAK_ORDERING
1994 default n 2046 default n
1995 help 2047 help
1996 Enable Coherency Manager processor (CMP) support. 2048 Select this if you are using a bootloader which implements the "CMP
2049 framework" protocol (ie. YAMON) and want your kernel to make use of
2050 its ability to start secondary CPUs.
2051
2052 Unless you have a specific need, you should use CONFIG_MIPS_CPS
2053 instead of this.
2054
2055config MIPS_CPS
2056 bool "MIPS Coherent Processing System support"
2057 depends on SYS_SUPPORTS_MIPS_CPS
2058 select MIPS_CM
2059 select MIPS_CPC
2060 select MIPS_GIC_IPI
2061 select SMP
2062 select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
2063 select SYS_SUPPORTS_SMP
2064 select WEAK_ORDERING
2065 help
2066 Select this if you wish to run an SMP kernel across multiple cores
2067 within a MIPS Coherent Processing System. When this option is
2068 enabled the kernel will probe for other cores and boot them with
2069 no external assistance. It is safe to enable this when hardware
2070 support is unavailable.
2071
2072config MIPS_GIC_IPI
2073 bool
2074
2075config MIPS_CM
2076 bool
2077
2078config MIPS_CPC
2079 bool
1997 2080
1998config SB1_PASS_1_WORKAROUNDS 2081config SB1_PASS_1_WORKAROUNDS
1999 bool 2082 bool
@@ -2036,6 +2119,21 @@ config CPU_MICROMIPS
2036 When this option is enabled the kernel will be built using the 2119 When this option is enabled the kernel will be built using the
2037 microMIPS ISA 2120 microMIPS ISA
2038 2121
2122config CPU_HAS_MSA
2123 bool "Support for the MIPS SIMD Architecture"
2124 depends on CPU_SUPPORTS_MSA
2125 default y
2126 help
2127 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2128 and a set of SIMD instructions to operate on them. When this option
2129 is enabled the kernel will support allocating & switching MSA
2130 vector register contexts. If you know that your kernel will only be
2131 running on CPUs which do not support MSA or that your userland will
2132 not be making use of it then you may wish to say N here to reduce
2133 the size & complexity of your kernel.
2134
2135 If unsure, say Y.
2136
2039config CPU_HAS_WB 2137config CPU_HAS_WB
2040 bool 2138 bool
2041 2139
@@ -2087,7 +2185,7 @@ config CPU_R4400_WORKAROUNDS
2087# 2185#
2088config HIGHMEM 2186config HIGHMEM
2089 bool "High Memory Support" 2187 bool "High Memory Support"
2090 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM 2188 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2091 2189
2092config CPU_SUPPORTS_HIGHMEM 2190config CPU_SUPPORTS_HIGHMEM
2093 bool 2191 bool
@@ -2101,6 +2199,9 @@ config SYS_SUPPORTS_SMARTMIPS
2101config SYS_SUPPORTS_MICROMIPS 2199config SYS_SUPPORTS_MICROMIPS
2102 bool 2200 bool
2103 2201
2202config CPU_SUPPORTS_MSA
2203 bool
2204
2104config ARCH_FLATMEM_ENABLE 2205config ARCH_FLATMEM_ENABLE
2105 def_bool y 2206 def_bool y
2106 depends on !NUMA && !CPU_LOONGSON2 2207 depends on !NUMA && !CPU_LOONGSON2
@@ -2174,6 +2275,9 @@ config SMP_UP
2174config SYS_SUPPORTS_MIPS_CMP 2275config SYS_SUPPORTS_MIPS_CMP
2175 bool 2276 bool
2176 2277
2278config SYS_SUPPORTS_MIPS_CPS
2279 bool
2280
2177config SYS_SUPPORTS_SMP 2281config SYS_SUPPORTS_SMP
2178 bool 2282 bool
2179 2283
@@ -2406,6 +2510,17 @@ config PCI
2406 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 2510 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2407 say Y, otherwise N. 2511 say Y, otherwise N.
2408 2512
2513config HT_PCI
2514 bool "Support for HT-linked PCI"
2515 default y
2516 depends on CPU_LOONGSON3
2517 select PCI
2518 select PCI_DOMAINS
2519 help
2520 Loongson family machines use Hyper-Transport bus for inter-core
2521 connection and device connection. The PCI bus is a subordinate
2522 linked at HT. Choose Y for Loongson-3 based machines.
2523
2409config PCI_DOMAINS 2524config PCI_DOMAINS
2410 bool 2525 bool
2411 2526