@@ -305,11 +305,8 @@ ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),)
LIBS-y += $(CPUDIR)/omap-common/libomap-common.o
endif
-ifeq ($(SOC),mx5)
-LIBS-y += $(CPUDIR)/imx-common/libimx-common.o
-endif
-ifeq ($(SOC),mx6)
-LIBS-y += $(CPUDIR)/imx-common/libimx-common.o
+ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
+LIBS-y += arch/$(ARCH)/imx-common/libimx-common.o
endif
ifeq ($(SOC),s5pc1xx)
similarity index 94%
rename from arch/arm/cpu/armv7/imx-common/Makefile
rename to arch/arm/imx-common/Makefile
@@ -27,8 +27,10 @@ include $(TOPDIR)/config.mk
LIB = $(obj)libimx-common.o
+ifeq ($(SOC),$(filter $(SOC),mx5 mx6))
COBJS-y = iomux-v3.o timer.o cpu.o speed.o
-COBJS-$(CONFIG_I2C_MXC) += i2c.o
+COBJS-$(CONFIG_I2C_MXC) += i2c-mxv7.o
+endif
COBJS-$(CONFIG_CMD_BMODE) += cmd_bmode.o
COBJS := $(sort $(COBJS-y))
Up now only MX5 and MX6 can share code, because they have a common source directory in cpu/armv7. Other not armv7 i.MX can profit of the same shared code. Move these files into a directory accessible for all, similar to plat-mxc in linux. Signed-off-by: Stefano Babic <sbabic@denx.de> --- Changes in v2: - Use the common path for all i.MX SOCs Changes in v3: - use suffix for files that are SOC specific (Marek Vasut) Makefile | 7 ++----- arch/arm/{cpu/armv7 => }/imx-common/Makefile | 4 +++- arch/arm/{cpu/armv7 => }/imx-common/cmd_bmode.c | 0 arch/arm/{cpu/armv7 => }/imx-common/cpu.c | 0 .../imx-common/i2c.c => imx-common/i2c-mxv7.c} | 0 arch/arm/{cpu/armv7 => }/imx-common/iomux-v3.c | 0 arch/arm/{cpu/armv7 => }/imx-common/speed.c | 0 arch/arm/{cpu/armv7 => }/imx-common/timer.c | 0 8 files changed, 5 insertions(+), 6 deletions(-) rename arch/arm/{cpu/armv7 => }/imx-common/Makefile (94%) rename arch/arm/{cpu/armv7 => }/imx-common/cmd_bmode.c (100%) rename arch/arm/{cpu/armv7 => }/imx-common/cpu.c (100%) rename arch/arm/{cpu/armv7/imx-common/i2c.c => imx-common/i2c-mxv7.c} (100%) rename arch/arm/{cpu/armv7 => }/imx-common/iomux-v3.c (100%) rename arch/arm/{cpu/armv7 => }/imx-common/speed.c (100%) rename arch/arm/{cpu/armv7 => }/imx-common/timer.c (100%) diff --git a/arch/arm/cpu/armv7/imx-common/cmd_bmode.c b/arch/arm/imx-common/cmd_bmode.c similarity index 100% rename from arch/arm/cpu/armv7/imx-common/cmd_bmode.c rename to arch/arm/imx-common/cmd_bmode.c diff --git a/arch/arm/cpu/armv7/imx-common/cpu.c b/arch/arm/imx-common/cpu.c similarity index 100% rename from arch/arm/cpu/armv7/imx-common/cpu.c rename to arch/arm/imx-common/cpu.c diff --git a/arch/arm/cpu/armv7/imx-common/i2c.c b/arch/arm/imx-common/i2c-mxv7.c similarity index 100% rename from arch/arm/cpu/armv7/imx-common/i2c.c rename to arch/arm/imx-common/i2c-mxv7.c diff --git a/arch/arm/cpu/armv7/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c similarity index 100% rename from arch/arm/cpu/armv7/imx-common/iomux-v3.c rename to arch/arm/imx-common/iomux-v3.c diff --git a/arch/arm/cpu/armv7/imx-common/speed.c b/arch/arm/imx-common/speed.c similarity index 100% rename from arch/arm/cpu/armv7/imx-common/speed.c rename to arch/arm/imx-common/speed.c diff --git a/arch/arm/cpu/armv7/imx-common/timer.c b/arch/arm/imx-common/timer.c similarity index 100% rename from arch/arm/cpu/armv7/imx-common/timer.c rename to arch/arm/imx-common/timer.c