Changeset 32820


Ignore:
Timestamp:
2012-07-24T22:38:36+02:00 (6 years ago)
Author:
blogic
Message:

[ixp4xx] MI424WR - add rev D support

Add support for revision D of the MI424WR.
Rev D swaps LAN & WAN ports so this patch maintains
eth0 for LAN and eth1 for WAN. For details on rev D usage,
see http://wiki.openwrt.org/toh/actiontec/mi424wr

Signed-off-by: Jose Vasconcellos <jvasco@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ixp4xx/patches-3.3/185-mi424wr_support.patch

    r31275 r32820  
    7575--- /dev/null 
    7676+++ b/arch/arm/mach-ixp4xx/mi424wr-setup.c 
    77 @@ -0,0 +1,345 @@ 
     77@@ -0,0 +1,380 @@ 
    7878+/* 
    7979+ * arch/arm/mach-ixp4xx/mi424wr-setup.c 
     
    351351+}; 
    352352+ 
    353 +static struct eth_plat_info mi424wr_npeb_data = { 
     353+static struct eth_plat_info mi424wr_wan_data = { 
    354354+       .phy            = 17,   /* KS8721 */ 
    355355+       .rxq            = 3, 
     
    357357+}; 
    358358+ 
    359 +static struct eth_plat_info mi424wr_npec_data = { 
     359+static struct eth_plat_info mi424wr_lan_data = { 
    360360+       .phy            = IXP4XX_ETH_PHY_MAX_ADDR, 
    361361+       .phy_mask       = 0x1e, /* ports 1-4 of the KS8995 switch */ 
     
    368368+               .name                   = "ixp4xx_eth", 
    369369+               .id                     = IXP4XX_ETH_NPEC, 
    370 +               .dev.platform_data      = &mi424wr_npec_data, 
     370+               .dev.platform_data      = &mi424wr_lan_data, 
    371371+       }, { 
    372372+               .name                   = "ixp4xx_eth", 
    373373+               .id                     = IXP4XX_ETH_NPEB, 
    374 +               .dev.platform_data      = &mi424wr_npeb_data, 
     374+               .dev.platform_data      = &mi424wr_wan_data, 
     375+       } 
     376+}; 
     377+ 
     378+static struct eth_plat_info mi424wr_wanD_data = { 
     379+       .phy            = 5, 
     380+       .rxq            = 4, 
     381+       .txreadyq       = 21, 
     382+}; 
     383+ 
     384+static struct eth_plat_info mi424wr_lanD_data = { 
     385+       .phy            = IXP4XX_ETH_PHY_MAX_ADDR, 
     386+       .phy_mask       = 0x1e, /* ports 1-4 of the KS8995 switch */ 
     387+       .rxq            = 3, 
     388+       .txreadyq       = 20, 
     389+}; 
     390+ 
     391+static struct platform_device mi424wr_npeD_devices[] = { 
     392+       { 
     393+               .name                   = "ixp4xx_eth", 
     394+               .id                     = IXP4XX_ETH_NPEB, 
     395+               .dev.platform_data      = &mi424wr_lanD_data, 
     396+       }, { 
     397+               .name                   = "ixp4xx_eth", 
     398+               .id                     = IXP4XX_ETH_NPEC, 
     399+               .dev.platform_data      = &mi424wr_wanD_data, 
    375400+       } 
    376401+}; 
     
    382407+       &mi424wr_latch_leds, 
    383408+       &mi424wr_spi_bus, 
    384 +       &mi424wr_npe_devices[0], 
    385 +       &mi424wr_npe_devices[1], 
    386409+}; 
    387410+ 
     
    406429+ 
    407430+       platform_add_devices(mi424wr_devices, ARRAY_SIZE(mi424wr_devices)); 
     431+ 
     432+       /* Need to figure out how to detect revD. 
     433+        * Look for a revision argument sent by redboot. 
     434+        */ 
     435+#define revD 4 
     436+       if (system_rev == revD) { 
     437+               platform_device_register(&mi424wr_npeD_devices[0]); 
     438+               platform_device_register(&mi424wr_npeD_devices[1]); 
     439+       } else { 
     440+               platform_device_register(&mi424wr_npe_devices[0]); 
     441+               platform_device_register(&mi424wr_npe_devices[1]); 
     442+       } 
    408443+} 
    409444+ 
Note: See TracChangeset for help on using the changeset viewer.