aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc/devices
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2011-08-23 16:18:06 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2011-08-24 04:11:40 -0400
commit236c4e8be436380b5354fe0d7facf94688e024ec (patch)
tree532de8e79a67c35633a40d2cadc7d06df3e6e081 /arch/arm/plat-mxc/devices
parentd8f4059bf96d9bc1b8d2003602404f3d011ac9f2 (diff)
ARM: imx: Add PATA resources for other i.MX processors
MX27/31/35/53 also have PATA block. Add PATA resources for them. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc/devices')
-rw-r--r--arch/arm/plat-mxc/devices/platform-pata_imx.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-pata_imx.c b/arch/arm/plat-mxc/devices/platform-pata_imx.c
index c1cbaf92e359..de33048aad6a 100644
--- a/arch/arm/plat-mxc/devices/platform-pata_imx.c
+++ b/arch/arm/plat-mxc/devices/platform-pata_imx.c
@@ -6,24 +6,45 @@
6#include <mach/hardware.h> 6#include <mach/hardware.h>
7#include <mach/devices-common.h> 7#include <mach/devices-common.h>
8 8
9#define imx_pata_imx_data_entry_single(soc) \ 9#define imx_pata_imx_data_entry_single(soc, _size) \
10 { \ 10 { \
11 .iobase = soc ## _ATA_BASE_ADDR, \ 11 .iobase = soc ## _ATA_BASE_ADDR, \
12 .irq = soc ## _MXC_INT_ATA, \ 12 .iosize = _size, \
13 .irq = soc ## _INT_ATA, \
13 } 14 }
14 15
16#ifdef CONFIG_SOC_IMX27
17const struct imx_pata_imx_data imx27_pata_imx_data __initconst =
18 imx_pata_imx_data_entry_single(MX27, SZ_4K);
19#endif /* ifdef CONFIG_SOC_IMX27 */
20
21#ifdef CONFIG_SOC_IMX31
22const struct imx_pata_imx_data imx31_pata_imx_data __initconst =
23 imx_pata_imx_data_entry_single(MX31, SZ_16K);
24#endif /* ifdef CONFIG_SOC_IMX31 */
25
26#ifdef CONFIG_SOC_IMX35
27const struct imx_pata_imx_data imx35_pata_imx_data __initconst =
28 imx_pata_imx_data_entry_single(MX35, SZ_16K);
29#endif /* ifdef CONFIG_SOC_IMX35 */
30
15#ifdef CONFIG_SOC_IMX51 31#ifdef CONFIG_SOC_IMX51
16const struct imx_pata_imx_data imx51_pata_imx_data __initconst = 32const struct imx_pata_imx_data imx51_pata_imx_data __initconst =
17 imx_pata_imx_data_entry_single(MX51); 33 imx_pata_imx_data_entry_single(MX51, SZ_16K);
18#endif /* ifdef CONFIG_SOC_IMX51 */ 34#endif /* ifdef CONFIG_SOC_IMX51 */
19 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
20struct platform_device *__init imx_add_pata_imx( 41struct platform_device *__init imx_add_pata_imx(
21 const struct imx_pata_imx_data *data) 42 const struct imx_pata_imx_data *data)
22{ 43{
23 struct resource res[] = { 44 struct resource res[] = {
24 { 45 {
25 .start = data->iobase, 46 .start = data->iobase,
26 .end = data->iobase + SZ_16K - 1, 47 .end = data->iobase + data->iobase - 1,
27 .flags = IORESOURCE_MEM, 48 .flags = IORESOURCE_MEM,
28 }, 49 },
29 { 50 {