diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-23 03:39:35 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-24 03:24:43 -0400 |
commit | ae4fa7f66e542ef5c7662ceabfaaa33283eb4216 (patch) | |
tree | 147282db8a7a417ad45f919ee92235b081bd32e7 /arch/arm | |
parent | fcb8ce5cfe30ca9ca5c9a79cdfe26d1993e65e0c (diff) |
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: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 50 | ||||
-rw-r--r-- | arch/arm/plat-mxc/Kconfig | 19 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/memory.h | 10 |
4 files changed, 25 insertions, 58 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 70c424eaf7b0..9260c293405c 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -154,9 +154,7 @@ machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx | |||
154 | machine-$(CONFIG_ARCH_MMP) := mmp | 154 | machine-$(CONFIG_ARCH_MMP) := mmp |
155 | machine-$(CONFIG_ARCH_MSM) := msm | 155 | machine-$(CONFIG_ARCH_MSM) := msm |
156 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 | 156 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 |
157 | machine-$(CONFIG_ARCH_MX1) := imx | 157 | machine-$(CONFIG_ARCH_IMX_V4_V5) := imx |
158 | machine-$(CONFIG_ARCH_MX2) := imx | ||
159 | machine-$(CONFIG_ARCH_MX25) := imx | ||
160 | machine-$(CONFIG_ARCH_MX3) := imx | 158 | machine-$(CONFIG_ARCH_MX3) := imx |
161 | machine-$(CONFIG_ARCH_MX5) := mx5 | 159 | machine-$(CONFIG_ARCH_MX5) := mx5 |
162 | machine-$(CONFIG_ARCH_MXS) := mxs | 160 | machine-$(CONFIG_ARCH_MXS) := mxs |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 0519dd7f034b..bdc634567800 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -5,6 +5,18 @@ config IMX_HAVE_DMA_V1 | |||
5 | # Some usages assume that having one of them implies not having (e.g.) ARCH_MX2. | 5 | # Some usages assume that having one of them implies not having (e.g.) ARCH_MX2. |
6 | # To easily distinguish good and reviewed from unreviewed usages new (and IMHO | 6 | # To easily distinguish good and reviewed from unreviewed usages new (and IMHO |
7 | # more sensible) names are used: SOC_IMX31 and SOC_IMX35 | 7 | # more sensible) names are used: SOC_IMX31 and SOC_IMX35 |
8 | config ARCH_MX1 | ||
9 | bool | ||
10 | |||
11 | config MACH_MX21 | ||
12 | bool | ||
13 | |||
14 | config ARCH_MX25 | ||
15 | bool | ||
16 | |||
17 | config MACH_MX27 | ||
18 | bool | ||
19 | |||
8 | config ARCH_MX31 | 20 | config ARCH_MX31 |
9 | bool | 21 | bool |
10 | 22 | ||
@@ -13,6 +25,7 @@ config ARCH_MX35 | |||
13 | 25 | ||
14 | config SOC_IMX1 | 26 | config SOC_IMX1 |
15 | bool | 27 | bool |
28 | select ARCH_MX1 | ||
16 | select CPU_ARM920T | 29 | select CPU_ARM920T |
17 | select IMX_HAVE_DMA_V1 | 30 | select IMX_HAVE_DMA_V1 |
18 | select IMX_HAVE_IOMUX_V1 | 31 | select IMX_HAVE_IOMUX_V1 |
@@ -20,6 +33,7 @@ config SOC_IMX1 | |||
20 | 33 | ||
21 | config SOC_IMX21 | 34 | config SOC_IMX21 |
22 | bool | 35 | bool |
36 | select MACH_MX21 | ||
23 | select CPU_ARM926T | 37 | select CPU_ARM926T |
24 | select ARCH_MXC_AUDMUX_V1 | 38 | select ARCH_MXC_AUDMUX_V1 |
25 | select IMX_HAVE_DMA_V1 | 39 | select IMX_HAVE_DMA_V1 |
@@ -28,6 +42,7 @@ config SOC_IMX21 | |||
28 | 42 | ||
29 | config SOC_IMX25 | 43 | config SOC_IMX25 |
30 | bool | 44 | bool |
45 | select ARCH_MX25 | ||
31 | select CPU_ARM926T | 46 | select CPU_ARM926T |
32 | select ARCH_MXC_AUDMUX_V2 | 47 | select ARCH_MXC_AUDMUX_V2 |
33 | select ARCH_MXC_IOMUX_V3 | 48 | select ARCH_MXC_IOMUX_V3 |
@@ -35,6 +50,7 @@ config SOC_IMX25 | |||
35 | 50 | ||
36 | config SOC_IMX27 | 51 | config SOC_IMX27 |
37 | bool | 52 | bool |
53 | select MACH_MX27 | ||
38 | select CPU_ARM926T | 54 | select CPU_ARM926T |
39 | select ARCH_MXC_AUDMUX_V1 | 55 | select ARCH_MXC_AUDMUX_V1 |
40 | select IMX_HAVE_DMA_V1 | 56 | select IMX_HAVE_DMA_V1 |
@@ -59,7 +75,7 @@ config SOC_IMX35 | |||
59 | select MXC_AVIC | 75 | select MXC_AVIC |
60 | 76 | ||
61 | 77 | ||
62 | if ARCH_MX1 | 78 | if ARCH_IMX_V4_V5 |
63 | 79 | ||
64 | comment "MX1 platforms:" | 80 | comment "MX1 platforms:" |
65 | config MACH_MXLADS | 81 | config MACH_MXLADS |
@@ -87,30 +103,6 @@ config MACH_APF9328 | |||
87 | help | 103 | help |
88 | Say Yes here if you are using the Armadeus APF9328 development board | 104 | Say Yes here if you are using the Armadeus APF9328 development board |
89 | 105 | ||
90 | endif | ||
91 | |||
92 | if ARCH_MX2 | ||
93 | |||
94 | choice | ||
95 | prompt "CPUs:" | ||
96 | default MACH_MX21 | ||
97 | |||
98 | config MACH_MX21 | ||
99 | bool "i.MX21 support" | ||
100 | help | ||
101 | This enables support for Freescale's MX2 based i.MX21 processor. | ||
102 | |||
103 | config MACH_MX27 | ||
104 | bool "i.MX27 support" | ||
105 | help | ||
106 | This enables support for Freescale's MX2 based i.MX27 processor. | ||
107 | |||
108 | endchoice | ||
109 | |||
110 | endif | ||
111 | |||
112 | if MACH_MX21 | ||
113 | |||
114 | comment "MX21 platforms:" | 106 | comment "MX21 platforms:" |
115 | 107 | ||
116 | config MACH_MX21ADS | 108 | config MACH_MX21ADS |
@@ -124,10 +116,6 @@ config MACH_MX21ADS | |||
124 | Include support for MX21ADS platform. This includes specific | 116 | Include support for MX21ADS platform. This includes specific |
125 | configurations for the board and its peripherals. | 117 | configurations for the board and its peripherals. |
126 | 118 | ||
127 | endif | ||
128 | |||
129 | if ARCH_MX25 | ||
130 | |||
131 | comment "MX25 platforms:" | 119 | comment "MX25 platforms:" |
132 | 120 | ||
133 | config MACH_MX25_3DS | 121 | config MACH_MX25_3DS |
@@ -174,10 +162,6 @@ config MACH_EUKREA_MBIMXSD25_BASEBOARD | |||
174 | 162 | ||
175 | endchoice | 163 | endchoice |
176 | 164 | ||
177 | endif | ||
178 | |||
179 | if MACH_MX27 | ||
180 | |||
181 | comment "MX27 platforms:" | 165 | comment "MX27 platforms:" |
182 | 166 | ||
183 | config MACH_MX27ADS | 167 | config MACH_MX27ADS |
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig index a5353fc0793f..0665c1f7e93d 100644 --- a/arch/arm/plat-mxc/Kconfig +++ b/arch/arm/plat-mxc/Kconfig | |||
@@ -14,20 +14,13 @@ choice | |||
14 | prompt "Freescale CPU family:" | 14 | prompt "Freescale CPU family:" |
15 | default ARCH_MX3 | 15 | default ARCH_MX3 |
16 | 16 | ||
17 | config ARCH_MX1 | 17 | config ARCH_IMX_V4_V5 |
18 | bool "MX1-based" | 18 | bool "i.MX1, i.MX21, i.MX25, i.MX27" |
19 | select AUTO_ZRELADDR | ||
20 | select ARM_PATCH_PHYS_VIRT | ||
19 | help | 21 | help |
20 | This enables support for systems based on the Freescale i.MX1 family | 22 | This enables support for systems based on the Freescale i.MX ARMv4 |
21 | 23 | and ARMv5 SoCs | |
22 | config ARCH_MX2 | ||
23 | bool "MX2-based" | ||
24 | help | ||
25 | This enables support for systems based on the Freescale i.MX2 family | ||
26 | |||
27 | config ARCH_MX25 | ||
28 | bool "MX25-based" | ||
29 | help | ||
30 | This enables support for systems based on the Freescale i.MX25 family | ||
31 | 24 | ||
32 | config ARCH_MX3 | 25 | config ARCH_MX3 |
33 | bool "MX3-based" | 26 | bool "MX3-based" |
diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h index 11be5cdbdd1a..cbe2e3d08067 100644 --- a/arch/arm/plat-mxc/include/mach/memory.h +++ b/arch/arm/plat-mxc/include/mach/memory.h | |||
@@ -21,15 +21,7 @@ | |||
21 | #define MX53_PHYS_OFFSET UL(0x70000000) | 21 | #define MX53_PHYS_OFFSET UL(0x70000000) |
22 | 22 | ||
23 | #if !defined(CONFIG_RUNTIME_PHYS_OFFSET) | 23 | #if !defined(CONFIG_RUNTIME_PHYS_OFFSET) |
24 | # if defined CONFIG_ARCH_MX1 | 24 | # if defined CONFIG_ARCH_MX3 |
25 | # define PLAT_PHYS_OFFSET MX1_PHYS_OFFSET | ||
26 | # elif defined CONFIG_MACH_MX21 | ||
27 | # define PLAT_PHYS_OFFSET MX21_PHYS_OFFSET | ||
28 | # elif defined CONFIG_ARCH_MX25 | ||
29 | # define PLAT_PHYS_OFFSET MX25_PHYS_OFFSET | ||
30 | # elif defined CONFIG_MACH_MX27 | ||
31 | # define PLAT_PHYS_OFFSET MX27_PHYS_OFFSET | ||
32 | # elif defined CONFIG_ARCH_MX3 | ||
33 | # define PLAT_PHYS_OFFSET MX3x_PHYS_OFFSET | 25 | # define PLAT_PHYS_OFFSET MX3x_PHYS_OFFSET |
34 | # elif defined CONFIG_ARCH_MX50 | 26 | # elif defined CONFIG_ARCH_MX50 |
35 | # define PLAT_PHYS_OFFSET MX50_PHYS_OFFSET | 27 | # define PLAT_PHYS_OFFSET MX50_PHYS_OFFSET |