Ignore:
Timestamp:
2011-11-13T12:26:54+01:00 (4 years ago)
Author:
juhosg
Message:

ar71xx: configure MII interface type from ar71xx_setup_phy_if_mode

File:
1 edited

Legend:

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

    r28988 r29010  
    187187        printk(KERN_DEBUG "ar71xx: pll_reg %#x: %#x\n", 
    188188                (unsigned int)(base + pll_reg), __raw_readl(base + pll_reg)); 
     189 
     190        iounmap(base); 
     191} 
     192 
     193static void __init ar71xx_mii_ctrl_set_if(unsigned int reg, 
     194                                          unsigned int mii_if) 
     195{ 
     196        void __iomem *base; 
     197        u32 t; 
     198 
     199        base = ioremap(AR71XX_MII_BASE, AR71XX_MII_SIZE); 
     200 
     201        t = __raw_readl(base + reg); 
     202        t &= ~(MII_CTRL_IF_MASK); 
     203        t |= (mii_if & MII_CTRL_IF_MASK); 
     204        __raw_writel(t, base + reg); 
    189205 
    190206        iounmap(base); 
     
    589605                                           struct ag71xx_platform_data *pdata) 
    590606{ 
     607        unsigned int mii_if; 
     608 
    591609        switch (id) { 
    592610        case 0: 
     
    599617                        switch (pdata->phy_if_mode) { 
    600618                        case PHY_INTERFACE_MODE_MII: 
    601                                 pdata->mii_if = MII0_CTRL_IF_MII; 
     619                                mii_if = MII0_CTRL_IF_MII; 
    602620                                break; 
    603621                        case PHY_INTERFACE_MODE_GMII: 
    604                                 pdata->mii_if = MII0_CTRL_IF_GMII; 
     622                                mii_if = MII0_CTRL_IF_GMII; 
    605623                                break; 
    606624                        case PHY_INTERFACE_MODE_RGMII: 
    607                                 pdata->mii_if = MII0_CTRL_IF_RGMII; 
     625                                mii_if = MII0_CTRL_IF_RGMII; 
    608626                                break; 
    609627                        case PHY_INTERFACE_MODE_RMII: 
    610                                 pdata->mii_if = MII0_CTRL_IF_RMII; 
     628                                mii_if = MII0_CTRL_IF_RMII; 
    611629                                break; 
    612630                        default: 
    613631                                return -EINVAL; 
    614632                        } 
     633                        ar71xx_mii_ctrl_set_if(MII_REG_MII0_CTRL, mii_if); 
    615634                        break; 
    616635 
     
    652671                        switch (pdata->phy_if_mode) { 
    653672                        case PHY_INTERFACE_MODE_RMII: 
    654                                 pdata->mii_if = MII1_CTRL_IF_RMII; 
     673                                mii_if = MII1_CTRL_IF_RMII; 
    655674                                break; 
    656675                        case PHY_INTERFACE_MODE_RGMII: 
    657                                 pdata->mii_if = MII1_CTRL_IF_RGMII; 
     676                                mii_if = MII1_CTRL_IF_RGMII; 
    658677                                break; 
    659678                        default: 
    660679                                return -EINVAL; 
    661680                        } 
     681                        ar71xx_mii_ctrl_set_if(MII_REG_MII1_CTRL, mii_if); 
    662682                        break; 
    663683 
Note: See TracChangeset for help on using the changeset viewer.