summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-11-30 11:34:23 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-12-06 13:52:54 +0100
commit2ff02e7aa1a4f9f59c8786e9fdade070a8e7fd79 (patch)
treed752a07927863c2c2fc7668c6458bc0966276267 /arch
parent77fd727b8907f0a94bbe308fb023d4fb7258306c (diff)
downloadbarebox-2ff02e7aa1a4f9f59c8786e9fdade070a8e7fd79.tar.gz
barebox-2ff02e7aa1a4f9f59c8786e9fdade070a8e7fd79.tar.xz
ARM i.MX: Add i.MX51 PATA device support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/clk-imx5.c1
-rw-r--r--arch/arm/mach-imx/devices.c5
-rw-r--r--arch/arm/mach-imx/include/mach/devices-imx51.h5
-rw-r--r--arch/arm/mach-imx/include/mach/devices.h2
4 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/clk-imx5.c b/arch/arm/mach-imx/clk-imx5.c
index 050842d103..22ca21a339 100644
--- a/arch/arm/mach-imx/clk-imx5.c
+++ b/arch/arm/mach-imx/clk-imx5.c
@@ -219,6 +219,7 @@ int __init mx51_clocks_init(void __iomem *regs, unsigned long rate_ckil, unsigne
clkdev_add_physbase(clks[esdhc_b_podf], MX51_MMC_SDHC2_BASE_ADDR, NULL);
clkdev_add_physbase(clks[esdhc_c_s], MX51_MMC_SDHC3_BASE_ADDR, NULL);
clkdev_add_physbase(clks[esdhc_d_s], MX51_MMC_SDHC4_BASE_ADDR, NULL);
+ clkdev_add_physbase(clks[ipg], MX51_ATA_BASE_ADDR, NULL);
return 0;
}
diff --git a/arch/arm/mach-imx/devices.c b/arch/arm/mach-imx/devices.c
index 4ee4e6cc8d..d82fbf7e6b 100644
--- a/arch/arm/mach-imx/devices.c
+++ b/arch/arm/mach-imx/devices.c
@@ -67,3 +67,8 @@ struct device_d *imx_add_kpp(void *base, struct matrix_keymap_data *pdata)
{
return imx_add_device("imx-kpp", -1, base, 0x1000, pdata);
}
+
+struct device_d *imx_add_pata(void *base)
+{
+ return imx_add_device("imx-pata", -1, base, 0x1000, NULL);
+}
diff --git a/arch/arm/mach-imx/include/mach/devices-imx51.h b/arch/arm/mach-imx/include/mach/devices-imx51.h
index 8ee3c17478..95497fa664 100644
--- a/arch/arm/mach-imx/include/mach/devices-imx51.h
+++ b/arch/arm/mach-imx/include/mach/devices-imx51.h
@@ -93,3 +93,8 @@ static inline struct device_d *imx51_add_kpp(struct matrix_keymap_data *pdata)
{
return imx_add_kpp((void *)MX51_KPP_BASE_ADDR, pdata);
}
+
+static inline struct device_d *imx51_add_pata(void)
+{
+ return imx_add_pata((void *)MX51_ATA_BASE_ADDR);
+}
diff --git a/arch/arm/mach-imx/include/mach/devices.h b/arch/arm/mach-imx/include/mach/devices.h
index f7824f5406..016778a138 100644
--- a/arch/arm/mach-imx/include/mach/devices.h
+++ b/arch/arm/mach-imx/include/mach/devices.h
@@ -20,4 +20,4 @@ struct device_d *imx_add_ipufb(void *base, struct imx_ipu_fb_platform_data *pdat
struct device_d *imx_add_mmc(void *base, int id, void *pdata);
struct device_d *imx_add_esdhc(void *base, int id, struct esdhc_platform_data *pdata);
struct device_d *imx_add_kpp(void *base, struct matrix_keymap_data *pdata);
-
+struct device_d *imx_add_pata(void *base);