Lines Matching +full:force +full:- +full:internal +full:- +full:phy

1 // SPDX-License-Identifier: GPL-2.0+
3 * RealTek PHY drivers
5 * Copyright 2010-2011, 2015 Freescale Semiconductor, Inc.
11 #include <phy.h>
18 /* RTL8211x 1000BASE-T Control Register */
22 /* RTL8211x PHY Status Register */
31 /* RTL8211x PHY Interrupt Enable Register */
36 /* RTL8211x PHY Interrupt Status Register */
39 /* RTL8211F PHY Status Register */
91 phydev->flags |= PHY_RTL8211x_FORCE_MASTER; in rtl8211b_probe()
100 phydev->flags |= PHY_RTL8211E_PINE64_GIGABIT_FIX; in rtl8211e_probe()
117 if (phydev->flags & PHY_RTL8211x_FORCE_MASTER) { in rtl8211x_config()
121 /* force manual master/slave configuration */ in rtl8211x_config()
123 /* force master mode */ in rtl8211x_config()
127 if (phydev->flags & PHY_RTL8211E_PINE64_GIGABIT_FIX) { in rtl8211x_config()
135 /* Ensure both internal delays are turned off */ in rtl8211x_config()
161 /* enable TX-delay for rgmii-id and rgmii-txid, otherwise disable it */ in rtl8211f_config()
162 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in rtl8211f_config()
163 phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) in rtl8211f_config()
170 /* enable RX-delay for rgmii-id and rgmii-rxid, otherwise disable it */ in rtl8211f_config()
172 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in rtl8211f_config()
173 phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) in rtl8211f_config()
205 /* in case of timeout ->link is cleared */ in rtl8211x_parse_status()
206 phydev->link = 1; in rtl8211x_parse_status()
207 puts("Waiting for PHY realtime link"); in rtl8211x_parse_status()
212 phydev->link = 0; in rtl8211x_parse_status()
226 phydev->link = 1; in rtl8211x_parse_status()
228 phydev->link = 0; in rtl8211x_parse_status()
232 phydev->duplex = DUPLEX_FULL; in rtl8211x_parse_status()
234 phydev->duplex = DUPLEX_HALF; in rtl8211x_parse_status()
240 phydev->speed = SPEED_1000; in rtl8211x_parse_status()
243 phydev->speed = SPEED_100; in rtl8211x_parse_status()
246 phydev->speed = SPEED_10; in rtl8211x_parse_status()
261 phydev->link = 1; in rtl8211f_parse_status()
265 phydev->link = 0; in rtl8211f_parse_status()
277 phydev->duplex = DUPLEX_FULL; in rtl8211f_parse_status()
279 phydev->duplex = DUPLEX_HALF; in rtl8211f_parse_status()
285 phydev->speed = SPEED_1000; in rtl8211f_parse_status()
288 phydev->speed = SPEED_100; in rtl8211f_parse_status()
291 phydev->speed = SPEED_10; in rtl8211f_parse_status()
333 /* Support for RTL8211B PHY */
345 /* Support for RTL8211E-VB-CG, RTL8211E-VL-CG and RTL8211EG-VB-CG PHYs */
357 /* Support for RTL8211DN PHY */
368 /* Support for RTL8211F PHY */
381 /* Support for RTL8211FD-VX PHY */
383 .name = "RealTek RTL8211FD-VX",
394 /* Support for RTL8211F-VD PHY */
396 .name = "RealTek RTL8211F-VD",