Create various profiles for consumer IXP4xx devices
[openwrt/svn-archive/archive.git] / target / linux / ixp4xx-2.6 / patches / 610-wrt300nv2_setup_mac.patch
1 diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/wrt300nv2-setup.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/wrt300nv2-setup.c
2 --- linux-2.6.19.2/arch/arm/mach-ixp4xx/wrt300nv2-setup.c 2007-04-24 14:25:02.000000000 +0200
3 +++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/wrt300nv2-setup.c 2007-04-24 14:31:09.000000000 +0200
4 @@ -76,9 +76,57 @@
5 .resource = &wrt300nv2_uart_resource,
6 };
7
8 +static struct resource res_mac0 = {
9 + .start = IXP4XX_EthB_BASE_PHYS,
10 + .end = IXP4XX_EthB_BASE_PHYS + 0x1ff,
11 + .flags = IORESOURCE_MEM,
12 +};
13 +
14 +static struct resource res_mac1 = {
15 + .start = IXP4XX_EthC_BASE_PHYS,
16 + .end = IXP4XX_EthC_BASE_PHYS + 0x1ff,
17 + .flags = IORESOURCE_MEM,
18 +};
19 +
20 +static struct mac_plat_info plat_mac0 = {
21 + .npe_id = 1,
22 + .phy_id = -1,
23 + .eth_id = 0,
24 + .rxq_id = 27,
25 + .txq_id = 24,
26 + .rxdoneq_id = 4,
27 +};
28 +
29 +static struct mac_plat_info plat_mac1 = {
30 + .npe_id = 2,
31 + .phy_id = 1,
32 + .eth_id = 1,
33 + .rxq_id = 28,
34 + .txq_id = 25,
35 + .rxdoneq_id = 5,
36 +};
37 +
38 +static struct platform_device mac0 = {
39 + .name = "ixp4xx_mac",
40 + .id = 0,
41 + .dev.platform_data = &plat_mac0,
42 + .num_resources = 1,
43 + .resource = &res_mac0,
44 +};
45 +
46 +static struct platform_device mac1 = {
47 + .name = "ixp4xx_mac",
48 + .id = 1,
49 + .dev.platform_data = &plat_mac1,
50 + .num_resources = 1,
51 + .resource = &res_mac1,
52 +};
53 +
54 static struct platform_device *wrt300nv2_devices[] __initdata = {
55 &wrt300nv2_flash,
56 - &wrt300nv2_uart
57 + &wrt300nv2_uart,
58 + &mac0,
59 + &mac1,
60 };
61
62 static void __init wrt300nv2_init(void)