]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: document SMII and correct phylink's new validation mechanism
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 15 Nov 2021 17:11:17 +0000 (17:11 +0000)
committerJakub Kicinski <kuba@kernel.org>
Wed, 17 Nov 2021 03:22:30 +0000 (19:22 -0800)
SMII has not been documented in the kernel, but information on this PHY
interface mode has been recently found. Document it, and correct the
recently introduced phylink handling for this interface mode.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/E1mmfVl-0075nP-14@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/phy.rst
drivers/net/phy/phylink.c
include/linux/phy.h

index 571ba08386e71c00a10ff66d4e3a61c697c6ea0e..d43da709bf40a25e64e05042d7af0c7bd3ef4d8e 100644 (file)
@@ -237,6 +237,11 @@ negotiation results.
 
 Some of the interface modes are described below:
 
+``PHY_INTERFACE_MODE_SMII``
+    This is serial MII, clocked at 125MHz, supporting 100M and 10M speeds.
+    Some details can be found in
+    https://opencores.org/ocsvn/smii/smii/trunk/doc/SMII.pdf
+
 ``PHY_INTERFACE_MODE_1000BASEX``
     This defines the 1000BASE-X single-lane serdes link as defined by the
     802.3 standard section 36.  The link operates at a fixed bit rate of
index 33462fdc7addf17c6885085539ce2021f6fd9301..f7156b6868e739d9f42f3c84c9d241b7e5d23354 100644 (file)
@@ -336,6 +336,7 @@ void phylink_get_linkmodes(unsigned long *linkmodes, phy_interface_t interface,
 
        case PHY_INTERFACE_MODE_REVRMII:
        case PHY_INTERFACE_MODE_RMII:
+       case PHY_INTERFACE_MODE_SMII:
        case PHY_INTERFACE_MODE_REVMII:
        case PHY_INTERFACE_MODE_MII:
                caps |= MAC_10HD | MAC_10FD;
@@ -385,7 +386,6 @@ void phylink_get_linkmodes(unsigned long *linkmodes, phy_interface_t interface,
 
        case PHY_INTERFACE_MODE_NA:
        case PHY_INTERFACE_MODE_MAX:
-       case PHY_INTERFACE_MODE_SMII:
                break;
        }
 
index 96e43fbb2dd89f151dcc68eed2fe88a7966d0d0c..1e57cdd95da3a6e7e3d483626ff64c24666c063c 100644 (file)
@@ -99,7 +99,7 @@ extern const int phy_10gbit_features_array[1];
  * @PHY_INTERFACE_MODE_RGMII_RXID: RGMII with Internal RX delay
  * @PHY_INTERFACE_MODE_RGMII_TXID: RGMII with Internal RX delay
  * @PHY_INTERFACE_MODE_RTBI: Reduced TBI
- * @PHY_INTERFACE_MODE_SMII: ??? MII
+ * @PHY_INTERFACE_MODE_SMII: Serial MII
  * @PHY_INTERFACE_MODE_XGMII: 10 gigabit media-independent interface
  * @PHY_INTERFACE_MODE_XLGMII:40 gigabit media-independent interface
  * @PHY_INTERFACE_MODE_MOCA: Multimedia over Coax