Lines Matching refs:phydev
54 static int rtl8211b_probe(struct phy_device *phydev) in rtl8211b_probe() argument
57 phydev->flags |= PHY_RTL8211x_FORCE_MASTER; in rtl8211b_probe()
64 static int rtl8211x_config(struct phy_device *phydev) in rtl8211x_config() argument
66 phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); in rtl8211x_config()
71 phy_write(phydev, MDIO_DEVAD_NONE, MIIM_RTL8211x_PHY_INER, in rtl8211x_config()
74 if (phydev->flags & PHY_RTL8211x_FORCE_MASTER) { in rtl8211x_config()
77 reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_CTRL1000); in rtl8211x_config()
82 phy_write(phydev, MDIO_DEVAD_NONE, MII_CTRL1000, reg); in rtl8211x_config()
85 phy_read(phydev, MDIO_DEVAD_NONE, MIIM_RTL8211x_PHY_INER); in rtl8211x_config()
87 genphy_config_aneg(phydev); in rtl8211x_config()
92 static int rtl8211f_config(struct phy_device *phydev) in rtl8211f_config() argument
96 phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); in rtl8211f_config()
98 phy_write(phydev, MDIO_DEVAD_NONE, in rtl8211f_config()
100 reg = phy_read(phydev, MDIO_DEVAD_NONE, 0x11); in rtl8211f_config()
103 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in rtl8211f_config()
104 phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) in rtl8211f_config()
109 phy_write(phydev, MDIO_DEVAD_NONE, 0x11, reg); in rtl8211f_config()
111 phy_write(phydev, MDIO_DEVAD_NONE, in rtl8211f_config()
115 phy_write(phydev, MDIO_DEVAD_NONE, in rtl8211f_config()
117 phy_write(phydev, MDIO_DEVAD_NONE, 0x10, 0x617f); in rtl8211f_config()
118 phy_write(phydev, MDIO_DEVAD_NONE, in rtl8211f_config()
121 genphy_config_aneg(phydev); in rtl8211f_config()
126 static int rtl8211x_parse_status(struct phy_device *phydev) in rtl8211x_parse_status() argument
131 mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, MIIM_RTL8211x_PHY_STATUS); in rtl8211x_parse_status()
137 phydev->link = 1; in rtl8211x_parse_status()
143 phydev->link = 0; in rtl8211x_parse_status()
150 mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, in rtl8211x_parse_status()
157 phydev->link = 1; in rtl8211x_parse_status()
159 phydev->link = 0; in rtl8211x_parse_status()
163 phydev->duplex = DUPLEX_FULL; in rtl8211x_parse_status()
165 phydev->duplex = DUPLEX_HALF; in rtl8211x_parse_status()
171 phydev->speed = SPEED_1000; in rtl8211x_parse_status()
174 phydev->speed = SPEED_100; in rtl8211x_parse_status()
177 phydev->speed = SPEED_10; in rtl8211x_parse_status()
183 static int rtl8211f_parse_status(struct phy_device *phydev) in rtl8211f_parse_status() argument
189 phy_write(phydev, MDIO_DEVAD_NONE, MIIM_RTL8211F_PAGE_SELECT, 0xa43); in rtl8211f_parse_status()
190 mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, MIIM_RTL8211F_PHY_STATUS); in rtl8211f_parse_status()
192 phydev->link = 1; in rtl8211f_parse_status()
196 phydev->link = 0; in rtl8211f_parse_status()
203 mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, in rtl8211f_parse_status()
208 phydev->duplex = DUPLEX_FULL; in rtl8211f_parse_status()
210 phydev->duplex = DUPLEX_HALF; in rtl8211f_parse_status()
216 phydev->speed = SPEED_1000; in rtl8211f_parse_status()
219 phydev->speed = SPEED_100; in rtl8211f_parse_status()
222 phydev->speed = SPEED_10; in rtl8211f_parse_status()
228 static int rtl8211x_startup(struct phy_device *phydev) in rtl8211x_startup() argument
233 ret = genphy_update_link(phydev); in rtl8211x_startup()
237 return rtl8211x_parse_status(phydev); in rtl8211x_startup()
240 static int rtl8211e_startup(struct phy_device *phydev) in rtl8211e_startup() argument
244 ret = genphy_update_link(phydev); in rtl8211e_startup()
248 return genphy_parse_link(phydev); in rtl8211e_startup()
251 static int rtl8211f_startup(struct phy_device *phydev) in rtl8211f_startup() argument
256 ret = genphy_update_link(phydev); in rtl8211f_startup()
261 return rtl8211f_parse_status(phydev); in rtl8211f_startup()