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 Original line Diff line number Diff line
@@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c:
#include <linux/gpio.h>
#include <linux/gpio.h>
#include <linux/spi/spi.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 */
/* this is our GPIO line used for chip select */
#define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
#define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
+81 −84
Original line number Original line 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
	  this feature (eg, building a kernel for a single machine) and
	  you need to shrink the kernel to the minimal size.
	  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
config NEED_MACH_IO_H
	bool
	bool
	help
	help
@@ -247,26 +254,17 @@ config MMU
#
#
choice
choice
	prompt "ARM system type"
	prompt "ARM system type"
	default ARCH_VERSATILE
	default ARCH_MULTIPLATFORM


config ARCH_SOCFPGA
config ARCH_MULTIPLATFORM
	bool "Altera SOCFPGA family"
	bool "Allow multiple platforms to be selected"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_PATCH_PHYS_VIRT
	select ARM_AMBA
	select AUTO_ZRELADDR
	select ARM_GIC
	select CACHE_L2X0
	select CLKDEV_LOOKUP
	select COMMON_CLK
	select COMMON_CLK
	select CPU_V7
	select MULTI_IRQ_HANDLER
	select DW_APB_TIMER
	select DW_APB_TIMER_OF
	select GENERIC_CLOCKEVENTS
	select GPIO_PL061 if GPIOLIB
	select HAVE_ARM_SCU
	select SPARSE_IRQ
	select SPARSE_IRQ
	select USE_OF
	select USE_OF
	help
	depends on MMU
	  This enables support for Altera SOCFPGA Cyclone V platform


config ARCH_INTEGRATOR
config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
	bool "ARM Ltd. Integrator family"
@@ -318,30 +316,13 @@ config ARCH_VERSATILE
	help
	help
	  This enables support for ARM Ltd Versatile board.
	  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
config ARCH_AT91
	bool "Atmel AT91"
	bool "Atmel AT91"
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_REQUIRE_GPIOLIB
	select HAVE_CLK
	select HAVE_CLK
	select CLKDEV_LOOKUP
	select CLKDEV_LOOKUP
	select IRQ_DOMAIN
	select IRQ_DOMAIN
	select NEED_MACH_GPIO_H
	select NEED_MACH_IO_H if PCCARD
	select NEED_MACH_IO_H if PCCARD
	help
	help
	  This enables support for systems based on Atmel
	  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
	  This enables support for the Broadcom BCM2835 SoC. This SoC is
	  use in the Raspberry Pi, and Roku 2 devices.
	  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
config ARCH_CLPS711X
	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
	select CPU_ARM720T
	select CPU_ARM720T
@@ -526,6 +489,8 @@ config ARCH_IOP32X
	bool "IOP32x-based"
	bool "IOP32x-based"
	depends on MMU
	depends on MMU
	select CPU_XSCALE
	select CPU_XSCALE
	select NEED_MACH_GPIO_H
	select NEED_MACH_IO_H
	select NEED_RET_TO_USER
	select NEED_RET_TO_USER
	select PLAT_IOP
	select PLAT_IOP
	select PCI
	select PCI
@@ -538,6 +503,8 @@ config ARCH_IOP33X
	bool "IOP33x-based"
	bool "IOP33x-based"
	depends on MMU
	depends on MMU
	select CPU_XSCALE
	select CPU_XSCALE
	select NEED_MACH_GPIO_H
	select NEED_MACH_IO_H
	select NEED_RET_TO_USER
	select NEED_RET_TO_USER
	select PLAT_IOP
	select PLAT_IOP
	select PCI
	select PCI
@@ -559,18 +526,6 @@ config ARCH_IXP4XX
	help
	help
	  Support for Intel's IXP4XX (XScale) family of processors.
	  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
config ARCH_DOVE
	bool "Marvell Dove"
	bool "Marvell Dove"
	select CPU_V7
	select CPU_V7
@@ -642,6 +597,7 @@ config ARCH_MMP
	select PLAT_PXA
	select PLAT_PXA
	select SPARSE_IRQ
	select SPARSE_IRQ
	select GENERIC_ALLOCATOR
	select GENERIC_ALLOCATOR
	select NEED_MACH_GPIO_H
	help
	help
	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
	  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,
	  This enables support for NVIDIA Tegra based systems (Tegra APX,
	  Tegra 6xx and Tegra 2 series).
	  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
config ARCH_PXA
	bool "PXA2xx/PXA3xx-based"
	bool "PXA2xx/PXA3xx-based"
	depends on MMU
	depends on MMU
@@ -723,6 +660,7 @@ config ARCH_PXA
	select MULTI_IRQ_HANDLER
	select MULTI_IRQ_HANDLER
	select ARM_CPU_SUSPEND if PM
	select ARM_CPU_SUSPEND if PM
	select HAVE_IDE
	select HAVE_IDE
	select NEED_MACH_GPIO_H
	help
	help
	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.


@@ -785,6 +723,7 @@ config ARCH_SA1100
	select CLKDEV_LOOKUP
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_REQUIRE_GPIOLIB
	select HAVE_IDE
	select HAVE_IDE
	select NEED_MACH_GPIO_H
	select NEED_MACH_MEMORY_H
	select NEED_MACH_MEMORY_H
	select SPARSE_IRQ
	select SPARSE_IRQ
	help
	help
@@ -800,6 +739,7 @@ config ARCH_S3C24XX
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_GPIO_H
	select NEED_MACH_IO_H
	select NEED_MACH_IO_H
	help
	help
	  Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
	  Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
@@ -827,6 +767,7 @@ config ARCH_S3C64XX
	select SAMSUNG_GPIOLIB_4BIT
	select SAMSUNG_GPIOLIB_4BIT
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_GPIO_H
	help
	help
	  Samsung S3C64XX series based systems
	  Samsung S3C64XX series based systems


@@ -841,6 +782,7 @@ config ARCH_S5P64X0
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C_RTC if RTC_CLASS
	select NEED_MACH_GPIO_H
	help
	help
	  Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
	  Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
	  SMDK6450.
	  SMDK6450.
@@ -855,6 +797,7 @@ config ARCH_S5PC100
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_GPIO_H
	help
	help
	  Samsung S5PC100 series based systems
	  Samsung S5PC100 series based systems


@@ -872,6 +815,7 @@ config ARCH_S5PV210
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_GPIO_H
	select NEED_MACH_MEMORY_H
	select NEED_MACH_MEMORY_H
	help
	help
	  Samsung S5PV210/S5PC110 series based systems
	  Samsung S5PV210/S5PC110 series based systems
@@ -889,6 +833,7 @@ config ARCH_EXYNOS
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C_RTC if RTC_CLASS
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select NEED_MACH_GPIO_H
	select NEED_MACH_MEMORY_H
	select NEED_MACH_MEMORY_H
	help
	help
	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
@@ -961,6 +906,7 @@ config ARCH_DAVINCI
	select GENERIC_ALLOCATOR
	select GENERIC_ALLOCATOR
	select GENERIC_IRQ_CHIP
	select GENERIC_IRQ_CHIP
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_HAS_HOLES_MEMORYMODEL
	select NEED_MACH_GPIO_H
	help
	help
	  Support for TI's DaVinci platform.
	  Support for TI's DaVinci platform.


@@ -973,6 +919,7 @@ config ARCH_OMAP
	select CLKSRC_MMIO
	select CLKSRC_MMIO
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_HAS_HOLES_MEMORYMODEL
	select NEED_MACH_GPIO_H
	help
	help
	  Support for TI's OMAP platform (OMAP1/2/3/4).
	  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
	  Support for Xilinx Zynq ARM Cortex A9 Platform
endchoice
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-*
# This is sorted alphabetically by mach-* pathname.  However, plat-*
# Kconfigs may be included either alphabetically (according to the
# 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-h720x/Kconfig"


source "arch/arm/mach-highbank/Kconfig"

source "arch/arm/mach-integrator/Kconfig"
source "arch/arm/mach-integrator/Kconfig"


source "arch/arm/mach-iop32x/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-orion5x/Kconfig"


source "arch/arm/mach-picoxcell/Kconfig"

source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/plat-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-samsung/Kconfig"
source "arch/arm/plat-s3c24xx/Kconfig"
source "arch/arm/plat-s3c24xx/Kconfig"


source "arch/arm/mach-socfpga/Kconfig"

source "arch/arm/plat-spear/Kconfig"
source "arch/arm/plat-spear/Kconfig"


source "arch/arm/mach-s3c24xx/Kconfig"
source "arch/arm/mach-s3c24xx/Kconfig"
@@ -1994,7 +1991,7 @@ endchoice


config XIP_KERNEL
config XIP_KERNEL
	bool "Kernel Execute-In-Place from ROM"
	bool "Kernel Execute-In-Place from ROM"
	depends on !ZBOOT_ROM && !ARM_LPAE
	depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM
	help
	help
	  Execute-In-Place allows the kernel to run from non-volatile storage
	  Execute-In-Place allows the kernel to run from non-volatile storage
	  directly addressable by the CPU, such as NOR flash. This saves RAM
	  directly addressable by the CPU, such as NOR flash. This saves RAM
+33 −0
Original line number Original line Diff line number Diff line
@@ -275,6 +275,20 @@ choice
		  Say Y here if you want the debug print routines to direct
		  Say Y here if you want the debug print routines to direct
		  their output to the serial port on MSM 8960 devices.
		  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
	config DEBUG_REALVIEW_STD_PORT
		bool "RealView Default UART"
		bool "RealView Default UART"
		depends on ARCH_REALVIEW
		depends on ARCH_REALVIEW
@@ -324,6 +338,13 @@ choice
		  The uncompressor code port configuration is now handled
		  The uncompressor code port configuration is now handled
		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
		  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
	config DEBUG_VEXPRESS_UART0_DETECT
		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
		depends on ARCH_VEXPRESS && CPU_CP15_MMU
		depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -352,6 +373,7 @@ choice


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


endchoice
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
config EARLY_PRINTK
	bool "Early printk"
	bool "Early printk"
	depends on DEBUG_LL
	depends on DEBUG_LL
+74 −74
Original line number Original line Diff line number Diff line
@@ -135,83 +135,78 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000


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


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


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


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


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


export	TEXT_OFFSET GZFLAGS MMUEXT
export	TEXT_OFFSET GZFLAGS MMUEXT


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


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

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