mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes. However, it will not be useful for any real work, because it relies on a number of useful things to be disabled for now: * SMP support must be turned off because of conflicting symbols. Marc Zyngier has proposed a solution by adding a new SOC operations structure to hold indirect function pointers for these, but that work is currently stalled * We turn on SPARSE_IRQ unconditionally, which is not supported on most platforms. Each of them is currently in a different state, but most are being worked on. * A common clock framework is in place since v3.4 but not yet being used. Work on this is on its way. * DEBUG_LL for early debugging is currently disabled. * THUMB2_KERNEL does not work with allyesconfig because the kernel gets too big [Rob Herring]: Rebased to not be dependent on the mass mach header rename. As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank, picoxcell, mvebu, and socfpga are converted. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Acked-by: Jamie Iles <jamie@jamieiles.com> Cc: Dinh Nguyen <dinguyen@altera.com>
This commit is contained in:
		
							parent
							
								
									6eb5be3411
								
							
						
					
					
						commit
						387798b37c
					
				
					 23 changed files with 200 additions and 311 deletions
				
			
		
							
								
								
									
										123
									
								
								arch/arm/Kconfig
									
									
									
									
									
								
							
							
						
						
									
										123
									
								
								arch/arm/Kconfig
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -254,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"
 | 
			
		||||
| 
						 | 
				
			
			@ -370,24 +361,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
 | 
			
		||||
| 
						 | 
				
			
			@ -568,18 +541,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
 | 
			
		||||
| 
						 | 
				
			
			@ -701,25 +662,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_PNX4008
 | 
			
		||||
	bool "Philips Nexperia PNX4008 Mobile"
 | 
			
		||||
	select CPU_ARM926T
 | 
			
		||||
| 
						 | 
				
			
			@ -1043,6 +985,49 @@ 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
 | 
			
		||||
	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
 | 
			
		||||
| 
						 | 
				
			
			@ -1070,6 +1055,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"
 | 
			
		||||
| 
						 | 
				
			
			@ -1105,6 +1092,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"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1117,6 +1106,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"
 | 
			
		||||
| 
						 | 
				
			
			@ -2081,7 +2072,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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -359,6 +359,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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,84 +135,79 @@ 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_BCMRING)		:= bcmring
 | 
			
		||||
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_PNX4008)		:= pnx4008
 | 
			
		||||
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_BCMRING)		+= bcmring
 | 
			
		||||
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_PNX4008)		+= pnx4008
 | 
			
		||||
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.
 | 
			
		||||
| 
						 | 
				
			
			@ -230,15 +225,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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,13 @@ unsigned int __machine_arch_type;
 | 
			
		|||
static void putstr(const char *ptr);
 | 
			
		||||
extern void error(char *x);
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_ARCH_MULTIPLATFORM
 | 
			
		||||
static inline void putc(int c) {}
 | 
			
		||||
static inline void flush(void) {}
 | 
			
		||||
static inline void arch_decomp_setup(void) {}
 | 
			
		||||
#else
 | 
			
		||||
#include <mach/uncompress.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_DEBUG_ICEDCC
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,11 @@
 | 
			
		|||
#define _ASMARM_TIMEX_H
 | 
			
		||||
 | 
			
		||||
#include <asm/arch_timer.h>
 | 
			
		||||
#ifdef CONFIG_ARCH_MULTIPLATFORM
 | 
			
		||||
#define CLOCK_TICK_RATE 1000000
 | 
			
		||||
#else
 | 
			
		||||
#include <mach/timex.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef unsigned long cycles_t;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								arch/arm/mach-highbank/Kconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								arch/arm/mach-highbank/Kconfig
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
config ARCH_HIGHBANK
 | 
			
		||||
	bool "Calxeda ECX-1000 (Highbank)" if ARCH_MULTI_V7
 | 
			
		||||
	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
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
zreladdr-y	:= 0x00008000
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
#ifndef __MACH_TIMEX_H
 | 
			
		||||
#define __MACH_TIMEX_H
 | 
			
		||||
 | 
			
		||||
#define CLOCK_TICK_RATE		1000000
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +0,0 @@
 | 
			
		|||
#ifndef __MACH_UNCOMPRESS_H
 | 
			
		||||
#define __MACH_UNCOMPRESS_H
 | 
			
		||||
 | 
			
		||||
#define putc(c)
 | 
			
		||||
#define flush()
 | 
			
		||||
#define arch_decomp_setup()
 | 
			
		||||
#define arch_decomp_wdog()
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,13 @@
 | 
			
		|||
config ARCH_MVEBU
 | 
			
		||||
	bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7
 | 
			
		||||
	select CLKSRC_MMIO
 | 
			
		||||
	select COMMON_CLK
 | 
			
		||||
	select GENERIC_CLOCKEVENTS
 | 
			
		||||
	select GENERIC_IRQ_CHIP
 | 
			
		||||
	select IRQ_DOMAIN
 | 
			
		||||
	select MULTI_IRQ_HANDLER
 | 
			
		||||
	select SPARSE_IRQ
 | 
			
		||||
 | 
			
		||||
if ARCH_MVEBU
 | 
			
		||||
 | 
			
		||||
menu "Marvell SOC with device tree"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,4 @@
 | 
			
		|||
ccflags-$(ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
 | 
			
		||||
 | 
			
		||||
obj-y += system-controller.o
 | 
			
		||||
obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o irq-armada-370-xp.o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
zreladdr-y := 0x00008000
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Marvell Armada SoC time definitions
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2012 Marvell
 | 
			
		||||
 *
 | 
			
		||||
 * Lior Amsalem <alior@marvell.com>
 | 
			
		||||
 *
 | 
			
		||||
 * This file is licensed under the terms of the GNU General Public
 | 
			
		||||
 * License version 2.  This program is licensed "as is" without any
 | 
			
		||||
 * warranty of any kind, whether express or implied.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define CLOCK_TICK_RATE		(100 * HZ)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,43 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Marvell Armada SoC kernel uncompression UART routines
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2012 Marvell
 | 
			
		||||
 *
 | 
			
		||||
 * Lior Amsalem <alior@marvell.com>
 | 
			
		||||
 *
 | 
			
		||||
 * This file is licensed under the terms of the GNU General Public
 | 
			
		||||
 * License version 2.  This program is licensed "as is" without any
 | 
			
		||||
 * warranty of any kind, whether express or implied.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <mach/armada-370-xp.h>
 | 
			
		||||
 | 
			
		||||
#define UART_THR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
 | 
			
		||||
								+ 0x12000))
 | 
			
		||||
#define UART_LSR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
 | 
			
		||||
								+ 0x12014))
 | 
			
		||||
 | 
			
		||||
#define LSR_THRE	0x20
 | 
			
		||||
 | 
			
		||||
static void putc(const char c)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < 0x1000; i++) {
 | 
			
		||||
		/* Transmit fifo not full? */
 | 
			
		||||
		if (*UART_LSR & LSR_THRE)
 | 
			
		||||
			break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	*UART_THR = c;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void flush(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * nothing to do
 | 
			
		||||
 */
 | 
			
		||||
#define arch_decomp_setup()
 | 
			
		||||
#define arch_decomp_wdog()
 | 
			
		||||
							
								
								
									
										14
									
								
								arch/arm/mach-picoxcell/Kconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								arch/arm/mach-picoxcell/Kconfig
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
config ARCH_PICOXCELL
 | 
			
		||||
	bool "Picochip PicoXcell" if ARCH_MULTI_V6
 | 
			
		||||
	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
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
zreladdr-y := 0x00008000
 | 
			
		||||
| 
						 | 
				
			
			@ -1,21 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright (c) 2011 Picochip Ltd., Jamie Iles
 | 
			
		||||
 *
 | 
			
		||||
 * This file contains the hardware definitions of the picoXcell SoC devices.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef __ASM_ARCH_HARDWARE_H
 | 
			
		||||
#define __ASM_ARCH_HARDWARE_H
 | 
			
		||||
 | 
			
		||||
#include <mach/picoxcell_soc.h>
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,25 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright (c) 2011 Picochip Ltd., Jamie Iles
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 */
 | 
			
		||||
#ifndef __TIMEX_H__
 | 
			
		||||
#define __TIMEX_H__
 | 
			
		||||
 | 
			
		||||
/* Bogus value to allow the kernel to compile. */
 | 
			
		||||
#define CLOCK_TICK_RATE		1000000
 | 
			
		||||
 | 
			
		||||
#endif /* __TIMEX_H__ */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,21 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright (c) 2011 Picochip Ltd., Jamie Iles
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 */
 | 
			
		||||
#define putc(c)
 | 
			
		||||
#define flush()
 | 
			
		||||
#define arch_decomp_setup()
 | 
			
		||||
#define arch_decomp_wdog()
 | 
			
		||||
							
								
								
									
										16
									
								
								arch/arm/mach-socfpga/Kconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								arch/arm/mach-socfpga/Kconfig
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
config ARCH_SOCFPGA
 | 
			
		||||
	bool "Altera SOCFPGA family" if ARCH_MULTI_V7
 | 
			
		||||
	select ARCH_WANT_OPTIONAL_GPIOLIB
 | 
			
		||||
	select ARM_AMBA
 | 
			
		||||
	select ARM_GIC
 | 
			
		||||
	select CACHE_L2X0
 | 
			
		||||
	select CLKDEV_LOOKUP
 | 
			
		||||
	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 SPARSE_IRQ
 | 
			
		||||
	select USE_OF
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
zreladdr-y	:= 0x00008000
 | 
			
		||||
| 
						 | 
				
			
			@ -1,19 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 *  Copyright (C) 2003 ARM Limited
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation; either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define CLOCK_TICK_RATE		(50000000 / 16)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +0,0 @@
 | 
			
		|||
#ifndef __MACH_UNCOMPRESS_H
 | 
			
		||||
#define __MACH_UNCOMPRESS_H
 | 
			
		||||
 | 
			
		||||
#define putc(c)
 | 
			
		||||
#define flush()
 | 
			
		||||
#define arch_decomp_setup()
 | 
			
		||||
#define arch_decomp_wdog()
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
		Reference in a new issue