source: trunk/target/linux/ar7/patches-2.6.32/940-cpmac-titan.patch @ 19523

Last change on this file since 19523 was 19523, checked in by florian, 7 years ago

[ar7] refresh patches

File size: 2.0 KB
  • arch/mips/ar7/platform.c

    a b static int __init ar7_register_devices(v 
    716716        } 
    717717 
    718718        if (ar7_has_high_cpmac()) { 
    719                 res = fixed_phy_add(PHY_POLL, cpmac_high.id, &fixed_phy_status); 
     719                res = fixed_phy_add(PHY_POLL, ar7_is_titan() ? cpmac_high_titan.id : cpmac_high.id, 
     720                                                &fixed_phy_status); 
    720721                if (res && res != -ENODEV) 
    721722                        return res; 
    722                 cpmac_get_mac(1, cpmac_high_data.dev_addr); 
    723                 res = platform_device_register(&cpmac_high); 
     723 
     724                cpmac_get_mac(1, ar7_is_titan() ? cpmac_high_data_titan.dev_addr : 
     725                                                cpmac_high_data.dev_addr); 
     726                res = platform_device_register(ar7_is_titan() ? &cpmac_high_titan : 
     727                                                &cpmac_high); 
     728 
    724729                if (res) 
    725730                        return res; 
    726731        } else { 
    727                 cpmac_low_data.phy_mask = 0xffffffff; 
     732                if (ar7_is_titan()) 
     733                        cpmac_low_data_titan.phy_mask = 0xffffffff; 
     734                else 
     735                        cpmac_low_data.phy_mask = 0xffffffff; 
     736 
    728737        } 
    729738 
    730         res = fixed_phy_add(PHY_POLL, cpmac_low.id, &fixed_phy_status); 
     739        res = fixed_phy_add(PHY_POLL, ar7_is_titan() ? cpmac_low_titan.id : 
     740                        cpmac_low.id, &fixed_phy_status); 
    731741        if (res && res != -ENODEV) 
    732742                return res; 
    733743 
    734         cpmac_get_mac(0, cpmac_low_data.dev_addr); 
    735         res = platform_device_register(&cpmac_low); 
     744        cpmac_get_mac(0, ar7_is_titan() ? cpmac_low_data_titan.dev_addr : 
     745                        cpmac_low_data.dev_addr); 
     746        res = platform_device_register(ar7_is_titan() ? &cpmac_low_titan : 
     747                        &cpmac_low); 
    736748        if (res) 
    737749                return res; 
    738750 
  • drivers/net/cpmac.c

    a b int __devinit cpmac_init(void) 
    12431243        ar7_device_reset(AR7_RESET_BIT_CPMAC_HI); 
    12441244        ar7_device_reset(AR7_RESET_BIT_EPHY); 
    12451245 
     1246        if (ar7_is_titan()) { 
     1247                ar7_device_reset(TITAN_RESET_BIT_EPHY1); 
     1248        } 
     1249 
    12461250        cpmac_mii->reset(cpmac_mii); 
    12471251 
    12481252        for (i = 0; i < 300; i++) 
    int __devinit cpmac_init(void) 
    12571261                mask = 0; 
    12581262        } 
    12591263 
    1260         cpmac_mii->phy_mask = ~(mask | 0x80000000); 
     1264        cpmac_mii->phy_mask = ar7_is_titan()? ~(mask | 0x80000000 | 0x40000000): 
     1265                ~(mask | 0x80000000); 
    12611266        snprintf(cpmac_mii->id, MII_BUS_ID_SIZE, "1"); 
    12621267 
    12631268        res = mdiobus_register(cpmac_mii); 
Note: See TracBrowser for help on using the repository browser.