Lines Matching refs:phydev
48 static int ip175c_config_init(struct phy_device *phydev) in ip175c_config_init() argument
56 err = mdiobus_write(phydev->bus, 30, 0, 0x175c); in ip175c_config_init()
61 err = mdiobus_read(phydev->bus, 30, 0); in ip175c_config_init()
67 err = mdiobus_write(phydev->bus, 29, 31, 0x175c); in ip175c_config_init()
72 err = mdiobus_write(phydev->bus, 29, 22, 0x420); in ip175c_config_init()
78 err = mdiobus_write(phydev->bus, i, in ip175c_config_init()
85 err = mdiobus_read(phydev->bus, i, MII_BMCR); in ip175c_config_init()
92 if (phydev->addr != 4) { in ip175c_config_init()
93 phydev->state = PHY_RUNNING; in ip175c_config_init()
94 phydev->speed = SPEED_100; in ip175c_config_init()
95 phydev->duplex = DUPLEX_FULL; in ip175c_config_init()
96 phydev->link = 1; in ip175c_config_init()
97 netif_carrier_on(phydev->attached_dev); in ip175c_config_init()
103 static int ip1xx_reset(struct phy_device *phydev) in ip1xx_reset() argument
108 bmcr = phy_read(phydev, MII_BMCR); in ip1xx_reset()
112 bmcr = phy_write(phydev, MII_BMCR, bmcr); in ip1xx_reset()
117 bmcr = phy_read(phydev, MII_BMCR); in ip1xx_reset()
125 static int ip1001_config_init(struct phy_device *phydev) in ip1001_config_init() argument
129 c = ip1xx_reset(phydev); in ip1001_config_init()
134 c = phy_read(phydev, IP1001_SPEC_CTRL_STATUS_2); in ip1001_config_init()
138 c = phy_write(phydev, IP1001_SPEC_CTRL_STATUS_2, c); in ip1001_config_init()
142 if (phy_interface_is_rgmii(phydev)) { in ip1001_config_init()
144 c = phy_read(phydev, IP10XX_SPEC_CTRL_STATUS); in ip1001_config_init()
150 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) in ip1001_config_init()
152 else if (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) in ip1001_config_init()
154 else if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) in ip1001_config_init()
157 c = phy_write(phydev, IP10XX_SPEC_CTRL_STATUS, c); in ip1001_config_init()
165 static int ip101a_g_config_init(struct phy_device *phydev) in ip101a_g_config_init() argument
169 c = ip1xx_reset(phydev); in ip101a_g_config_init()
174 c = phy_write(phydev, IP101A_G_IRQ_CONF_STATUS, IP101A_G_IRQ_DEFAULT); in ip101a_g_config_init()
179 c = phy_read(phydev, IP10XX_SPEC_CTRL_STATUS); in ip101a_g_config_init()
182 return phy_write(phydev, IP10XX_SPEC_CTRL_STATUS, c); in ip101a_g_config_init()
185 static int ip175c_read_status(struct phy_device *phydev) in ip175c_read_status() argument
187 if (phydev->addr == 4) /* WAN port */ in ip175c_read_status()
188 genphy_read_status(phydev); in ip175c_read_status()
191 phydev->irq = PHY_IGNORE_INTERRUPT; in ip175c_read_status()
196 static int ip175c_config_aneg(struct phy_device *phydev) in ip175c_config_aneg() argument
198 if (phydev->addr == 4) /* WAN port */ in ip175c_config_aneg()
199 genphy_config_aneg(phydev); in ip175c_config_aneg()
204 static int ip101a_g_ack_interrupt(struct phy_device *phydev) in ip101a_g_ack_interrupt() argument
206 int err = phy_read(phydev, IP101A_G_IRQ_CONF_STATUS); in ip101a_g_ack_interrupt()