Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cd11c0c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM soc multiplatform enablement from Olof Johansson:
 "This is a pretty significant branch.  It's the introduction of the
  first multiplatform support on ARM, and with this (and the later
  branch) merged, it is now possible to build one kernel that contains
  support for highbank, vexpress, mvebu, socfpga, and picoxcell.  More
  platforms will be convered over in the next few releases.

  Two critical last things had to be done for this to be practical and
  possible:
   * Today each platform has its own include directory under
     mach-<mach>/include/mach/*, and traditionally that is where a lot
     of driver/platform shared definitions have gone, such as platform
     data structures.  They now need to move out to a common location
     instead, and this branch moves a large number of those out to
     include/linux/platform_data.
   * Each platform used to list the device trees to compile for its
     boards in mach-<mach>/Makefile.boot.

  Both of the above changes will mean that there are some merge
  conflicts to come (and some to resolve here).  It's a one-time move
  and once it settles in, we should be good for quite a while.  Sorry
  for the overhead."

Fix conflicts as per Olof.

* tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
  ARM: add v7 multi-platform defconfig
  ARM: msm: Move core.h contents into common.h
  ARM: highbank: call highbank_pm_init from .init_machine
  ARM: dtb: move all dtb targets to common Makefile
  ARM: spear: move platform_data definitions
  ARM: samsung: move platform_data definitions
  ARM: orion: move platform_data definitions
  ARM: vexpress: convert to multi-platform
  ARM: initial multiplatform support
  ARM: mvebu: move armada-370-xp.h in mach dir
  ARM: vexpress: remove dependency on mach/* headers
  ARM: picoxcell: remove dependency on mach/* headers
  ARM: move all dtb targets out of Makefile.boot
  ARM: picoxcell: move debug macros to include/debug
  ARM: socfpga: move debug macros to include/debug
  ARM: mvebu: move debug macros to include/debug
  ARM: vexpress: move debug macros to include/debug
  ARM: highbank: move debug macros to include/debug
  ARM: move debug macros to common location
  ARM: make mach/gpio.h headers optional
  ...
parents b9541d94 1ec9c26a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c:
#include <linux/gpio.h>
#include <linux/spi/spi.h>

#include <mach/ep93xx_spi.h>
#include <linux/platform_data/spi-ep93xx.h>

/* this is our GPIO line used for chip select */
#define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
+81 −84
Original line number Diff line number Diff line
@@ -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
@@ -364,24 +345,6 @@ config ARCH_BCM2835
	  This enables support for the Broadcom BCM2835 SoC. This SoC is
	  use in the Raspberry Pi, and Roku 2 devices.

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
@@ -526,6 +489,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
@@ -538,6 +503,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
@@ -559,18 +526,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
@@ -642,6 +597,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.

@@ -688,25 +644,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
@@ -723,6 +660,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.

@@ -785,6 +723,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
@@ -800,6 +739,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
@@ -827,6 +767,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

@@ -841,6 +782,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.
@@ -855,6 +797,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

@@ -872,6 +815,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
@@ -889,6 +833,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)
@@ -961,6 +906,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.

@@ -973,6 +919,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).

@@ -1016,6 +963,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
@@ -1041,6 +1032,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"
@@ -1076,6 +1069,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"

@@ -1088,6 +1083,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"
@@ -1994,7 +1991,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
+33 −0
Original line number Diff line number Diff line
@@ -275,6 +275,20 @@ choice
		  Say Y here if you want the debug print routines to direct
		  their output to the serial port on MSM 8960 devices.

	config DEBUG_MVEBU_UART
		bool "Kernel low-level debugging messages via MVEBU UART"
		depends on ARCH_MVEBU
		help
		  Say Y here if you want kernel low-level debugging support
		  on MVEBU based platforms.

	config DEBUG_PICOXCELL_UART
		depends on ARCH_PICOXCELL
		bool "Use PicoXcell UART for low-level debug"
		help
		  Say Y here if you want kernel low-level debugging support
		  on PicoXcell based platforms.

	config DEBUG_REALVIEW_STD_PORT
		bool "RealView Default UART"
		depends on ARCH_REALVIEW
@@ -324,6 +338,13 @@ choice
		  The uncompressor code port configuration is now handled
		  by CONFIG_S3C_LOWLEVEL_UART_PORT.

	config DEBUG_SOCFPGA_UART
		depends on ARCH_SOCFPGA
		bool "Use SOCFPGA UART for low-level debug"
		help
		  Say Y here if you want kernel low-level debugging support
		  on SOCFPGA based platforms.

	config DEBUG_VEXPRESS_UART0_DETECT
		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
		depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -352,6 +373,7 @@ choice

	config DEBUG_LL_UART_NONE
		bool "No low-level debugging UART"
		depends on !ARCH_MULTIPLATFORM
		help
		  Say Y here if your platform doesn't provide a UART option
		  below. This relies on your platform choosing the right UART
@@ -387,6 +409,17 @@ choice

endchoice

config DEBUG_LL_INCLUDE
	string
	default "debug/icedcc.S" if DEBUG_ICEDCC
	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
	default "debug/mvebu.S" if DEBUG_MVEBU_UART
	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
	default "mach/debug-macro.S"

config EARLY_PRINTK
	bool "Early printk"
	depends on DEBUG_LL
+74 −74
Original line number Diff line number Diff line
@@ -135,83 +135,78 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000

# Machine directory name.  This list is sorted alphanumerically
# by CONFIG_* macro name.
machine-$(CONFIG_ARCH_AT91)		:= at91
machine-$(CONFIG_ARCH_BCM2835)		:= bcm2835
machine-$(CONFIG_ARCH_CLPS711X)		:= clps711x
machine-$(CONFIG_ARCH_CNS3XXX)		:= cns3xxx
machine-$(CONFIG_ARCH_DAVINCI)		:= davinci
machine-$(CONFIG_ARCH_DOVE)		:= dove
machine-$(CONFIG_ARCH_EBSA110)		:= ebsa110
machine-$(CONFIG_ARCH_EP93XX)		:= ep93xx
machine-$(CONFIG_ARCH_GEMINI)		:= gemini
machine-$(CONFIG_ARCH_H720X)		:= h720x
machine-$(CONFIG_ARCH_HIGHBANK)		:= highbank
machine-$(CONFIG_ARCH_INTEGRATOR)	:= integrator
machine-$(CONFIG_ARCH_IOP13XX)		:= iop13xx
machine-$(CONFIG_ARCH_IOP32X)		:= iop32x
machine-$(CONFIG_ARCH_IOP33X)		:= iop33x
machine-$(CONFIG_ARCH_IXP4XX)		:= ixp4xx
machine-$(CONFIG_ARCH_KIRKWOOD)		:= kirkwood
machine-$(CONFIG_ARCH_KS8695)		:= ks8695
machine-$(CONFIG_ARCH_LPC32XX)		:= lpc32xx
machine-$(CONFIG_ARCH_MMP)		:= mmp
machine-$(CONFIG_ARCH_MSM)		:= msm
machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
machine-$(CONFIG_ARCH_IMX_V4_V5)	:= imx
machine-$(CONFIG_ARCH_IMX_V6_V7)	:= imx
machine-$(CONFIG_ARCH_MXS)		:= mxs
machine-$(CONFIG_ARCH_MVEBU)		:= mvebu
machine-$(CONFIG_ARCH_NETX)		:= netx
machine-$(CONFIG_ARCH_NOMADIK)		:= nomadik
machine-$(CONFIG_ARCH_OMAP1)		:= omap1
machine-$(CONFIG_ARCH_OMAP2PLUS)	:= omap2
machine-$(CONFIG_ARCH_ORION5X)		:= orion5x
machine-$(CONFIG_ARCH_PICOXCELL)	:= picoxcell
machine-$(CONFIG_ARCH_PRIMA2)		:= prima2
machine-$(CONFIG_ARCH_PXA)		:= pxa
machine-$(CONFIG_ARCH_REALVIEW)		:= realview
machine-$(CONFIG_ARCH_RPC)		:= rpc
machine-$(CONFIG_ARCH_S3C24XX)		:= s3c24xx s3c2412 s3c2440
machine-$(CONFIG_ARCH_S3C64XX)		:= s3c64xx
machine-$(CONFIG_ARCH_S5P64X0)		:= s5p64x0
machine-$(CONFIG_ARCH_S5PC100)		:= s5pc100
machine-$(CONFIG_ARCH_S5PV210)		:= s5pv210
machine-$(CONFIG_ARCH_EXYNOS4)		:= exynos
machine-$(CONFIG_ARCH_EXYNOS5)		:= exynos
machine-$(CONFIG_ARCH_SA1100)		:= sa1100
machine-$(CONFIG_ARCH_SHARK)		:= shark
machine-$(CONFIG_ARCH_SHMOBILE) 	:= shmobile
machine-$(CONFIG_ARCH_TEGRA)		:= tegra
machine-$(CONFIG_ARCH_U300)		:= u300
machine-$(CONFIG_ARCH_U8500)		:= ux500
machine-$(CONFIG_ARCH_VERSATILE)	:= versatile
machine-$(CONFIG_ARCH_VEXPRESS)		:= vexpress
machine-$(CONFIG_ARCH_VT8500)		:= vt8500
machine-$(CONFIG_ARCH_W90X900)		:= w90x900
machine-$(CONFIG_FOOTBRIDGE)		:= footbridge
machine-$(CONFIG_ARCH_SOCFPGA)		:= socfpga
machine-$(CONFIG_MACH_SPEAR1310)	:= spear13xx
machine-$(CONFIG_MACH_SPEAR1340)	:= spear13xx
machine-$(CONFIG_MACH_SPEAR300)		:= spear3xx
machine-$(CONFIG_MACH_SPEAR310)		:= spear3xx
machine-$(CONFIG_MACH_SPEAR320)		:= spear3xx
machine-$(CONFIG_MACH_SPEAR600)		:= spear6xx
machine-$(CONFIG_ARCH_ZYNQ)		:= zynq
machine-$(CONFIG_ARCH_AT91)		+= at91
machine-$(CONFIG_ARCH_BCM2835)		+= bcm2835
machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
machine-$(CONFIG_ARCH_DOVE)		+= dove
machine-$(CONFIG_ARCH_EBSA110)		+= ebsa110
machine-$(CONFIG_ARCH_EP93XX)		+= ep93xx
machine-$(CONFIG_ARCH_GEMINI)		+= gemini
machine-$(CONFIG_ARCH_H720X)		+= h720x
machine-$(CONFIG_ARCH_HIGHBANK)		+= highbank
machine-$(CONFIG_ARCH_INTEGRATOR)	+= integrator
machine-$(CONFIG_ARCH_IOP13XX)		+= iop13xx
machine-$(CONFIG_ARCH_IOP32X)		+= iop32x
machine-$(CONFIG_ARCH_IOP33X)		+= iop33x
machine-$(CONFIG_ARCH_IXP4XX)		+= ixp4xx
machine-$(CONFIG_ARCH_KIRKWOOD)		+= kirkwood
machine-$(CONFIG_ARCH_KS8695)		+= ks8695
machine-$(CONFIG_ARCH_LPC32XX)		+= lpc32xx
machine-$(CONFIG_ARCH_MMP)		+= mmp
machine-$(CONFIG_ARCH_MSM)		+= msm
machine-$(CONFIG_ARCH_MV78XX0)		+= mv78xx0
machine-$(CONFIG_ARCH_MXC)		+= imx
machine-$(CONFIG_ARCH_MXS)		+= mxs
machine-$(CONFIG_ARCH_MVEBU)		+= mvebu
machine-$(CONFIG_ARCH_NETX)		+= netx
machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
machine-$(CONFIG_ARCH_OMAP1)		+= omap1
machine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
machine-$(CONFIG_ARCH_ORION5X)		+= orion5x
machine-$(CONFIG_ARCH_PICOXCELL)	+= picoxcell
machine-$(CONFIG_ARCH_PRIMA2)		+= prima2
machine-$(CONFIG_ARCH_PXA)		+= pxa
machine-$(CONFIG_ARCH_REALVIEW)		+= realview
machine-$(CONFIG_ARCH_RPC)		+= rpc
machine-$(CONFIG_ARCH_S3C24XX)		+= s3c24xx s3c2412 s3c2440
machine-$(CONFIG_ARCH_S3C64XX)		+= s3c64xx
machine-$(CONFIG_ARCH_S5P64X0)		+= s5p64x0
machine-$(CONFIG_ARCH_S5PC100)		+= s5pc100
machine-$(CONFIG_ARCH_S5PV210)		+= s5pv210
machine-$(CONFIG_ARCH_EXYNOS)		+= exynos
machine-$(CONFIG_ARCH_SA1100)		+= sa1100
machine-$(CONFIG_ARCH_SHARK)		+= shark
machine-$(CONFIG_ARCH_SHMOBILE) 	+= shmobile
machine-$(CONFIG_ARCH_TEGRA)		+= tegra
machine-$(CONFIG_ARCH_U300)		+= u300
machine-$(CONFIG_ARCH_U8500)		+= ux500
machine-$(CONFIG_ARCH_VERSATILE)	+= versatile
machine-$(CONFIG_ARCH_VEXPRESS)		+= vexpress
machine-$(CONFIG_ARCH_VT8500)		+= vt8500
machine-$(CONFIG_ARCH_W90X900)		+= w90x900
machine-$(CONFIG_FOOTBRIDGE)		+= footbridge
machine-$(CONFIG_ARCH_SOCFPGA)		+= socfpga
machine-$(CONFIG_ARCH_SPEAR13XX)	+= spear13xx
machine-$(CONFIG_ARCH_SPEAR3XX)		+= spear3xx
machine-$(CONFIG_MACH_SPEAR600)		+= spear6xx
machine-$(CONFIG_ARCH_ZYNQ)		+= zynq

# Platform directory name.  This list is sorted alphanumerically
# by CONFIG_* macro name.
plat-$(CONFIG_ARCH_MXC)		:= mxc
plat-$(CONFIG_ARCH_OMAP)	:= omap
plat-$(CONFIG_ARCH_S3C64XX)	:= samsung
plat-$(CONFIG_ARCH_ZYNQ)	:= versatile
plat-$(CONFIG_PLAT_IOP)		:= iop
plat-$(CONFIG_PLAT_NOMADIK)	:= nomadik
plat-$(CONFIG_PLAT_ORION)	:= orion
plat-$(CONFIG_PLAT_PXA)		:= pxa
plat-$(CONFIG_PLAT_S3C24XX)	:= s3c24xx samsung
plat-$(CONFIG_PLAT_S5P)		:= samsung
plat-$(CONFIG_PLAT_SPEAR)	:= spear
plat-$(CONFIG_PLAT_VERSATILE)	:= versatile
plat-$(CONFIG_ARCH_MXC)		+= mxc
plat-$(CONFIG_ARCH_OMAP)	+= omap
plat-$(CONFIG_ARCH_S3C64XX)	+= samsung
plat-$(CONFIG_ARCH_ZYNQ)	+= versatile
plat-$(CONFIG_PLAT_IOP)		+= iop
plat-$(CONFIG_PLAT_NOMADIK)	+= nomadik
plat-$(CONFIG_PLAT_ORION)	+= orion
plat-$(CONFIG_PLAT_PXA)		+= pxa
plat-$(CONFIG_PLAT_S3C24XX)	+= s3c24xx samsung
plat-$(CONFIG_PLAT_S5P)		+= samsung
plat-$(CONFIG_PLAT_SPEAR)	+= spear
plat-$(CONFIG_PLAT_VERSATILE)	+= versatile

ifeq ($(CONFIG_ARCH_EBSA110),y)
# This is what happens if you forget the IOCS16 line.
@@ -229,15 +224,20 @@ MACHINE := arch/arm/mach-$(word 1,$(machine-y))/
else
MACHINE  :=
endif
ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
MACHINE  :=
endif

machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))

ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
ifeq ($(KBUILD_SRC),)
KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
else
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
endif
endif

export	TEXT_OFFSET GZFLAGS MMUEXT

+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
include $(srctree)/$(MACHINE)/Makefile.boot
endif

include $(srctree)/arch/arm/boot/dts/Makefile

# Note: the following conditions must always be true:
#   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
#   PARAMS_PHYS must be within 4MB of ZRELADDR
Loading