Lines Matching refs:mdio_dev
153 static int mdio_sc_cfg_reg_write(struct hns_mdio_device *mdio_dev, in mdio_sc_cfg_reg_write() argument
160 regmap_write(mdio_dev->subctrl_vbase, cfg_reg, set_val); in mdio_sc_cfg_reg_write()
163 regmap_read(mdio_dev->subctrl_vbase, st_reg, ®_value); in mdio_sc_cfg_reg_write()
177 struct hns_mdio_device *mdio_dev = bus->priv; in hns_mdio_wait_ready() local
184 cmd_reg_value = MDIO_GET_REG_BIT(mdio_dev, in hns_mdio_wait_ready()
194 static void hns_mdio_cmd_write(struct hns_mdio_device *mdio_dev, in hns_mdio_cmd_write() argument
207 MDIO_WRITE_REG(mdio_dev, MDIO_COMMAND_REG, cmd_reg_value); in hns_mdio_cmd_write()
223 struct hns_mdio_device *mdio_dev = (struct hns_mdio_device *)bus->priv; in hns_mdio_write() local
231 bus->id, mdio_dev->vbase); in hns_mdio_write()
247 MDIO_SET_REG_FIELD(mdio_dev, MDIO_ADDR_REG, MDIO_ADDR_DATA_M, in hns_mdio_write()
250 hns_mdio_cmd_write(mdio_dev, is_c45, in hns_mdio_write()
265 MDIO_SET_REG_FIELD(mdio_dev, MDIO_WDATA_REG, MDIO_WDATA_DATA_M, in hns_mdio_write()
268 hns_mdio_cmd_write(mdio_dev, is_c45, op, phy_id, cmd_reg_cfg); in hns_mdio_write()
289 struct hns_mdio_device *mdio_dev = (struct hns_mdio_device *)bus->priv; in hns_mdio_read() local
292 bus->id, mdio_dev->vbase); in hns_mdio_read()
304 hns_mdio_cmd_write(mdio_dev, is_c45, in hns_mdio_read()
307 MDIO_SET_REG_FIELD(mdio_dev, MDIO_ADDR_REG, MDIO_ADDR_DATA_M, in hns_mdio_read()
311 hns_mdio_cmd_write(mdio_dev, is_c45, in hns_mdio_read()
321 hns_mdio_cmd_write(mdio_dev, is_c45, in hns_mdio_read()
333 reg_val = MDIO_GET_REG_BIT(mdio_dev, MDIO_STA_REG, MDIO_STATE_STA_B); in hns_mdio_read()
340 reg_val = (u16)MDIO_GET_REG_FIELD(mdio_dev, MDIO_RDATA_REG, in hns_mdio_read()
354 struct hns_mdio_device *mdio_dev = (struct hns_mdio_device *)bus->priv; in hns_mdio_reset() local
357 if (!mdio_dev->subctrl_vbase) { in hns_mdio_reset()
363 ret = mdio_sc_cfg_reg_write(mdio_dev, MDIO_SC_RESET_REQ, 0x1, in hns_mdio_reset()
372 ret = mdio_sc_cfg_reg_write(mdio_dev, MDIO_SC_CLK_DIS, in hns_mdio_reset()
381 ret = mdio_sc_cfg_reg_write(mdio_dev, MDIO_SC_RESET_DREQ, 0x1, in hns_mdio_reset()
390 ret = mdio_sc_cfg_reg_write(mdio_dev, MDIO_SC_CLK_EN, in hns_mdio_reset()
426 struct hns_mdio_device *mdio_dev; in hns_mdio_probe() local
436 mdio_dev = devm_kzalloc(&pdev->dev, sizeof(*mdio_dev), GFP_KERNEL); in hns_mdio_probe()
437 if (!mdio_dev) in hns_mdio_probe()
450 new_bus->priv = mdio_dev; in hns_mdio_probe()
454 mdio_dev->vbase = devm_ioremap_resource(&pdev->dev, res); in hns_mdio_probe()
455 if (IS_ERR(mdio_dev->vbase)) { in hns_mdio_probe()
456 ret = PTR_ERR(mdio_dev->vbase); in hns_mdio_probe()
460 mdio_dev->subctrl_vbase = in hns_mdio_probe()
462 if (IS_ERR(mdio_dev->subctrl_vbase)) { in hns_mdio_probe()
464 mdio_dev->subctrl_vbase = NULL; in hns_mdio_probe()