Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phy: add minimal support for QSGMII PHY

This commit adds the necessary definitions for the PHY layer to
recognize "qsgmii" as a valid PHY interface. A QSMII interface, as
defined at
http://en.wikipedia.org/wiki/Media_Independent_Interface#Quad_Serial_Gigabit_Media_Independent_Interface,
is "is a method of combining four SGMII lines into a 5Gbit/s
interface. QSGMII, like SGMII, uses LVDS signalling for the TX and RX
data and a single LVDS clock signal. QSGMII uses significantly fewer
signal lines than four SGMII busses."

This type of MAC <-> PHY connection might require special handling on
the MAC driver side, so it should be possible to express this type of
MAC <-> PHY connection, for example in the Device Tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: devicetree@vger.kernel.org
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Thomas Petazzoni and committed by
David S. Miller
b9d12085 e283546c

+4 -1
+1 -1
Documentation/devicetree/bindings/net/ethernet.txt
··· 10 10 - max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than 11 11 the maximum frame size (there's contradiction in ePAPR). 12 12 - phy-mode: string, operation mode of the PHY interface; supported values are 13 - "mii", "gmii", "sgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id", 13 + "mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id", 14 14 "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto 15 15 standard property; 16 16 - phy-connection-type: the same as "phy-mode" property but described in ePAPR;
+3
include/linux/phy.h
··· 75 75 PHY_INTERFACE_MODE_SMII, 76 76 PHY_INTERFACE_MODE_XGMII, 77 77 PHY_INTERFACE_MODE_MOCA, 78 + PHY_INTERFACE_MODE_QSGMII, 78 79 PHY_INTERFACE_MODE_MAX, 79 80 } phy_interface_t; 80 81 ··· 117 116 return "xgmii"; 118 117 case PHY_INTERFACE_MODE_MOCA: 119 118 return "moca"; 119 + case PHY_INTERFACE_MODE_QSGMII: 120 + return "qsgmii"; 120 121 default: 121 122 return "unknown"; 122 123 }