Commit ae4fa7f6 authored by Sascha Hauer's avatar Sascha Hauer

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
...@@ -154,9 +154,7 @@ machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx ...@@ -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
......
...@@ -5,6 +5,18 @@ config IMX_HAVE_DMA_V1 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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
......
...@@ -14,20 +14,13 @@ choice ...@@ -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"
......
...@@ -21,15 +21,7 @@ ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment