diff options
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 88 |
1 files changed, 61 insertions, 27 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 44789eff983f..f72e1707d463 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -220,8 +220,9 @@ config NEED_MACH_MEMORY_H | |||
220 | be avoided when possible. | 220 | be avoided when possible. |
221 | 221 | ||
222 | config PHYS_OFFSET | 222 | config PHYS_OFFSET |
223 | hex "Physical address of main memory" | 223 | hex "Physical address of main memory" if MMU |
224 | depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H | 224 | depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H |
225 | default DRAM_BASE if !MMU | ||
225 | help | 226 | help |
226 | Please provide the physical address corresponding to the | 227 | Please provide the physical address corresponding to the |
227 | location of main memory in your system. | 228 | location of main memory in your system. |
@@ -257,6 +258,7 @@ config ARCH_INTEGRATOR | |||
257 | select ARCH_HAS_CPUFREQ | 258 | select ARCH_HAS_CPUFREQ |
258 | select CLKDEV_LOOKUP | 259 | select CLKDEV_LOOKUP |
259 | select HAVE_MACH_CLKDEV | 260 | select HAVE_MACH_CLKDEV |
261 | select HAVE_TCM | ||
260 | select ICST | 262 | select ICST |
261 | select GENERIC_CLOCKEVENTS | 263 | select GENERIC_CLOCKEVENTS |
262 | select PLAT_VERSATILE | 264 | select PLAT_VERSATILE |
@@ -340,10 +342,12 @@ config ARCH_HIGHBANK | |||
340 | select ARM_AMBA | 342 | select ARM_AMBA |
341 | select ARM_GIC | 343 | select ARM_GIC |
342 | select ARM_TIMER_SP804 | 344 | select ARM_TIMER_SP804 |
345 | select CACHE_L2X0 | ||
343 | select CLKDEV_LOOKUP | 346 | select CLKDEV_LOOKUP |
344 | select CPU_V7 | 347 | select CPU_V7 |
345 | select GENERIC_CLOCKEVENTS | 348 | select GENERIC_CLOCKEVENTS |
346 | select HAVE_ARM_SCU | 349 | select HAVE_ARM_SCU |
350 | select HAVE_SMP | ||
347 | select USE_OF | 351 | select USE_OF |
348 | help | 352 | help |
349 | Support for the Calxeda Highbank SoC based boards. | 353 | Support for the Calxeda Highbank SoC based boards. |
@@ -361,6 +365,7 @@ config ARCH_CNS3XXX | |||
361 | select CPU_V6K | 365 | select CPU_V6K |
362 | select GENERIC_CLOCKEVENTS | 366 | select GENERIC_CLOCKEVENTS |
363 | select ARM_GIC | 367 | select ARM_GIC |
368 | select MIGHT_HAVE_CACHE_L2X0 | ||
364 | select MIGHT_HAVE_PCI | 369 | select MIGHT_HAVE_PCI |
365 | select PCI_DOMAINS if PCI | 370 | select PCI_DOMAINS if PCI |
366 | help | 371 | help |
@@ -381,6 +386,7 @@ config ARCH_PRIMA2 | |||
381 | select GENERIC_CLOCKEVENTS | 386 | select GENERIC_CLOCKEVENTS |
382 | select CLKDEV_LOOKUP | 387 | select CLKDEV_LOOKUP |
383 | select GENERIC_IRQ_CHIP | 388 | select GENERIC_IRQ_CHIP |
389 | select MIGHT_HAVE_CACHE_L2X0 | ||
384 | select USE_OF | 390 | select USE_OF |
385 | select ZONE_DMA | 391 | select ZONE_DMA |
386 | help | 392 | help |
@@ -633,6 +639,8 @@ config ARCH_TEGRA | |||
633 | select GENERIC_GPIO | 639 | select GENERIC_GPIO |
634 | select HAVE_CLK | 640 | select HAVE_CLK |
635 | select HAVE_SCHED_CLOCK | 641 | select HAVE_SCHED_CLOCK |
642 | select HAVE_SMP | ||
643 | select MIGHT_HAVE_CACHE_L2X0 | ||
636 | select ARCH_HAS_CPUFREQ | 644 | select ARCH_HAS_CPUFREQ |
637 | help | 645 | help |
638 | This enables support for NVIDIA Tegra based systems (Tegra APX, | 646 | This enables support for NVIDIA Tegra based systems (Tegra APX, |
@@ -702,7 +710,9 @@ config ARCH_SHMOBILE | |||
702 | select HAVE_CLK | 710 | select HAVE_CLK |
703 | select CLKDEV_LOOKUP | 711 | select CLKDEV_LOOKUP |
704 | select HAVE_MACH_CLKDEV | 712 | select HAVE_MACH_CLKDEV |
713 | select HAVE_SMP | ||
705 | select GENERIC_CLOCKEVENTS | 714 | select GENERIC_CLOCKEVENTS |
715 | select MIGHT_HAVE_CACHE_L2X0 | ||
706 | select NO_IOPORT | 716 | select NO_IOPORT |
707 | select SPARSE_IRQ | 717 | select SPARSE_IRQ |
708 | select MULTI_IRQ_HANDLER | 718 | select MULTI_IRQ_HANDLER |
@@ -867,16 +877,6 @@ config ARCH_SHARK | |||
867 | Support for the StrongARM based Digital DNARD machine, also known | 877 | Support for the StrongARM based Digital DNARD machine, also known |
868 | as "Shark" (<http://www.shark-linux.de/shark.html>). | 878 | as "Shark" (<http://www.shark-linux.de/shark.html>). |
869 | 879 | ||
870 | config ARCH_TCC_926 | ||
871 | bool "Telechips TCC ARM926-based systems" | ||
872 | select CLKSRC_MMIO | ||
873 | select CPU_ARM926T | ||
874 | select HAVE_CLK | ||
875 | select CLKDEV_LOOKUP | ||
876 | select GENERIC_CLOCKEVENTS | ||
877 | help | ||
878 | Support for Telechips TCC ARM926-based systems. | ||
879 | |||
880 | config ARCH_U300 | 880 | config ARCH_U300 |
881 | bool "ST-Ericsson U300 Series" | 881 | bool "ST-Ericsson U300 Series" |
882 | depends on MMU | 882 | depends on MMU |
@@ -904,6 +904,8 @@ config ARCH_U8500 | |||
904 | select CLKDEV_LOOKUP | 904 | select CLKDEV_LOOKUP |
905 | select ARCH_REQUIRE_GPIOLIB | 905 | select ARCH_REQUIRE_GPIOLIB |
906 | select ARCH_HAS_CPUFREQ | 906 | select ARCH_HAS_CPUFREQ |
907 | select HAVE_SMP | ||
908 | select MIGHT_HAVE_CACHE_L2X0 | ||
907 | help | 909 | help |
908 | Support for ST-Ericsson's Ux500 architecture | 910 | Support for ST-Ericsson's Ux500 architecture |
909 | 911 | ||
@@ -914,6 +916,7 @@ config ARCH_NOMADIK | |||
914 | select CPU_ARM926T | 916 | select CPU_ARM926T |
915 | select CLKDEV_LOOKUP | 917 | select CLKDEV_LOOKUP |
916 | select GENERIC_CLOCKEVENTS | 918 | select GENERIC_CLOCKEVENTS |
919 | select MIGHT_HAVE_CACHE_L2X0 | ||
917 | select ARCH_REQUIRE_GPIOLIB | 920 | select ARCH_REQUIRE_GPIOLIB |
918 | help | 921 | help |
919 | Support for the Nomadik platform by ST-Ericsson | 922 | Support for the Nomadik platform by ST-Ericsson |
@@ -973,6 +976,7 @@ config ARCH_ZYNQ | |||
973 | select ARM_GIC | 976 | select ARM_GIC |
974 | select ARM_AMBA | 977 | select ARM_AMBA |
975 | select ICST | 978 | select ICST |
979 | select MIGHT_HAVE_CACHE_L2X0 | ||
976 | select USE_OF | 980 | select USE_OF |
977 | help | 981 | help |
978 | Support for Xilinx Zynq ARM Cortex A9 Platform | 982 | Support for Xilinx Zynq ARM Cortex A9 Platform |
@@ -1059,8 +1063,6 @@ source "arch/arm/plat-s5p/Kconfig" | |||
1059 | 1063 | ||
1060 | source "arch/arm/plat-spear/Kconfig" | 1064 | source "arch/arm/plat-spear/Kconfig" |
1061 | 1065 | ||
1062 | source "arch/arm/plat-tcc/Kconfig" | ||
1063 | |||
1064 | if ARCH_S3C2410 | 1066 | if ARCH_S3C2410 |
1065 | source "arch/arm/mach-s3c2410/Kconfig" | 1067 | source "arch/arm/mach-s3c2410/Kconfig" |
1066 | source "arch/arm/mach-s3c2412/Kconfig" | 1068 | source "arch/arm/mach-s3c2412/Kconfig" |
@@ -1125,6 +1127,11 @@ config ARM_TIMER_SP804 | |||
1125 | 1127 | ||
1126 | source arch/arm/mm/Kconfig | 1128 | source arch/arm/mm/Kconfig |
1127 | 1129 | ||
1130 | config ARM_NR_BANKS | ||
1131 | int | ||
1132 | default 16 if ARCH_EP93XX | ||
1133 | default 8 | ||
1134 | |||
1128 | config IWMMXT | 1135 | config IWMMXT |
1129 | bool "Enable iWMMXt support" | 1136 | bool "Enable iWMMXt support" |
1130 | depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 | 1137 | depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 |
@@ -1133,10 +1140,9 @@ config IWMMXT | |||
1133 | Enable support for iWMMXt context switching at run time if | 1140 | Enable support for iWMMXt context switching at run time if |
1134 | running on a CPU that supports it. | 1141 | running on a CPU that supports it. |
1135 | 1142 | ||
1136 | # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER | ||
1137 | config XSCALE_PMU | 1143 | config XSCALE_PMU |
1138 | bool | 1144 | bool |
1139 | depends on CPU_XSCALE && !XSCALE_PMU_TIMER | 1145 | depends on CPU_XSCALE |
1140 | default y | 1146 | default y |
1141 | 1147 | ||
1142 | config CPU_HAS_PMU | 1148 | config CPU_HAS_PMU |
@@ -1231,7 +1237,7 @@ config ARM_ERRATA_742231 | |||
1231 | capabilities of the processor. | 1237 | capabilities of the processor. |
1232 | 1238 | ||
1233 | config PL310_ERRATA_588369 | 1239 | config PL310_ERRATA_588369 |
1234 | bool "Clean & Invalidate maintenance operations do not invalidate clean lines" | 1240 | bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" |
1235 | depends on CACHE_L2X0 | 1241 | depends on CACHE_L2X0 |
1236 | help | 1242 | help |
1237 | The PL310 L2 cache controller implements three types of Clean & | 1243 | The PL310 L2 cache controller implements three types of Clean & |
@@ -1245,7 +1251,7 @@ config PL310_ERRATA_588369 | |||
1245 | 1251 | ||
1246 | config ARM_ERRATA_720789 | 1252 | config ARM_ERRATA_720789 |
1247 | bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" | 1253 | bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" |
1248 | depends on CPU_V7 && SMP | 1254 | depends on CPU_V7 |
1249 | help | 1255 | help |
1250 | This option enables the workaround for the 720789 Cortex-A9 (prior to | 1256 | This option enables the workaround for the 720789 Cortex-A9 (prior to |
1251 | r2p0) erratum. A faulty ASID can be sent to the other CPUs for the | 1257 | r2p0) erratum. A faulty ASID can be sent to the other CPUs for the |
@@ -1256,7 +1262,7 @@ config ARM_ERRATA_720789 | |||
1256 | entries regardless of the ASID. | 1262 | entries regardless of the ASID. |
1257 | 1263 | ||
1258 | config PL310_ERRATA_727915 | 1264 | config PL310_ERRATA_727915 |
1259 | bool "Background Clean & Invalidate by Way operation can cause data corruption" | 1265 | bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" |
1260 | depends on CACHE_L2X0 | 1266 | depends on CACHE_L2X0 |
1261 | help | 1267 | help |
1262 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance | 1268 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance |
@@ -1281,7 +1287,7 @@ config ARM_ERRATA_743622 | |||
1281 | 1287 | ||
1282 | config ARM_ERRATA_751472 | 1288 | config ARM_ERRATA_751472 |
1283 | bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation" | 1289 | bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation" |
1284 | depends on CPU_V7 && SMP | 1290 | depends on CPU_V7 |
1285 | help | 1291 | help |
1286 | This option enables the workaround for the 751472 Cortex-A9 (prior | 1292 | This option enables the workaround for the 751472 Cortex-A9 (prior |
1287 | to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the | 1293 | to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the |
@@ -1289,8 +1295,8 @@ config ARM_ERRATA_751472 | |||
1289 | operation is received by a CPU before the ICIALLUIS has completed, | 1295 | operation is received by a CPU before the ICIALLUIS has completed, |
1290 | potentially leading to corrupted entries in the cache or TLB. | 1296 | potentially leading to corrupted entries in the cache or TLB. |
1291 | 1297 | ||
1292 | config ARM_ERRATA_753970 | 1298 | config PL310_ERRATA_753970 |
1293 | bool "ARM errata: cache sync operation may be faulty" | 1299 | bool "PL310 errata: cache sync operation may be faulty" |
1294 | depends on CACHE_PL310 | 1300 | depends on CACHE_PL310 |
1295 | help | 1301 | help |
1296 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. | 1302 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. |
@@ -1352,6 +1358,18 @@ config ARM_ERRATA_764369 | |||
1352 | relevant cache maintenance functions and sets a specific bit | 1358 | relevant cache maintenance functions and sets a specific bit |
1353 | in the diagnostic control register of the SCU. | 1359 | in the diagnostic control register of the SCU. |
1354 | 1360 | ||
1361 | config PL310_ERRATA_769419 | ||
1362 | bool "PL310 errata: no automatic Store Buffer drain" | ||
1363 | depends on CACHE_L2X0 | ||
1364 | help | ||
1365 | On revisions of the PL310 prior to r3p2, the Store Buffer does | ||
1366 | not automatically drain. This can cause normal, non-cacheable | ||
1367 | writes to be retained when the memory system is idle, leading | ||
1368 | to suboptimal I/O performance for drivers using coherent DMA. | ||
1369 | This option adds a write barrier to the cpu_idle loop so that, | ||
1370 | on systems with an outer cache, the store buffer is drained | ||
1371 | explicitly. | ||
1372 | |||
1355 | endmenu | 1373 | endmenu |
1356 | 1374 | ||
1357 | source "arch/arm/common/Kconfig" | 1375 | source "arch/arm/common/Kconfig" |
@@ -1422,14 +1440,20 @@ menu "Kernel Features" | |||
1422 | 1440 | ||
1423 | source "kernel/time/Kconfig" | 1441 | source "kernel/time/Kconfig" |
1424 | 1442 | ||
1443 | config HAVE_SMP | ||
1444 | bool | ||
1445 | help | ||
1446 | This option should be selected by machines which have an SMP- | ||
1447 | capable CPU. | ||
1448 | |||
1449 | The only effect of this option is to make the SMP-related | ||
1450 | options available to the user for configuration. | ||
1451 | |||
1425 | config SMP | 1452 | config SMP |
1426 | bool "Symmetric Multi-Processing" | 1453 | bool "Symmetric Multi-Processing" |
1427 | depends on CPU_V6K || CPU_V7 | 1454 | depends on CPU_V6K || CPU_V7 |
1428 | depends on GENERIC_CLOCKEVENTS | 1455 | depends on GENERIC_CLOCKEVENTS |
1429 | depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \ | 1456 | depends on HAVE_SMP |
1430 | MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \ | ||
1431 | ARCH_EXYNOS4 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 || \ | ||
1432 | ARCH_MSM_SCORPIONMP || ARCH_SHMOBILE || ARCH_HIGHBANK || SOC_IMX6Q | ||
1433 | depends on MMU | 1457 | depends on MMU |
1434 | select USE_GENERIC_SMP_HELPERS | 1458 | select USE_GENERIC_SMP_HELPERS |
1435 | select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP | 1459 | select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP |
@@ -1547,6 +1571,16 @@ config LOCAL_TIMERS | |||
1547 | accounting to be spread across the timer interval, preventing a | 1571 | accounting to be spread across the timer interval, preventing a |
1548 | "thundering herd" at every timer tick. | 1572 | "thundering herd" at every timer tick. |
1549 | 1573 | ||
1574 | config ARCH_NR_GPIO | ||
1575 | int | ||
1576 | default 1024 if ARCH_SHMOBILE || ARCH_TEGRA | ||
1577 | default 350 if ARCH_U8500 | ||
1578 | default 0 | ||
1579 | help | ||
1580 | Maximum number of GPIOs in the system. | ||
1581 | |||
1582 | If unsure, leave the default value. | ||
1583 | |||
1550 | source kernel/Kconfig.preempt | 1584 | source kernel/Kconfig.preempt |
1551 | 1585 | ||
1552 | config HZ | 1586 | config HZ |
@@ -1959,7 +1993,7 @@ endchoice | |||
1959 | 1993 | ||
1960 | config XIP_KERNEL | 1994 | config XIP_KERNEL |
1961 | bool "Kernel Execute-In-Place from ROM" | 1995 | bool "Kernel Execute-In-Place from ROM" |
1962 | depends on !ZBOOT_ROM | 1996 | depends on !ZBOOT_ROM && !ARM_LPAE |
1963 | help | 1997 | help |
1964 | Execute-In-Place allows the kernel to run from non-volatile storage | 1998 | Execute-In-Place allows the kernel to run from non-volatile storage |
1965 | directly addressable by the CPU, such as NOR flash. This saves RAM | 1999 | directly addressable by the CPU, such as NOR flash. This saves RAM |
@@ -1989,7 +2023,7 @@ config XIP_PHYS_ADDR | |||
1989 | 2023 | ||
1990 | config KEXEC | 2024 | config KEXEC |
1991 | bool "Kexec system call (EXPERIMENTAL)" | 2025 | bool "Kexec system call (EXPERIMENTAL)" |
1992 | depends on EXPERIMENTAL | 2026 | depends on EXPERIMENTAL && (!SMP || HOTPLUG_CPU) |
1993 | help | 2027 | help |
1994 | kexec is a system call that implements the ability to shutdown your | 2028 | kexec is a system call that implements the ability to shutdown your |
1995 | current kernel, and to start another kernel. It is like a reboot | 2029 | current kernel, and to start another kernel. It is like a reboot |