summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ixp4xx/avila-setup.c
diff options
context:
space:
mode:
authorMichael-Luke Jones <mlj28@cam.ac.uk>2006-12-16 23:02:00 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-02-06 16:46:46 +0000
commit946acb1c70f91f07331d2b8691dfccf95c95ff3d (patch)
tree50ecccd8b3d7070487e0bc29cf76b4755be8a3f1 /arch/arm/mach-ixp4xx/avila-setup.c
parent0f1859719537acf5a611fd18be5d81c0cfd5fbf4 (diff)
downloadlinux-stable-946acb1c70f91f07331d2b8691dfccf95c95ff3d.tar.gz
linux-stable-946acb1c70f91f07331d2b8691dfccf95c95ff3d.tar.bz2
linux-stable-946acb1c70f91f07331d2b8691dfccf95c95ff3d.zip
[ARM] 4032/1: Add platform resources required for CF driver
This patch adds the platform resources required to support the ixp4xx-pata-cf libata driver on Avila Gateworks boards. Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk> Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ixp4xx/avila-setup.c')
-rw-r--r--arch/arm/mach-ixp4xx/avila-setup.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/arm/mach-ixp4xx/avila-setup.c b/arch/arm/mach-ixp4xx/avila-setup.c
index 9f09f94593a6..d59b8dc7dc7a 100644
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -104,6 +104,34 @@ static struct platform_device avila_uart = {
.resource = avila_uart_resources
};
+static struct resource avila_pata_resources[] = {
+ {
+ .flags = IORESOURCE_MEM
+ },
+ {
+ .flags = IORESOURCE_MEM,
+ },
+ {
+ .name = "intrq",
+ .start = IRQ_IXP4XX_GPIO12,
+ .end = IRQ_IXP4XX_GPIO12,
+ .flags = IORESOURCE_IRQ,
+ },
+};
+
+static struct ixp4xx_pata_data avila_pata_data = {
+ .cs0_bits = 0xbfff0043,
+ .cs1_bits = 0xbfff0043,
+};
+
+static struct platform_device avila_pata = {
+ .name = "pata_ixp4xx_cf",
+ .id = 0,
+ .dev.platform_data = &avila_pata_data,
+ .num_resources = ARRAY_SIZE(avila_pata_resources),
+ .resource = avila_pata_resources,
+};
+
static struct platform_device *avila_devices[] __initdata = {
&avila_i2c_controller,
&avila_flash,
@@ -119,6 +147,18 @@ static void __init avila_init(void)
IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
platform_add_devices(avila_devices, ARRAY_SIZE(avila_devices));
+
+ avila_pata_resources[0].start = IXP4XX_EXP_BUS_BASE(1);
+ avila_pata_resources[0].end = IXP4XX_EXP_BUS_END(1);
+
+ avila_pata_resources[1].start = IXP4XX_EXP_BUS_BASE(2);
+ avila_pata_resources[1].end = IXP4XX_EXP_BUS_END(2);
+
+ avila_pata_data.cs0_cfg = IXP4XX_EXP_CS1;
+ avila_pata_data.cs1_cfg = IXP4XX_EXP_CS2;
+
+ platform_device_register(&avila_pata);
+
}
MACHINE_START(AVILA, "Gateworks Avila Network Platform")