Changeset 28988


Ignore:
Timestamp:
2011-11-12T13:50:18+01:00 (6 years ago)
Author:
juhosg
Message:

ar71xx: implement SoC specific phy interface setup

File:
1 edited

Legend:

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

    r28987 r28988  
    591591        switch (id) { 
    592592        case 0: 
    593                 switch (pdata->phy_if_mode) { 
    594                 case PHY_INTERFACE_MODE_MII: 
    595                         pdata->mii_if = MII0_CTRL_IF_MII; 
     593                switch (ar71xx_soc) { 
     594                case AR71XX_SOC_AR7130: 
     595                case AR71XX_SOC_AR7141: 
     596                case AR71XX_SOC_AR7161: 
     597                case AR71XX_SOC_AR9130: 
     598                case AR71XX_SOC_AR9132: 
     599                        switch (pdata->phy_if_mode) { 
     600                        case PHY_INTERFACE_MODE_MII: 
     601                                pdata->mii_if = MII0_CTRL_IF_MII; 
     602                                break; 
     603                        case PHY_INTERFACE_MODE_GMII: 
     604                                pdata->mii_if = MII0_CTRL_IF_GMII; 
     605                                break; 
     606                        case PHY_INTERFACE_MODE_RGMII: 
     607                                pdata->mii_if = MII0_CTRL_IF_RGMII; 
     608                                break; 
     609                        case PHY_INTERFACE_MODE_RMII: 
     610                                pdata->mii_if = MII0_CTRL_IF_RMII; 
     611                                break; 
     612                        default: 
     613                                return -EINVAL; 
     614                        } 
    596615                        break; 
    597                 case PHY_INTERFACE_MODE_GMII: 
    598                         pdata->mii_if = MII0_CTRL_IF_GMII; 
     616 
     617                case AR71XX_SOC_AR7240: 
     618                case AR71XX_SOC_AR7241: 
     619                case AR71XX_SOC_AR9330: 
     620                case AR71XX_SOC_AR9331: 
     621                        pdata->phy_if_mode = PHY_INTERFACE_MODE_MII; 
    599622                        break; 
    600                 case PHY_INTERFACE_MODE_RGMII: 
    601                         pdata->mii_if = MII0_CTRL_IF_RGMII; 
     623 
     624                case AR71XX_SOC_AR7242: 
     625                        /* FIXME */ 
     626 
     627                case AR71XX_SOC_AR9341: 
     628                case AR71XX_SOC_AR9342: 
     629                case AR71XX_SOC_AR9344: 
     630                        switch (pdata->phy_if_mode) { 
     631                        case PHY_INTERFACE_MODE_MII: 
     632                        case PHY_INTERFACE_MODE_GMII: 
     633                        case PHY_INTERFACE_MODE_RGMII: 
     634                        case PHY_INTERFACE_MODE_RMII: 
     635                                break; 
     636                        default: 
     637                                return -EINVAL; 
     638                        } 
    602639                        break; 
    603                 case PHY_INTERFACE_MODE_RMII: 
    604                         pdata->mii_if = MII0_CTRL_IF_RMII; 
     640 
     641                default: 
     642                        BUG(); 
     643                } 
     644                break; 
     645        case 1: 
     646                switch (ar71xx_soc) { 
     647                case AR71XX_SOC_AR7130: 
     648                case AR71XX_SOC_AR7141: 
     649                case AR71XX_SOC_AR7161: 
     650                case AR71XX_SOC_AR9130: 
     651                case AR71XX_SOC_AR9132: 
     652                        switch (pdata->phy_if_mode) { 
     653                        case PHY_INTERFACE_MODE_RMII: 
     654                                pdata->mii_if = MII1_CTRL_IF_RMII; 
     655                                break; 
     656                        case PHY_INTERFACE_MODE_RGMII: 
     657                                pdata->mii_if = MII1_CTRL_IF_RGMII; 
     658                                break; 
     659                        default: 
     660                                return -EINVAL; 
     661                        } 
    605662                        break; 
     663 
     664                case AR71XX_SOC_AR7240: 
     665                case AR71XX_SOC_AR7241: 
     666                case AR71XX_SOC_AR9330: 
     667                case AR71XX_SOC_AR9331: 
     668                        pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII; 
     669                        break; 
     670 
     671                case AR71XX_SOC_AR7242: 
     672                        /* FIXME */ 
     673 
     674                case AR71XX_SOC_AR9341: 
     675                case AR71XX_SOC_AR9342: 
     676                case AR71XX_SOC_AR9344: 
     677                        switch (pdata->phy_if_mode) { 
     678                        case PHY_INTERFACE_MODE_MII: 
     679                        case PHY_INTERFACE_MODE_GMII: 
     680                                break; 
     681                        default: 
     682                                return -EINVAL; 
     683                        } 
     684                        break; 
     685 
    606686                default: 
    607                         return -EINVAL; 
    608                 } 
    609                 break; 
    610         case 1: 
    611                 switch (pdata->phy_if_mode) { 
    612                 case PHY_INTERFACE_MODE_RMII: 
    613                         pdata->mii_if = MII1_CTRL_IF_RMII; 
    614                         break; 
    615                 case PHY_INTERFACE_MODE_RGMII: 
    616                         pdata->mii_if = MII1_CTRL_IF_RGMII; 
    617                         break; 
    618                 default: 
    619                         return -EINVAL; 
     687                        BUG(); 
    620688                } 
    621689                break; 
Note: See TracChangeset for help on using the changeset viewer.