Lines Matching +full:fixed +full:- +full:links

1 .. SPDX-License-Identifier: GPL-2.0
10 phylink is a mechanism to support hot-pluggable networking modules
11 directly connected to a MAC without needing to re-initialise the
12 adapter on hot-plug events.
14 phylink supports conventional phylib-based setups, fixed link setups
30 2. Fixed mode
32 Fixed mode is the same as PHY mode as far as the MAC driver is
35 3. In-band mode
37 In-band mode is used with 802.3z, SGMII and similar interface modes,
38 and we are expecting to use and honor the in-band negotiation or
43 .. code-block:: none
47 phy-mode = "sgmii";
50 does not use in-band SGMII signalling. The PHY is expected to follow
55 .. code-block:: none
58 managed = "in-band-status";
60 phy-mode = "sgmii";
63 uses in-band mode, where results from the PHY's negotiation are passed
77 two parts dealing with link-down and link-up. This can be done as
82 link-up part now includes configuring the MAC for the link settings.
113 .. flat-table::
114 :header-rows: 1
116 :stub-columns: 0
118 * - Original function
119 - Replacement function
120 * - phy_start(phydev)
121 - phylink_start(priv->phylink)
122 * - phy_stop(phydev)
123 - phylink_stop(priv->phylink)
124 * - phy_mii_ioctl(phydev, ifr, cmd)
125 - phylink_mii_ioctl(priv->phylink, ifr, cmd)
126 * - phy_ethtool_get_wol(phydev, wol)
127 - phylink_ethtool_get_wol(priv->phylink, wol)
128 * - phy_ethtool_set_wol(phydev, wol)
129 - phylink_ethtool_set_wol(priv->phylink, wol)
130 * - phy_disconnect(phydev)
131 - phylink_disconnect_phy(priv->phylink)
139 .. code-block:: c
146 return phylink_ethtool_ksettings_set(priv->phylink, cmd);
154 return phylink_ethtool_ksettings_get(priv->phylink, cmd);
163 err = phylink_of_phy_connect(priv->phylink, node, flags);
170 fixed link properties, and will also contain the sfp property.
172 The setup of fixed links should also be removed; these are handled
197 It is important that if in-band negotiation is used,
199 in-band negotiation from completing, since these functions are called
200 when the in-band link state changes - otherwise the link will never
204 and ``state->advertising`` with the supported ethtool link modes.
210 using. This is particularly important for in-band negotiation
211 methods such as 1000base-X and SGMII.
218 tightly integrated, or when the settings are not coming from in-band
233 of_phy_register_fixed_link() for fixed links etc. from the probe
236 .. code-block:: c
239 priv->phylink_config.dev = &dev.dev;
240 priv->phylink_config.type = PHYLINK_NETDEV;
242 phylink = phylink_create(&priv->phylink_config, node, phy_mode, &phylink_ops);
248 priv->phylink = phylink;
253 .. code-block:: c
255 phylink_destroy(priv->phylink);
260 .. code-block:: c
262 phylink_mac_change(priv->phylink, link_is_up);
266 it should set ``priv->phylink_config.pcs_poll = true;`` in step 9.