diff options
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 165 |
1 files changed, 81 insertions, 84 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2201ff3002a7..9d72ed67e432 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -202,6 +202,13 @@ config ARM_PATCH_PHYS_VIRT | |||
202 | this feature (eg, building a kernel for a single machine) and | 202 | this feature (eg, building a kernel for a single machine) and |
203 | you need to shrink the kernel to the minimal size. | 203 | you need to shrink the kernel to the minimal size. |
204 | 204 | ||
205 | config NEED_MACH_GPIO_H | ||
206 | bool | ||
207 | help | ||
208 | Select this when mach/gpio.h is required to provide special | ||
209 | definitions for this platform. The need for mach/gpio.h should | ||
210 | be avoided when possible. | ||
211 | |||
205 | config NEED_MACH_IO_H | 212 | config NEED_MACH_IO_H |
206 | bool | 213 | bool |
207 | help | 214 | help |
@@ -247,26 +254,17 @@ config MMU | |||
247 | # | 254 | # |
248 | choice | 255 | choice |
249 | prompt "ARM system type" | 256 | prompt "ARM system type" |
250 | default ARCH_VERSATILE | 257 | default ARCH_MULTIPLATFORM |
251 | 258 | ||
252 | config ARCH_SOCFPGA | 259 | config ARCH_MULTIPLATFORM |
253 | bool "Altera SOCFPGA family" | 260 | bool "Allow multiple platforms to be selected" |
254 | select ARCH_WANT_OPTIONAL_GPIOLIB | 261 | select ARM_PATCH_PHYS_VIRT |
255 | select ARM_AMBA | 262 | select AUTO_ZRELADDR |
256 | select ARM_GIC | ||
257 | select CACHE_L2X0 | ||
258 | select CLKDEV_LOOKUP | ||
259 | select COMMON_CLK | 263 | select COMMON_CLK |
260 | select CPU_V7 | 264 | select MULTI_IRQ_HANDLER |
261 | select DW_APB_TIMER | ||
262 | select DW_APB_TIMER_OF | ||
263 | select GENERIC_CLOCKEVENTS | ||
264 | select GPIO_PL061 if GPIOLIB | ||
265 | select HAVE_ARM_SCU | ||
266 | select SPARSE_IRQ | 265 | select SPARSE_IRQ |
267 | select USE_OF | 266 | select USE_OF |
268 | help | 267 | depends on MMU |
269 | This enables support for Altera SOCFPGA Cyclone V platform | ||
270 | 268 | ||
271 | config ARCH_INTEGRATOR | 269 | config ARCH_INTEGRATOR |
272 | bool "ARM Ltd. Integrator family" | 270 | bool "ARM Ltd. Integrator family" |
@@ -318,30 +316,13 @@ config ARCH_VERSATILE | |||
318 | help | 316 | help |
319 | This enables support for ARM Ltd Versatile board. | 317 | This enables support for ARM Ltd Versatile board. |
320 | 318 | ||
321 | config ARCH_VEXPRESS | ||
322 | bool "ARM Ltd. Versatile Express family" | ||
323 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
324 | select ARM_AMBA | ||
325 | select ARM_TIMER_SP804 | ||
326 | select CLKDEV_LOOKUP | ||
327 | select COMMON_CLK | ||
328 | select GENERIC_CLOCKEVENTS | ||
329 | select HAVE_CLK | ||
330 | select HAVE_PATA_PLATFORM | ||
331 | select ICST | ||
332 | select NO_IOPORT | ||
333 | select PLAT_VERSATILE | ||
334 | select PLAT_VERSATILE_CLCD | ||
335 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
336 | help | ||
337 | This enables support for the ARM Ltd Versatile Express boards. | ||
338 | |||
339 | config ARCH_AT91 | 319 | config ARCH_AT91 |
340 | bool "Atmel AT91" | 320 | bool "Atmel AT91" |
341 | select ARCH_REQUIRE_GPIOLIB | 321 | select ARCH_REQUIRE_GPIOLIB |
342 | select HAVE_CLK | 322 | select HAVE_CLK |
343 | select CLKDEV_LOOKUP | 323 | select CLKDEV_LOOKUP |
344 | select IRQ_DOMAIN | 324 | select IRQ_DOMAIN |
325 | select NEED_MACH_GPIO_H | ||
345 | select NEED_MACH_IO_H if PCCARD | 326 | select NEED_MACH_IO_H if PCCARD |
346 | help | 327 | help |
347 | This enables support for systems based on Atmel | 328 | This enables support for systems based on Atmel |
@@ -364,24 +345,6 @@ config ARCH_BCM2835 | |||
364 | This enables support for the Broadcom BCM2835 SoC. This SoC is | 345 | This enables support for the Broadcom BCM2835 SoC. This SoC is |
365 | use in the Raspberry Pi, and Roku 2 devices. | 346 | use in the Raspberry Pi, and Roku 2 devices. |
366 | 347 | ||
367 | config ARCH_HIGHBANK | ||
368 | bool "Calxeda Highbank-based" | ||
369 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
370 | select ARM_AMBA | ||
371 | select ARM_GIC | ||
372 | select ARM_TIMER_SP804 | ||
373 | select CACHE_L2X0 | ||
374 | select CLKDEV_LOOKUP | ||
375 | select COMMON_CLK | ||
376 | select CPU_V7 | ||
377 | select GENERIC_CLOCKEVENTS | ||
378 | select HAVE_ARM_SCU | ||
379 | select HAVE_SMP | ||
380 | select SPARSE_IRQ | ||
381 | select USE_OF | ||
382 | help | ||
383 | Support for the Calxeda Highbank SoC based boards. | ||
384 | |||
385 | config ARCH_CLPS711X | 348 | config ARCH_CLPS711X |
386 | bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" | 349 | bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" |
387 | select CPU_ARM720T | 350 | select CPU_ARM720T |
@@ -526,6 +489,8 @@ config ARCH_IOP32X | |||
526 | bool "IOP32x-based" | 489 | bool "IOP32x-based" |
527 | depends on MMU | 490 | depends on MMU |
528 | select CPU_XSCALE | 491 | select CPU_XSCALE |
492 | select NEED_MACH_GPIO_H | ||
493 | select NEED_MACH_IO_H | ||
529 | select NEED_RET_TO_USER | 494 | select NEED_RET_TO_USER |
530 | select PLAT_IOP | 495 | select PLAT_IOP |
531 | select PCI | 496 | select PCI |
@@ -538,6 +503,8 @@ config ARCH_IOP33X | |||
538 | bool "IOP33x-based" | 503 | bool "IOP33x-based" |
539 | depends on MMU | 504 | depends on MMU |
540 | select CPU_XSCALE | 505 | select CPU_XSCALE |
506 | select NEED_MACH_GPIO_H | ||
507 | select NEED_MACH_IO_H | ||
541 | select NEED_RET_TO_USER | 508 | select NEED_RET_TO_USER |
542 | select PLAT_IOP | 509 | select PLAT_IOP |
543 | select PCI | 510 | select PCI |
@@ -559,18 +526,6 @@ config ARCH_IXP4XX | |||
559 | help | 526 | help |
560 | Support for Intel's IXP4XX (XScale) family of processors. | 527 | Support for Intel's IXP4XX (XScale) family of processors. |
561 | 528 | ||
562 | config ARCH_MVEBU | ||
563 | bool "Marvell SOCs with Device Tree support" | ||
564 | select GENERIC_CLOCKEVENTS | ||
565 | select MULTI_IRQ_HANDLER | ||
566 | select SPARSE_IRQ | ||
567 | select CLKSRC_MMIO | ||
568 | select GENERIC_IRQ_CHIP | ||
569 | select IRQ_DOMAIN | ||
570 | select COMMON_CLK | ||
571 | help | ||
572 | Support for the Marvell SoC Family with device tree support | ||
573 | |||
574 | config ARCH_DOVE | 529 | config ARCH_DOVE |
575 | bool "Marvell Dove" | 530 | bool "Marvell Dove" |
576 | select CPU_V7 | 531 | select CPU_V7 |
@@ -642,6 +597,7 @@ config ARCH_MMP | |||
642 | select PLAT_PXA | 597 | select PLAT_PXA |
643 | select SPARSE_IRQ | 598 | select SPARSE_IRQ |
644 | select GENERIC_ALLOCATOR | 599 | select GENERIC_ALLOCATOR |
600 | select NEED_MACH_GPIO_H | ||
645 | help | 601 | help |
646 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. | 602 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. |
647 | 603 | ||
@@ -688,25 +644,6 @@ config ARCH_TEGRA | |||
688 | This enables support for NVIDIA Tegra based systems (Tegra APX, | 644 | This enables support for NVIDIA Tegra based systems (Tegra APX, |
689 | Tegra 6xx and Tegra 2 series). | 645 | Tegra 6xx and Tegra 2 series). |
690 | 646 | ||
691 | config ARCH_PICOXCELL | ||
692 | bool "Picochip picoXcell" | ||
693 | select ARCH_REQUIRE_GPIOLIB | ||
694 | select ARM_PATCH_PHYS_VIRT | ||
695 | select ARM_VIC | ||
696 | select CPU_V6K | ||
697 | select DW_APB_TIMER | ||
698 | select DW_APB_TIMER_OF | ||
699 | select GENERIC_CLOCKEVENTS | ||
700 | select GENERIC_GPIO | ||
701 | select HAVE_TCM | ||
702 | select NO_IOPORT | ||
703 | select SPARSE_IRQ | ||
704 | select USE_OF | ||
705 | help | ||
706 | This enables support for systems based on the Picochip picoXcell | ||
707 | family of Femtocell devices. The picoxcell support requires device tree | ||
708 | for all boards. | ||
709 | |||
710 | config ARCH_PXA | 647 | config ARCH_PXA |
711 | bool "PXA2xx/PXA3xx-based" | 648 | bool "PXA2xx/PXA3xx-based" |
712 | depends on MMU | 649 | depends on MMU |
@@ -723,6 +660,7 @@ config ARCH_PXA | |||
723 | select MULTI_IRQ_HANDLER | 660 | select MULTI_IRQ_HANDLER |
724 | select ARM_CPU_SUSPEND if PM | 661 | select ARM_CPU_SUSPEND if PM |
725 | select HAVE_IDE | 662 | select HAVE_IDE |
663 | select NEED_MACH_GPIO_H | ||
726 | help | 664 | help |
727 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. | 665 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. |
728 | 666 | ||
@@ -785,6 +723,7 @@ config ARCH_SA1100 | |||
785 | select CLKDEV_LOOKUP | 723 | select CLKDEV_LOOKUP |
786 | select ARCH_REQUIRE_GPIOLIB | 724 | select ARCH_REQUIRE_GPIOLIB |
787 | select HAVE_IDE | 725 | select HAVE_IDE |
726 | select NEED_MACH_GPIO_H | ||
788 | select NEED_MACH_MEMORY_H | 727 | select NEED_MACH_MEMORY_H |
789 | select SPARSE_IRQ | 728 | select SPARSE_IRQ |
790 | help | 729 | help |
@@ -800,6 +739,7 @@ config ARCH_S3C24XX | |||
800 | select HAVE_S3C2410_I2C if I2C | 739 | select HAVE_S3C2410_I2C if I2C |
801 | select HAVE_S3C_RTC if RTC_CLASS | 740 | select HAVE_S3C_RTC if RTC_CLASS |
802 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 741 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
742 | select NEED_MACH_GPIO_H | ||
803 | select NEED_MACH_IO_H | 743 | select NEED_MACH_IO_H |
804 | help | 744 | help |
805 | Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 | 745 | Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 |
@@ -827,6 +767,7 @@ config ARCH_S3C64XX | |||
827 | select SAMSUNG_GPIOLIB_4BIT | 767 | select SAMSUNG_GPIOLIB_4BIT |
828 | select HAVE_S3C2410_I2C if I2C | 768 | select HAVE_S3C2410_I2C if I2C |
829 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 769 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
770 | select NEED_MACH_GPIO_H | ||
830 | help | 771 | help |
831 | Samsung S3C64XX series based systems | 772 | Samsung S3C64XX series based systems |
832 | 773 | ||
@@ -841,6 +782,7 @@ config ARCH_S5P64X0 | |||
841 | select GENERIC_CLOCKEVENTS | 782 | select GENERIC_CLOCKEVENTS |
842 | select HAVE_S3C2410_I2C if I2C | 783 | select HAVE_S3C2410_I2C if I2C |
843 | select HAVE_S3C_RTC if RTC_CLASS | 784 | select HAVE_S3C_RTC if RTC_CLASS |
785 | select NEED_MACH_GPIO_H | ||
844 | help | 786 | help |
845 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, | 787 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, |
846 | SMDK6450. | 788 | SMDK6450. |
@@ -855,6 +797,7 @@ config ARCH_S5PC100 | |||
855 | select HAVE_S3C2410_I2C if I2C | 797 | select HAVE_S3C2410_I2C if I2C |
856 | select HAVE_S3C_RTC if RTC_CLASS | 798 | select HAVE_S3C_RTC if RTC_CLASS |
857 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 799 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
800 | select NEED_MACH_GPIO_H | ||
858 | help | 801 | help |
859 | Samsung S5PC100 series based systems | 802 | Samsung S5PC100 series based systems |
860 | 803 | ||
@@ -872,6 +815,7 @@ config ARCH_S5PV210 | |||
872 | select HAVE_S3C2410_I2C if I2C | 815 | select HAVE_S3C2410_I2C if I2C |
873 | select HAVE_S3C_RTC if RTC_CLASS | 816 | select HAVE_S3C_RTC if RTC_CLASS |
874 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 817 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
818 | select NEED_MACH_GPIO_H | ||
875 | select NEED_MACH_MEMORY_H | 819 | select NEED_MACH_MEMORY_H |
876 | help | 820 | help |
877 | Samsung S5PV210/S5PC110 series based systems | 821 | Samsung S5PV210/S5PC110 series based systems |
@@ -889,6 +833,7 @@ config ARCH_EXYNOS | |||
889 | select HAVE_S3C_RTC if RTC_CLASS | 833 | select HAVE_S3C_RTC if RTC_CLASS |
890 | select HAVE_S3C2410_I2C if I2C | 834 | select HAVE_S3C2410_I2C if I2C |
891 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 835 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
836 | select NEED_MACH_GPIO_H | ||
892 | select NEED_MACH_MEMORY_H | 837 | select NEED_MACH_MEMORY_H |
893 | help | 838 | help |
894 | Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) | 839 | Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) |
@@ -961,6 +906,7 @@ config ARCH_DAVINCI | |||
961 | select GENERIC_ALLOCATOR | 906 | select GENERIC_ALLOCATOR |
962 | select GENERIC_IRQ_CHIP | 907 | select GENERIC_IRQ_CHIP |
963 | select ARCH_HAS_HOLES_MEMORYMODEL | 908 | select ARCH_HAS_HOLES_MEMORYMODEL |
909 | select NEED_MACH_GPIO_H | ||
964 | help | 910 | help |
965 | Support for TI's DaVinci platform. | 911 | Support for TI's DaVinci platform. |
966 | 912 | ||
@@ -973,6 +919,7 @@ config ARCH_OMAP | |||
973 | select CLKSRC_MMIO | 919 | select CLKSRC_MMIO |
974 | select GENERIC_CLOCKEVENTS | 920 | select GENERIC_CLOCKEVENTS |
975 | select ARCH_HAS_HOLES_MEMORYMODEL | 921 | select ARCH_HAS_HOLES_MEMORYMODEL |
922 | select NEED_MACH_GPIO_H | ||
976 | help | 923 | help |
977 | Support for TI's OMAP platform (OMAP1/2/3/4). | 924 | Support for TI's OMAP platform (OMAP1/2/3/4). |
978 | 925 | ||
@@ -1016,6 +963,50 @@ config ARCH_ZYNQ | |||
1016 | Support for Xilinx Zynq ARM Cortex A9 Platform | 963 | Support for Xilinx Zynq ARM Cortex A9 Platform |
1017 | endchoice | 964 | endchoice |
1018 | 965 | ||
966 | menu "Multiple platform selection" | ||
967 | depends on ARCH_MULTIPLATFORM | ||
968 | |||
969 | comment "CPU Core family selection" | ||
970 | |||
971 | config ARCH_MULTI_V4 | ||
972 | bool "ARMv4 based platforms (FA526, StrongARM)" | ||
973 | select ARCH_MULTI_V4_V5 | ||
974 | depends on !ARCH_MULTI_V6_V7 | ||
975 | |||
976 | config ARCH_MULTI_V4T | ||
977 | bool "ARMv4T based platforms (ARM720T, ARM920T, ...)" | ||
978 | select ARCH_MULTI_V4_V5 | ||
979 | depends on !ARCH_MULTI_V6_V7 | ||
980 | |||
981 | config ARCH_MULTI_V5 | ||
982 | bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)" | ||
983 | select ARCH_MULTI_V4_V5 | ||
984 | depends on !ARCH_MULTI_V6_V7 | ||
985 | |||
986 | config ARCH_MULTI_V4_V5 | ||
987 | bool | ||
988 | |||
989 | config ARCH_MULTI_V6 | ||
990 | bool "ARMv6 based platforms (ARM11, Scorpion, ...)" | ||
991 | select CPU_V6 | ||
992 | select ARCH_MULTI_V6_V7 | ||
993 | |||
994 | config ARCH_MULTI_V7 | ||
995 | bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)" | ||
996 | select CPU_V7 | ||
997 | select ARCH_VEXPRESS | ||
998 | default y | ||
999 | select ARCH_MULTI_V6_V7 | ||
1000 | |||
1001 | config ARCH_MULTI_V6_V7 | ||
1002 | bool | ||
1003 | |||
1004 | config ARCH_MULTI_CPU_AUTO | ||
1005 | def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7) | ||
1006 | select ARCH_MULTI_V5 | ||
1007 | |||
1008 | endmenu | ||
1009 | |||
1019 | # | 1010 | # |
1020 | # This is sorted alphabetically by mach-* pathname. However, plat-* | 1011 | # This is sorted alphabetically by mach-* pathname. However, plat-* |
1021 | # Kconfigs may be included either alphabetically (according to the | 1012 | # Kconfigs may be included either alphabetically (according to the |
@@ -1041,6 +1032,8 @@ source "arch/arm/mach-gemini/Kconfig" | |||
1041 | 1032 | ||
1042 | source "arch/arm/mach-h720x/Kconfig" | 1033 | source "arch/arm/mach-h720x/Kconfig" |
1043 | 1034 | ||
1035 | source "arch/arm/mach-highbank/Kconfig" | ||
1036 | |||
1044 | source "arch/arm/mach-integrator/Kconfig" | 1037 | source "arch/arm/mach-integrator/Kconfig" |
1045 | 1038 | ||
1046 | source "arch/arm/mach-iop32x/Kconfig" | 1039 | source "arch/arm/mach-iop32x/Kconfig" |
@@ -1076,6 +1069,8 @@ source "arch/arm/mach-omap2/Kconfig" | |||
1076 | 1069 | ||
1077 | source "arch/arm/mach-orion5x/Kconfig" | 1070 | source "arch/arm/mach-orion5x/Kconfig" |
1078 | 1071 | ||
1072 | source "arch/arm/mach-picoxcell/Kconfig" | ||
1073 | |||
1079 | source "arch/arm/mach-pxa/Kconfig" | 1074 | source "arch/arm/mach-pxa/Kconfig" |
1080 | source "arch/arm/plat-pxa/Kconfig" | 1075 | source "arch/arm/plat-pxa/Kconfig" |
1081 | 1076 | ||
@@ -1088,6 +1083,8 @@ source "arch/arm/mach-sa1100/Kconfig" | |||
1088 | source "arch/arm/plat-samsung/Kconfig" | 1083 | source "arch/arm/plat-samsung/Kconfig" |
1089 | source "arch/arm/plat-s3c24xx/Kconfig" | 1084 | source "arch/arm/plat-s3c24xx/Kconfig" |
1090 | 1085 | ||
1086 | source "arch/arm/mach-socfpga/Kconfig" | ||
1087 | |||
1091 | source "arch/arm/plat-spear/Kconfig" | 1088 | source "arch/arm/plat-spear/Kconfig" |
1092 | 1089 | ||
1093 | source "arch/arm/mach-s3c24xx/Kconfig" | 1090 | source "arch/arm/mach-s3c24xx/Kconfig" |
@@ -1994,7 +1991,7 @@ endchoice | |||
1994 | 1991 | ||
1995 | config XIP_KERNEL | 1992 | config XIP_KERNEL |
1996 | bool "Kernel Execute-In-Place from ROM" | 1993 | bool "Kernel Execute-In-Place from ROM" |
1997 | depends on !ZBOOT_ROM && !ARM_LPAE | 1994 | depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM |
1998 | help | 1995 | help |
1999 | Execute-In-Place allows the kernel to run from non-volatile storage | 1996 | Execute-In-Place allows the kernel to run from non-volatile storage |
2000 | directly addressable by the CPU, such as NOR flash. This saves RAM | 1997 | directly addressable by the CPU, such as NOR flash. This saves RAM |