diff options
author | Michael-Luke Jones <mlj28@cam.ac.uk> | 2006-12-16 23:02:00 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-06 16:46:46 +0000 |
commit | 946acb1c70f91f07331d2b8691dfccf95c95ff3d (patch) | |
tree | 50ecccd8b3d7070487e0bc29cf76b4755be8a3f1 /arch/arm/mach-ixp4xx/avila-setup.c | |
parent | 0f1859719537acf5a611fd18be5d81c0cfd5fbf4 (diff) |
[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.c | 40 |
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 9f09f94593a..d59b8dc7dc7 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") |