set up the NPEs and microcode loading on the Pronghorn Metro
[openwrt-10.03/.git] / target / linux / ixp4xx-2.6 / patches / 410-pronghorn_metro_setup_mac.patch
1 diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/pronghornmetro-setup.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/pronghornmetro-setup.c
2 --- linux-2.6.19.2/arch/arm/mach-ixp4xx/pronghornmetro-setup.c  2007-04-02 21:30:12.000000000 +0200
3 +++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/pronghornmetro-setup.c     2007-04-02 21:57:11.000000000 +0200
4 @@ -87,10 +87,58 @@
5         .resource       = &pronghornmetro_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         = 0,
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 *pronghornmetro_devices[] __initdata = {
55         &pronghornmetro_i2c_controller,
56         &pronghornmetro_flash,
57 -       &pronghornmetro_uart
58 +       &pronghornmetro_uart,
59 +       &mac0,
60 +       &mac1,
61  };
62  
63  static void __init pronghornmetro_init(void)