From 6e71e070dae8acf4c3c7550b71aa4ea12a5bd215 Mon Sep 17 00:00:00 2001 From: Ezequiel Garcia Date: Tue, 29 Jul 2014 17:44:58 -0300 Subject: net: phy: Add minimal support for QSGMII PHY Based on Linux's support by Thomas Petazzoni: commit b9d12085f2f531fdea67f0361564e0812696227c Author: Thomas Petazzoni Date: Tue Apr 15 15:50:19 2014 +0200 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 Cc: devicetree@vger.kernel.org Reviewed-by: Florian Fainelli Signed-off-by: David S. Miller Cc: Thomas Petazzoni Signed-off-by: Ezequiel Garcia Signed-off-by: Sascha Hauer --- drivers/of/of_net.c | 1 + include/linux/phy.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c index 0320c1d4f5..086573fc1a 100644 --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c @@ -28,6 +28,7 @@ static const char *phy_modes[] = { [PHY_INTERFACE_MODE_RGMII_TXID] = "rgmii-txid", [PHY_INTERFACE_MODE_RTBI] = "rtbi", [PHY_INTERFACE_MODE_SMII] = "smii", + [PHY_INTERFACE_MODE_QSGMII] = "qsgmii", }; /** diff --git a/include/linux/phy.h b/include/linux/phy.h index 3229aa6300..7c5d754a12 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -54,6 +54,7 @@ typedef enum { PHY_INTERFACE_MODE_RGMII_TXID, PHY_INTERFACE_MODE_RTBI, PHY_INTERFACE_MODE_SMII, + PHY_INTERFACE_MODE_QSGMII, } phy_interface_t; #define PHY_INIT_TIMEOUT 100000 -- cgit v1.2.3