aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/devices
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/devices')
-rw-r--r--arch/arm/mach-imx/devices/Kconfig9
-rw-r--r--arch/arm/mach-imx/devices/Makefile2
-rw-r--r--arch/arm/mach-imx/devices/devices-common.h26
-rw-r--r--arch/arm/mach-imx/devices/platform-fec.c12
-rw-r--r--arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c5
-rw-r--r--arch/arm/mach-imx/devices/platform-imx-i2c.c26
-rw-r--r--arch/arm/mach-imx/devices/platform-imx-keypad.c10
-rw-r--r--arch/arm/mach-imx/devices/platform-imx-ssi.c20
-rw-r--r--arch/arm/mach-imx/devices/platform-imx-uart.c22
-rw-r--r--arch/arm/mach-imx/devices/platform-imx2-wdt.c18
-rw-r--r--arch/arm/mach-imx/devices/platform-imx_udc.c75
-rw-r--r--arch/arm/mach-imx/devices/platform-mx1-camera.c42
-rw-r--r--arch/arm/mach-imx/devices/platform-mxc-ehci.c9
-rw-r--r--arch/arm/mach-imx/devices/platform-mxc_nand.c5
-rw-r--r--arch/arm/mach-imx/devices/platform-mxc_rnga.c5
-rw-r--r--arch/arm/mach-imx/devices/platform-pata_imx.c10
-rw-r--r--arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c24
-rw-r--r--arch/arm/mach-imx/devices/platform-spi_imx.c27
18 files changed, 2 insertions, 345 deletions
diff --git a/arch/arm/mach-imx/devices/Kconfig b/arch/arm/mach-imx/devices/Kconfig
index 2d260a5a307c..1d2cc1805f3e 100644
--- a/arch/arm/mach-imx/devices/Kconfig
+++ b/arch/arm/mach-imx/devices/Kconfig
@@ -1,6 +1,6 @@
1config IMX_HAVE_PLATFORM_FEC 1config IMX_HAVE_PLATFORM_FEC
2 bool 2 bool
3 default y if ARCH_MX25 || SOC_IMX27 || SOC_IMX35 || SOC_IMX51 || SOC_IMX53 3 default y if SOC_IMX25 || SOC_IMX27 || SOC_IMX35
4 4
5config IMX_HAVE_PLATFORM_FLEXCAN 5config IMX_HAVE_PLATFORM_FLEXCAN
6 bool 6 bool
@@ -10,7 +10,6 @@ config IMX_HAVE_PLATFORM_FSL_USB2_UDC
10 10
11config IMX_HAVE_PLATFORM_GPIO_KEYS 11config IMX_HAVE_PLATFORM_GPIO_KEYS
12 bool 12 bool
13 default y if SOC_IMX51
14 13
15config IMX_HAVE_PLATFORM_IMX21_HCD 14config IMX_HAVE_PLATFORM_IMX21_HCD
16 bool 15 bool
@@ -43,15 +42,9 @@ config IMX_HAVE_PLATFORM_IMX_SSI
43config IMX_HAVE_PLATFORM_IMX_UART 42config IMX_HAVE_PLATFORM_IMX_UART
44 bool 43 bool
45 44
46config IMX_HAVE_PLATFORM_IMX_UDC
47 bool
48
49config IMX_HAVE_PLATFORM_IPU_CORE 45config IMX_HAVE_PLATFORM_IPU_CORE
50 bool 46 bool
51 47
52config IMX_HAVE_PLATFORM_MX1_CAMERA
53 bool
54
55config IMX_HAVE_PLATFORM_MX2_CAMERA 48config IMX_HAVE_PLATFORM_MX2_CAMERA
56 bool 49 bool
57 50
diff --git a/arch/arm/mach-imx/devices/Makefile b/arch/arm/mach-imx/devices/Makefile
index 1cbc14cd80d1..8fdb12b4ca7e 100644
--- a/arch/arm/mach-imx/devices/Makefile
+++ b/arch/arm/mach-imx/devices/Makefile
@@ -16,9 +16,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o
16obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o 16obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o
17obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o 17obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o
18obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o 18obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o
19obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o
20obj-$(CONFIG_IMX_HAVE_PLATFORM_IPU_CORE) += platform-ipu-core.o 19obj-$(CONFIG_IMX_HAVE_PLATFORM_IPU_CORE) += platform-ipu-core.o
21obj-$(CONFIG_IMX_HAVE_PLATFORM_MX1_CAMERA) += platform-mx1-camera.o
22obj-$(CONFIG_IMX_HAVE_PLATFORM_MX2_CAMERA) += platform-mx2-camera.o 20obj-$(CONFIG_IMX_HAVE_PLATFORM_MX2_CAMERA) += platform-mx2-camera.o
23obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI) += platform-mxc-ehci.o 21obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI) += platform-mxc-ehci.o
24obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_MMC) += platform-mxc-mmc.o 22obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_MMC) += platform-mxc-mmc.o
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h
index 61352a80bb59..67f7fb13050d 100644
--- a/arch/arm/mach-imx/devices/devices-common.h
+++ b/arch/arm/mach-imx/devices/devices-common.h
@@ -176,22 +176,6 @@ struct platform_device *__init imx_add_imx_uart_1irq(
176 const struct imx_imx_uart_1irq_data *data, 176 const struct imx_imx_uart_1irq_data *data,
177 const struct imxuart_platform_data *pdata); 177 const struct imxuart_platform_data *pdata);
178 178
179#include <linux/platform_data/usb-imx_udc.h>
180struct imx_imx_udc_data {
181 resource_size_t iobase;
182 resource_size_t iosize;
183 resource_size_t irq0;
184 resource_size_t irq1;
185 resource_size_t irq2;
186 resource_size_t irq3;
187 resource_size_t irq4;
188 resource_size_t irq5;
189 resource_size_t irq6;
190};
191struct platform_device *__init imx_add_imx_udc(
192 const struct imx_imx_udc_data *data,
193 const struct imxusb_platform_data *pdata);
194
195#include <linux/platform_data/video-mx3fb.h> 179#include <linux/platform_data/video-mx3fb.h>
196#include <linux/platform_data/camera-mx3.h> 180#include <linux/platform_data/camera-mx3.h>
197struct imx_ipu_core_data { 181struct imx_ipu_core_data {
@@ -208,16 +192,6 @@ struct platform_device *__init imx_add_mx3_sdc_fb(
208 const struct imx_ipu_core_data *data, 192 const struct imx_ipu_core_data *data,
209 struct mx3fb_platform_data *pdata); 193 struct mx3fb_platform_data *pdata);
210 194
211#include <linux/platform_data/camera-mx1.h>
212struct imx_mx1_camera_data {
213 resource_size_t iobase;
214 resource_size_t iosize;
215 resource_size_t irq;
216};
217struct platform_device *__init imx_add_mx1_camera(
218 const struct imx_mx1_camera_data *data,
219 const struct mx1_camera_pdata *pdata);
220
221#include <linux/platform_data/camera-mx2.h> 195#include <linux/platform_data/camera-mx2.h>
222struct imx_mx2_camera_data { 196struct imx_mx2_camera_data {
223 const char *devid; 197 const char *devid;
diff --git a/arch/arm/mach-imx/devices/platform-fec.c b/arch/arm/mach-imx/devices/platform-fec.c
index 63eba08f87b1..d86f9250b4ee 100644
--- a/arch/arm/mach-imx/devices/platform-fec.c
+++ b/arch/arm/mach-imx/devices/platform-fec.c
@@ -35,18 +35,6 @@ const struct imx_fec_data imx35_fec_data __initconst =
35 imx_fec_data_entry_single(MX35, "imx27-fec"); 35 imx_fec_data_entry_single(MX35, "imx27-fec");
36#endif 36#endif
37 37
38#ifdef CONFIG_SOC_IMX51
39/* i.mx51 has the i.mx27 type fec */
40const struct imx_fec_data imx51_fec_data __initconst =
41 imx_fec_data_entry_single(MX51, "imx27-fec");
42#endif
43
44#ifdef CONFIG_SOC_IMX53
45/* i.mx53 has the i.mx25 type fec */
46const struct imx_fec_data imx53_fec_data __initconst =
47 imx_fec_data_entry_single(MX53, "imx25-fec");
48#endif
49
50struct platform_device *__init imx_add_fec( 38struct platform_device *__init imx_add_fec(
51 const struct imx_fec_data *data, 39 const struct imx_fec_data *data,
52 const struct fec_platform_data *pdata) 40 const struct fec_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c b/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c
index 3c06bd96e9cc..23b0061347cb 100644
--- a/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c
+++ b/arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c
@@ -38,11 +38,6 @@ const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data __initconst =
38 imx_fsl_usb2_udc_data_entry_single(MX35, "imx-udc-mx27"); 38 imx_fsl_usb2_udc_data_entry_single(MX35, "imx-udc-mx27");
39#endif /* ifdef CONFIG_SOC_IMX35 */ 39#endif /* ifdef CONFIG_SOC_IMX35 */
40 40
41#ifdef CONFIG_SOC_IMX51
42const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data __initconst =
43 imx_fsl_usb2_udc_data_entry_single(MX51, "imx-udc-mx51");
44#endif
45
46struct platform_device *__init imx_add_fsl_usb2_udc( 41struct platform_device *__init imx_add_fsl_usb2_udc(
47 const struct imx_fsl_usb2_udc_data *data, 42 const struct imx_fsl_usb2_udc_data *data,
48 const struct fsl_usb2_platform_data *pdata) 43 const struct fsl_usb2_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-imx-i2c.c b/arch/arm/mach-imx/devices/platform-imx-i2c.c
index 57d342e85c2f..644ac2689882 100644
--- a/arch/arm/mach-imx/devices/platform-imx-i2c.c
+++ b/arch/arm/mach-imx/devices/platform-imx-i2c.c
@@ -70,32 +70,6 @@ const struct imx_imx_i2c_data imx35_imx_i2c_data[] __initconst = {
70}; 70};
71#endif /* ifdef CONFIG_SOC_IMX35 */ 71#endif /* ifdef CONFIG_SOC_IMX35 */
72 72
73#ifdef CONFIG_SOC_IMX51
74const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst = {
75#define imx51_imx_i2c_data_entry(_id, _hwid) \
76 imx_imx_i2c_data_entry(MX51, "imx21-i2c", _id, _hwid, SZ_4K)
77 imx51_imx_i2c_data_entry(0, 1),
78 imx51_imx_i2c_data_entry(1, 2),
79 {
80 .devid = "imx21-i2c",
81 .id = 2,
82 .iobase = MX51_HSI2C_DMA_BASE_ADDR,
83 .iosize = SZ_16K,
84 .irq = MX51_INT_HS_I2C,
85 },
86};
87#endif /* ifdef CONFIG_SOC_IMX51 */
88
89#ifdef CONFIG_SOC_IMX53
90const struct imx_imx_i2c_data imx53_imx_i2c_data[] __initconst = {
91#define imx53_imx_i2c_data_entry(_id, _hwid) \
92 imx_imx_i2c_data_entry(MX53, "imx21-i2c", _id, _hwid, SZ_4K)
93 imx53_imx_i2c_data_entry(0, 1),
94 imx53_imx_i2c_data_entry(1, 2),
95 imx53_imx_i2c_data_entry(2, 3),
96};
97#endif /* ifdef CONFIG_SOC_IMX53 */
98
99struct platform_device *__init imx_add_imx_i2c( 73struct platform_device *__init imx_add_imx_i2c(
100 const struct imx_imx_i2c_data *data, 74 const struct imx_imx_i2c_data *data,
101 const struct imxi2c_platform_data *pdata) 75 const struct imxi2c_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-imx-keypad.c b/arch/arm/mach-imx/devices/platform-imx-keypad.c
index 8f22a4c98a4c..f42200b7aca9 100644
--- a/arch/arm/mach-imx/devices/platform-imx-keypad.c
+++ b/arch/arm/mach-imx/devices/platform-imx-keypad.c
@@ -41,16 +41,6 @@ const struct imx_imx_keypad_data imx35_imx_keypad_data __initconst =
41 imx_imx_keypad_data_entry_single(MX35, SZ_16); 41 imx_imx_keypad_data_entry_single(MX35, SZ_16);
42#endif /* ifdef CONFIG_SOC_IMX35 */ 42#endif /* ifdef CONFIG_SOC_IMX35 */
43 43
44#ifdef CONFIG_SOC_IMX51
45const struct imx_imx_keypad_data imx51_imx_keypad_data __initconst =
46 imx_imx_keypad_data_entry_single(MX51, SZ_16);
47#endif /* ifdef CONFIG_SOC_IMX51 */
48
49#ifdef CONFIG_SOC_IMX53
50const struct imx_imx_keypad_data imx53_imx_keypad_data __initconst =
51 imx_imx_keypad_data_entry_single(MX53, SZ_16);
52#endif /* ifdef CONFIG_SOC_IMX53 */
53
54struct platform_device *__init imx_add_imx_keypad( 44struct platform_device *__init imx_add_imx_keypad(
55 const struct imx_imx_keypad_data *data, 45 const struct imx_imx_keypad_data *data,
56 const struct matrix_keymap_data *pdata) 46 const struct matrix_keymap_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-imx-ssi.c b/arch/arm/mach-imx/devices/platform-imx-ssi.c
index bfcb8f3dfa8d..1c7c721ebff1 100644
--- a/arch/arm/mach-imx/devices/platform-imx-ssi.c
+++ b/arch/arm/mach-imx/devices/platform-imx-ssi.c
@@ -66,26 +66,6 @@ const struct imx_imx_ssi_data imx35_imx_ssi_data[] __initconst = {
66}; 66};
67#endif /* ifdef CONFIG_SOC_IMX35 */ 67#endif /* ifdef CONFIG_SOC_IMX35 */
68 68
69#ifdef CONFIG_SOC_IMX51
70const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst = {
71#define imx51_imx_ssi_data_entry(_id, _hwid) \
72 imx_imx_ssi_data_entry(MX51, _id, _hwid, SZ_16K)
73 imx51_imx_ssi_data_entry(0, 1),
74 imx51_imx_ssi_data_entry(1, 2),
75 imx51_imx_ssi_data_entry(2, 3),
76};
77#endif /* ifdef CONFIG_SOC_IMX51 */
78
79#ifdef CONFIG_SOC_IMX53
80const struct imx_imx_ssi_data imx53_imx_ssi_data[] __initconst = {
81#define imx53_imx_ssi_data_entry(_id, _hwid) \
82 imx_imx_ssi_data_entry(MX53, _id, _hwid, SZ_16K)
83 imx53_imx_ssi_data_entry(0, 1),
84 imx53_imx_ssi_data_entry(1, 2),
85 imx53_imx_ssi_data_entry(2, 3),
86};
87#endif /* ifdef CONFIG_SOC_IMX53 */
88
89struct platform_device *__init imx_add_imx_ssi( 69struct platform_device *__init imx_add_imx_ssi(
90 const struct imx_imx_ssi_data *data, 70 const struct imx_imx_ssi_data *data,
91 const struct imx_ssi_platform_data *pdata) 71 const struct imx_ssi_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-imx-uart.c b/arch/arm/mach-imx/devices/platform-imx-uart.c
index faac4aa6ca6d..8c01836bc1d4 100644
--- a/arch/arm/mach-imx/devices/platform-imx-uart.c
+++ b/arch/arm/mach-imx/devices/platform-imx-uart.c
@@ -94,28 +94,6 @@ const struct imx_imx_uart_1irq_data imx35_imx_uart_data[] __initconst = {
94}; 94};
95#endif /* ifdef CONFIG_SOC_IMX35 */ 95#endif /* ifdef CONFIG_SOC_IMX35 */
96 96
97#ifdef CONFIG_SOC_IMX51
98const struct imx_imx_uart_1irq_data imx51_imx_uart_data[] __initconst = {
99#define imx51_imx_uart_data_entry(_id, _hwid) \
100 imx_imx_uart_1irq_data_entry(MX51, _id, _hwid, SZ_4K)
101 imx51_imx_uart_data_entry(0, 1),
102 imx51_imx_uart_data_entry(1, 2),
103 imx51_imx_uart_data_entry(2, 3),
104};
105#endif /* ifdef CONFIG_SOC_IMX51 */
106
107#ifdef CONFIG_SOC_IMX53
108const struct imx_imx_uart_1irq_data imx53_imx_uart_data[] __initconst = {
109#define imx53_imx_uart_data_entry(_id, _hwid) \
110 imx_imx_uart_1irq_data_entry(MX53, _id, _hwid, SZ_4K)
111 imx53_imx_uart_data_entry(0, 1),
112 imx53_imx_uart_data_entry(1, 2),
113 imx53_imx_uart_data_entry(2, 3),
114 imx53_imx_uart_data_entry(3, 4),
115 imx53_imx_uart_data_entry(4, 5),
116};
117#endif /* ifdef CONFIG_SOC_IMX53 */
118
119struct platform_device *__init imx_add_imx_uart_3irq( 97struct platform_device *__init imx_add_imx_uart_3irq(
120 const struct imx_imx_uart_3irq_data *data, 98 const struct imx_imx_uart_3irq_data *data,
121 const struct imxuart_platform_data *pdata) 99 const struct imxuart_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-imx2-wdt.c b/arch/arm/mach-imx/devices/platform-imx2-wdt.c
index ec75d6413686..54f63bc25ca4 100644
--- a/arch/arm/mach-imx/devices/platform-imx2-wdt.c
+++ b/arch/arm/mach-imx/devices/platform-imx2-wdt.c
@@ -45,24 +45,6 @@ const struct imx_imx2_wdt_data imx35_imx2_wdt_data __initconst =
45 imx_imx2_wdt_data_entry_single(MX35, 0, , SZ_16K); 45 imx_imx2_wdt_data_entry_single(MX35, 0, , SZ_16K);
46#endif /* ifdef CONFIG_SOC_IMX35 */ 46#endif /* ifdef CONFIG_SOC_IMX35 */
47 47
48#ifdef CONFIG_SOC_IMX51
49const struct imx_imx2_wdt_data imx51_imx2_wdt_data[] __initconst = {
50#define imx51_imx2_wdt_data_entry(_id, _hwid) \
51 imx_imx2_wdt_data_entry(MX51, _id, _hwid, SZ_16K)
52 imx51_imx2_wdt_data_entry(0, 1),
53 imx51_imx2_wdt_data_entry(1, 2),
54};
55#endif /* ifdef CONFIG_SOC_IMX51 */
56
57#ifdef CONFIG_SOC_IMX53
58const struct imx_imx2_wdt_data imx53_imx2_wdt_data[] __initconst = {
59#define imx53_imx2_wdt_data_entry(_id, _hwid) \
60 imx_imx2_wdt_data_entry(MX53, _id, _hwid, SZ_16K)
61 imx53_imx2_wdt_data_entry(0, 1),
62 imx53_imx2_wdt_data_entry(1, 2),
63};
64#endif /* ifdef CONFIG_SOC_IMX53 */
65
66struct platform_device *__init imx_add_imx2_wdt( 48struct platform_device *__init imx_add_imx2_wdt(
67 const struct imx_imx2_wdt_data *data) 49 const struct imx_imx2_wdt_data *data)
68{ 50{
diff --git a/arch/arm/mach-imx/devices/platform-imx_udc.c b/arch/arm/mach-imx/devices/platform-imx_udc.c
deleted file mode 100644
index 5ced7e4e2c71..000000000000
--- a/arch/arm/mach-imx/devices/platform-imx_udc.c
+++ /dev/null
@@ -1,75 +0,0 @@
1/*
2 * Copyright (C) 2010 Pengutronix
3 * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
4 *
5 * This program is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License version 2 as published by the
7 * Free Software Foundation.
8 */
9#include "../hardware.h"
10#include "devices-common.h"
11
12#define imx_imx_udc_data_entry_single(soc, _size) \
13 { \
14 .iobase = soc ## _USBD_BASE_ADDR, \
15 .iosize = _size, \
16 .irq0 = soc ## _INT_USBD0, \
17 .irq1 = soc ## _INT_USBD1, \
18 .irq2 = soc ## _INT_USBD2, \
19 .irq3 = soc ## _INT_USBD3, \
20 .irq4 = soc ## _INT_USBD4, \
21 .irq5 = soc ## _INT_USBD5, \
22 .irq6 = soc ## _INT_USBD6, \
23 }
24
25#define imx_imx_udc_data_entry(soc, _size) \
26 [_id] = imx_imx_udc_data_entry_single(soc, _size)
27
28#ifdef CONFIG_SOC_IMX1
29const struct imx_imx_udc_data imx1_imx_udc_data __initconst =
30 imx_imx_udc_data_entry_single(MX1, SZ_4K);
31#endif /* ifdef CONFIG_SOC_IMX1 */
32
33struct platform_device *__init imx_add_imx_udc(
34 const struct imx_imx_udc_data *data,
35 const struct imxusb_platform_data *pdata)
36{
37 struct resource res[] = {
38 {
39 .start = data->iobase,
40 .end = data->iobase + data->iosize - 1,
41 .flags = IORESOURCE_MEM,
42 }, {
43 .start = data->irq0,
44 .end = data->irq0,
45 .flags = IORESOURCE_IRQ,
46 }, {
47 .start = data->irq1,
48 .end = data->irq1,
49 .flags = IORESOURCE_IRQ,
50 }, {
51 .start = data->irq2,
52 .end = data->irq2,
53 .flags = IORESOURCE_IRQ,
54 }, {
55 .start = data->irq3,
56 .end = data->irq3,
57 .flags = IORESOURCE_IRQ,
58 }, {
59 .start = data->irq4,
60 .end = data->irq4,
61 .flags = IORESOURCE_IRQ,
62 }, {
63 .start = data->irq5,
64 .end = data->irq5,
65 .flags = IORESOURCE_IRQ,
66 }, {
67 .start = data->irq6,
68 .end = data->irq6,
69 .flags = IORESOURCE_IRQ,
70 },
71 };
72
73 return imx_add_platform_device("imx_udc", 0,
74 res, ARRAY_SIZE(res), pdata, sizeof(*pdata));
75}
diff --git a/arch/arm/mach-imx/devices/platform-mx1-camera.c b/arch/arm/mach-imx/devices/platform-mx1-camera.c
deleted file mode 100644
index 2c6788131080..000000000000
--- a/arch/arm/mach-imx/devices/platform-mx1-camera.c
+++ /dev/null
@@ -1,42 +0,0 @@
1/*
2 * Copyright (C) 2010 Pengutronix
3 * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
4 *
5 * This program is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License version 2 as published by the
7 * Free Software Foundation.
8 */
9#include "../hardware.h"
10#include "devices-common.h"
11
12#define imx_mx1_camera_data_entry_single(soc, _size) \
13 { \
14 .iobase = soc ## _CSI ## _BASE_ADDR, \
15 .iosize = _size, \
16 .irq = soc ## _INT_CSI, \
17 }
18
19#ifdef CONFIG_SOC_IMX1
20const struct imx_mx1_camera_data imx1_mx1_camera_data __initconst =
21 imx_mx1_camera_data_entry_single(MX1, 10);
22#endif /* ifdef CONFIG_SOC_IMX1 */
23
24struct platform_device *__init imx_add_mx1_camera(
25 const struct imx_mx1_camera_data *data,
26 const struct mx1_camera_pdata *pdata)
27{
28 struct resource res[] = {
29 {
30 .start = data->iobase,
31 .end = data->iobase + data->iosize - 1,
32 .flags = IORESOURCE_MEM,
33 }, {
34 .start = data->irq,
35 .end = data->irq,
36 .flags = IORESOURCE_IRQ,
37 },
38 };
39 return imx_add_platform_device_dmamask("mx1-camera", 0,
40 res, ARRAY_SIZE(res),
41 pdata, sizeof(*pdata), DMA_BIT_MASK(32));
42}
diff --git a/arch/arm/mach-imx/devices/platform-mxc-ehci.c b/arch/arm/mach-imx/devices/platform-mxc-ehci.c
index 5d4bbbfde641..296353662ff0 100644
--- a/arch/arm/mach-imx/devices/platform-mxc-ehci.c
+++ b/arch/arm/mach-imx/devices/platform-mxc-ehci.c
@@ -50,15 +50,6 @@ const struct imx_mxc_ehci_data imx35_mxc_ehci_hs_data __initconst =
50 imx_mxc_ehci_data_entry_single(MX35, 1, HS); 50 imx_mxc_ehci_data_entry_single(MX35, 1, HS);
51#endif /* ifdef CONFIG_SOC_IMX35 */ 51#endif /* ifdef CONFIG_SOC_IMX35 */
52 52
53#ifdef CONFIG_SOC_IMX51
54const struct imx_mxc_ehci_data imx51_mxc_ehci_otg_data __initconst =
55 imx_mxc_ehci_data_entry_single(MX51, 0, OTG);
56const struct imx_mxc_ehci_data imx51_mxc_ehci_hs_data[] __initconst = {
57 imx_mxc_ehci_data_entry_single(MX51, 1, HS1),
58 imx_mxc_ehci_data_entry_single(MX51, 2, HS2),
59};
60#endif /* ifdef CONFIG_SOC_IMX51 */
61
62struct platform_device *__init imx_add_mxc_ehci( 53struct platform_device *__init imx_add_mxc_ehci(
63 const struct imx_mxc_ehci_data *data, 54 const struct imx_mxc_ehci_data *data,
64 const struct mxc_usbh_platform_data *pdata) 55 const struct mxc_usbh_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-mxc_nand.c b/arch/arm/mach-imx/devices/platform-mxc_nand.c
index 7af1c53e42b5..fa618a34f462 100644
--- a/arch/arm/mach-imx/devices/platform-mxc_nand.c
+++ b/arch/arm/mach-imx/devices/platform-mxc_nand.c
@@ -54,11 +54,6 @@ const struct imx_mxc_nand_data imx35_mxc_nand_data __initconst =
54 imx_mxc_nand_data_entry_single(MX35, "imx25-nand", SZ_8K); 54 imx_mxc_nand_data_entry_single(MX35, "imx25-nand", SZ_8K);
55#endif 55#endif
56 56
57#ifdef CONFIG_SOC_IMX51
58const struct imx_mxc_nand_data imx51_mxc_nand_data __initconst =
59 imx_mxc_nandv3_data_entry_single(MX51, "imx51-nand", SZ_16K);
60#endif
61
62struct platform_device *__init imx_add_mxc_nand( 57struct platform_device *__init imx_add_mxc_nand(
63 const struct imx_mxc_nand_data *data, 58 const struct imx_mxc_nand_data *data,
64 const struct mxc_nand_platform_data *pdata) 59 const struct mxc_nand_platform_data *pdata)
diff --git a/arch/arm/mach-imx/devices/platform-mxc_rnga.c b/arch/arm/mach-imx/devices/platform-mxc_rnga.c
index c58404badb59..851fbc8af7a9 100644
--- a/arch/arm/mach-imx/devices/platform-mxc_rnga.c
+++ b/arch/arm/mach-imx/devices/platform-mxc_rnga.c
@@ -48,9 +48,6 @@ static int __init imxXX_add_mxc_rnga(void)
48#endif /* if defined(CONFIG_SOC_IMX31) */ 48#endif /* if defined(CONFIG_SOC_IMX31) */
49 ret = ERR_PTR(-ENODEV); 49 ret = ERR_PTR(-ENODEV);
50 50
51 if (IS_ERR(ret)) 51 return PTR_ERR_OR_ZERO(ret);
52 return PTR_ERR(ret);
53
54 return 0;
55} 52}
56arch_initcall(imxXX_add_mxc_rnga); 53arch_initcall(imxXX_add_mxc_rnga);
diff --git a/arch/arm/mach-imx/devices/platform-pata_imx.c b/arch/arm/mach-imx/devices/platform-pata_imx.c
index e4ec11c8ce55..1c7f895a69d2 100644
--- a/arch/arm/mach-imx/devices/platform-pata_imx.c
+++ b/arch/arm/mach-imx/devices/platform-pata_imx.c
@@ -28,16 +28,6 @@ const struct imx_pata_imx_data imx35_pata_imx_data __initconst =
28 imx_pata_imx_data_entry_single(MX35, SZ_16K); 28 imx_pata_imx_data_entry_single(MX35, SZ_16K);
29#endif /* ifdef CONFIG_SOC_IMX35 */ 29#endif /* ifdef CONFIG_SOC_IMX35 */
30 30
31#ifdef CONFIG_SOC_IMX51
32const struct imx_pata_imx_data imx51_pata_imx_data __initconst =
33 imx_pata_imx_data_entry_single(MX51, SZ_16K);
34#endif /* ifdef CONFIG_SOC_IMX51 */
35
36#ifdef CONFIG_SOC_IMX53
37const struct imx_pata_imx_data imx53_pata_imx_data __initconst =
38 imx_pata_imx_data_entry_single(MX53, SZ_16K);
39#endif /* ifdef CONFIG_SOC_IMX53 */
40
41struct platform_device *__init imx_add_pata_imx( 31struct platform_device *__init imx_add_pata_imx(
42 const struct imx_pata_imx_data *data) 32 const struct imx_pata_imx_data *data)
43{ 33{
diff --git a/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c b/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c
index e66a4e316311..fb8d4a2ad48c 100644
--- a/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c
+++ b/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c
@@ -43,30 +43,6 @@ imx35_sdhci_esdhc_imx_data[] __initconst = {
43}; 43};
44#endif /* ifdef CONFIG_SOC_IMX35 */ 44#endif /* ifdef CONFIG_SOC_IMX35 */
45 45
46#ifdef CONFIG_SOC_IMX51
47const struct imx_sdhci_esdhc_imx_data
48imx51_sdhci_esdhc_imx_data[] __initconst = {
49#define imx51_sdhci_esdhc_imx_data_entry(_id, _hwid) \
50 imx_sdhci_esdhc_imx_data_entry(MX51, "sdhci-esdhc-imx51", _id, _hwid)
51 imx51_sdhci_esdhc_imx_data_entry(0, 1),
52 imx51_sdhci_esdhc_imx_data_entry(1, 2),
53 imx51_sdhci_esdhc_imx_data_entry(2, 3),
54 imx51_sdhci_esdhc_imx_data_entry(3, 4),
55};
56#endif /* ifdef CONFIG_SOC_IMX51 */
57
58#ifdef CONFIG_SOC_IMX53
59const struct imx_sdhci_esdhc_imx_data
60imx53_sdhci_esdhc_imx_data[] __initconst = {
61#define imx53_sdhci_esdhc_imx_data_entry(_id, _hwid) \
62 imx_sdhci_esdhc_imx_data_entry(MX53, "sdhci-esdhc-imx53", _id, _hwid)
63 imx53_sdhci_esdhc_imx_data_entry(0, 1),
64 imx53_sdhci_esdhc_imx_data_entry(1, 2),
65 imx53_sdhci_esdhc_imx_data_entry(2, 3),
66 imx53_sdhci_esdhc_imx_data_entry(3, 4),
67};
68#endif /* ifdef CONFIG_SOC_IMX53 */
69
70static const struct esdhc_platform_data default_esdhc_pdata __initconst = { 46static const struct esdhc_platform_data default_esdhc_pdata __initconst = {
71 .wp_type = ESDHC_WP_NONE, 47 .wp_type = ESDHC_WP_NONE,
72 .cd_type = ESDHC_CD_NONE, 48 .cd_type = ESDHC_CD_NONE,
diff --git a/arch/arm/mach-imx/devices/platform-spi_imx.c b/arch/arm/mach-imx/devices/platform-spi_imx.c
index 8880bcb11e05..aca825d74c48 100644
--- a/arch/arm/mach-imx/devices/platform-spi_imx.c
+++ b/arch/arm/mach-imx/devices/platform-spi_imx.c
@@ -79,33 +79,6 @@ const struct imx_spi_imx_data imx35_cspi_data[] __initconst = {
79}; 79};
80#endif /* ifdef CONFIG_SOC_IMX35 */ 80#endif /* ifdef CONFIG_SOC_IMX35 */
81 81
82#ifdef CONFIG_SOC_IMX51
83/* i.mx51 has the i.mx35 type cspi */
84const struct imx_spi_imx_data imx51_cspi_data __initconst =
85 imx_spi_imx_data_entry_single(MX51, CSPI, "imx35-cspi", 2, , SZ_4K);
86
87const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = {
88#define imx51_ecspi_data_entry(_id, _hwid) \
89 imx_spi_imx_data_entry(MX51, ECSPI, "imx51-ecspi", _id, _hwid, SZ_4K)
90 imx51_ecspi_data_entry(0, 1),
91 imx51_ecspi_data_entry(1, 2),
92};
93#endif /* ifdef CONFIG_SOC_IMX51 */
94
95#ifdef CONFIG_SOC_IMX53
96/* i.mx53 has the i.mx35 type cspi */
97const struct imx_spi_imx_data imx53_cspi_data __initconst =
98 imx_spi_imx_data_entry_single(MX53, CSPI, "imx35-cspi", 2, , SZ_4K);
99
100/* i.mx53 has the i.mx51 type ecspi */
101const struct imx_spi_imx_data imx53_ecspi_data[] __initconst = {
102#define imx53_ecspi_data_entry(_id, _hwid) \
103 imx_spi_imx_data_entry(MX53, ECSPI, "imx51-ecspi", _id, _hwid, SZ_4K)
104 imx53_ecspi_data_entry(0, 1),
105 imx53_ecspi_data_entry(1, 2),
106};
107#endif /* ifdef CONFIG_SOC_IMX53 */
108
109struct platform_device *__init imx_add_spi_imx( 82struct platform_device *__init imx_add_spi_imx(
110 const struct imx_spi_imx_data *data, 83 const struct imx_spi_imx_data *data,
111 const struct spi_imx_master *pdata) 84 const struct spi_imx_master *pdata)