Lines Matching refs:phydev
64 static int ip175c_config_init(struct phy_device *phydev) in ip175c_config_init() argument
72 err = mdiobus_write(phydev->mdio.bus, 30, 0, 0x175c); in ip175c_config_init()
77 err = mdiobus_read(phydev->mdio.bus, 30, 0); in ip175c_config_init()
83 err = mdiobus_write(phydev->mdio.bus, 29, 31, 0x175c); in ip175c_config_init()
88 err = mdiobus_write(phydev->mdio.bus, 29, 22, 0x420); in ip175c_config_init()
94 err = mdiobus_write(phydev->mdio.bus, i, in ip175c_config_init()
101 err = mdiobus_read(phydev->mdio.bus, i, MII_BMCR); in ip175c_config_init()
108 if (phydev->mdio.addr != 4) { in ip175c_config_init()
109 phydev->state = PHY_RUNNING; in ip175c_config_init()
110 phydev->speed = SPEED_100; in ip175c_config_init()
111 phydev->duplex = DUPLEX_FULL; in ip175c_config_init()
112 phydev->link = 1; in ip175c_config_init()
113 netif_carrier_on(phydev->attached_dev); in ip175c_config_init()
119 static int ip1xx_reset(struct phy_device *phydev) in ip1xx_reset() argument
124 bmcr = phy_read(phydev, MII_BMCR); in ip1xx_reset()
128 bmcr = phy_write(phydev, MII_BMCR, bmcr); in ip1xx_reset()
133 bmcr = phy_read(phydev, MII_BMCR); in ip1xx_reset()
141 static int ip1001_config_init(struct phy_device *phydev) in ip1001_config_init() argument
145 c = ip1xx_reset(phydev); in ip1001_config_init()
150 c = phy_read(phydev, IP1001_SPEC_CTRL_STATUS_2); in ip1001_config_init()
154 c = phy_write(phydev, IP1001_SPEC_CTRL_STATUS_2, c); in ip1001_config_init()
158 if (phy_interface_is_rgmii(phydev)) { in ip1001_config_init()
160 c = phy_read(phydev, IP10XX_SPEC_CTRL_STATUS); in ip1001_config_init()
166 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) in ip1001_config_init()
168 else if (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) in ip1001_config_init()
170 else if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) in ip1001_config_init()
173 c = phy_write(phydev, IP10XX_SPEC_CTRL_STATUS, c); in ip1001_config_init()
181 static int ip175c_read_status(struct phy_device *phydev) in ip175c_read_status() argument
183 if (phydev->mdio.addr == 4) /* WAN port */ in ip175c_read_status()
184 genphy_read_status(phydev); in ip175c_read_status()
187 phydev->irq = PHY_IGNORE_INTERRUPT; in ip175c_read_status()
192 static int ip175c_config_aneg(struct phy_device *phydev) in ip175c_config_aneg() argument
194 if (phydev->mdio.addr == 4) /* WAN port */ in ip175c_config_aneg()
195 genphy_config_aneg(phydev); in ip175c_config_aneg()
200 static int ip101a_g_probe(struct phy_device *phydev) in ip101a_g_probe() argument
202 struct device *dev = &phydev->mdio.dev; in ip101a_g_probe()
226 phydev->priv = priv; in ip101a_g_probe()
231 static int ip101a_g_config_init(struct phy_device *phydev) in ip101a_g_config_init() argument
233 struct ip101a_g_phy_priv *priv = phydev->priv; in ip101a_g_config_init()
236 c = ip1xx_reset(phydev); in ip101a_g_config_init()
243 err = phy_modify(phydev, IP101G_DIGITAL_IO_SPEC_CTRL, in ip101a_g_config_init()
250 err = phy_modify(phydev, IP101G_DIGITAL_IO_SPEC_CTRL, in ip101a_g_config_init()
269 c = phy_read(phydev, IP10XX_SPEC_CTRL_STATUS); in ip101a_g_config_init()
272 return phy_write(phydev, IP10XX_SPEC_CTRL_STATUS, c); in ip101a_g_config_init()
275 static int ip101a_g_config_intr(struct phy_device *phydev) in ip101a_g_config_intr() argument
279 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in ip101a_g_config_intr()
285 return phy_write(phydev, IP101A_G_IRQ_CONF_STATUS, val); in ip101a_g_config_intr()
288 static int ip101a_g_did_interrupt(struct phy_device *phydev) in ip101a_g_did_interrupt() argument
290 int val = phy_read(phydev, IP101A_G_IRQ_CONF_STATUS); in ip101a_g_did_interrupt()
300 static int ip101a_g_ack_interrupt(struct phy_device *phydev) in ip101a_g_ack_interrupt() argument
302 int err = phy_read(phydev, IP101A_G_IRQ_CONF_STATUS); in ip101a_g_ack_interrupt()