Lines Matching defs:miic
13 #include <linux/pcs-rzn1-miic.h>
17 #include <dt-bindings/net/pcs-rzn1-miic.h>
122 * struct miic - MII converter structure
127 struct miic {
135 * @miic: backiling to MII converter structure
141 struct miic *miic;
152 static void miic_reg_writel(struct miic *miic, int offset, u32 value)
154 writel(value, miic->base + offset);
157 static u32 miic_reg_readl(struct miic *miic, int offset)
159 return readl(miic->base + offset);
162 static void miic_reg_rmw(struct miic *miic, int offset, u32 mask, u32 val)
166 spin_lock(&miic->lock);
168 reg = miic_reg_readl(miic, offset);
171 miic_reg_writel(miic, offset, reg);
173 spin_unlock(&miic->lock);
176 static void miic_converter_enable(struct miic *miic, int port, int enable)
183 miic_reg_rmw(miic, MIIC_CONVRST, MIIC_CONVRST_PHYIF_RST(port), val);
191 struct miic *miic = miic_port->miic;
231 miic_reg_rmw(miic, MIIC_CONVCTRL(port), mask, val);
232 miic_converter_enable(miic, miic_port->port, 1);
241 struct miic *miic = miic_port->miic;
267 miic_reg_rmw(miic, MIIC_CONVCTRL(port),
293 struct miic *miic;
329 miic = platform_get_drvdata(pdev);
330 device_link_add(dev, miic->dev, DL_FLAG_AUTOREMOVE_CONSUMER);
333 miic_port->miic = miic;
345 miic_converter_enable(miic_port->miic, miic_port->port, 0);
350 static int miic_init_hw(struct miic *miic, u32 cfg_mode)
358 miic_reg_writel(miic, MIIC_PRCMD, 0x00A5);
359 miic_reg_writel(miic, MIIC_PRCMD, 0x0001);
360 miic_reg_writel(miic, MIIC_PRCMD, 0xFFFE);
361 miic_reg_writel(miic, MIIC_PRCMD, 0x0001);
363 miic_reg_writel(miic, MIIC_MODCTRL,
367 miic_converter_enable(miic, port, 0);
372 miic_reg_writel(miic, MIIC_SWCTRL, 0x0);
373 miic_reg_writel(miic, MIIC_SWDUPC, 0x0);
443 if (of_property_read_u32(np, "renesas,miic-switch-portin", &conf) == 0)
453 if (of_property_read_u32(conv, "renesas,miic-input", &conf) == 0)
463 struct miic *miic;
471 miic = devm_kzalloc(dev, sizeof(*miic), GFP_KERNEL);
472 if (!miic)
475 spin_lock_init(&miic->lock);
476 miic->dev = dev;
477 miic->base = devm_platform_ioremap_resource(pdev, 0);
478 if (IS_ERR(miic->base))
479 return PTR_ERR(miic->base);
489 ret = miic_init_hw(miic, mode_cfg);
498 platform_set_drvdata(pdev, miic);
516 { .compatible = "renesas,rzn1-miic" },