|
@@ -202,6 +202,13 @@ config ARM_PATCH_PHYS_VIRT
|
|
|
this feature (eg, building a kernel for a single machine) and
|
|
|
you need to shrink the kernel to the minimal size.
|
|
|
|
|
|
+config NEED_MACH_GPIO_H
|
|
|
+ bool
|
|
|
+ help
|
|
|
+ Select this when mach/gpio.h is required to provide special
|
|
|
+ definitions for this platform. The need for mach/gpio.h should
|
|
|
+ be avoided when possible.
|
|
|
+
|
|
|
config NEED_MACH_IO_H
|
|
|
bool
|
|
|
help
|
|
@@ -247,26 +254,17 @@ config MMU
|
|
|
#
|
|
|
choice
|
|
|
prompt "ARM system type"
|
|
|
- default ARCH_VERSATILE
|
|
|
+ default ARCH_MULTIPLATFORM
|
|
|
|
|
|
-config ARCH_SOCFPGA
|
|
|
- bool "Altera SOCFPGA family"
|
|
|
- select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
|
- select ARM_AMBA
|
|
|
- select ARM_GIC
|
|
|
- select CACHE_L2X0
|
|
|
- select CLKDEV_LOOKUP
|
|
|
+config ARCH_MULTIPLATFORM
|
|
|
+ bool "Allow multiple platforms to be selected"
|
|
|
+ select ARM_PATCH_PHYS_VIRT
|
|
|
+ select AUTO_ZRELADDR
|
|
|
select COMMON_CLK
|
|
|
- select CPU_V7
|
|
|
- select DW_APB_TIMER
|
|
|
- select DW_APB_TIMER_OF
|
|
|
- select GENERIC_CLOCKEVENTS
|
|
|
- select GPIO_PL061 if GPIOLIB
|
|
|
- select HAVE_ARM_SCU
|
|
|
+ select MULTI_IRQ_HANDLER
|
|
|
select SPARSE_IRQ
|
|
|
select USE_OF
|
|
|
- help
|
|
|
- This enables support for Altera SOCFPGA Cyclone V platform
|
|
|
+ depends on MMU
|
|
|
|
|
|
config ARCH_INTEGRATOR
|
|
|
bool "ARM Ltd. Integrator family"
|
|
@@ -318,30 +316,13 @@ config ARCH_VERSATILE
|
|
|
help
|
|
|
This enables support for ARM Ltd Versatile board.
|
|
|
|
|
|
-config ARCH_VEXPRESS
|
|
|
- bool "ARM Ltd. Versatile Express family"
|
|
|
- select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
|
- select ARM_AMBA
|
|
|
- select ARM_TIMER_SP804
|
|
|
- select CLKDEV_LOOKUP
|
|
|
- select COMMON_CLK
|
|
|
- select GENERIC_CLOCKEVENTS
|
|
|
- select HAVE_CLK
|
|
|
- select HAVE_PATA_PLATFORM
|
|
|
- select ICST
|
|
|
- select NO_IOPORT
|
|
|
- select PLAT_VERSATILE
|
|
|
- select PLAT_VERSATILE_CLCD
|
|
|
- select REGULATOR_FIXED_VOLTAGE if REGULATOR
|
|
|
- help
|
|
|
- This enables support for the ARM Ltd Versatile Express boards.
|
|
|
-
|
|
|
config ARCH_AT91
|
|
|
bool "Atmel AT91"
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
|
select HAVE_CLK
|
|
|
select CLKDEV_LOOKUP
|
|
|
select IRQ_DOMAIN
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
select NEED_MACH_IO_H if PCCARD
|
|
|
help
|
|
|
This enables support for systems based on Atmel
|
|
@@ -376,24 +357,6 @@ config ARCH_BCMRING
|
|
|
help
|
|
|
Support for Broadcom's BCMRing platform.
|
|
|
|
|
|
-config ARCH_HIGHBANK
|
|
|
- bool "Calxeda Highbank-based"
|
|
|
- select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
|
- select ARM_AMBA
|
|
|
- select ARM_GIC
|
|
|
- select ARM_TIMER_SP804
|
|
|
- select CACHE_L2X0
|
|
|
- select CLKDEV_LOOKUP
|
|
|
- select COMMON_CLK
|
|
|
- select CPU_V7
|
|
|
- select GENERIC_CLOCKEVENTS
|
|
|
- select HAVE_ARM_SCU
|
|
|
- select HAVE_SMP
|
|
|
- select SPARSE_IRQ
|
|
|
- select USE_OF
|
|
|
- help
|
|
|
- Support for the Calxeda Highbank SoC based boards.
|
|
|
-
|
|
|
config ARCH_CLPS711X
|
|
|
bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
|
|
|
select CPU_ARM720T
|
|
@@ -534,6 +497,8 @@ config ARCH_IOP32X
|
|
|
bool "IOP32x-based"
|
|
|
depends on MMU
|
|
|
select CPU_XSCALE
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
+ select NEED_MACH_IO_H
|
|
|
select NEED_RET_TO_USER
|
|
|
select PLAT_IOP
|
|
|
select PCI
|
|
@@ -546,6 +511,8 @@ config ARCH_IOP33X
|
|
|
bool "IOP33x-based"
|
|
|
depends on MMU
|
|
|
select CPU_XSCALE
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
+ select NEED_MACH_IO_H
|
|
|
select NEED_RET_TO_USER
|
|
|
select PLAT_IOP
|
|
|
select PCI
|
|
@@ -567,18 +534,6 @@ config ARCH_IXP4XX
|
|
|
help
|
|
|
Support for Intel's IXP4XX (XScale) family of processors.
|
|
|
|
|
|
-config ARCH_MVEBU
|
|
|
- bool "Marvell SOCs with Device Tree support"
|
|
|
- select GENERIC_CLOCKEVENTS
|
|
|
- select MULTI_IRQ_HANDLER
|
|
|
- select SPARSE_IRQ
|
|
|
- select CLKSRC_MMIO
|
|
|
- select GENERIC_IRQ_CHIP
|
|
|
- select IRQ_DOMAIN
|
|
|
- select COMMON_CLK
|
|
|
- help
|
|
|
- Support for the Marvell SoC Family with device tree support
|
|
|
-
|
|
|
config ARCH_DOVE
|
|
|
bool "Marvell Dove"
|
|
|
select CPU_V7
|
|
@@ -650,6 +605,7 @@ config ARCH_MMP
|
|
|
select PLAT_PXA
|
|
|
select SPARSE_IRQ
|
|
|
select GENERIC_ALLOCATOR
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
|
|
|
|
|
@@ -696,25 +652,6 @@ config ARCH_TEGRA
|
|
|
This enables support for NVIDIA Tegra based systems (Tegra APX,
|
|
|
Tegra 6xx and Tegra 2 series).
|
|
|
|
|
|
-config ARCH_PICOXCELL
|
|
|
- bool "Picochip picoXcell"
|
|
|
- select ARCH_REQUIRE_GPIOLIB
|
|
|
- select ARM_PATCH_PHYS_VIRT
|
|
|
- select ARM_VIC
|
|
|
- select CPU_V6K
|
|
|
- select DW_APB_TIMER
|
|
|
- select DW_APB_TIMER_OF
|
|
|
- select GENERIC_CLOCKEVENTS
|
|
|
- select GENERIC_GPIO
|
|
|
- select HAVE_TCM
|
|
|
- select NO_IOPORT
|
|
|
- select SPARSE_IRQ
|
|
|
- select USE_OF
|
|
|
- help
|
|
|
- This enables support for systems based on the Picochip picoXcell
|
|
|
- family of Femtocell devices. The picoxcell support requires device tree
|
|
|
- for all boards.
|
|
|
-
|
|
|
config ARCH_PXA
|
|
|
bool "PXA2xx/PXA3xx-based"
|
|
|
depends on MMU
|
|
@@ -731,6 +668,7 @@ config ARCH_PXA
|
|
|
select MULTI_IRQ_HANDLER
|
|
|
select ARM_CPU_SUSPEND if PM
|
|
|
select HAVE_IDE
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
|
|
|
|
|
@@ -793,6 +731,7 @@ config ARCH_SA1100
|
|
|
select CLKDEV_LOOKUP
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
|
select HAVE_IDE
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
select NEED_MACH_MEMORY_H
|
|
|
select SPARSE_IRQ
|
|
|
help
|
|
@@ -808,6 +747,7 @@ config ARCH_S3C24XX
|
|
|
select HAVE_S3C2410_I2C if I2C
|
|
|
select HAVE_S3C_RTC if RTC_CLASS
|
|
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
select NEED_MACH_IO_H
|
|
|
help
|
|
|
Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
|
|
@@ -835,6 +775,7 @@ config ARCH_S3C64XX
|
|
|
select SAMSUNG_GPIOLIB_4BIT
|
|
|
select HAVE_S3C2410_I2C if I2C
|
|
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Samsung S3C64XX series based systems
|
|
|
|
|
@@ -849,6 +790,7 @@ config ARCH_S5P64X0
|
|
|
select GENERIC_CLOCKEVENTS
|
|
|
select HAVE_S3C2410_I2C if I2C
|
|
|
select HAVE_S3C_RTC if RTC_CLASS
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
|
|
|
SMDK6450.
|
|
@@ -863,6 +805,7 @@ config ARCH_S5PC100
|
|
|
select HAVE_S3C2410_I2C if I2C
|
|
|
select HAVE_S3C_RTC if RTC_CLASS
|
|
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Samsung S5PC100 series based systems
|
|
|
|
|
@@ -880,6 +823,7 @@ config ARCH_S5PV210
|
|
|
select HAVE_S3C2410_I2C if I2C
|
|
|
select HAVE_S3C_RTC if RTC_CLASS
|
|
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
select NEED_MACH_MEMORY_H
|
|
|
help
|
|
|
Samsung S5PV210/S5PC110 series based systems
|
|
@@ -897,6 +841,7 @@ config ARCH_EXYNOS
|
|
|
select HAVE_S3C_RTC if RTC_CLASS
|
|
|
select HAVE_S3C2410_I2C if I2C
|
|
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
select NEED_MACH_MEMORY_H
|
|
|
help
|
|
|
Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
|
|
@@ -969,6 +914,7 @@ config ARCH_DAVINCI
|
|
|
select GENERIC_ALLOCATOR
|
|
|
select GENERIC_IRQ_CHIP
|
|
|
select ARCH_HAS_HOLES_MEMORYMODEL
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Support for TI's DaVinci platform.
|
|
|
|
|
@@ -981,6 +927,7 @@ config ARCH_OMAP
|
|
|
select CLKSRC_MMIO
|
|
|
select GENERIC_CLOCKEVENTS
|
|
|
select ARCH_HAS_HOLES_MEMORYMODEL
|
|
|
+ select NEED_MACH_GPIO_H
|
|
|
help
|
|
|
Support for TI's OMAP platform (OMAP1/2/3/4).
|
|
|
|
|
@@ -1020,6 +967,50 @@ config ARCH_ZYNQ
|
|
|
Support for Xilinx Zynq ARM Cortex A9 Platform
|
|
|
endchoice
|
|
|
|
|
|
+menu "Multiple platform selection"
|
|
|
+ depends on ARCH_MULTIPLATFORM
|
|
|
+
|
|
|
+comment "CPU Core family selection"
|
|
|
+
|
|
|
+config ARCH_MULTI_V4
|
|
|
+ bool "ARMv4 based platforms (FA526, StrongARM)"
|
|
|
+ select ARCH_MULTI_V4_V5
|
|
|
+ depends on !ARCH_MULTI_V6_V7
|
|
|
+
|
|
|
+config ARCH_MULTI_V4T
|
|
|
+ bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
|
|
|
+ select ARCH_MULTI_V4_V5
|
|
|
+ depends on !ARCH_MULTI_V6_V7
|
|
|
+
|
|
|
+config ARCH_MULTI_V5
|
|
|
+ bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
|
|
|
+ select ARCH_MULTI_V4_V5
|
|
|
+ depends on !ARCH_MULTI_V6_V7
|
|
|
+
|
|
|
+config ARCH_MULTI_V4_V5
|
|
|
+ bool
|
|
|
+
|
|
|
+config ARCH_MULTI_V6
|
|
|
+ bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
|
|
|
+ select CPU_V6
|
|
|
+ select ARCH_MULTI_V6_V7
|
|
|
+
|
|
|
+config ARCH_MULTI_V7
|
|
|
+ bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
|
|
|
+ select CPU_V7
|
|
|
+ select ARCH_VEXPRESS
|
|
|
+ default y
|
|
|
+ select ARCH_MULTI_V6_V7
|
|
|
+
|
|
|
+config ARCH_MULTI_V6_V7
|
|
|
+ bool
|
|
|
+
|
|
|
+config ARCH_MULTI_CPU_AUTO
|
|
|
+ def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
|
|
|
+ select ARCH_MULTI_V5
|
|
|
+
|
|
|
+endmenu
|
|
|
+
|
|
|
#
|
|
|
# This is sorted alphabetically by mach-* pathname. However, plat-*
|
|
|
# Kconfigs may be included either alphabetically (according to the
|
|
@@ -1047,6 +1038,8 @@ source "arch/arm/mach-gemini/Kconfig"
|
|
|
|
|
|
source "arch/arm/mach-h720x/Kconfig"
|
|
|
|
|
|
+source "arch/arm/mach-highbank/Kconfig"
|
|
|
+
|
|
|
source "arch/arm/mach-integrator/Kconfig"
|
|
|
|
|
|
source "arch/arm/mach-iop32x/Kconfig"
|
|
@@ -1082,6 +1075,8 @@ source "arch/arm/mach-omap2/Kconfig"
|
|
|
|
|
|
source "arch/arm/mach-orion5x/Kconfig"
|
|
|
|
|
|
+source "arch/arm/mach-picoxcell/Kconfig"
|
|
|
+
|
|
|
source "arch/arm/mach-pxa/Kconfig"
|
|
|
source "arch/arm/plat-pxa/Kconfig"
|
|
|
|
|
@@ -1094,6 +1089,8 @@ source "arch/arm/mach-sa1100/Kconfig"
|
|
|
source "arch/arm/plat-samsung/Kconfig"
|
|
|
source "arch/arm/plat-s3c24xx/Kconfig"
|
|
|
|
|
|
+source "arch/arm/mach-socfpga/Kconfig"
|
|
|
+
|
|
|
source "arch/arm/plat-spear/Kconfig"
|
|
|
|
|
|
source "arch/arm/mach-s3c24xx/Kconfig"
|
|
@@ -2054,7 +2051,7 @@ endchoice
|
|
|
|
|
|
config XIP_KERNEL
|
|
|
bool "Kernel Execute-In-Place from ROM"
|
|
|
- depends on !ZBOOT_ROM && !ARM_LPAE
|
|
|
+ depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM
|
|
|
help
|
|
|
Execute-In-Place allows the kernel to run from non-volatile storage
|
|
|
directly addressable by the CPU, such as NOR flash. This saves RAM
|