Commit ae4fa7f6 authored by Sascha Hauer's avatar Sascha Hauer
Browse files

ARM i.MX: allow to compile together ARMv4 and ARMv5 based SoCs



For this we need CONFIG_AUTO_ZRELADDR and CONFIG_ARM_PATCH_PHYS_VIRT.

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent fcb8ce5c
Loading
Loading
Loading
Loading
+1 −3
Original line number Original line Diff line number Diff line
@@ -154,9 +154,7 @@ 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_MX1)		:= imx
machine-$(CONFIG_ARCH_IMX_V4_V5)	:= imx
machine-$(CONFIG_ARCH_MX2)		:= imx
machine-$(CONFIG_ARCH_MX25)		:= imx
machine-$(CONFIG_ARCH_MX3)		:= imx
machine-$(CONFIG_ARCH_MX3)		:= imx
machine-$(CONFIG_ARCH_MX5)		:= mx5
machine-$(CONFIG_ARCH_MX5)		:= mx5
machine-$(CONFIG_ARCH_MXS)		:= mxs
machine-$(CONFIG_ARCH_MXS)		:= mxs
+17 −33
Original line number Original line Diff line number Diff line
@@ -5,6 +5,18 @@ config IMX_HAVE_DMA_V1
# Some usages assume that having one of them implies not having (e.g.) ARCH_MX2.
# Some usages assume that having one of them implies not having (e.g.) ARCH_MX2.
# To easily distinguish good and reviewed from unreviewed usages new (and IMHO
# To easily distinguish good and reviewed from unreviewed usages new (and IMHO
# more sensible) names are used: SOC_IMX31 and SOC_IMX35
# more sensible) names are used: SOC_IMX31 and SOC_IMX35
config ARCH_MX1
	bool

config MACH_MX21
	bool

config ARCH_MX25
	bool

config MACH_MX27
	bool

config ARCH_MX31
config ARCH_MX31
	bool
	bool


@@ -13,6 +25,7 @@ config ARCH_MX35


config SOC_IMX1
config SOC_IMX1
	bool
	bool
	select ARCH_MX1
	select CPU_ARM920T
	select CPU_ARM920T
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_IOMUX_V1
	select IMX_HAVE_IOMUX_V1
@@ -20,6 +33,7 @@ config SOC_IMX1


config SOC_IMX21
config SOC_IMX21
	bool
	bool
	select MACH_MX21
	select CPU_ARM926T
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V1
	select ARCH_MXC_AUDMUX_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_DMA_V1
@@ -28,6 +42,7 @@ config SOC_IMX21


config SOC_IMX25
config SOC_IMX25
	bool
	bool
	select ARCH_MX25
	select CPU_ARM926T
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V2
	select ARCH_MXC_AUDMUX_V2
	select ARCH_MXC_IOMUX_V3
	select ARCH_MXC_IOMUX_V3
@@ -35,6 +50,7 @@ config SOC_IMX25


config SOC_IMX27
config SOC_IMX27
	bool
	bool
	select MACH_MX27
	select CPU_ARM926T
	select CPU_ARM926T
	select ARCH_MXC_AUDMUX_V1
	select ARCH_MXC_AUDMUX_V1
	select IMX_HAVE_DMA_V1
	select IMX_HAVE_DMA_V1
@@ -59,7 +75,7 @@ config SOC_IMX35
	select MXC_AVIC
	select MXC_AVIC




if ARCH_MX1
if ARCH_IMX_V4_V5


comment "MX1 platforms:"
comment "MX1 platforms:"
config MACH_MXLADS
config MACH_MXLADS
@@ -87,30 +103,6 @@ config MACH_APF9328
	help
	help
	  Say Yes here if you are using the Armadeus APF9328 development board
	  Say Yes here if you are using the Armadeus APF9328 development board


endif

if ARCH_MX2

choice
	prompt "CPUs:"
	default MACH_MX21

config MACH_MX21
	bool "i.MX21 support"
	help
	  This enables support for Freescale's MX2 based i.MX21 processor.

config MACH_MX27
	bool "i.MX27 support"
	help
	  This enables support for Freescale's MX2 based i.MX27 processor.

endchoice

endif

if MACH_MX21

comment "MX21 platforms:"
comment "MX21 platforms:"


config MACH_MX21ADS
config MACH_MX21ADS
@@ -124,10 +116,6 @@ config MACH_MX21ADS
	  Include support for MX21ADS platform. This includes specific
	  Include support for MX21ADS platform. This includes specific
	  configurations for the board and its peripherals.
	  configurations for the board and its peripherals.


endif

if ARCH_MX25

comment "MX25 platforms:"
comment "MX25 platforms:"


config MACH_MX25_3DS
config MACH_MX25_3DS
@@ -174,10 +162,6 @@ config MACH_EUKREA_MBIMXSD25_BASEBOARD


endchoice
endchoice


endif

if MACH_MX27

comment "MX27 platforms:"
comment "MX27 platforms:"


config MACH_MX27ADS
config MACH_MX27ADS
+6 −13
Original line number Original line Diff line number Diff line
@@ -14,20 +14,13 @@ choice
	prompt "Freescale CPU family:"
	prompt "Freescale CPU family:"
	default ARCH_MX3
	default ARCH_MX3


config ARCH_MX1
config ARCH_IMX_V4_V5
	bool "MX1-based"
	bool "i.MX1, i.MX21, i.MX25, i.MX27"
	select AUTO_ZRELADDR
	select ARM_PATCH_PHYS_VIRT
	help
	help
	  This enables support for systems based on the Freescale i.MX1 family
	  This enables support for systems based on the Freescale i.MX ARMv4

	  and ARMv5 SoCs
config ARCH_MX2
	bool "MX2-based"
	help
	  This enables support for systems based on the Freescale i.MX2 family

config ARCH_MX25
	bool "MX25-based"
	help
	  This enables support for systems based on the Freescale i.MX25 family


config ARCH_MX3
config ARCH_MX3
	bool "MX3-based"
	bool "MX3-based"
+1 −9
Original line number Original line Diff line number Diff line
@@ -21,15 +21,7 @@
#define MX53_PHYS_OFFSET	UL(0x70000000)
#define MX53_PHYS_OFFSET	UL(0x70000000)


#if !defined(CONFIG_RUNTIME_PHYS_OFFSET)
#if !defined(CONFIG_RUNTIME_PHYS_OFFSET)
# if defined CONFIG_ARCH_MX1
# if defined CONFIG_ARCH_MX3
#  define PLAT_PHYS_OFFSET		MX1_PHYS_OFFSET
# elif defined CONFIG_MACH_MX21
#  define PLAT_PHYS_OFFSET		MX21_PHYS_OFFSET
# elif defined CONFIG_ARCH_MX25
#  define PLAT_PHYS_OFFSET		MX25_PHYS_OFFSET
# elif defined CONFIG_MACH_MX27
#  define PLAT_PHYS_OFFSET		MX27_PHYS_OFFSET
# elif defined CONFIG_ARCH_MX3
#  define PLAT_PHYS_OFFSET		MX3x_PHYS_OFFSET
#  define PLAT_PHYS_OFFSET		MX3x_PHYS_OFFSET
# elif defined CONFIG_ARCH_MX50
# elif defined CONFIG_ARCH_MX50
#  define PLAT_PHYS_OFFSET		MX50_PHYS_OFFSET
#  define PLAT_PHYS_OFFSET		MX50_PHYS_OFFSET