diff options
author | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-06-10 12:37:56 +0000 |
---|---|---|
committer | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-06-10 12:37:56 +0000 |
commit | 538b77fe3ca73482ba78a5c36021e75eee074470 (patch) | |
tree | 0653ff3f6ab66890cbf6c5529e44540658117fbd /target/linux | |
parent | d3980aa79c31f8c53ce9bf8a440cf6dee80f29bc (diff) |
add support for the CF slot on the Pronghorn Metro - needs testing
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7544 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/ixp4xx-2.6/patches/430-pronghorn_metro_cf.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/target/linux/ixp4xx-2.6/patches/430-pronghorn_metro_cf.patch b/target/linux/ixp4xx-2.6/patches/430-pronghorn_metro_cf.patch new file mode 100644 index 000000000..d2982bc95 --- /dev/null +++ b/target/linux/ixp4xx-2.6/patches/430-pronghorn_metro_cf.patch @@ -0,0 +1,57 @@ +diff -Nur linux-2.6.21.1/arch/arm/mach-ixp4xx/pronghornmetro-setup.c linux-2.6.21.1-owrt/arch/arm/mach-ixp4xx/pronghornmetro-setup.c +--- linux-2.6.21.1/arch/arm/mach-ixp4xx/pronghornmetro-setup.c 2007-06-10 14:31:27.000000000 +0200 ++++ linux-2.6.21.1-owrt/arch/arm/mach-ixp4xx/pronghornmetro-setup.c 2007-06-10 14:36:23.000000000 +0200 +@@ -77,6 +77,35 @@ + .resource = &pronghornmetro_uart_resource, + }; + ++static struct resource pronghornmetro_pata_resources[] = { ++ { ++ .flags = IORESOURCE_MEM ++ }, ++ { ++ .flags = IORESOURCE_MEM, ++ }, ++ { ++ .name = "intrq", ++ .start = IRQ_IXP4XX_GPIO0, ++ .end = IRQ_IXP4XX_GPIO0, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct ixp4xx_pata_data pronghornmetro_pata_data = { ++ .cs0_bits = 0xbfff0043, ++ .cs1_bits = 0xbfff0043, ++}; ++ ++static struct platform_device pronghornmetro_pata = { ++ .name = "pata_ixp4xx_cf", ++ .id = 0, ++ .dev.platform_data = &pronghornmetro_pata_data, ++ .num_resources = ARRAY_SIZE(pronghornmetro_pata_resources), ++ .resource = pronghornmetro_pata_resources, ++}; ++ ++ + static struct resource res_mac0 = { + .start = IXP4XX_EthB_BASE_PHYS, + .end = IXP4XX_EthB_BASE_PHYS + 0x1ff, +@@ -165,6 +194,17 @@ + + platform_add_devices(pronghornmetro_devices, ARRAY_SIZE(pronghornmetro_devices)); + ++ pronghornmetro_pata_resources[0].start = IXP4XX_EXP_BUS_BASE(1); ++ pronghornmetro_pata_resources[0].end = IXP4XX_EXP_BUS_END(1); ++ ++ pronghornmetro_pata_resources[1].start = IXP4XX_EXP_BUS_BASE(2); ++ pronghornmetro_pata_resources[1].end = IXP4XX_EXP_BUS_END(2); ++ ++ pronghornmetro_pata_data.cs0_cfg = IXP4XX_EXP_CS1; ++ pronghornmetro_pata_data.cs1_cfg = IXP4XX_EXP_CS2; ++ ++ platform_device_register(&pronghornmetro_pata); ++ + register_mtd_user(&pronghornmetro_flash_notifier); + } + |