net: phy: add XAUI and 10GBASE-KR PHY connection types
XAUI allows XGMII to reach an extended distance by using a XGXS layer at each end of the MAC to PHY link, operating over four Serdes lanes. 10GBASE-KR is a single lane Serdes backplane ethernet connection method with autonegotiation on the link. Some PHYs use this to connect to the ethernet interface at 10G speeds, switching to other connection types when utilising slower speeds. 10GBASE-KR is also used for XFI and SFI to connect to XFP and SFP fiber modules. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
921690f2aa
Коммит
c125ca0918
|
@ -32,5 +32,5 @@ Description:
|
||||||
<empty> (not available), mii, gmii, sgmii, tbi, rev-mii,
|
<empty> (not available), mii, gmii, sgmii, tbi, rev-mii,
|
||||||
rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii
|
rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii
|
||||||
xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui,
|
xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui,
|
||||||
unknown
|
xaui, 10gbase-kr, unknown
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,8 @@ The following properties are common to the Ethernet controllers:
|
||||||
* "2000base-x",
|
* "2000base-x",
|
||||||
* "2500base-x",
|
* "2500base-x",
|
||||||
* "rxaui"
|
* "rxaui"
|
||||||
|
* "xaui"
|
||||||
|
* "10gbase-kr" (10GBASE-KR, XFI, SFI)
|
||||||
- phy-connection-type: the same as "phy-mode" property but described in ePAPR;
|
- phy-connection-type: the same as "phy-mode" property but described in ePAPR;
|
||||||
- phy-handle: phandle, specifies a reference to a node representing a PHY
|
- phy-handle: phandle, specifies a reference to a node representing a PHY
|
||||||
device; this property is described in ePAPR and so preferred;
|
device; this property is described in ePAPR and so preferred;
|
||||||
|
|
|
@ -83,6 +83,9 @@ typedef enum {
|
||||||
PHY_INTERFACE_MODE_1000BASEX,
|
PHY_INTERFACE_MODE_1000BASEX,
|
||||||
PHY_INTERFACE_MODE_2500BASEX,
|
PHY_INTERFACE_MODE_2500BASEX,
|
||||||
PHY_INTERFACE_MODE_RXAUI,
|
PHY_INTERFACE_MODE_RXAUI,
|
||||||
|
PHY_INTERFACE_MODE_XAUI,
|
||||||
|
/* 10GBASE-KR, XFI, SFI - single lane 10G Serdes */
|
||||||
|
PHY_INTERFACE_MODE_10GKR,
|
||||||
PHY_INTERFACE_MODE_MAX,
|
PHY_INTERFACE_MODE_MAX,
|
||||||
} phy_interface_t;
|
} phy_interface_t;
|
||||||
|
|
||||||
|
@ -149,6 +152,10 @@ static inline const char *phy_modes(phy_interface_t interface)
|
||||||
return "2500base-x";
|
return "2500base-x";
|
||||||
case PHY_INTERFACE_MODE_RXAUI:
|
case PHY_INTERFACE_MODE_RXAUI:
|
||||||
return "rxaui";
|
return "rxaui";
|
||||||
|
case PHY_INTERFACE_MODE_XAUI:
|
||||||
|
return "xaui";
|
||||||
|
case PHY_INTERFACE_MODE_10GKR:
|
||||||
|
return "10gbase-kr";
|
||||||
default:
|
default:
|
||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче