net: phy: Add support for 100BaseT1 and 1000BaseT1
authorAndrew Lunn <andrew@lunn.ch>
Wed, 22 May 2019 18:47:03 +0000 (20:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 May 2019 00:46:28 +0000 (17:46 -0700)
Add link modes for 100Mbps and 1Gbps over a single pair.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy-core.c
include/uapi/linux/ethtool.h

index 3daf0214a242fef77909852a7b9676d1fe287eb3..16667fbac8bfa232ca19702c601442023fbd6b0e 100644 (file)
@@ -8,7 +8,7 @@
 
 const char *phy_speed_to_str(int speed)
 {
-       BUILD_BUG_ON_MSG(__ETHTOOL_LINK_MODE_MASK_NBITS != 67,
+       BUILD_BUG_ON_MSG(__ETHTOOL_LINK_MODE_MASK_NBITS != 69,
                "Enum ethtool_link_mode_bit_indices and phylib are out of sync. "
                "If a speed or mode has been added please update phy_speed_to_str "
                "and the PHY settings array.\n");
@@ -131,9 +131,11 @@ static const struct phy_setting settings[] = {
        PHY_SETTING(   1000, FULL,   1000baseKX_Full            ),
        PHY_SETTING(   1000, FULL,   1000baseT_Full             ),
        PHY_SETTING(   1000, HALF,   1000baseT_Half             ),
+       PHY_SETTING(   1000, FULL,   1000baseT1_Full            ),
        PHY_SETTING(   1000, FULL,   1000baseX_Full             ),
        /* 100M */
        PHY_SETTING(    100, FULL,    100baseT_Full             ),
+       PHY_SETTING(    100, FULL,    100baseT1_Full            ),
        PHY_SETTING(    100, HALF,    100baseT_Half             ),
        /* 10M */
        PHY_SETTING(     10, FULL,     10baseT_Full             ),
index 3534ce157ae96670620adbbed93fb4641d13b680..dd06302aa93e3ed183a9fd396e900de6b9e1a501 100644 (file)
@@ -1483,6 +1483,8 @@ enum ethtool_link_mode_bit_indices {
        ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
        ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT         = 65,
        ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT         = 66,
+       ETHTOOL_LINK_MODE_100baseT1_Full_BIT             = 67,
+       ETHTOOL_LINK_MODE_1000baseT1_Full_BIT            = 68,
 
        /* must be last entry */
        __ETHTOOL_LINK_MODE_MASK_NBITS