Lines Matching refs:ctrl
137 struct serdes_ctrl *ctrl; member
205 macro->ctrl->regs, HSIO_SD_CFG(idx)); in lan966x_sd6g40_reg_cfg()
211 macro->ctrl->regs, HSIO_MPLL_CFG(idx)); in lan966x_sd6g40_reg_cfg()
215 macro->ctrl->regs, HSIO_SD_CFG(idx)); in lan966x_sd6g40_reg_cfg()
219 macro->ctrl->regs, HSIO_MPLL_CFG(idx)); in lan966x_sd6g40_reg_cfg()
225 macro->ctrl->regs, HSIO_SD_CFG(idx)); in lan966x_sd6g40_reg_cfg()
231 macro->ctrl->regs, HSIO_MPLL_CFG(idx)); in lan966x_sd6g40_reg_cfg()
235 value = readl(macro->ctrl->regs + lan_offset(HSIO_SD_STAT(idx))); in lan966x_sd6g40_reg_cfg()
238 dev_err(macro->ctrl->dev, in lan966x_sd6g40_reg_cfg()
246 macro->ctrl->regs, HSIO_SD_CFG(idx)); in lan966x_sd6g40_reg_cfg()
250 value = readl(macro->ctrl->regs + lan_offset(HSIO_SD_STAT(idx))); in lan966x_sd6g40_reg_cfg()
253 dev_err(macro->ctrl->dev, in lan966x_sd6g40_reg_cfg()
263 macro->ctrl->regs, HSIO_SD_CFG(idx)); in lan966x_sd6g40_reg_cfg()
268 value = readl(macro->ctrl->regs + lan_offset(HSIO_SD_STAT(idx))); in lan966x_sd6g40_reg_cfg()
271 dev_err(macro->ctrl->dev, in lan966x_sd6g40_reg_cfg()
278 value = readl(macro->ctrl->regs + lan_offset(HSIO_SD_STAT(idx))); in lan966x_sd6g40_reg_cfg()
281 dev_err(macro->ctrl->dev, in lan966x_sd6g40_reg_cfg()
291 macro->ctrl->regs, HSIO_SD_CFG(idx)); in lan966x_sd6g40_reg_cfg()
388 conf.refclk125M = macro->ctrl->ref125; in lan966x_sd6g40_setup()
412 macro->ctrl->regs, HSIO_RGMII_CFG(idx)); in lan966x_rgmii_setup()
427 macro->ctrl->regs, HSIO_DLL_CFG(idx == 0 ? 0x0 : 0x2)); in lan966x_rgmii_setup()
431 macro->ctrl->regs, HSIO_DLL_CFG(idx == 0 ? 0x0 : 0x2)); in lan966x_rgmii_setup()
437 macro->ctrl->regs, HSIO_DLL_CFG(idx == 0 ? 0x1 : 0x3)); in lan966x_rgmii_setup()
441 macro->ctrl->regs, HSIO_DLL_CFG(idx == 0 ? 0x1 : 0x3)); in lan966x_rgmii_setup()
488 val = readl(macro->ctrl->regs + lan_offset(HSIO_HW_CFG)); in serdes_set_mode()
491 macro->ctrl->regs, HSIO_HW_CFG); in serdes_set_mode()
523 struct serdes_ctrl *ctrl = dev_get_drvdata(dev); in serdes_simple_xlate() local
533 struct serdes_macro *macro = phy_get_drvdata(ctrl->phys[i]); in serdes_simple_xlate()
539 return ctrl->phys[i]; in serdes_simple_xlate()
545 static int serdes_phy_create(struct serdes_ctrl *ctrl, u8 idx, struct phy **phy) in serdes_phy_create() argument
549 *phy = devm_phy_create(ctrl->dev, NULL, &serdes_ops); in serdes_phy_create()
553 macro = devm_kzalloc(ctrl->dev, sizeof(*macro), GFP_KERNEL); in serdes_phy_create()
558 macro->ctrl = ctrl; in serdes_phy_create()
569 struct serdes_ctrl *ctrl; in serdes_probe() local
575 ctrl = devm_kzalloc(&pdev->dev, sizeof(*ctrl), GFP_KERNEL); in serdes_probe()
576 if (!ctrl) in serdes_probe()
579 ctrl->dev = &pdev->dev; in serdes_probe()
580 ctrl->regs = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); in serdes_probe()
581 if (IS_ERR(ctrl->regs)) in serdes_probe()
582 return PTR_ERR(ctrl->regs); in serdes_probe()
589 ret = serdes_phy_create(ctrl, i, &ctrl->phys[i]); in serdes_probe()
596 ctrl->ref125 = (val == PLL_CONF_125MHZ || in serdes_probe()
599 dev_set_drvdata(&pdev->dev, ctrl); in serdes_probe()
601 provider = devm_of_phy_provider_register(ctrl->dev, in serdes_probe()