Skip to contentSkip to conversation

ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support

PATCH New Alexander Shiyan 2 participants 5 messages Aug 6, 2016 – Aug 9, 2016

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/4 ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support

mach-apf9328.c can be replaced with devicetree equivalent: imx1-apf9328.dts, so remove the board file.

---
 arch/arm/configs/imx_v4_v5_defconfig |   1 -
 arch/arm/configs/multi_v4t_defconfig |   1 -
 arch/arm/mach-imx/Kconfig            |   8 --
 arch/arm/mach-imx/Makefile           |   1 -
 arch/arm/mach-imx/mach-apf9328.c     | 148 -----------------------------------
 5 files changed, 159 deletions(-)
 delete mode 100644 arch/arm/mach-imx/mach-apf9328.c
arch/arm/configs/imx_v4_v5_defconfig +0 -1
index 9083399..2b2d589 100644
@@ -23,7 +23,6 @@ CONFIG_ARCH_MULTI_V5=y
 # CONFIG_ARCH_MULTI_V7 is not set
 CONFIG_ARCH_MXC=y
 CONFIG_MACH_SCB9328=y
-CONFIG_MACH_APF9328=y
 CONFIG_MACH_MX21ADS=y
 CONFIG_MACH_MX27ADS=y
 CONFIG_MACH_MX27_3DS=y
arch/arm/configs/multi_v4t_defconfig +0 -1
index 433eebb..d744692 100644
@@ -21,7 +21,6 @@ CONFIG_INTEGRATOR_CM920T=y
 CONFIG_INTEGRATOR_CM922T_XA10=y
 CONFIG_ARCH_MXC=y
 CONFIG_MACH_SCB9328=y
-CONFIG_MACH_APF9328=y
 CONFIG_MACH_IMX1_DT=y
 CONFIG_ARCH_NSPIRE=y
 CONFIG_AEABI=y
arch/arm/mach-imx/Kconfig +0 -8
index ee9a318..52dd944 100644
@@ -109,14 +109,6 @@ config MACH_SCB9328
 	help
 	  Say Y here if you are using a Synertronixx scb9328 board
 
-config MACH_APF9328
-	bool "APF9328"
-	select IMX_HAVE_PLATFORM_IMX_I2C
-	select IMX_HAVE_PLATFORM_IMX_UART
-	select SOC_IMX1
-	help
-	  Say Yes here if you are using the Armadeus APF9328 development board
-
 config MACH_IMX1_DT
 	bool "Support i.MX1 platforms from device tree"
 	select SOC_IMX1
arch/arm/mach-imx/Makefile +0 -1
index 9f5fffd..3bbd06d 100644
@@ -37,7 +37,6 @@ endif
 
 # i.MX1 based machines
 obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o
-obj-$(CONFIG_MACH_APF9328) += mach-apf9328.o
 obj-$(CONFIG_MACH_IMX1_DT) += imx1-dt.o
 
 # i.MX21 based machines
arch/arm/mach-imx/mach-apf9328.c deleted +0 -148

148 lines not on this page · raw message

Signature · 1 line
2.7.3
#1 lore raw

PATCH v2 2/4 ARM: i.MX: Remove i.MX1 Synertronixx SCB9328 board support

Synertronixx SCB9328 board is very similar to Armadeus APF9328, so it can be easily reimplemented in DT way.
This patch removes support for non-DT support for this board.

---
 arch/arm/configs/imx_v4_v5_defconfig |   1 -
 arch/arm/configs/multi_v4t_defconfig |   1 -
 arch/arm/mach-imx/Kconfig            |   7 --
 arch/arm/mach-imx/Makefile           |   1 -
 arch/arm/mach-imx/mach-scb9328.c     | 143 -----------------------------------
 5 files changed, 153 deletions(-)
 delete mode 100644 arch/arm/mach-imx/mach-scb9328.c
arch/arm/configs/imx_v4_v5_defconfig +0 -1
index 2b2d589..e70032c 100644
@@ -22,7 +22,6 @@ CONFIG_ARCH_MULTI_V4T=y
 CONFIG_ARCH_MULTI_V5=y
 # CONFIG_ARCH_MULTI_V7 is not set
 CONFIG_ARCH_MXC=y
-CONFIG_MACH_SCB9328=y
 CONFIG_MACH_MX21ADS=y
 CONFIG_MACH_MX27ADS=y
 CONFIG_MACH_MX27_3DS=y
arch/arm/configs/multi_v4t_defconfig +0 -1
index d744692..141492a 100644
@@ -20,7 +20,6 @@ CONFIG_INTEGRATOR_CM720T=y
 CONFIG_INTEGRATOR_CM920T=y
 CONFIG_INTEGRATOR_CM922T_XA10=y
 CONFIG_ARCH_MXC=y
-CONFIG_MACH_SCB9328=y
 CONFIG_MACH_IMX1_DT=y
 CONFIG_ARCH_NSPIRE=y
 CONFIG_AEABI=y
arch/arm/mach-imx/Kconfig +0 -7
index 52dd944..7aa8f81 100644
@@ -102,13 +102,6 @@ if ARCH_MULTI_V4T
 
 comment "MX1 platforms:"
 
-config MACH_SCB9328
-	bool "Synertronixx scb9328"
-	select IMX_HAVE_PLATFORM_IMX_UART
-	select SOC_IMX1
-	help
-	  Say Y here if you are using a Synertronixx scb9328 board
-
 config MACH_IMX1_DT
 	bool "Support i.MX1 platforms from device tree"
 	select SOC_IMX1
arch/arm/mach-imx/Makefile +0 -1
index 3bbd06d..5e33873 100644
@@ -36,7 +36,6 @@ obj-y += ssi-fiq-ksym.o
 endif
 
 # i.MX1 based machines
-obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o
 obj-$(CONFIG_MACH_IMX1_DT) += imx1-dt.o
 
 # i.MX21 based machines
arch/arm/mach-imx/mach-scb9328.c deleted +0 -143

143 lines not on this page · raw message

Signature · 1 line
2.7.3
#2 lore raw

PATCH v2 3/4 ARM: i.MX: Remove i.MX1 non-DT support

In reply to Alexander Shiyan

This patch removes registration helpers and support files, used for non-DT i.MX1 targets.

---
 arch/arm/mach-imx/Kconfig                     |   1 -
 arch/arm/mach-imx/Makefile                    |   1 -
 arch/arm/mach-imx/common.h                    |   5 -
 arch/arm/mach-imx/devices-imx1.h              |  30 -----
 arch/arm/mach-imx/devices/devices-common.h    |  12 --
 arch/arm/mach-imx/devices/platform-imx-fb.c   |   5 -
 arch/arm/mach-imx/devices/platform-imx-i2c.c  |   5 -
 arch/arm/mach-imx/devices/platform-imx-uart.c |  37 ------
 arch/arm/mach-imx/devices/platform-spi_imx.c  |   9 --
 arch/arm/mach-imx/hardware.h                  |   1 -
 arch/arm/mach-imx/imx1-dt.c                   |  23 +++-
 arch/arm/mach-imx/iomux-mx1.h                 | 155 -----------------------
 arch/arm/mach-imx/mm-imx1.c                   |  67 ----------
 arch/arm/mach-imx/mx1.h                       | 172 --------------------------
 drivers/clk/imx/clk-imx1.c                    |  46 +------
 15 files changed, 26 insertions(+), 543 deletions(-)
 delete mode 100644 arch/arm/mach-imx/devices-imx1.h
 delete mode 100644 arch/arm/mach-imx/iomux-mx1.h
 delete mode 100644 arch/arm/mach-imx/mm-imx1.c
 delete mode 100644 arch/arm/mach-imx/mx1.h
arch/arm/mach-imx/Kconfig +0 -1
index 7aa8f81..ca7db32 100644
@@ -67,7 +67,6 @@ config ARCH_MXC_IOMUX_V3
 config SOC_IMX1
 	bool
 	select CPU_ARM920T
-	select IMX_HAVE_IOMUX_V1
 	select MXC_AVIC
 	select PINCTRL_IMX1
 
arch/arm/mach-imx/Makefile +0 -1
index 5e33873..3fa087d 100644
@@ -1,6 +1,5 @@
 obj-y := cpu.o system.o irq-common.o
 
-obj-$(CONFIG_SOC_IMX1) += mm-imx1.o
 obj-$(CONFIG_SOC_IMX21) += mm-imx21.o
 
 obj-$(CONFIG_SOC_IMX25) += cpu-imx25.o mach-imx25.o pm-imx25.o
arch/arm/mach-imx/common.h +0 -5
index a8f4693..bcca481 100644
@@ -21,29 +21,24 @@ struct device_node;
 enum mxc_cpu_pwr_mode;
 struct of_device_id;
 
-void mx1_map_io(void);
 void mx21_map_io(void);
 void mx27_map_io(void);
 void mx31_map_io(void);
 void mx35_map_io(void);
-void imx1_init_early(void);
 void imx21_init_early(void);
 void imx27_init_early(void);
 void imx31_init_early(void);
 void imx35_init_early(void);
 void mxc_init_irq(void __iomem *);
-void mx1_init_irq(void);
 void mx21_init_irq(void);
 void mx27_init_irq(void);
 void mx31_init_irq(void);
 void mx35_init_irq(void);
-void imx1_soc_init(void);
 void imx21_soc_init(void);
 void imx27_soc_init(void);
 void imx31_soc_init(void);
 void imx35_soc_init(void);
 void epit_timer_init(void __iomem *base, int irq);
-int mx1_clocks_init(unsigned long fref);
 int mx21_clocks_init(unsigned long lref, unsigned long fref);
 int mx27_clocks_init(unsigned long fref);
 int mx31_clocks_init(unsigned long fref);
arch/arm/mach-imx/devices-imx1.h deleted +0 -30
deleted file mode 100644
index f9b5afc..0000000
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2010 Pengutronix
- * Uwe Kleine-Koenig <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License version 2 as published by the
- * Free Software Foundation.
- */
-#include "devices/devices-common.h"
-
-extern const struct imx_imx_fb_data imx1_imx_fb_data;
-#define imx1_add_imx_fb(pdata) \
-    imx_add_imx_fb(&imx1_imx_fb_data, pdata)
-
-extern const struct imx_imx_i2c_data imx1_imx_i2c_data;
-#define imx1_add_imx_i2c(pdata)		\
-	imx_add_imx_i2c(&imx1_imx_i2c_data, pdata)
-
-extern const struct imx_imx_uart_3irq_data imx1_imx_uart_data[];
-#define imx1_add_imx_uart(id, pdata)	\
-	imx_add_imx_uart_3irq(&imx1_imx_uart_data[id], pdata)
-#define imx1_add_imx_uart0(pdata)	imx1_add_imx_uart(0, pdata)
-#define imx1_add_imx_uart1(pdata)	imx1_add_imx_uart(1, pdata)
-
-extern const struct imx_spi_imx_data imx1_cspi_data[];
-#define imx1_add_cspi(id, pdata)   \
-	imx_add_spi_imx(&imx1_cspi_data[id], pdata)
-
-#define imx1_add_spi_imx0(pdata) imx1_add_cspi(0, pdata)
-#define imx1_add_spi_imx1(pdata) imx1_add_cspi(1, pdata)
arch/arm/mach-imx/devices/devices-common.h +0 -12
index 09cebd8..6920e35 100644
@@ -154,18 +154,6 @@ struct platform_device *__init imx_add_imx_ssi(
 		const struct imx_ssi_platform_data *pdata);
 
 #include <linux/platform_data/serial-imx.h>
-struct imx_imx_uart_3irq_data {
-	int id;
-	resource_size_t iobase;
-	resource_size_t iosize;
-	resource_size_t irqrx;
-	resource_size_t irqtx;
-	resource_size_t irqrts;
-};
-struct platform_device *__init imx_add_imx_uart_3irq(
-		const struct imx_imx_uart_3irq_data *data,
-		const struct imxuart_platform_data *pdata);
-
 struct imx_imx_uart_1irq_data {
 	int id;
 	resource_size_t iobase;
arch/arm/mach-imx/devices/platform-imx-fb.c +0 -5
index 7df6328..aa00272 100644
@@ -19,11 +19,6 @@
 		.irq = soc ## _INT_LCDC,				\
 	}
 
-#ifdef CONFIG_SOC_IMX1
-const struct imx_imx_fb_data imx1_imx_fb_data __initconst =
-	imx_imx_fb_data_entry_single(MX1, "imx1-fb", SZ_4K);
-#endif /* ifdef CONFIG_SOC_IMX1 */
-
 #ifdef CONFIG_SOC_IMX21
 const struct imx_imx_fb_data imx21_imx_fb_data __initconst =
 	imx_imx_fb_data_entry_single(MX21, "imx21-fb", SZ_4K);
arch/arm/mach-imx/devices/platform-imx-i2c.c +0 -5
index ae97915..9822bed 100644
@@ -21,11 +21,6 @@
 #define imx_imx_i2c_data_entry(soc, _devid, _id, _hwid, _size)		\
 	[_id] = imx_imx_i2c_data_entry_single(soc, _devid, _id, _hwid, _size)
 
-#ifdef CONFIG_SOC_IMX1
-const struct imx_imx_i2c_data imx1_imx_i2c_data __initconst =
-	imx_imx_i2c_data_entry_single(MX1, "imx1-i2c", 0, , SZ_4K);
-#endif /* ifdef CONFIG_SOC_IMX1 */
-
 #ifdef CONFIG_SOC_IMX21
 const struct imx_imx_i2c_data imx21_imx_i2c_data __initconst =
 	imx_imx_i2c_data_entry_single(MX21, "imx21-i2c", 0, , SZ_4K);
arch/arm/mach-imx/devices/platform-imx-uart.c +0 -37
index 6962cff..e3c89e9 100644
@@ -27,15 +27,6 @@
 		.irq = soc ## _INT_UART ## _hwid,			\
 	}
 
-#ifdef CONFIG_SOC_IMX1
-const struct imx_imx_uart_3irq_data imx1_imx_uart_data[] __initconst = {
-#define imx1_imx_uart_data_entry(_id, _hwid)				\
-	imx_imx_uart_3irq_data_entry(MX1, _id, _hwid, 0xd0)
-	imx1_imx_uart_data_entry(0, 1),
-	imx1_imx_uart_data_entry(1, 2),
-};
-#endif /* ifdef CONFIG_SOC_IMX1 */
-
 #ifdef CONFIG_SOC_IMX21
 const struct imx_imx_uart_1irq_data imx21_imx_uart_data[] __initconst = {
 #define imx21_imx_uart_data_entry(_id, _hwid)				\
@@ -82,34 +73,6 @@ const struct imx_imx_uart_1irq_data imx35_imx_uart_data[] __initconst = {
 };
 #endif /* ifdef CONFIG_SOC_IMX35 */
 
-struct platform_device *__init imx_add_imx_uart_3irq(
-		const struct imx_imx_uart_3irq_data *data,
-		const struct imxuart_platform_data *pdata)
-{
-	struct resource res[] = {
-		{
-			.start = data->iobase,
-			.end = data->iobase + data->iosize - 1,
-			.flags = IORESOURCE_MEM,
-		}, {
-			.start = data->irqrx,
-			.end = data->irqrx,
-			.flags = IORESOURCE_IRQ,
-		}, {
-			.start = data->irqtx,
-			.end = data->irqtx,
-			.flags = IORESOURCE_IRQ,
-		}, {
-			.start = data->irqrts,
-			.end = data->irqrx,
-			.flags = IORESOURCE_IRQ,
-		},
-	};
-
-	return imx_add_platform_device("imx1-uart", data->id, res,
-			ARRAY_SIZE(res), pdata, sizeof(*pdata));
-}
-
 struct platform_device *__init imx_add_imx_uart_1irq(
 		const struct imx_imx_uart_1irq_data *data,
 		const struct imxuart_platform_data *pdata)
arch/arm/mach-imx/devices/platform-spi_imx.c +0 -9
index 5e9707b..d93c446 100644
@@ -21,15 +21,6 @@
 #define imx_spi_imx_data_entry(soc, type, devid, id, hwid, size)	\
 	[id] = imx_spi_imx_data_entry_single(soc, type, devid, id, hwid, size)
 
-#ifdef CONFIG_SOC_IMX1
-const struct imx_spi_imx_data imx1_cspi_data[] __initconst = {
-#define imx1_cspi_data_entry(_id, _hwid) \
-	imx_spi_imx_data_entry(MX1, CSPI, "imx1-cspi", _id, _hwid, SZ_4K)
-	imx1_cspi_data_entry(0, 1),
-	imx1_cspi_data_entry(1, 2),
-};
-#endif
-
 #ifdef CONFIG_SOC_IMX21
 const struct imx_spi_imx_data imx21_cspi_data[] __initconst = {
 #define imx21_cspi_data_entry(_id, _hwid)                            \
arch/arm/mach-imx/hardware.h +0 -1
index d737f95..a42a6df 100644
@@ -112,7 +112,6 @@
 #include "mx2x.h"
 #include "mx21.h"
 #include "mx27.h"
-#include "mx1.h"
 
 #define imx_map_entry(soc, name, _type)	{				\
 	.virtual = soc ## _IO_P2V(soc ## _ ## name ## _BASE_ADDR),	\
arch/arm/mach-imx/imx1-dt.c +21 -2
index 6f915b0..de5ab8d 100644
@@ -9,8 +9,27 @@
 
 #include <linux/of_platform.h>
 #include <asm/mach/arch.h>
+#include <asm/mach/map.h>
 
 #include "common.h"
+#include "hardware.h"
+
+#define MX1_AVIC_ADDR	0x00223000
+
+static void __init imx1_init_early(void)
+{
+	mxc_set_cpu_type(MXC_CPU_MX1);
+}
+
+static void __init imx1_init_irq(void)
+{
+	void __iomem *avic_addr;
+
+	avic_addr = ioremap(MX1_AVIC_ADDR, SZ_4K);
+	WARN_ON(!avic_addr);
+
+	mxc_init_irq(avic_addr);
+}
 
 static const char * const imx1_dt_board_compat[] __initconst = {
 	"fsl,imx1",
@@ -18,9 +37,9 @@ static const char * const imx1_dt_board_compat[] __initconst = {
 };
 
 DT_MACHINE_START(IMX1_DT, "Freescale i.MX1 (Device Tree Support)")
-	.map_io		= mx1_map_io,
+	.map_io		= debug_ll_io_init,
 	.init_early	= imx1_init_early,
-	.init_irq	= mx1_init_irq,
+	.init_irq	= imx1_init_irq,
 	.dt_compat	= imx1_dt_board_compat,
 	.restart	= mxc_restart,
 MACHINE_END
arch/arm/mach-imx/iomux-mx1.h deleted +0 -155

155 lines not on this page · raw message

arch/arm/mach-imx/mm-imx1.c deleted +0 -67

67 lines not on this page · raw message

arch/arm/mach-imx/mx1.h deleted +0 -172

172 lines not on this page · raw message

drivers/clk/imx/clk-imx1.c +5 -41

60 lines not on this page · raw message

Signature · 1 line
2.7.3
#3 lore raw

PATCH v2 4/4 ARM: i.MX: Move SOC_IMX1 into 'Device tree only'

In reply to Alexander Shiyan

This patch moves SOC_IMX1 into 'Device tree only' category and renames imx1-dt.c to mach-imx1.c to align with the name schema of other i.MX DT only platforms.

---
 arch/arm/configs/imx_v4_v5_defconfig         |  1 +
 arch/arm/configs/multi_v4t_defconfig         |  2 +-
 arch/arm/mach-imx/Kconfig                    | 31 +++++++++++-----------------
 arch/arm/mach-imx/Makefile                   |  4 +---
 arch/arm/mach-imx/{imx1-dt.c => mach-imx1.c} |  0
 5 files changed, 15 insertions(+), 23 deletions(-)
 rename arch/arm/mach-imx/{imx1-dt.c => mach-imx1.c} (100%)
arch/arm/configs/imx_v4_v5_defconfig +1 -0
index e70032c..5f013c9f 100644
@@ -28,6 +28,7 @@ CONFIG_MACH_MX27_3DS=y
 CONFIG_MACH_IMX27_VISSTRIM_M10=y
 CONFIG_MACH_PCA100=y
 CONFIG_MACH_IMX27_DT=y
+CONFIG_SOC_IMX1=y
 CONFIG_SOC_IMX25=y
 CONFIG_PREEMPT=y
 CONFIG_AEABI=y
arch/arm/configs/multi_v4t_defconfig +1 -1
index 141492a..9a6390c 100644
@@ -20,7 +20,7 @@ CONFIG_INTEGRATOR_CM720T=y
 CONFIG_INTEGRATOR_CM920T=y
 CONFIG_INTEGRATOR_CM922T_XA10=y
 CONFIG_ARCH_MXC=y
-CONFIG_MACH_IMX1_DT=y
+CONFIG_SOC_IMX1=y
 CONFIG_ARCH_NSPIRE=y
 CONFIG_AEABI=y
 # CONFIG_ATAGS is not set
arch/arm/mach-imx/Kconfig +12 -19
index ca7db32..9da3284 100644
@@ -64,12 +64,6 @@ config IMX_HAVE_IOMUX_V1
 config ARCH_MXC_IOMUX_V3
 	bool
 
-config SOC_IMX1
-	bool
-	select CPU_ARM920T
-	select MXC_AVIC
-	select PINCTRL_IMX1
-
 config SOC_IMX21
 	bool
 	select CPU_ARM926T
@@ -97,19 +91,6 @@ config SOC_IMX35
 	select PINCTRL_IMX35
 	select SMP_ON_UP if SMP
 
-if ARCH_MULTI_V4T
-
-comment "MX1 platforms:"
-
-config MACH_IMX1_DT
-	bool "Support i.MX1 platforms from device tree"
-	select SOC_IMX1
-	help
-	  Include support for Freescale i.MX1 based platforms
-	  using the device tree for discovery.
-
-endif
-
 if ARCH_MULTI_V5
 
 comment "MX21 platforms:"
@@ -445,6 +426,18 @@ endif
 
 comment "Device tree only"
 
+if ARCH_MULTI_V4T
+
+config SOC_IMX1
+	bool "i.MX1 support"
+	select CPU_ARM920T
+	select MXC_AVIC
+	select PINCTRL_IMX1
+	help
+	  This enables support for Freescale i.MX1 processor
+
+endif
+
 if ARCH_MULTI_V5
 
 config SOC_IMX25
arch/arm/mach-imx/Makefile +1 -3
index 3fa087d..2636adf 100644
@@ -34,9 +34,6 @@ obj-y += ssi-fiq.o
 obj-y += ssi-fiq-ksym.o
 endif
 
-# i.MX1 based machines
-obj-$(CONFIG_MACH_IMX1_DT) += imx1-dt.o
-
 # i.MX21 based machines
 obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o
 
@@ -90,6 +87,7 @@ obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
 endif
 obj-$(CONFIG_SOC_IMX6) += pm-imx6.o
 
+obj-$(CONFIG_SOC_IMX1) += mach-imx1.o
 obj-$(CONFIG_SOC_IMX50) += mach-imx50.o
 obj-$(CONFIG_SOC_IMX51) += mach-imx51.o
 obj-$(CONFIG_SOC_IMX53) += mach-imx53.o
arch/arm/mach-imx/mach-imx1.c renamed from arch/arm/mach-imx/imx1-dt.c +0 -0
similarity index 100%
rename from arch/arm/mach-imx/imx1-dt.c
rename to arch/arm/mach-imx/mach-imx1.c
Signature · 1 line
2.7.3