Changeset 27703


Ignore:
Timestamp:
2011-07-20T14:04:34+02:00 (7 years ago)
Author:
nbd
Message:

ar71xx: reset the phy in the ethernet init on ar724x

Location:
trunk/target/linux/ar71xx/files
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c

    r27221 r27703  
    559559 
    560560        case AR71XX_SOC_AR7242: 
    561                 ar71xx_eth0_data.reset_bit |= AR724X_RESET_GE0_MDIO; 
    562                 ar71xx_eth1_data.reset_bit |= AR724X_RESET_GE1_MDIO; 
     561                ar71xx_eth0_data.reset_bit |= AR724X_RESET_GE0_MDIO | 
     562                                              RESET_MODULE_GE0_PHY; 
     563                ar71xx_eth1_data.reset_bit |= AR724X_RESET_GE1_MDIO | 
     564                                              RESET_MODULE_GE1_PHY; 
    563565                pdata->ddr_flush = id ? ar724x_ddr_flush_ge1 
    564566                                      : ar724x_ddr_flush_ge0; 
     
    581583                /* fall through */ 
    582584        case AR71XX_SOC_AR7240: 
     585                ar71xx_eth0_data.reset_bit |= RESET_MODULE_GE0_PHY; 
     586                ar71xx_eth1_data.reset_bit |= RESET_MODULE_GE1_PHY; 
    583587                pdata->ddr_flush = id ? ar724x_ddr_flush_ge1 
    584588                                      : ar724x_ddr_flush_ge0; 
  • trunk/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_main.c

    r27702 r27703  
    434434{ 
    435435        struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag); 
     436        u32 reset_mask = pdata->reset_bit; 
    436437 
    437438        ag71xx_hw_stop(ag); 
     439 
     440        if (pdata->is_ar724x) { 
     441                u32 reset_phy = reset_mask; 
     442 
     443                reset_phy &= RESET_MODULE_GE0_PHY | RESET_MODULE_GE1_PHY; 
     444                reset_mask &= ~(RESET_MODULE_GE0_PHY | RESET_MODULE_GE1_PHY); 
     445 
     446                ar71xx_device_stop(reset_phy); 
     447                mdelay(50); 
     448                ar71xx_device_start(reset_phy); 
     449                mdelay(200); 
     450        } 
    438451 
    439452        ag71xx_sb(ag, AG71XX_REG_MAC_CFG1, MAC_CFG1_SR); 
Note: See TracChangeset for help on using the changeset viewer.