Merge branch 'net-phy-add-interface-mode-PHY_INTERFACE_MODE_USXGMII'
Heiner Kallweit says: ==================== net: phy: add interface mode PHY_INTERFACE_MODE_USXGMII Add support for interface mode USXGMII. On Freescale boards LS1043A and LS1046A a warning may pop up now because mode xgmii should be changed to usxgmii (as the used Aquantia PHY doesn't support XGMII). ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
33a74bf428
|
@ -43,6 +43,7 @@ Documentation/devicetree/bindings/phy/phy-bindings.txt.
|
|||
* "rxaui"
|
||||
* "xaui"
|
||||
* "10gbase-kr" (10GBASE-KR, XFI, SFI)
|
||||
* "usxgmii"
|
||||
- phy-connection-type: the same as "phy-mode" property but described in the
|
||||
Devicetree Specification;
|
||||
- phy-handle: phandle, specifies a reference to a node representing a PHY
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3)
|
||||
#define MDIO_PHYXS_VEND_IF_STATUS_TYPE_KR 0
|
||||
#define MDIO_PHYXS_VEND_IF_STATUS_TYPE_XFI 2
|
||||
#define MDIO_PHYXS_VEND_IF_STATUS_TYPE_USXGMII 3
|
||||
#define MDIO_PHYXS_VEND_IF_STATUS_TYPE_SGMII 6
|
||||
#define MDIO_PHYXS_VEND_IF_STATUS_TYPE_OCSGMII 10
|
||||
|
||||
|
@ -360,6 +361,9 @@ static int aqr107_read_status(struct phy_device *phydev)
|
|||
case MDIO_PHYXS_VEND_IF_STATUS_TYPE_XFI:
|
||||
phydev->interface = PHY_INTERFACE_MODE_10GKR;
|
||||
break;
|
||||
case MDIO_PHYXS_VEND_IF_STATUS_TYPE_USXGMII:
|
||||
phydev->interface = PHY_INTERFACE_MODE_USXGMII;
|
||||
break;
|
||||
case MDIO_PHYXS_VEND_IF_STATUS_TYPE_SGMII:
|
||||
phydev->interface = PHY_INTERFACE_MODE_SGMII;
|
||||
break;
|
||||
|
@ -488,9 +492,13 @@ static int aqr107_config_init(struct phy_device *phydev)
|
|||
if (phydev->interface != PHY_INTERFACE_MODE_SGMII &&
|
||||
phydev->interface != PHY_INTERFACE_MODE_2500BASEX &&
|
||||
phydev->interface != PHY_INTERFACE_MODE_XGMII &&
|
||||
phydev->interface != PHY_INTERFACE_MODE_USXGMII &&
|
||||
phydev->interface != PHY_INTERFACE_MODE_10GKR)
|
||||
return -ENODEV;
|
||||
|
||||
WARN(phydev->interface == PHY_INTERFACE_MODE_XGMII,
|
||||
"Your devicetree is out of date, please update it. The AQR107 family doesn't support XGMII, maybe you mean USXGMII.\n");
|
||||
|
||||
ret = aqr107_wait_reset_complete(phydev);
|
||||
if (!ret)
|
||||
aqr107_chip_info(phydev);
|
||||
|
|
|
@ -103,6 +103,7 @@ typedef enum {
|
|||
PHY_INTERFACE_MODE_XAUI,
|
||||
/* 10GBASE-KR, XFI, SFI - single lane 10G Serdes */
|
||||
PHY_INTERFACE_MODE_10GKR,
|
||||
PHY_INTERFACE_MODE_USXGMII,
|
||||
PHY_INTERFACE_MODE_MAX,
|
||||
} phy_interface_t;
|
||||
|
||||
|
@ -178,6 +179,8 @@ static inline const char *phy_modes(phy_interface_t interface)
|
|||
return "xaui";
|
||||
case PHY_INTERFACE_MODE_10GKR:
|
||||
return "10gbase-kr";
|
||||
case PHY_INTERFACE_MODE_USXGMII:
|
||||
return "usxgmii";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue