diff options
Diffstat (limited to 'arch/arm/mach-mxs')
20 files changed, 1 insertions, 979 deletions
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig index 2e6cb6d8604f..ecc431909d6f 100644 --- a/arch/arm/mach-mxs/Kconfig +++ b/arch/arm/mach-mxs/Kconfig | |||
@@ -1,7 +1,5 @@ | |||
1 | if ARCH_MXS | 1 | if ARCH_MXS |
2 | 2 | ||
3 | source "arch/arm/mach-mxs/devices/Kconfig" | ||
4 | |||
5 | config SOC_IMX23 | 3 | config SOC_IMX23 |
6 | bool | 4 | bool |
7 | select ARM_AMBA | 5 | select ARM_AMBA |
diff --git a/arch/arm/mach-mxs/Makefile b/arch/arm/mach-mxs/Makefile index a7ace243cfcc..2480ce99c6c4 100644 --- a/arch/arm/mach-mxs/Makefile +++ b/arch/arm/mach-mxs/Makefile | |||
@@ -1,8 +1,6 @@ | |||
1 | # Common support | 1 | # Common support |
2 | obj-y := devices.o icoll.o iomux.o ocotp.o system.o timer.o mm.o | 2 | obj-y := icoll.o iomux.o ocotp.o system.o timer.o mm.o |
3 | 3 | ||
4 | obj-$(CONFIG_PM) += pm.o | 4 | obj-$(CONFIG_PM) += pm.o |
5 | 5 | ||
6 | obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o | 6 | obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o |
7 | |||
8 | obj-y += devices/ | ||
diff --git a/arch/arm/mach-mxs/devices-mx23.h b/arch/arm/mach-mxs/devices-mx23.h deleted file mode 100644 index 9ee5cede3d42..000000000000 --- a/arch/arm/mach-mxs/devices-mx23.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it under | ||
8 | * the terms of the GNU General Public License version 2 as published by the | ||
9 | * Free Software Foundation. | ||
10 | */ | ||
11 | #include <mach/mx23.h> | ||
12 | #include <mach/devices-common.h> | ||
13 | #include <linux/mxsfb.h> | ||
14 | #include <linux/amba/bus.h> | ||
15 | |||
16 | static inline int mx23_add_duart(void) | ||
17 | { | ||
18 | struct amba_device *d; | ||
19 | |||
20 | d = amba_ahb_device_add(NULL, "duart", MX23_DUART_BASE_ADDR, SZ_8K, | ||
21 | MX23_INT_DUART, 0, 0, 0); | ||
22 | return IS_ERR(d) ? PTR_ERR(d) : 0; | ||
23 | } | ||
24 | |||
25 | extern const struct mxs_auart_data mx23_auart_data[] __initconst; | ||
26 | #define mx23_add_auart(id) mxs_add_auart(&mx23_auart_data[id]) | ||
27 | #define mx23_add_auart0() mx23_add_auart(0) | ||
28 | #define mx23_add_auart1() mx23_add_auart(1) | ||
29 | |||
30 | extern const struct mxs_gpmi_nand_data mx23_gpmi_nand_data __initconst; | ||
31 | #define mx23_add_gpmi_nand(pdata) \ | ||
32 | mxs_add_gpmi_nand(pdata, &mx23_gpmi_nand_data) | ||
33 | |||
34 | extern const struct mxs_mxs_mmc_data mx23_mxs_mmc_data[] __initconst; | ||
35 | #define mx23_add_mxs_mmc(id, pdata) \ | ||
36 | mxs_add_mxs_mmc(&mx23_mxs_mmc_data[id], pdata) | ||
37 | |||
38 | #define mx23_add_mxs_pwm(id) mxs_add_mxs_pwm(MX23_PWM_BASE_ADDR, id) | ||
39 | |||
40 | struct platform_device *__init mx23_add_mxsfb( | ||
41 | const struct mxsfb_platform_data *pdata); | ||
42 | |||
43 | struct platform_device *__init mx23_add_rtc_stmp3xxx(void); | ||
diff --git a/arch/arm/mach-mxs/devices-mx28.h b/arch/arm/mach-mxs/devices-mx28.h deleted file mode 100644 index fcab431060f4..000000000000 --- a/arch/arm/mach-mxs/devices-mx28.h +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it under | ||
8 | * the terms of the GNU General Public License version 2 as published by the | ||
9 | * Free Software Foundation. | ||
10 | */ | ||
11 | #include <mach/mx28.h> | ||
12 | #include <mach/devices-common.h> | ||
13 | #include <linux/mxsfb.h> | ||
14 | #include <linux/amba/bus.h> | ||
15 | |||
16 | static inline int mx28_add_duart(void) | ||
17 | { | ||
18 | struct amba_device *d; | ||
19 | |||
20 | d = amba_ahb_device_add(NULL, "duart", MX28_DUART_BASE_ADDR, SZ_8K, | ||
21 | MX28_INT_DUART, 0, 0, 0); | ||
22 | return IS_ERR(d) ? PTR_ERR(d) : 0; | ||
23 | } | ||
24 | |||
25 | extern const struct mxs_auart_data mx28_auart_data[] __initconst; | ||
26 | #define mx28_add_auart(id) mxs_add_auart(&mx28_auart_data[id]) | ||
27 | #define mx28_add_auart0() mx28_add_auart(0) | ||
28 | #define mx28_add_auart1() mx28_add_auart(1) | ||
29 | #define mx28_add_auart2() mx28_add_auart(2) | ||
30 | #define mx28_add_auart3() mx28_add_auart(3) | ||
31 | #define mx28_add_auart4() mx28_add_auart(4) | ||
32 | |||
33 | extern const struct mxs_fec_data mx28_fec_data[] __initconst; | ||
34 | #define mx28_add_fec(id, pdata) \ | ||
35 | mxs_add_fec(&mx28_fec_data[id], pdata) | ||
36 | |||
37 | extern const struct mxs_flexcan_data mx28_flexcan_data[] __initconst; | ||
38 | #define mx28_add_flexcan(id, pdata) \ | ||
39 | mxs_add_flexcan(&mx28_flexcan_data[id], pdata) | ||
40 | #define mx28_add_flexcan0(pdata) mx28_add_flexcan(0, pdata) | ||
41 | #define mx28_add_flexcan1(pdata) mx28_add_flexcan(1, pdata) | ||
42 | |||
43 | extern const struct mxs_gpmi_nand_data mx28_gpmi_nand_data __initconst; | ||
44 | #define mx28_add_gpmi_nand(pdata) \ | ||
45 | mxs_add_gpmi_nand(pdata, &mx28_gpmi_nand_data) | ||
46 | |||
47 | extern const struct mxs_mxs_i2c_data mx28_mxs_i2c_data[] __initconst; | ||
48 | #define mx28_add_mxs_i2c(id) mxs_add_mxs_i2c(&mx28_mxs_i2c_data[id]) | ||
49 | |||
50 | extern const struct mxs_mxs_mmc_data mx28_mxs_mmc_data[] __initconst; | ||
51 | #define mx28_add_mxs_mmc(id, pdata) \ | ||
52 | mxs_add_mxs_mmc(&mx28_mxs_mmc_data[id], pdata) | ||
53 | |||
54 | #define mx28_add_mxs_pwm(id) mxs_add_mxs_pwm(MX28_PWM_BASE_ADDR, id) | ||
55 | |||
56 | struct platform_device *__init mx28_add_mxsfb( | ||
57 | const struct mxsfb_platform_data *pdata); | ||
58 | |||
59 | extern const struct mxs_saif_data mx28_saif_data[] __initconst; | ||
60 | #define mx28_add_saif(id, pdata) \ | ||
61 | mxs_add_saif(&mx28_saif_data[id], pdata) | ||
62 | |||
63 | struct platform_device *__init mx28_add_rtc_stmp3xxx(void); | ||
diff --git a/arch/arm/mach-mxs/devices.c b/arch/arm/mach-mxs/devices.c deleted file mode 100644 index cf50b5a66dda..000000000000 --- a/arch/arm/mach-mxs/devices.c +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Sascha Hauer, kernel@pengutronix.de | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, write to the Free Software | ||
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
16 | * Boston, MA 02110-1301, USA. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/slab.h> | ||
21 | #include <linux/init.h> | ||
22 | #include <linux/platform_device.h> | ||
23 | #include <linux/amba/bus.h> | ||
24 | |||
25 | struct platform_device *__init mxs_add_platform_device_dmamask( | ||
26 | const char *name, int id, | ||
27 | const struct resource *res, unsigned int num_resources, | ||
28 | const void *data, size_t size_data, u64 dmamask) | ||
29 | { | ||
30 | int ret = -ENOMEM; | ||
31 | struct platform_device *pdev; | ||
32 | |||
33 | pdev = platform_device_alloc(name, id); | ||
34 | if (!pdev) | ||
35 | goto err; | ||
36 | |||
37 | if (dmamask) { | ||
38 | /* | ||
39 | * This memory isn't freed when the device is put, | ||
40 | * I don't have a nice idea for that though. Conceptually | ||
41 | * dma_mask in struct device should not be a pointer. | ||
42 | * See http://thread.gmane.org/gmane.linux.kernel.pci/9081 | ||
43 | */ | ||
44 | pdev->dev.dma_mask = | ||
45 | kmalloc(sizeof(*pdev->dev.dma_mask), GFP_KERNEL); | ||
46 | if (!pdev->dev.dma_mask) | ||
47 | /* ret is still -ENOMEM; */ | ||
48 | goto err; | ||
49 | |||
50 | *pdev->dev.dma_mask = dmamask; | ||
51 | pdev->dev.coherent_dma_mask = dmamask; | ||
52 | } | ||
53 | |||
54 | if (res) { | ||
55 | ret = platform_device_add_resources(pdev, res, num_resources); | ||
56 | if (ret) | ||
57 | goto err; | ||
58 | } | ||
59 | |||
60 | if (data) { | ||
61 | ret = platform_device_add_data(pdev, data, size_data); | ||
62 | if (ret) | ||
63 | goto err; | ||
64 | } | ||
65 | |||
66 | ret = platform_device_add(pdev); | ||
67 | if (ret) { | ||
68 | err: | ||
69 | if (dmamask) | ||
70 | kfree(pdev->dev.dma_mask); | ||
71 | platform_device_put(pdev); | ||
72 | return ERR_PTR(ret); | ||
73 | } | ||
74 | |||
75 | return pdev; | ||
76 | } | ||
77 | |||
78 | struct device mxs_apbh_bus = { | ||
79 | .init_name = "mxs_apbh", | ||
80 | .parent = &platform_bus, | ||
81 | }; | ||
82 | |||
83 | static int __init mxs_device_init(void) | ||
84 | { | ||
85 | return device_register(&mxs_apbh_bus); | ||
86 | } | ||
87 | core_initcall(mxs_device_init); | ||
diff --git a/arch/arm/mach-mxs/devices/Kconfig b/arch/arm/mach-mxs/devices/Kconfig deleted file mode 100644 index 19659de1c4e8..000000000000 --- a/arch/arm/mach-mxs/devices/Kconfig +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | config MXS_HAVE_AMBA_DUART | ||
2 | bool | ||
3 | |||
4 | config MXS_HAVE_PLATFORM_AUART | ||
5 | bool | ||
6 | |||
7 | config MXS_HAVE_PLATFORM_FEC | ||
8 | bool | ||
9 | |||
10 | config MXS_HAVE_PLATFORM_FLEXCAN | ||
11 | select HAVE_CAN_FLEXCAN if CAN | ||
12 | bool | ||
13 | |||
14 | config MXS_HAVE_PLATFORM_GPMI_NAND | ||
15 | bool | ||
16 | |||
17 | config MXS_HAVE_PLATFORM_MXS_I2C | ||
18 | bool | ||
19 | |||
20 | config MXS_HAVE_PLATFORM_MXS_MMC | ||
21 | bool | ||
22 | |||
23 | config MXS_HAVE_PLATFORM_MXS_PWM | ||
24 | bool | ||
25 | |||
26 | config MXS_HAVE_PLATFORM_MXSFB | ||
27 | bool | ||
28 | |||
29 | config MXS_HAVE_PLATFORM_MXS_SAIF | ||
30 | bool | ||
31 | |||
32 | config MXS_HAVE_PLATFORM_RTC_STMP3XXX | ||
33 | bool | ||
diff --git a/arch/arm/mach-mxs/devices/Makefile b/arch/arm/mach-mxs/devices/Makefile deleted file mode 100644 index 5f72d9787444..000000000000 --- a/arch/arm/mach-mxs/devices/Makefile +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | obj-$(CONFIG_MXS_HAVE_PLATFORM_AUART) += platform-auart.o | ||
2 | obj-y += platform-dma.o | ||
3 | obj-$(CONFIG_MXS_HAVE_PLATFORM_FEC) += platform-fec.o | ||
4 | obj-$(CONFIG_MXS_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o | ||
5 | obj-$(CONFIG_MXS_HAVE_PLATFORM_GPMI_NAND) += platform-gpmi-nand.o | ||
6 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_I2C) += platform-mxs-i2c.o | ||
7 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_MMC) += platform-mxs-mmc.o | ||
8 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_PWM) += platform-mxs-pwm.o | ||
9 | obj-y += platform-gpio-mxs.o | ||
10 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXSFB) += platform-mxsfb.o | ||
11 | obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_SAIF) += platform-mxs-saif.o | ||
12 | obj-$(CONFIG_MXS_HAVE_PLATFORM_RTC_STMP3XXX) += platform-rtc-stmp3xxx.o | ||
diff --git a/arch/arm/mach-mxs/devices/platform-auart.c b/arch/arm/mach-mxs/devices/platform-auart.c deleted file mode 100644 index 27608f5d2ac8..000000000000 --- a/arch/arm/mach-mxs/devices/platform-auart.c +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Sascha Hauer <s.hauer@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 <linux/dma-mapping.h> | ||
10 | #include <asm/sizes.h> | ||
11 | #include <mach/mx23.h> | ||
12 | #include <mach/mx28.h> | ||
13 | #include <mach/devices-common.h> | ||
14 | |||
15 | #define mxs_auart_data_entry_single(soc, _id, hwid) \ | ||
16 | { \ | ||
17 | .id = _id, \ | ||
18 | .iobase = soc ## _AUART ## hwid ## _BASE_ADDR, \ | ||
19 | .irq = soc ## _INT_AUART ## hwid, \ | ||
20 | } | ||
21 | |||
22 | #define mxs_auart_data_entry(soc, _id, hwid) \ | ||
23 | [_id] = mxs_auart_data_entry_single(soc, _id, hwid) | ||
24 | |||
25 | #ifdef CONFIG_SOC_IMX23 | ||
26 | const struct mxs_auart_data mx23_auart_data[] __initconst = { | ||
27 | #define mx23_auart_data_entry(_id, hwid) \ | ||
28 | mxs_auart_data_entry(MX23, _id, hwid) | ||
29 | mx23_auart_data_entry(0, 1), | ||
30 | mx23_auart_data_entry(1, 2), | ||
31 | }; | ||
32 | #endif | ||
33 | |||
34 | #ifdef CONFIG_SOC_IMX28 | ||
35 | const struct mxs_auart_data mx28_auart_data[] __initconst = { | ||
36 | #define mx28_auart_data_entry(_id) \ | ||
37 | mxs_auart_data_entry(MX28, _id, _id) | ||
38 | mx28_auart_data_entry(0), | ||
39 | mx28_auart_data_entry(1), | ||
40 | mx28_auart_data_entry(2), | ||
41 | mx28_auart_data_entry(3), | ||
42 | mx28_auart_data_entry(4), | ||
43 | }; | ||
44 | #endif | ||
45 | |||
46 | struct platform_device *__init mxs_add_auart( | ||
47 | const struct mxs_auart_data *data) | ||
48 | { | ||
49 | struct resource res[] = { | ||
50 | { | ||
51 | .start = data->iobase, | ||
52 | .end = data->iobase + SZ_8K - 1, | ||
53 | .flags = IORESOURCE_MEM, | ||
54 | }, { | ||
55 | .start = data->irq, | ||
56 | .end = data->irq, | ||
57 | .flags = IORESOURCE_IRQ, | ||
58 | }, | ||
59 | }; | ||
60 | |||
61 | return mxs_add_platform_device_dmamask("mxs-auart", data->id, | ||
62 | res, ARRAY_SIZE(res), NULL, 0, | ||
63 | DMA_BIT_MASK(32)); | ||
64 | } | ||
65 | |||
diff --git a/arch/arm/mach-mxs/devices/platform-dma.c b/arch/arm/mach-mxs/devices/platform-dma.c deleted file mode 100644 index 46824501de00..000000000000 --- a/arch/arm/mach-mxs/devices/platform-dma.c +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <linux/compiler.h> | ||
9 | #include <linux/dma-mapping.h> | ||
10 | #include <linux/err.h> | ||
11 | #include <linux/init.h> | ||
12 | |||
13 | #include <mach/mx23.h> | ||
14 | #include <mach/mx28.h> | ||
15 | #include <mach/devices-common.h> | ||
16 | |||
17 | struct platform_device *__init mxs_add_dma(const char *devid, | ||
18 | resource_size_t base) | ||
19 | { | ||
20 | struct resource res[] = { | ||
21 | { | ||
22 | .start = base, | ||
23 | .end = base + SZ_8K - 1, | ||
24 | .flags = IORESOURCE_MEM, | ||
25 | } | ||
26 | }; | ||
27 | |||
28 | return mxs_add_platform_device_dmamask(devid, -1, | ||
29 | res, ARRAY_SIZE(res), NULL, 0, | ||
30 | DMA_BIT_MASK(32)); | ||
31 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-fec.c b/arch/arm/mach-mxs/devices/platform-fec.c deleted file mode 100644 index ae96a4fd8f14..000000000000 --- a/arch/arm/mach-mxs/devices/platform-fec.c +++ /dev/null | |||
@@ -1,52 +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 <linux/dma-mapping.h> | ||
10 | #include <asm/sizes.h> | ||
11 | #include <mach/mx28.h> | ||
12 | #include <mach/devices-common.h> | ||
13 | |||
14 | #define mxs_fec_data_entry_single(soc, _id) \ | ||
15 | { \ | ||
16 | .id = _id, \ | ||
17 | .iobase = soc ## _ENET_MAC ## _id ## _BASE_ADDR, \ | ||
18 | .irq = soc ## _INT_ENET_MAC ## _id, \ | ||
19 | } | ||
20 | |||
21 | #define mxs_fec_data_entry(soc, _id) \ | ||
22 | [_id] = mxs_fec_data_entry_single(soc, _id) | ||
23 | |||
24 | #ifdef CONFIG_SOC_IMX28 | ||
25 | const struct mxs_fec_data mx28_fec_data[] __initconst = { | ||
26 | #define mx28_fec_data_entry(_id) \ | ||
27 | mxs_fec_data_entry(MX28, _id) | ||
28 | mx28_fec_data_entry(0), | ||
29 | mx28_fec_data_entry(1), | ||
30 | }; | ||
31 | #endif | ||
32 | |||
33 | struct platform_device *__init mxs_add_fec( | ||
34 | const struct mxs_fec_data *data, | ||
35 | const struct fec_platform_data *pdata) | ||
36 | { | ||
37 | struct resource res[] = { | ||
38 | { | ||
39 | .start = data->iobase, | ||
40 | .end = data->iobase + SZ_16K - 1, | ||
41 | .flags = IORESOURCE_MEM, | ||
42 | }, { | ||
43 | .start = data->irq, | ||
44 | .end = data->irq, | ||
45 | .flags = IORESOURCE_IRQ, | ||
46 | }, | ||
47 | }; | ||
48 | |||
49 | return mxs_add_platform_device_dmamask("imx28-fec", data->id, | ||
50 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata), | ||
51 | DMA_BIT_MASK(32)); | ||
52 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-flexcan.c b/arch/arm/mach-mxs/devices/platform-flexcan.c deleted file mode 100644 index 43a6b4bae6fe..000000000000 --- a/arch/arm/mach-mxs/devices/platform-flexcan.c +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010, 2011 Pengutronix, | ||
3 | * Marc Kleine-Budde <kernel@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 <asm/sizes.h> | ||
10 | #include <mach/mx28.h> | ||
11 | #include <mach/devices-common.h> | ||
12 | |||
13 | #define mxs_flexcan_data_entry_single(soc, _id, _hwid, _size) \ | ||
14 | { \ | ||
15 | .id = _id, \ | ||
16 | .iobase = soc ## _CAN ## _hwid ## _BASE_ADDR, \ | ||
17 | .iosize = _size, \ | ||
18 | .irq = soc ## _INT_CAN ## _hwid, \ | ||
19 | } | ||
20 | |||
21 | #define mxs_flexcan_data_entry(soc, _id, _hwid, _size) \ | ||
22 | [_id] = mxs_flexcan_data_entry_single(soc, _id, _hwid, _size) | ||
23 | |||
24 | #ifdef CONFIG_SOC_IMX28 | ||
25 | const struct mxs_flexcan_data mx28_flexcan_data[] __initconst = { | ||
26 | #define mx28_flexcan_data_entry(_id, _hwid) \ | ||
27 | mxs_flexcan_data_entry_single(MX28, _id, _hwid, SZ_8K) | ||
28 | mx28_flexcan_data_entry(0, 0), | ||
29 | mx28_flexcan_data_entry(1, 1), | ||
30 | }; | ||
31 | #endif /* ifdef CONFIG_SOC_IMX28 */ | ||
32 | |||
33 | struct platform_device *__init mxs_add_flexcan( | ||
34 | const struct mxs_flexcan_data *data, | ||
35 | const struct flexcan_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->irq, | ||
44 | .end = data->irq, | ||
45 | .flags = IORESOURCE_IRQ, | ||
46 | }, | ||
47 | }; | ||
48 | |||
49 | return mxs_add_platform_device("flexcan", data->id, | ||
50 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata)); | ||
51 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-gpio-mxs.c b/arch/arm/mach-mxs/devices/platform-gpio-mxs.c deleted file mode 100644 index cd99f19ec637..000000000000 --- a/arch/arm/mach-mxs/devices/platform-gpio-mxs.c +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <linux/compiler.h> | ||
9 | #include <linux/err.h> | ||
10 | #include <linux/init.h> | ||
11 | |||
12 | #include <mach/mx23.h> | ||
13 | #include <mach/mx28.h> | ||
14 | #include <mach/devices-common.h> | ||
15 | |||
16 | struct platform_device *__init mxs_add_gpio( | ||
17 | char *name, int id, resource_size_t iobase, int irq) | ||
18 | { | ||
19 | struct resource res[] = { | ||
20 | { | ||
21 | .start = iobase, | ||
22 | .end = iobase + SZ_8K - 1, | ||
23 | .flags = IORESOURCE_MEM, | ||
24 | }, { | ||
25 | .start = irq, | ||
26 | .end = irq, | ||
27 | .flags = IORESOURCE_IRQ, | ||
28 | }, | ||
29 | }; | ||
30 | |||
31 | return platform_device_register_resndata(&mxs_apbh_bus, | ||
32 | name, id, res, ARRAY_SIZE(res), NULL, 0); | ||
33 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-gpmi-nand.c b/arch/arm/mach-mxs/devices/platform-gpmi-nand.c deleted file mode 100644 index 3e22df5944a8..000000000000 --- a/arch/arm/mach-mxs/devices/platform-gpmi-nand.c +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
17 | */ | ||
18 | #include <asm/sizes.h> | ||
19 | #include <mach/mx23.h> | ||
20 | #include <mach/mx28.h> | ||
21 | #include <mach/devices-common.h> | ||
22 | #include <linux/dma-mapping.h> | ||
23 | |||
24 | #ifdef CONFIG_SOC_IMX23 | ||
25 | const struct mxs_gpmi_nand_data mx23_gpmi_nand_data __initconst = { | ||
26 | .devid = "imx23-gpmi-nand", | ||
27 | .res = { | ||
28 | /* GPMI */ | ||
29 | DEFINE_RES_MEM_NAMED(MX23_GPMI_BASE_ADDR, SZ_8K, | ||
30 | GPMI_NAND_GPMI_REGS_ADDR_RES_NAME), | ||
31 | DEFINE_RES_IRQ_NAMED(MX23_INT_GPMI_ATTENTION, | ||
32 | GPMI_NAND_GPMI_INTERRUPT_RES_NAME), | ||
33 | /* BCH */ | ||
34 | DEFINE_RES_MEM_NAMED(MX23_BCH_BASE_ADDR, SZ_8K, | ||
35 | GPMI_NAND_BCH_REGS_ADDR_RES_NAME), | ||
36 | DEFINE_RES_IRQ_NAMED(MX23_INT_BCH, | ||
37 | GPMI_NAND_BCH_INTERRUPT_RES_NAME), | ||
38 | /* DMA */ | ||
39 | DEFINE_RES_NAMED(MX23_DMA_GPMI0, | ||
40 | MX23_DMA_GPMI3 - MX23_DMA_GPMI0 + 1, | ||
41 | GPMI_NAND_DMA_CHANNELS_RES_NAME, | ||
42 | IORESOURCE_DMA), | ||
43 | DEFINE_RES_IRQ_NAMED(MX23_INT_GPMI_DMA, | ||
44 | GPMI_NAND_DMA_INTERRUPT_RES_NAME), | ||
45 | }, | ||
46 | }; | ||
47 | #endif | ||
48 | |||
49 | #ifdef CONFIG_SOC_IMX28 | ||
50 | const struct mxs_gpmi_nand_data mx28_gpmi_nand_data __initconst = { | ||
51 | .devid = "imx28-gpmi-nand", | ||
52 | .res = { | ||
53 | /* GPMI */ | ||
54 | DEFINE_RES_MEM_NAMED(MX28_GPMI_BASE_ADDR, SZ_8K, | ||
55 | GPMI_NAND_GPMI_REGS_ADDR_RES_NAME), | ||
56 | DEFINE_RES_IRQ_NAMED(MX28_INT_GPMI, | ||
57 | GPMI_NAND_GPMI_INTERRUPT_RES_NAME), | ||
58 | /* BCH */ | ||
59 | DEFINE_RES_MEM_NAMED(MX28_BCH_BASE_ADDR, SZ_8K, | ||
60 | GPMI_NAND_BCH_REGS_ADDR_RES_NAME), | ||
61 | DEFINE_RES_IRQ_NAMED(MX28_INT_BCH, | ||
62 | GPMI_NAND_BCH_INTERRUPT_RES_NAME), | ||
63 | /* DMA */ | ||
64 | DEFINE_RES_NAMED(MX28_DMA_GPMI0, | ||
65 | MX28_DMA_GPMI7 - MX28_DMA_GPMI0 + 1, | ||
66 | GPMI_NAND_DMA_CHANNELS_RES_NAME, | ||
67 | IORESOURCE_DMA), | ||
68 | DEFINE_RES_IRQ_NAMED(MX28_INT_GPMI_DMA, | ||
69 | GPMI_NAND_DMA_INTERRUPT_RES_NAME), | ||
70 | }, | ||
71 | }; | ||
72 | #endif | ||
73 | |||
74 | struct platform_device *__init | ||
75 | mxs_add_gpmi_nand(const struct gpmi_nand_platform_data *pdata, | ||
76 | const struct mxs_gpmi_nand_data *data) | ||
77 | { | ||
78 | return mxs_add_platform_device_dmamask(data->devid, -1, | ||
79 | data->res, GPMI_NAND_RES_SIZE, | ||
80 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | ||
81 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-mxs-i2c.c b/arch/arm/mach-mxs/devices/platform-mxs-i2c.c deleted file mode 100644 index 79222ec8ede1..000000000000 --- a/arch/arm/mach-mxs/devices/platform-mxs-i2c.c +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Pengutronix | ||
3 | * Wolfram Sang <w.sang@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 <asm/sizes.h> | ||
10 | #include <mach/mx28.h> | ||
11 | #include <mach/devices-common.h> | ||
12 | |||
13 | #define mxs_i2c_data_entry_single(soc, _id) \ | ||
14 | { \ | ||
15 | .id = _id, \ | ||
16 | .iobase = soc ## _I2C ## _id ## _BASE_ADDR, \ | ||
17 | .errirq = soc ## _INT_I2C ## _id ## _ERROR, \ | ||
18 | .dmairq = soc ## _INT_I2C ## _id ## _DMA, \ | ||
19 | } | ||
20 | |||
21 | #define mxs_i2c_data_entry(soc, _id) \ | ||
22 | [_id] = mxs_i2c_data_entry_single(soc, _id) | ||
23 | |||
24 | #ifdef CONFIG_SOC_IMX28 | ||
25 | const struct mxs_mxs_i2c_data mx28_mxs_i2c_data[] __initconst = { | ||
26 | mxs_i2c_data_entry(MX28, 0), | ||
27 | mxs_i2c_data_entry(MX28, 1), | ||
28 | }; | ||
29 | #endif | ||
30 | |||
31 | struct platform_device *__init mxs_add_mxs_i2c( | ||
32 | const struct mxs_mxs_i2c_data *data) | ||
33 | { | ||
34 | struct resource res[] = { | ||
35 | { | ||
36 | .start = data->iobase, | ||
37 | .end = data->iobase + SZ_8K - 1, | ||
38 | .flags = IORESOURCE_MEM, | ||
39 | }, { | ||
40 | .start = data->errirq, | ||
41 | .end = data->errirq, | ||
42 | .flags = IORESOURCE_IRQ, | ||
43 | }, { | ||
44 | .start = data->dmairq, | ||
45 | .end = data->dmairq, | ||
46 | .flags = IORESOURCE_IRQ, | ||
47 | }, | ||
48 | }; | ||
49 | |||
50 | return mxs_add_platform_device("mxs-i2c", data->id, res, | ||
51 | ARRAY_SIZE(res), NULL, 0); | ||
52 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-mxs-mmc.c b/arch/arm/mach-mxs/devices/platform-mxs-mmc.c deleted file mode 100644 index b33c9d05c552..000000000000 --- a/arch/arm/mach-mxs/devices/platform-mxs-mmc.c +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | ||
4 | * | ||
5 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it under | ||
8 | * the terms of the GNU General Public License version 2 as published by the | ||
9 | * Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include <linux/compiler.h> | ||
13 | #include <linux/err.h> | ||
14 | #include <linux/init.h> | ||
15 | |||
16 | #include <mach/mx23.h> | ||
17 | #include <mach/mx28.h> | ||
18 | #include <mach/devices-common.h> | ||
19 | |||
20 | #define mxs_mxs_mmc_data_entry_single(soc, _devid, _id, hwid) \ | ||
21 | { \ | ||
22 | .devid = _devid, \ | ||
23 | .id = _id, \ | ||
24 | .iobase = soc ## _SSP ## hwid ## _BASE_ADDR, \ | ||
25 | .dma = soc ## _DMA_SSP ## hwid, \ | ||
26 | .irq_err = soc ## _INT_SSP ## hwid ## _ERROR, \ | ||
27 | .irq_dma = soc ## _INT_SSP ## hwid ## _DMA, \ | ||
28 | } | ||
29 | |||
30 | #define mxs_mxs_mmc_data_entry(soc, _devid, _id, hwid) \ | ||
31 | [_id] = mxs_mxs_mmc_data_entry_single(soc, _devid, _id, hwid) | ||
32 | |||
33 | |||
34 | #ifdef CONFIG_SOC_IMX23 | ||
35 | const struct mxs_mxs_mmc_data mx23_mxs_mmc_data[] __initconst = { | ||
36 | mxs_mxs_mmc_data_entry(MX23, "imx23-mmc", 0, 1), | ||
37 | mxs_mxs_mmc_data_entry(MX23, "imx23-mmc", 1, 2), | ||
38 | }; | ||
39 | #endif | ||
40 | |||
41 | #ifdef CONFIG_SOC_IMX28 | ||
42 | const struct mxs_mxs_mmc_data mx28_mxs_mmc_data[] __initconst = { | ||
43 | mxs_mxs_mmc_data_entry(MX28, "imx28-mmc", 0, 0), | ||
44 | mxs_mxs_mmc_data_entry(MX28, "imx28-mmc", 1, 1), | ||
45 | mxs_mxs_mmc_data_entry(MX28, "imx28-mmc", 2, 2), | ||
46 | mxs_mxs_mmc_data_entry(MX28, "imx28-mmc", 3, 3), | ||
47 | }; | ||
48 | #endif | ||
49 | |||
50 | struct platform_device *__init mxs_add_mxs_mmc( | ||
51 | const struct mxs_mxs_mmc_data *data, | ||
52 | const struct mxs_mmc_platform_data *pdata) | ||
53 | { | ||
54 | struct resource res[] = { | ||
55 | { | ||
56 | .start = data->iobase, | ||
57 | .end = data->iobase + SZ_8K - 1, | ||
58 | .flags = IORESOURCE_MEM, | ||
59 | }, { | ||
60 | .start = data->dma, | ||
61 | .end = data->dma, | ||
62 | .flags = IORESOURCE_DMA, | ||
63 | }, { | ||
64 | .start = data->irq_err, | ||
65 | .end = data->irq_err, | ||
66 | .flags = IORESOURCE_IRQ, | ||
67 | }, { | ||
68 | .start = data->irq_dma, | ||
69 | .end = data->irq_dma, | ||
70 | .flags = IORESOURCE_IRQ, | ||
71 | }, | ||
72 | }; | ||
73 | |||
74 | return mxs_add_platform_device(data->devid, data->id, | ||
75 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata)); | ||
76 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-mxs-pwm.c b/arch/arm/mach-mxs/devices/platform-mxs-pwm.c deleted file mode 100644 index 680f5a902936..000000000000 --- a/arch/arm/mach-mxs/devices/platform-mxs-pwm.c +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Sascha Hauer <s.hauer@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 <asm/sizes.h> | ||
10 | #include <mach/devices-common.h> | ||
11 | |||
12 | struct platform_device *__init mxs_add_mxs_pwm(resource_size_t iobase, int id) | ||
13 | { | ||
14 | struct resource res = { | ||
15 | .flags = IORESOURCE_MEM, | ||
16 | }; | ||
17 | |||
18 | res.start = iobase + 0x10 + 0x20 * id; | ||
19 | res.end = res.start + 0x1f; | ||
20 | |||
21 | return mxs_add_platform_device("mxs-pwm", id, &res, 1, NULL, 0); | ||
22 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-mxs-saif.c b/arch/arm/mach-mxs/devices/platform-mxs-saif.c deleted file mode 100644 index f6e3a60b4201..000000000000 --- a/arch/arm/mach-mxs/devices/platform-mxs-saif.c +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <linux/compiler.h> | ||
9 | #include <linux/err.h> | ||
10 | #include <linux/init.h> | ||
11 | |||
12 | #include <mach/mx23.h> | ||
13 | #include <mach/mx28.h> | ||
14 | #include <mach/devices-common.h> | ||
15 | |||
16 | #define mxs_saif_data_entry_single(soc, _id) \ | ||
17 | { \ | ||
18 | .id = _id, \ | ||
19 | .iobase = soc ## _SAIF ## _id ## _BASE_ADDR, \ | ||
20 | .irq = soc ## _INT_SAIF ## _id, \ | ||
21 | .dma = soc ## _DMA_SAIF ## _id, \ | ||
22 | .dmairq = soc ## _INT_SAIF ## _id ##_DMA, \ | ||
23 | } | ||
24 | |||
25 | #define mxs_saif_data_entry(soc, _id) \ | ||
26 | [_id] = mxs_saif_data_entry_single(soc, _id) | ||
27 | |||
28 | #ifdef CONFIG_SOC_IMX28 | ||
29 | const struct mxs_saif_data mx28_saif_data[] __initconst = { | ||
30 | mxs_saif_data_entry(MX28, 0), | ||
31 | mxs_saif_data_entry(MX28, 1), | ||
32 | }; | ||
33 | #endif | ||
34 | |||
35 | struct platform_device *__init mxs_add_saif(const struct mxs_saif_data *data, | ||
36 | const struct mxs_saif_platform_data *pdata) | ||
37 | { | ||
38 | struct resource res[] = { | ||
39 | { | ||
40 | .start = data->iobase, | ||
41 | .end = data->iobase + SZ_4K - 1, | ||
42 | .flags = IORESOURCE_MEM, | ||
43 | }, { | ||
44 | .start = data->irq, | ||
45 | .end = data->irq, | ||
46 | .flags = IORESOURCE_IRQ, | ||
47 | }, { | ||
48 | .start = data->dma, | ||
49 | .end = data->dma, | ||
50 | .flags = IORESOURCE_DMA, | ||
51 | }, { | ||
52 | .start = data->dmairq, | ||
53 | .end = data->dmairq, | ||
54 | .flags = IORESOURCE_IRQ, | ||
55 | }, | ||
56 | |||
57 | }; | ||
58 | |||
59 | return mxs_add_platform_device("mxs-saif", data->id, res, | ||
60 | ARRAY_SIZE(res), pdata, sizeof(*pdata)); | ||
61 | } | ||
diff --git a/arch/arm/mach-mxs/devices/platform-mxsfb.c b/arch/arm/mach-mxs/devices/platform-mxsfb.c deleted file mode 100644 index 76b53f73418e..000000000000 --- a/arch/arm/mach-mxs/devices/platform-mxsfb.c +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <linux/dma-mapping.h> | ||
9 | #include <asm/sizes.h> | ||
10 | #include <mach/mx23.h> | ||
11 | #include <mach/mx28.h> | ||
12 | #include <mach/devices-common.h> | ||
13 | #include <linux/mxsfb.h> | ||
14 | |||
15 | #ifdef CONFIG_SOC_IMX23 | ||
16 | struct platform_device *__init mx23_add_mxsfb( | ||
17 | const struct mxsfb_platform_data *pdata) | ||
18 | { | ||
19 | struct resource res[] = { | ||
20 | { | ||
21 | .start = MX23_LCDIF_BASE_ADDR, | ||
22 | .end = MX23_LCDIF_BASE_ADDR + SZ_8K - 1, | ||
23 | .flags = IORESOURCE_MEM, | ||
24 | }, | ||
25 | }; | ||
26 | |||
27 | return mxs_add_platform_device_dmamask("imx23-fb", -1, | ||
28 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | ||
29 | } | ||
30 | #endif /* ifdef CONFIG_SOC_IMX23 */ | ||
31 | |||
32 | #ifdef CONFIG_SOC_IMX28 | ||
33 | struct platform_device *__init mx28_add_mxsfb( | ||
34 | const struct mxsfb_platform_data *pdata) | ||
35 | { | ||
36 | struct resource res[] = { | ||
37 | { | ||
38 | .start = MX28_LCDIF_BASE_ADDR, | ||
39 | .end = MX28_LCDIF_BASE_ADDR + SZ_8K - 1, | ||
40 | .flags = IORESOURCE_MEM, | ||
41 | }, | ||
42 | }; | ||
43 | |||
44 | return mxs_add_platform_device_dmamask("imx28-fb", -1, | ||
45 | res, ARRAY_SIZE(res), pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | ||
46 | } | ||
47 | #endif /* ifdef CONFIG_SOC_IMX28 */ | ||
diff --git a/arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c b/arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c deleted file mode 100644 index 639eaee15553..000000000000 --- a/arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Pengutronix, Wolfram Sang <w.sang@pengutronix.de> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it under | ||
5 | * the terms of the GNU General Public License version 2 as published by the | ||
6 | * Free Software Foundation. | ||
7 | */ | ||
8 | #include <asm/sizes.h> | ||
9 | #include <mach/mx23.h> | ||
10 | #include <mach/mx28.h> | ||
11 | #include <mach/devices-common.h> | ||
12 | |||
13 | #ifdef CONFIG_SOC_IMX23 | ||
14 | struct platform_device *__init mx23_add_rtc_stmp3xxx(void) | ||
15 | { | ||
16 | struct resource res[] = { | ||
17 | { | ||
18 | .start = MX23_RTC_BASE_ADDR, | ||
19 | .end = MX23_RTC_BASE_ADDR + SZ_8K - 1, | ||
20 | .flags = IORESOURCE_MEM, | ||
21 | }, { | ||
22 | .start = MX23_INT_RTC_ALARM, | ||
23 | .end = MX23_INT_RTC_ALARM, | ||
24 | .flags = IORESOURCE_IRQ, | ||
25 | }, | ||
26 | }; | ||
27 | |||
28 | return mxs_add_platform_device("stmp3xxx-rtc", 0, res, ARRAY_SIZE(res), | ||
29 | NULL, 0); | ||
30 | } | ||
31 | #endif /* CONFIG_SOC_IMX23 */ | ||
32 | |||
33 | #ifdef CONFIG_SOC_IMX28 | ||
34 | struct platform_device *__init mx28_add_rtc_stmp3xxx(void) | ||
35 | { | ||
36 | struct resource res[] = { | ||
37 | { | ||
38 | .start = MX28_RTC_BASE_ADDR, | ||
39 | .end = MX28_RTC_BASE_ADDR + SZ_8K - 1, | ||
40 | .flags = IORESOURCE_MEM, | ||
41 | }, { | ||
42 | .start = MX28_INT_RTC_ALARM, | ||
43 | .end = MX28_INT_RTC_ALARM, | ||
44 | .flags = IORESOURCE_IRQ, | ||
45 | }, | ||
46 | }; | ||
47 | |||
48 | return mxs_add_platform_device("stmp3xxx-rtc", 0, res, ARRAY_SIZE(res), | ||
49 | NULL, 0); | ||
50 | } | ||
51 | #endif /* CONFIG_SOC_IMX28 */ | ||
diff --git a/arch/arm/mach-mxs/include/mach/devices-common.h b/arch/arm/mach-mxs/include/mach/devices-common.h deleted file mode 100644 index e8b1d958240b..000000000000 --- a/arch/arm/mach-mxs/include/mach/devices-common.h +++ /dev/null | |||
@@ -1,114 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009-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 <linux/kernel.h> | ||
10 | #include <linux/platform_device.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/amba/bus.h> | ||
13 | |||
14 | extern struct device mxs_apbh_bus; | ||
15 | |||
16 | struct platform_device *mxs_add_platform_device_dmamask( | ||
17 | const char *name, int id, | ||
18 | const struct resource *res, unsigned int num_resources, | ||
19 | const void *data, size_t size_data, u64 dmamask); | ||
20 | |||
21 | static inline struct platform_device *mxs_add_platform_device( | ||
22 | const char *name, int id, | ||
23 | const struct resource *res, unsigned int num_resources, | ||
24 | const void *data, size_t size_data) | ||
25 | { | ||
26 | return mxs_add_platform_device_dmamask( | ||
27 | name, id, res, num_resources, data, size_data, 0); | ||
28 | } | ||
29 | |||
30 | /* auart */ | ||
31 | struct mxs_auart_data { | ||
32 | int id; | ||
33 | resource_size_t iobase; | ||
34 | resource_size_t iosize; | ||
35 | resource_size_t irq; | ||
36 | }; | ||
37 | struct platform_device *__init mxs_add_auart( | ||
38 | const struct mxs_auart_data *data); | ||
39 | |||
40 | /* fec */ | ||
41 | #include <linux/fec.h> | ||
42 | struct mxs_fec_data { | ||
43 | int id; | ||
44 | resource_size_t iobase; | ||
45 | resource_size_t iosize; | ||
46 | resource_size_t irq; | ||
47 | }; | ||
48 | struct platform_device *__init mxs_add_fec( | ||
49 | const struct mxs_fec_data *data, | ||
50 | const struct fec_platform_data *pdata); | ||
51 | |||
52 | /* flexcan */ | ||
53 | #include <linux/can/platform/flexcan.h> | ||
54 | struct mxs_flexcan_data { | ||
55 | int id; | ||
56 | resource_size_t iobase; | ||
57 | resource_size_t iosize; | ||
58 | resource_size_t irq; | ||
59 | }; | ||
60 | struct platform_device *__init mxs_add_flexcan( | ||
61 | const struct mxs_flexcan_data *data, | ||
62 | const struct flexcan_platform_data *pdata); | ||
63 | |||
64 | /* gpmi-nand */ | ||
65 | #include <linux/mtd/gpmi-nand.h> | ||
66 | struct mxs_gpmi_nand_data { | ||
67 | const char *devid; | ||
68 | const struct resource res[GPMI_NAND_RES_SIZE]; | ||
69 | }; | ||
70 | struct platform_device *__init | ||
71 | mxs_add_gpmi_nand(const struct gpmi_nand_platform_data *pdata, | ||
72 | const struct mxs_gpmi_nand_data *data); | ||
73 | |||
74 | /* i2c */ | ||
75 | struct mxs_mxs_i2c_data { | ||
76 | int id; | ||
77 | resource_size_t iobase; | ||
78 | resource_size_t errirq; | ||
79 | resource_size_t dmairq; | ||
80 | }; | ||
81 | struct platform_device * __init mxs_add_mxs_i2c( | ||
82 | const struct mxs_mxs_i2c_data *data); | ||
83 | |||
84 | /* mmc */ | ||
85 | #include <linux/mmc/mxs-mmc.h> | ||
86 | struct mxs_mxs_mmc_data { | ||
87 | const char *devid; | ||
88 | int id; | ||
89 | resource_size_t iobase; | ||
90 | resource_size_t dma; | ||
91 | resource_size_t irq_err; | ||
92 | resource_size_t irq_dma; | ||
93 | }; | ||
94 | struct platform_device *__init mxs_add_mxs_mmc( | ||
95 | const struct mxs_mxs_mmc_data *data, | ||
96 | const struct mxs_mmc_platform_data *pdata); | ||
97 | |||
98 | /* pwm */ | ||
99 | struct platform_device *__init mxs_add_mxs_pwm( | ||
100 | resource_size_t iobase, int id); | ||
101 | |||
102 | /* saif */ | ||
103 | #include <sound/saif.h> | ||
104 | struct mxs_saif_data { | ||
105 | int id; | ||
106 | resource_size_t iobase; | ||
107 | resource_size_t irq; | ||
108 | resource_size_t dma; | ||
109 | resource_size_t dmairq; | ||
110 | }; | ||
111 | |||
112 | struct platform_device *__init mxs_add_saif( | ||
113 | const struct mxs_saif_data *data, | ||
114 | const struct mxs_saif_platform_data *pdata); | ||