Lines Matching refs:md

57 static void mdio_mux_iproc_config(struct iproc_mdiomux_desc *md)
63 val = readl(md->base + MDIO_SCAN_CTRL_OFFSET);
65 writel(val, md->base + MDIO_SCAN_CTRL_OFFSET);
67 if (md->core_clk) {
71 divisor = clk_get_rate(md->core_clk) / MDIO_OPERATING_FREQUENCY;
75 writel(val, md->base + MDIO_RATE_ADJ_EXT_OFFSET);
76 writel(val, md->base + MDIO_RATE_ADJ_INT_OFFSET);
136 struct iproc_mdiomux_desc *md = bus->priv;
139 ret = start_miim_ops(md->base, phyid, reg, 0, MDIO_CTRL_READ_OP);
149 struct iproc_mdiomux_desc *md = bus->priv;
153 ret = start_miim_ops(md->base, phyid, reg, val, MDIO_CTRL_WRITE_OP);
163 struct iproc_mdiomux_desc *md = data;
174 writel(param, md->base + MDIO_PARAM_OFFSET);
180 struct iproc_mdiomux_desc *md;
185 md = devm_kzalloc(&pdev->dev, sizeof(*md), GFP_KERNEL);
186 if (!md)
188 md->dev = &pdev->dev;
199 md->base = devm_ioremap_resource(&pdev->dev, res);
200 if (IS_ERR(md->base)) {
202 return PTR_ERR(md->base);
205 md->mii_bus = devm_mdiobus_alloc(&pdev->dev);
206 if (!md->mii_bus) {
211 md->core_clk = devm_clk_get(&pdev->dev, NULL);
212 if (md->core_clk == ERR_PTR(-ENOENT) ||
213 md->core_clk == ERR_PTR(-EINVAL))
214 md->core_clk = NULL;
215 else if (IS_ERR(md->core_clk))
216 return PTR_ERR(md->core_clk);
218 rc = clk_prepare_enable(md->core_clk);
224 bus = md->mii_bus;
225 bus->priv = md;
240 platform_set_drvdata(pdev, md);
242 rc = mdio_mux_init(md->dev, md->dev->of_node, mdio_mux_iproc_switch_fn,
243 &md->mux_handle, md, md->mii_bus);
245 dev_info(md->dev, "mdiomux initialization failed\n");
249 mdio_mux_iproc_config(md);
251 dev_info(md->dev, "iProc mdiomux registered\n");
257 clk_disable_unprepare(md->core_clk);
263 struct iproc_mdiomux_desc *md = platform_get_drvdata(pdev);
265 mdio_mux_uninit(md->mux_handle);
266 mdiobus_unregister(md->mii_bus);
267 clk_disable_unprepare(md->core_clk);
275 struct iproc_mdiomux_desc *md = dev_get_drvdata(dev);
277 clk_disable_unprepare(md->core_clk);
284 struct iproc_mdiomux_desc *md = dev_get_drvdata(dev);
287 rc = clk_prepare_enable(md->core_clk);
289 dev_err(md->dev, "failed to enable core clk\n");
292 mdio_mux_iproc_config(md);