Searched refs:mdio (Results 1 - 197 of 197) sorted by relevance

/linux-4.4.14/drivers/net/
H A Dmdio.c2 * mdio.c: Generic support for MDIO-compatible transceivers
14 #include <linux/mdio.h>
23 * @mdio: MDIO interface
29 int mdio45_probe(struct mdio_if_info *mdio, int prtad) mdio45_probe() argument
37 stat2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_STAT2); mdio45_probe()
43 devs1 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS1); mdio45_probe()
44 devs2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS2); mdio45_probe()
48 mdio->prtad = prtad; mdio45_probe()
49 mdio->mmds = devs1 | (devs2 << 16); mdio45_probe()
59 * @mdio: MDIO interface
69 int mdio_set_flag(const struct mdio_if_info *mdio, mdio_set_flag() argument
73 int old_val = mdio->mdio_read(mdio->dev, prtad, devad, addr); mdio_set_flag()
84 return mdio->mdio_write(mdio->dev, prtad, devad, addr, new_val); mdio_set_flag()
90 * @mdio: MDIO interface
94 * @mmd_mask is normally @mdio->mmds, but if loopback is enabled
97 int mdio45_links_ok(const struct mdio_if_info *mdio, u32 mmd_mask) mdio45_links_ok() argument
103 reg = mdio->mdio_read(mdio->dev, mdio->prtad, mdio45_links_ok()
113 mdio->mdio_read(mdio->dev, mdio->prtad, mdio45_links_ok()
117 mdio->mdio_read(mdio->dev, mdio->prtad, mdio45_links_ok()
121 reg = mdio->mdio_read(mdio->dev, mdio->prtad, mdio45_links_ok()
136 * @mdio: MDIO interface
140 int mdio45_nway_restart(const struct mdio_if_info *mdio) mdio45_nway_restart() argument
142 if (!(mdio->mmds & MDIO_DEVS_AN)) mdio45_nway_restart()
145 mdio_set_flag(mdio, mdio->prtad, MDIO_MMD_AN, MDIO_CTRL1, mdio45_nway_restart()
151 static u32 mdio45_get_an(const struct mdio_if_info *mdio, u16 addr) mdio45_get_an() argument
156 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN, addr); mdio45_get_an()
174 * @mdio: MDIO interface
186 void mdio45_ethtool_gset_npage(const struct mdio_if_info *mdio, mdio45_ethtool_gset_npage() argument
197 ecmd->phy_address = mdio->prtad; mdio45_ethtool_gset_npage()
199 mdio->mode_support & (MDIO_SUPPORTS_C45 | MDIO_SUPPORTS_C22); mdio45_ethtool_gset_npage()
201 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD, mdio45_ethtool_gset_npage()
210 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD, mdio45_ethtool_gset_npage()
237 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD, mdio45_ethtool_gset_npage()
245 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD, mdio45_ethtool_gset_npage()
260 if (mdio->mmds & MDIO_DEVS_AN) { mdio45_ethtool_gset_npage()
262 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN, mdio45_ethtool_gset_npage()
268 mdio45_get_an(mdio, MDIO_AN_ADVERTISE) | mdio45_ethtool_gset_npage()
279 int an_stat = mdio->mdio_read(mdio->dev, mdio->prtad, mdio45_ethtool_gset_npage()
286 mdio45_get_an(mdio, MDIO_AN_LPA) | npage_lpa; mdio45_ethtool_gset_npage()
314 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD, mdio45_ethtool_gset_npage()
327 switch (mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD, mdio45_ethtool_gset_npage()
346 * @mdio: MDIO interface
352 int mdio_mii_ioctl(const struct mdio_if_info *mdio, mdio_mii_ioctl() argument
361 if (mdio->prtad == MDIO_PRTAD_NONE) mdio_mii_ioctl()
363 mii_data->phy_id = mdio->prtad; mdio_mii_ioctl()
374 if ((mdio->mode_support & MDIO_SUPPORTS_C45) && mdio_mii_ioctl()
378 } else if ((mdio->mode_support & MDIO_SUPPORTS_C22) && mdio_mii_ioctl()
383 } else if ((mdio->mode_support & MDIO_EMULATE_C22) && mdio_mii_ioctl()
384 mdio->prtad != MDIO_PRTAD_NONE && mdio_mii_ioctl()
385 mii_data->phy_id == mdio->prtad) { mdio_mii_ioctl()
387 prtad = mdio->prtad; mdio_mii_ioctl()
393 devad = __ffs(mdio->mmds); mdio_mii_ioctl()
397 if (!(mdio->mmds & MDIO_DEVS_AN)) mdio_mii_ioctl()
413 int rc = mdio->mdio_read(mdio->dev, prtad, devad, addr); mdio_mii_ioctl()
419 return mdio->mdio_write(mdio->dev, prtad, devad, addr, mdio_mii_ioctl()
/linux-4.4.14/drivers/net/phy/
H A DMakefile25 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
26 obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o
33 obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o
37 obj-$(CONFIG_MDIO_BUS_MUX) += mdio-mux.o
38 obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o
39 obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
40 obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o
41 obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o
42 obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
44 obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o
H A Dmdio-mux-mmioreg.c19 #include <linux/mdio-mux.h>
30 * This function is called by the mdio-mux layer when it thinks the mdio bus
114 dev_err(&pdev->dev, "mdio-mux child node %s is " for_each_available_child_of_node()
120 dev_err(&pdev->dev, "mdio-mux child node %s has " for_each_available_child_of_node()
131 dev_err(&pdev->dev, "failed to register mdio-mux bus %s\n",
152 .compatible = "mdio-mux-mmioreg",
160 .name = "mdio-mux-mmioreg",
H A Dmdio-gpio.c28 #include <linux/platform_data/mdio-gpio.h>
35 int mdc, mdio, mdo; member in struct:mdio_gpio_info
60 pdata->mdio = ret; mdio_gpio_of_get_data()
89 gpio_direction_output(bitbang->mdio, mdio_dir()
92 gpio_direction_input(bitbang->mdio); mdio_dir()
100 return gpio_get_value_cansleep(bitbang->mdio) ^ mdio_get()
113 gpio_set_value_cansleep(bitbang->mdio, mdio_set()
149 bitbang->mdio = pdata->mdio; mdio_gpio_bus_init()
180 if (devm_gpio_request(dev, bitbang->mdio, "mdio")) mdio_gpio_bus_init()
187 gpio_direction_input(bitbang->mdio); mdio_gpio_bus_init()
225 bus_id = of_alias_get_id(pdev->dev.of_node, "mdio-gpio"); mdio_gpio_probe()
261 { .compatible = "virtual,mdio-gpio", },
270 .name = "mdio-gpio",
277 MODULE_ALIAS("platform:mdio-gpio");
H A Dmdio-mux-gpio.c14 #include <linux/mdio-mux.h>
79 .compatible = "mdio-mux-gpio",
83 .compatible = "cavium,mdio-mux-sn74cbtlv3253",
91 .name = "mdio-mux-gpio",
H A Dmdio-bcm-unimac.c240 { .compatible = "brcm,genet-mdio-v4", },
241 { .compatible = "brcm,genet-mdio-v3", },
242 { .compatible = "brcm,genet-mdio-v2", },
243 { .compatible = "brcm,genet-mdio-v1", },
244 { .compatible = "brcm,unimac-mdio", },
251 .name = "unimac-mdio",
262 MODULE_ALIAS("platform:unimac-mdio");
H A Dteranetics.c17 #include <linux/mdio.h>
122 MODULE_DEVICE_TABLE(mdio, teranetics_tbl);
H A Dmdio-bcm-iproc.c194 { .compatible = "brcm,iproc-mdio", },
201 .name = "iproc-mdio",
213 MODULE_ALIAS("platform:iproc-mdio");
H A Dmdio-sun4i.c167 { .compatible = "allwinner,sun4i-a10-mdio" },
170 { .compatible = "allwinner,sun4i-mdio" },
179 .name = "sun4i-mdio",
H A Daquantia.c19 #include <linux/mdio.h>
184 MODULE_DEVICE_TABLE(mdio, aquantia_tbl);
H A Damd.c85 MODULE_DEVICE_TABLE(mdio, amd_tbl);
H A Dbcm63xx.c83 MODULE_DEVICE_TABLE(mdio, bcm63xx_tbl);
H A Dmdio-moxart.c182 { .compatible = "moxa,moxart-mdio" },
191 .name = "moxart-mdio",
H A Dmdio-mux.c10 #include <linux/mdio-mux.h>
111 parent_bus_node = of_parse_phandle(dev->of_node, "mdio-parent-bus", 0); mdio_mux_init()
H A Dcicada.c140 MODULE_DEVICE_TABLE(mdio, cicada_tbl);
H A Ddp83848.c71 MODULE_DEVICE_TABLE(mdio, dp83848_tbl);
H A Det1011c.c108 MODULE_DEVICE_TABLE(mdio, et1011c_tbl);
H A Dste10Xp.c123 MODULE_DEVICE_TABLE(mdio, ste10Xp_tbl);
H A Dmdio-octeon.c311 bus->mii_bus->name = "mdio-octeon"; octeon_mdiobus_probe()
351 .compatible = "cavium,octeon-3860-mdio",
359 .name = "mdio-octeon",
H A Dbcm-cygnus.c152 MODULE_DEVICE_TABLE(mdio, bcm_cygnus_phy_tbl);
H A Ddavicom.c207 MODULE_DEVICE_TABLE(mdio, davicom_tbl);
H A Dmicrochip.c144 MODULE_DEVICE_TABLE(mdio, microchip_tbl);
H A Dnational.c157 MODULE_DEVICE_TABLE(mdio, ns_tbl);
H A Dqsemi.c135 MODULE_DEVICE_TABLE(mdio, qs6612_tbl);
H A Drealtek.c192 MODULE_DEVICE_TABLE(mdio, realtek_tbl);
H A Dmdio_bus.c193 /* Walk the list of subnodes of a mdio bus and look for a node that matches the
198 static void of_mdiobus_link_phydev(struct mii_bus *mdio, of_mdiobus_link_phydev() argument
204 if (dev->of_node || !mdio->dev.of_node) of_mdiobus_link_phydev()
207 for_each_available_child_of_node(mdio->dev.of_node, child) { of_mdiobus_link_phydev()
232 static inline void of_mdiobus_link_phydev(struct mii_bus *mdio, of_mdiobus_link_phydev() argument
H A Dbcm-phy-lib.c17 #include <linux/mdio.h>
H A Ddp83867.c231 MODULE_DEVICE_TABLE(mdio, dp83867_tbl);
H A Dicplus.c262 MODULE_DEVICE_TABLE(mdio, icplus_tbl);
H A Dbcm7xxx.c18 #include <linux/mdio.h>
406 MODULE_DEVICE_TABLE(mdio, bcm7xxx_tbl);
H A Dat803x.c369 MODULE_DEVICE_TABLE(mdio, atheros_tbl);
H A Dlxt.c324 MODULE_DEVICE_TABLE(mdio, lxt_tbl);
H A Dmdio-bitbang.c21 #include <linux/mdio-bitbang.h>
H A Dsmsc.c284 MODULE_DEVICE_TABLE(mdio, smsc_tbl);
H A Dvitesse.c341 MODULE_DEVICE_TABLE(mdio, vitesse_tbl);
H A Dphy_device.c33 #include <linux/mdio.h>
511 /* Search the list of PHY devices on the mdio bus for the phy_connect()
707 /* Search the list of PHY devices on the mdio bus for the phy_attach()
H A Dbroadcom.c627 MODULE_DEVICE_TABLE(mdio, broadcom_tbl);
H A Dmicrel.c859 MODULE_DEVICE_TABLE(mdio, micrel_tbl);
H A Ddp83640.c1536 MODULE_DEVICE_TABLE(mdio, dp83640_tbl);
H A Dmarvell.c1209 MODULE_DEVICE_TABLE(mdio, marvell_tbl);
H A Dphy.c34 #include <linux/mdio.h>
/linux-4.4.14/drivers/net/ethernet/amd/xgbe/
H A DMakefile4 xgbe-desc.o xgbe-ethtool.o xgbe-mdio.o \
H A Dxgbe-main.c131 #include <linux/mdio.h>
H A Dxgbe-mdio.c119 #include <linux/mdio.h>
H A Dxgbe-dev.c118 #include <linux/mdio.h>
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb/
H A Dcphy.h105 struct mdio_if_info mdio; member in struct:cphy
113 int rc = cphy->mdio.mdio_read(cphy->mdio.dev, cphy->mdio.prtad, mmd, cphy_mdio_read()
122 return cphy->mdio.mdio_write(cphy->mdio.dev, cphy->mdio.prtad, mmd, cphy_mdio_write()
147 phy->mdio.prtad = phy_addr; cphy_init()
148 phy->mdio.mmds = phy_ops->mmds; cphy_init()
149 phy->mdio.mode_support = mdio_ops->mode_support; cphy_init()
150 phy->mdio.mdio_read = mdio_ops->read; cphy_init()
151 phy->mdio.mdio_write = mdio_ops->write; cphy_init()
153 phy->mdio.dev = dev; cphy_init()
H A Dcommon.h50 #include <linux/mdio.h>
H A Dcxgb2.c588 cmd->phy_address = p->phy->mdio.prtad; get_settings()
815 struct mdio_if_info *mdio = &adapter->port[dev->if_port].phy->mdio; t1_ioctl() local
817 return mdio_mii_ioctl(mdio, if_mii(req), cmd); t1_ioctl()
/linux-4.4.14/include/linux/platform_data/
H A Dmdio-gpio.h14 #include <linux/mdio-bitbang.h>
19 unsigned int mdio; member in struct:mdio_gpio_platform_data
/linux-4.4.14/include/linux/
H A Dmdio.h2 * linux/mdio.h: definitions for MDIO (clause 45) transceivers
12 #include <uapi/linux/mdio.h>
64 extern int mdio45_probe(struct mdio_if_info *mdio, int prtad);
65 extern int mdio_set_flag(const struct mdio_if_info *mdio,
68 extern int mdio45_links_ok(const struct mdio_if_info *mdio, u32 mmds);
69 extern int mdio45_nway_restart(const struct mdio_if_info *mdio);
70 extern void mdio45_ethtool_gset_npage(const struct mdio_if_info *mdio,
76 * @mdio: MDIO interface
84 static inline void mdio45_ethtool_gset(const struct mdio_if_info *mdio, mdio45_ethtool_gset() argument
87 mdio45_ethtool_gset_npage(mdio, ecmd, 0, 0); mdio45_ethtool_gset()
90 extern int mdio_mii_ioctl(const struct mdio_if_info *mdio,
H A Dof_mdio.h16 extern int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np);
30 static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) of_mdiobus_register() argument
37 return mdiobus_register(mdio); of_mdiobus_register()
H A Ddavinci_emac.h32 * - "" : force to 100/full, no mdio control
H A Dmod_devicetable.h503 #define MDIO_MODULE_PREFIX "mdio:"
/linux-4.4.14/drivers/net/usb/
H A Dax88172a.c31 struct mii_bus *mdio; member in struct:ax88172a_private
103 priv->mdio = mdiobus_alloc(); ax88172a_init_mdio()
104 if (!priv->mdio) { ax88172a_init_mdio()
109 priv->mdio->priv = (void *)dev; ax88172a_init_mdio()
110 priv->mdio->read = &asix_mdio_bus_read; ax88172a_init_mdio()
111 priv->mdio->write = &asix_mdio_bus_write; ax88172a_init_mdio()
112 priv->mdio->name = "Asix MDIO Bus"; ax88172a_init_mdio()
114 snprintf(priv->mdio->id, MII_BUS_ID_SIZE, "usb-%03d:%03d", ax88172a_init_mdio()
117 priv->mdio->irq = kzalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); ax88172a_init_mdio()
118 if (!priv->mdio->irq) { ax88172a_init_mdio()
123 priv->mdio->irq[i] = PHY_POLL; ax88172a_init_mdio()
125 ret = mdiobus_register(priv->mdio); ax88172a_init_mdio()
131 netdev_info(dev->net, "registered mdio bus %s\n", priv->mdio->id); ax88172a_init_mdio()
135 kfree(priv->mdio->irq); ax88172a_init_mdio()
137 mdiobus_free(priv->mdio); ax88172a_init_mdio()
145 netdev_info(dev->net, "deregistering mdio bus %s\n", priv->mdio->id); ax88172a_remove_mdio()
146 mdiobus_unregister(priv->mdio); ax88172a_remove_mdio()
147 kfree(priv->mdio->irq); ax88172a_remove_mdio()
148 mdiobus_free(priv->mdio); ax88172a_remove_mdio()
376 priv->mdio->id, priv->phy_addr); ax88172a_reset()
H A Dax88179_178a.c26 #include <uapi/linux/mdio.h>
27 #include <linux/mdio.h>
H A Dr8152.c25 #include <uapi/linux/mdio.h>
26 #include <linux/mdio.h>
H A Dlan78xx.c31 #include <linux/mdio.h>
/linux-4.4.14/drivers/of/
H A Dof_mdio.c44 static int of_mdiobus_register_phy(struct mii_bus *mdio, struct device_node *child, of_mdiobus_register_phy() argument
56 phy = phy_device_create(mdio, addr, phy_id, 0, NULL); of_mdiobus_register_phy()
58 phy = get_phy_device(mdio, addr, is_c45); of_mdiobus_register_phy()
65 if (mdio->irq) of_mdiobus_register_phy()
66 mdio->irq[addr] = rc; of_mdiobus_register_phy()
68 if (mdio->irq) of_mdiobus_register_phy()
69 phy->irq = mdio->irq[addr]; of_mdiobus_register_phy()
73 mdio->phy_ignore_ta_mask |= 1 << addr; of_mdiobus_register_phy()
89 dev_dbg(&mdio->dev, "registered phy %s at address %i\n", of_mdiobus_register_phy()
119 * @mdio: pointer to mii_bus structure
125 int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) of_mdiobus_register() argument
134 mdio->phy_mask = ~0; of_mdiobus_register()
137 if (mdio->irq) of_mdiobus_register()
139 mdio->irq[i] = PHY_POLL; of_mdiobus_register()
141 mdio->dev.of_node = np; of_mdiobus_register()
144 rc = mdiobus_register(mdio); of_mdiobus_register()
150 addr = of_mdio_parse_addr(&mdio->dev, child); for_each_available_child_of_node()
156 rc = of_mdiobus_register_phy(mdio, child, addr); for_each_available_child_of_node()
173 if (mdio->phy_map[addr]) for_each_available_child_of_node()
177 dev_info(&mdio->dev, "scan phy %s at address %i\n", for_each_available_child_of_node()
180 rc = of_mdiobus_register_phy(mdio, child, addr); for_each_available_child_of_node()
/linux-4.4.14/drivers/net/ethernet/sfc/
H A Dmdio_10g.h13 #include <linux/mdio.h>
27 return efx->mdio.mdio_read(efx->net_dev, efx->mdio.prtad, devad, addr); efx_mdio_read()
33 efx->mdio.mdio_write(efx->net_dev, efx->mdio.prtad, devad, addr, value); efx_mdio_write()
104 mdio_set_flag(&efx->mdio, efx->mdio.prtad, devad, addr, mask, state); efx_mdio_set_flag()
H A Dmdio_10g.c178 return mdio45_links_ok(&efx->mdio, mmd_mask); efx_mdio_links_ok()
268 WARN_ON(!(efx->mdio.mmds & MDIO_DEVS_AN)); efx_mdio_an_reconfigure()
294 WARN_ON(!(efx->mdio.mmds & MDIO_DEVS_AN)); efx_mdio_get_pause()
304 int devad = __ffs(efx->mdio.mmds); efx_mdio_test_alive()
315 "no MDIO PHY present with ID %d\n", efx->mdio.prtad); efx_mdio_test_alive()
318 rc = efx_mdio_check_mmds(efx, efx->mdio.mmds); efx_mdio_test_alive()
H A Dmcdi_port.c364 efx->mdio.prtad = phy_data->port; efx_mcdi_phy_probe()
365 efx->mdio.mmds = phy_data->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22); efx_mcdi_phy_probe()
366 efx->mdio.mode_support = 0; efx_mcdi_phy_probe()
368 efx->mdio.mode_support |= MDIO_SUPPORTS_C22; efx_mcdi_phy_probe()
370 efx->mdio.mode_support |= MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; efx_mcdi_phy_probe()
521 ecmd->mdio_support = (efx->mdio.mode_support & efx_mcdi_phy_get_settings()
999 efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; efx_mcdi_port_probe()
1000 efx->mdio.mdio_read = efx_mcdi_mdio_read; efx_mcdi_port_probe()
1001 efx->mdio.mdio_write = efx_mcdi_mdio_write; efx_mcdi_port_probe()
H A Dqt202x_phy.c354 efx->mdio.mmds = QT202X_REQUIRED_DEVS; qt202x_phy_probe()
355 efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; qt202x_phy_probe()
418 &efx->mdio, efx->mdio.prtad, MDIO_MMD_PMAPMD, qt202x_phy_reconfigure()
442 mdio45_ethtool_gset(&efx->mdio, ecmd); qt202x_phy_get_settings()
H A Dtenxpress.c177 efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; tenxpress_phy_probe()
178 efx->mdio.mode_support = MDIO_SUPPORTS_C45; tenxpress_phy_probe()
458 mdio45_ethtool_gset_npage(&efx->mdio, ecmd, adv, lpa); tenxpress_get_settings()
H A Dtxc43128_phy.c335 efx->mdio.mmds = TXC_REQUIRED_DEVS; txc43128_phy_probe()
336 efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; txc43128_phy_probe()
545 mdio45_ethtool_gset(&efx->mdio, ecmd); txc43128_get_settings()
H A Dnet_driver.h21 #include <linux/mdio.h>
700 * @probe: Probe PHY and initialise efx->mdio.mode_support, efx->mdio.mmds,
869 * @mdio: PHY MDIO interface
1013 struct mdio_if_info mdio; member in struct:efx_nic
H A Dfalcon.c1092 (!(efx->mdio.mmds & (1 << MDIO_MMD_PHYXS)) || falcon_xmac_link_ok()
1698 efx->mdio.mdio_read = falcon_mdio_read; falcon_probe_port()
1699 efx->mdio.mdio_write = falcon_mdio_write; falcon_probe_port()
1713 if (efx->mdio.mmds & MDIO_DEVS_AN) falcon_probe_port()
2189 efx->mdio.prtad = nvconfig->board_v2.port0_phy_addr; falcon_probe_nvconfig()
2206 efx->phy_type, efx->mdio.prtad); falcon_probe_nvconfig()
H A Dsiena.c302 efx->mdio.prtad = MDIO_PRTAD_NONE; siena_probe_nic()
H A Dethtool.c557 return mdio45_nway_restart(&efx->mdio); efx_ethtool_nway_reset()
H A Defx.c2046 return mdio_mii_ioctl(&efx->mdio, data, cmd); efx_ioctl()
2858 efx->mdio.dev = net_dev; efx_init_struct()
/linux-4.4.14/drivers/net/ethernet/hisilicon/
H A Dhns_mdio.c40 void *vbase; /* mdio reg base address */
44 /* mdio reg */
212 * @bus: mdio bus
230 dev_dbg(&bus->dev, "mdio write %s,base is %p\n", hns_mdio_write()
275 * @bus: mdio bus
291 dev_dbg(&bus->dev, "mdio read %s,base is %p\n", hns_mdio_read()
347 * hns_mdio_reset - reset mdio bus
348 * @bus: mdio bus
358 dev_err(&bus->dev, "mdio sys ctl reg has not maped\n"); hns_mdio_reset()
400 * hns_mdio_bus_name - get mdio bus name
401 * @name: mdio bus name
402 * @np: mdio device node pointer
418 * hns_mdio_probe - probe mdio device
419 * @pdev: mdio platform device
485 * hns_mdio_remove - remove mdio device
486 * @pdev: mdio platform device
502 {.compatible = "hisilicon,mdio"},
503 {.compatible = "hisilicon,hns-mdio"},
/linux-4.4.14/drivers/staging/octeon/
H A DMakefile15 octeon-ethernet-y += ethernet-mdio.o
H A Dethernet-sgmii.c22 #include "ethernet-mdio.h"
H A Dethernet-mdio.c23 #include "ethernet-mdio.h"
H A Dethernet-rgmii.c23 #include "ethernet-mdio.h"
H A Dethernet.c30 #include "ethernet-mdio.h"
/linux-4.4.14/arch/powerpc/sysdev/
H A Dtsi108_dev.c76 struct device_node *phy, *mdio; tsi108_eth_of_init() local
111 ph = of_get_property(np, "mdio-handle", NULL); tsi108_eth_of_init()
112 mdio = of_find_node_by_phandle(*ph); tsi108_eth_of_init()
113 ret = of_address_to_resource(mdio, 0, &res); tsi108_eth_of_init()
114 of_node_put(mdio); tsi108_eth_of_init()
H A Dmv64x60_dev.c224 /* register an orion mdio bus driver */ mv64x60_eth_register_shared_pdev()
230 pdev = platform_device_register_simple("orion-mdio", -1, &r[1], 1); mv64x60_eth_register_shared_pdev()
/linux-4.4.14/drivers/net/ethernet/freescale/fs_enet/
H A Dmii-bitbang.c23 #include <linux/mdio-bitbang.h>
77 static inline void mdio(struct mdiobb_ctrl *ctrl, int what) mdio() function
107 .set_mdio_data = mdio,
126 * we get is an int, and the odds of multiple bitbang mdio buses fs_mii_bitbang_init()
131 data = of_get_property(np, "fsl,mdio-pin", &len); fs_mii_bitbang_init()
218 .compatible = "fsl,cpm2-mdio-bitbang",
226 .name = "fsl-bb-mdio",
H A Dmii-fec.c213 .compatible = "fsl,pq1-fec-mdio",
217 .compatible = "fsl,mpc5121-fec-mdio",
227 .name = "fsl-fec-mdio",
/linux-4.4.14/drivers/net/ethernet/freescale/
H A Dfsl_pq_mdio.c95 * to the local interface, which may be different from the generic mdio bus
99 * mdio pins, which may not be the same as system mdio bus, used for
130 * may be different from the generic mdio bus. This is helpful in programming
132 * SERDES and are always tied to the local mdio pins, which may not be the
133 * same as system mdio bus, used for controlling the external PHYs, for eg.
239 struct fsl_pq_mdio __iomem *mdio = container_of(p, struct fsl_pq_mdio, mii); get_ucc_tbipa() local
241 return &mdio->utbipar; get_ucc_tbipa()
271 pr_debug("fsl-pq-mdio: no address range in node %s\n", ucc_configure()
276 /* if our mdio regs fall within this UCC regs range */ ucc_configure()
284 pr_debug("fsl-pq-mdio: no UCC ID in node %s\n", ucc_configure()
297 pr_debug("fsl-pq-mdio: invalid UCC ID in node %s\n", ucc_configure()
302 pr_debug("fsl-pq-mdio: setting node UCC%u to MII master\n", id); ucc_configure()
319 .compatible = "fsl,gianfar-mdio",
326 .type = "mdio",
341 .compatible = "fsl,etsec2-mdio",
350 .compatible = "fsl,ucc-mdio",
359 .type = "mdio",
370 .compatible = "fsl,fman-mdio",
H A Dfec_mpc52xx_phy.c138 { .compatible = "fsl,mpc5200b-mdio", },
139 { .compatible = "fsl,mpc5200-mdio", },
H A Dxgmac_mdio.c19 #include <linux/mdio.h>
315 .compatible = "fsl,fman-memac-mdio",
H A Dfec_mpc52xx.c1094 pr_err("failed to register mdio driver\n"); mpc52xx_fec_init()
H A Dfec_main.c2010 * mdio interface in board design, and need to be configured by fec_enet_mii_init()
2085 node = of_get_child_by_name(pdev->dev.of_node, "mdio"); fec_enet_mii_init()
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb3/
H A Daq100x.c75 phy->mdio.prtad, err); aq100x_reset()
122 return mdio_set_flag(&phy->mdio, phy->mdio.prtad, aq100x_power_down()
133 err = mdio_set_flag(&phy->mdio, phy->mdio.prtad, aq100x_autoneg_enable()
146 err = mdio_set_flag(&phy->mdio, phy->mdio.prtad, aq100x_autoneg_restart()
196 return mdio_set_flag(&phy->mdio, phy->mdio.prtad, aq100x_set_loopback()
287 * Give it enough time to load the firmware and get ready for mdio. t3_aq100x_phy_prep()
H A Dcommon.h41 #include <linux/mdio.h>
556 struct mdio_if_info mdio; member in struct:cphy
564 int rc = phy->mdio.mdio_read(phy->mdio.dev, phy->mdio.prtad, mmd, reg); t3_mdio_read()
572 return phy->mdio.mdio_write(phy->mdio.dev, phy->mdio.prtad, mmd, t3_mdio_write()
587 phy->mdio.prtad = phy_addr; cphy_init()
588 phy->mdio.mmds = phy_ops->mmds; cphy_init()
589 phy->mdio.mode_support = mdio_ops->mode_support; cphy_init()
590 phy->mdio.mdio_read = mdio_ops->read; cphy_init()
591 phy->mdio.mdio_write = mdio_ops->write; cphy_init()
H A Dael1002.c103 phy->mdio.prtad == 0 ? F_GPIO7_OUT_VAL : F_GPIO2_OUT_VAL; ael100x_txon()
137 phy->mdio.prtad, dev_addr, word_addr); ael_i2c_rd()
147 err = mdio_set_flag(&phy->mdio, phy->mdio.prtad, ael1002_power_down()
886 phy->mdio.prtad = 1; t3_qt2045_phy_prep()
900 int prtad = phy->mdio.prtad; xaui_direct_get_link_status()
H A Dcxgb3_main.c43 #include <linux/mdio.h>
1817 cmd->phy_address = p->phy.mdio.prtad; get_settings()
2517 return mdio_mii_ioctl(&pi->phy.mdio, data, cmd); cxgb_ioctl()
H A Dt3_hw.c3711 p->phy.mdio.dev = adapter->port[i]; for_each_port()
3769 ret = pti->phy_prep(&p->phy, adapter, p->phy.mdio.prtad, NULL); for_each_port()
/linux-4.4.14/drivers/net/ethernet/
H A Dethoc.c196 * @mdio: MDIO bus for PHY access
223 struct mii_bus *mdio; member in struct:ethoc
681 phy = priv->mdio->phy_map[priv->phy_id]; ethoc_mdio_probe()
683 phy = phy_find_first(priv->mdio); ethoc_mdio_probe()
759 struct mii_ioctl_data *mdio = if_mii(ifr); ethoc_ioctl() local
766 if (mdio->phy_id >= PHY_MAX_ADDR) ethoc_ioctl()
769 phy = priv->mdio->phy_map[mdio->phy_id]; ethoc_ioctl()
1196 priv->mdio = mdiobus_alloc(); ethoc_probe()
1197 if (!priv->mdio) { ethoc_probe()
1202 priv->mdio->name = "ethoc-mdio"; ethoc_probe()
1203 snprintf(priv->mdio->id, MII_BUS_ID_SIZE, "%s-%d", ethoc_probe()
1204 priv->mdio->name, pdev->id); ethoc_probe()
1205 priv->mdio->read = ethoc_mdio_read; ethoc_probe()
1206 priv->mdio->write = ethoc_mdio_write; ethoc_probe()
1207 priv->mdio->priv = priv; ethoc_probe()
1209 priv->mdio->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); ethoc_probe()
1210 if (!priv->mdio->irq) { ethoc_probe()
1216 priv->mdio->irq[phy] = PHY_POLL; ethoc_probe()
1218 ret = mdiobus_register(priv->mdio); ethoc_probe()
1252 mdiobus_unregister(priv->mdio); ethoc_probe()
1254 kfree(priv->mdio->irq); ethoc_probe()
1255 mdiobus_free(priv->mdio); ethoc_probe()
1278 if (priv->mdio) { ethoc_remove()
1279 mdiobus_unregister(priv->mdio); ethoc_remove()
1280 kfree(priv->mdio->irq); ethoc_remove()
1281 mdiobus_free(priv->mdio); ethoc_remove()
/linux-4.4.14/arch/powerpc/platforms/chrp/
H A Dpegasos_eth.c51 * The orion mdio driver only covers shared + 0x4 up to shared + 0x84 - 1
55 .name = "ethernet mdio base",
63 .name = "orion-mdio",
/linux-4.4.14/drivers/net/ethernet/altera/
H A Daltera_tse_main.c136 struct mii_bus *mdio = NULL; altera_tse_mdio_create() local
140 if (of_device_is_compatible(child_node, "altr,tse-mdio")) { altera_tse_mdio_create()
153 mdio = mdiobus_alloc(); altera_tse_mdio_create()
154 if (mdio == NULL) { altera_tse_mdio_create()
159 mdio->name = ALTERA_TSE_RESOURCE_NAME; altera_tse_mdio_create()
160 mdio->read = &altera_tse_mdio_read; altera_tse_mdio_create()
161 mdio->write = &altera_tse_mdio_write; altera_tse_mdio_create()
162 snprintf(mdio->id, MII_BUS_ID_SIZE, "%s-%u", mdio->name, id); altera_tse_mdio_create()
164 mdio->irq = kcalloc(PHY_MAX_ADDR, sizeof(int), GFP_KERNEL); altera_tse_mdio_create()
165 if (mdio->irq == NULL) { altera_tse_mdio_create()
170 mdio->irq[i] = PHY_POLL; altera_tse_mdio_create()
172 mdio->priv = dev; altera_tse_mdio_create()
173 mdio->parent = priv->device; altera_tse_mdio_create()
175 ret = of_mdiobus_register(mdio, mdio_node); altera_tse_mdio_create()
178 mdio->id); altera_tse_mdio_create()
183 netdev_info(dev, "MDIO bus %s: created\n", mdio->id); altera_tse_mdio_create()
185 priv->mdio = mdio; altera_tse_mdio_create()
188 kfree(mdio->irq); altera_tse_mdio_create()
190 mdiobus_free(mdio); altera_tse_mdio_create()
191 mdio = NULL; altera_tse_mdio_create()
199 if (priv->mdio == NULL) altera_tse_mdio_destroy()
204 priv->mdio->id); altera_tse_mdio_destroy()
206 mdiobus_unregister(priv->mdio); altera_tse_mdio_destroy()
207 kfree(priv->mdio->irq); altera_tse_mdio_destroy()
208 mdiobus_free(priv->mdio); altera_tse_mdio_destroy()
209 priv->mdio = NULL; altera_tse_mdio_destroy()
713 priv->mdio->id, priv->phy_addr); connect_local_phy()
724 phydev = phy_find_first(priv->mdio); connect_local_phy()
748 /* Avoid get phy addr and create mdio if no phy is present */ altera_tse_phy_get_addr_mdio_create()
819 if (!priv->mdio) { init_phy()
820 netdev_err(dev, "No phy-handle nor local mdio specified\n"); init_phy()
1483 /* get phy addr and create mdio */ altera_tse_probe()
H A Daltera_tse.h475 struct mii_bus *mdio; member in struct:altera_tse_private
/linux-4.4.14/arch/mips/ralink/
H A Drt288x.c28 static struct rt2880_pmx_func mdio_func[] = { FUNC("mdio", 0, 22, 2) };
37 GRP("mdio", mdio_func, 1, RT2880_GPIO_MODE_MDIO),
H A Drt3883.c37 static struct rt2880_pmx_func mdio_func[] = { FUNC("mdio", 0, 22, 2) };
56 GRP("mdio", mdio_func, 1, RT3883_GPIO_MODE_MDIO),
H A Drt305x.c37 static struct rt2880_pmx_func mdio_func[] = { FUNC("mdio", 0, 22, 2) };
59 GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO),
72 GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO),
H A Dmt7620.c58 static struct rt2880_pmx_func mdio_grp[] = { FUNC("mdio", 0, 22, 2) };
95 GRP("mdio", mdio_grp, 1, MT7620_GPIO_MODE_MDIO),
/linux-4.4.14/arch/cris/include/arch-v32/arch/hwregs/
H A Deth_defs.h186 unsigned int mdio : 1; member in struct:__anon444
196 unsigned int mdio : 1; member in struct:__anon445
281 unsigned int mdio : 1; member in struct:__anon453
302 unsigned int mdio : 1; member in struct:__anon454
323 unsigned int mdio : 1; member in struct:__anon455
343 unsigned int mdio : 1; member in struct:__anon456
/linux-4.4.14/arch/powerpc/platforms/85xx/
H A Dmpc85xx_mds.c320 char *compstrs[2] = {"fsl,gianfar-mdio", "fsl,ucc-mdio"}; board_fixups()
321 struct device_node *mdio; board_fixups() local
326 mdio = of_find_compatible_node(NULL, NULL, compstrs[i]); board_fixups()
328 of_address_to_resource(mdio, 0, &res); board_fixups()
340 of_node_put(mdio); board_fixups()
H A Dcorenet_generic.c91 .compatible = "mdio-mux-gpio"
/linux-4.4.14/drivers/net/ethernet/aeroflex/
H A Dgreth.c1179 while (GRETH_REGLOAD(greth->regs->mdio) & GRETH_MII_BUSY) { wait_for_mdio()
1194 GRETH_REGSAVE(greth->regs->mdio, ((phy & 0x1F) << 11) | ((reg & 0x1F) << 6) | 2); greth_mdio_read()
1199 if (!(GRETH_REGLOAD(greth->regs->mdio) & GRETH_MII_NVALID)) { greth_mdio_read()
1200 data = (GRETH_REGLOAD(greth->regs->mdio) >> 16) & 0xFFFF; greth_mdio_read()
1215 GRETH_REGSAVE(greth->regs->mdio, greth_mdio_write()
1284 phy = phy_find_first(greth->mdio); greth_mdio_probe()
1329 greth->mdio = mdiobus_alloc(); greth_mdio_init()
1330 if (!greth->mdio) { greth_mdio_init()
1334 greth->mdio->name = "greth-mdio"; greth_mdio_init()
1335 snprintf(greth->mdio->id, MII_BUS_ID_SIZE, "%s-%d", greth->mdio->name, greth->irq); greth_mdio_init()
1336 greth->mdio->read = greth_mdio_read; greth_mdio_init()
1337 greth->mdio->write = greth_mdio_write; greth_mdio_init()
1338 greth->mdio->priv = greth; greth_mdio_init()
1340 greth->mdio->irq = greth->mdio_irqs; greth_mdio_init()
1343 greth->mdio->irq[phy] = PHY_POLL; greth_mdio_init()
1345 ret = mdiobus_register(greth->mdio); greth_mdio_init()
1372 mdiobus_unregister(greth->mdio); greth_mdio_init()
1374 mdiobus_free(greth->mdio); greth_mdio_init()
1441 greth->phyaddr = (GRETH_REGLOAD(regs->mdio) >> 11) & 0x1F; greth_of_probe()
1559 mdiobus_unregister(greth->mdio); greth_of_probe()
1579 mdiobus_unregister(greth->mdio); greth_of_remove()
H A Dgreth.h86 u32 mdio; member in struct:greth_regs
127 struct mii_bus *mdio; member in struct:greth_private
/linux-4.4.14/arch/powerpc/platforms/82xx/
H A Dep8248e.c16 #include <linux/mdio-bitbang.h>
140 bus->name = "ep8248e-mdio-bitbang"; ep8248e_mdio_probe()
164 .compatible = "fsl,ep8248e-mdio-bitbang",
171 .name = "ep8248e-mdio-bitbang",
/linux-4.4.14/arch/powerpc/platforms/pasemi/
H A Dgpio_mdio.c239 new_bus->name = "pasemi gpio mdio bus"; gpio_mdio_probe()
253 prop = of_get_property(np, "mdio-pin", NULL); gpio_mdio_probe()
296 .compatible = "gpio-mdio",
307 .name = "gpio-mdio-bitbang",
/linux-4.4.14/drivers/net/ethernet/ti/
H A Ddavinci_mdio.c118 * One mdio transaction consists of: __davinci_mdio_reset()
128 * after the mdio bus scan state-machine triggered its own read. If __davinci_mdio_reset()
149 dev_info(data->dev, "davinci mdio revision %d.%d\n", davinci_mdio_reset()
158 /* restrict mdio bus to live phys only */ davinci_mdio_reset()
188 * An emac soft_reset may have clobbered the mdio controller's wait_for_user_access()
H A Dcpsw.c2057 struct platform_device *mdio; for_each_child_of_node() local
2065 mdio = of_find_device_by_node(mdio_node); for_each_child_of_node()
2067 if (!mdio) { for_each_child_of_node()
2068 dev_err(&pdev->dev, "Missing mdio platform device\n"); for_each_child_of_node()
2072 PHY_ID_FMT, mdio->name, phyid); for_each_child_of_node()
H A Dcpmac.c1234 pr_err("Can't ioremap mdio registers\n"); cpmac_init()
/linux-4.4.14/arch/c6x/platforms/
H A Dplldata.c151 .name = "mdio",
165 CLK("2c81800.mdio", NULL, &c6x_mdio_clk),
204 CLK("2c81800.mdio", NULL, &c6x_mdio_clk),
249 CLK("2c81800.mdio", NULL, &c6x_mdio_clk),
303 CLK("2c81800.mdio", NULL, &c6x_mdio_clk),
/linux-4.4.14/drivers/net/ethernet/broadcom/genet/
H A Dbcmmii.c499 compat = kasprintf(GFP_KERNEL, "brcm,genet-mdio-v%d", priv->version); bcmgenet_mii_of_init()
564 struct mii_bus *mdio = priv->mii_bus; bcmgenet_mii_pd_init() local
573 mdio->phy_mask = ~(1 << pd->phy_address); bcmgenet_mii_pd_init()
575 mdio->phy_mask = 0; bcmgenet_mii_pd_init()
577 ret = mdiobus_register(mdio); bcmgenet_mii_pd_init()
584 phydev = mdio->phy_map[pd->phy_address]; bcmgenet_mii_pd_init()
586 phydev = phy_find_first(mdio); bcmgenet_mii_pd_init()
590 mdiobus_unregister(mdio); bcmgenet_mii_pd_init()
/linux-4.4.14/drivers/bcma/
H A Ddriver_pci.c65 /* enable mdio access to SERDES */ bcma_pcie_mdio_read()
108 /* enable mdio access to SERDES */ bcma_pcie_mdio_write()
/linux-4.4.14/net/dsa/
H A Ddsa.c683 struct device_node *child, *mdio, *ethernet, *port; dsa_of_probe() local
694 mdio = of_parse_phandle(np, "dsa,mii-bus", 0); dsa_of_probe()
695 if (!mdio) dsa_of_probe()
698 mdio_bus = of_mdio_find_bus(mdio); dsa_of_probe()
754 mdio = of_parse_phandle(child, "mii-bus", 0); for_each_available_child_of_node()
755 if (mdio) { for_each_available_child_of_node()
756 mdio_bus_switch = of_mdio_find_bus(mdio); for_each_available_child_of_node()
800 /* The individual chips hold their own refcount on the mdio bus,
/linux-4.4.14/drivers/net/ethernet/marvell/
H A Dmvmdio.c282 { .compatible = "marvell,orion-mdio" },
291 .name = "orion-mdio",
301 MODULE_ALIAS("platform:orion-mdio");
H A Dmv643xx_eth.c2988 /* Attempt to connect to the PHY using orion-mdio */ phy_scan()
2994 "orion-mdio-mii", addr); phy_scan()
/linux-4.4.14/drivers/net/ethernet/samsung/sxgbe/
H A Dsxgbe_mdio.c60 /* set mdio address register */ sxgbe_mdio_c45()
75 /* set mdio address register */ sxgbe_mdio_c22()
153 /* allocate the new mdio bus */ sxgbe_mdio_register()
H A Dsxgbe_platform.c76 * the net device, register the mdio bus etc.
H A Dsxgbe_main.c174 * mdio communication sxgbe_clk_csr_set()
/linux-4.4.14/drivers/net/ethernet/apm/xgene/
H A Dxgene_enet_hw.c774 struct mii_bus *mdio) xgene_mdiobus_register()
787 "apm,xgene-mdio")) { xgene_mdiobus_register()
794 netdev_dbg(ndev, "No mdio node in the dts\n"); xgene_mdiobus_register()
798 return of_mdiobus_register(mdio, mdio_np); xgene_mdiobus_register()
802 mdio->phy_mask = ~0; xgene_mdiobus_register()
805 ret = mdiobus_register(mdio); xgene_mdiobus_register()
815 phy = get_phy_device(mdio, phy_id, false); xgene_mdiobus_register()
773 xgene_mdiobus_register(struct xgene_enet_pdata *pdata, struct mii_bus *mdio) xgene_mdiobus_register() argument
/linux-4.4.14/drivers/net/ethernet/atheros/alx/
H A Dmain.c41 #include <linux/mdio.h>
1121 if (prtad != hw->mdio.prtad) alx_mdio_read()
1140 if (prtad != hw->mdio.prtad) alx_mdio_write()
1156 return mdio_mii_ioctl(&alx->hw.mdio, if_mii(ifr), cmd); alx_ioctl()
1357 hw->mdio.prtad = 0; alx_probe()
1358 hw->mdio.mmds = 0; alx_probe()
1359 hw->mdio.dev = netdev; alx_probe()
1360 hw->mdio.mode_support = MDIO_SUPPORTS_C45 | alx_probe()
1363 hw->mdio.mdio_read = alx_mdio_read; alx_probe()
1364 hw->mdio.mdio_write = alx_mdio_write; alx_probe()
H A Dhw.h38 #include <linux/mdio.h>
489 struct mdio_if_info mdio; member in struct:alx_hw
H A Dethtool.c41 #include <linux/mdio.h>
H A Dhw.c37 #include <linux/mdio.h>
1049 hw->mdio.mmds = devs1 | devs2 << 16; alx_get_phy_info()
/linux-4.4.14/drivers/vfio/platform/reset/
H A Dvfio_platform_amdxgbe.c25 #include <uapi/linux/mdio.h>
/linux-4.4.14/drivers/net/ethernet/amd/
H A Dau1000_eth.h102 * (req. for mdio)
/linux-4.4.14/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac_mdio.c157 if (gpio_request(data->reset_gpio, "mdio-reset")) stmmac_mdio_reset()
183 * on MDC, so perform a dummy mdio read. stmmac_mdio_reset()
/linux-4.4.14/drivers/pinctrl/qcom/
H A Dpinctrl-ipq8064.c501 FUNCTION(mdio),
549 PINGROUP(0, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
550 PINGROUP(1, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
559 PINGROUP(10, gsbi4, spdif, sata, ssbi, mdio, spmi, NA, NA, NA, NA),
560 PINGROUP(11, gsbi4, pcie2_prsnt, pcie1_prsnt, pcie3_prsnt, ssbi, mdio, spmi, NA, NA, NA),
/linux-4.4.14/drivers/pinctrl/mvebu/
H A Dpinctrl-armada-38x.c65 MPP_VAR_FUNCTION(1, "ge", "mdio", V_88F6810_PLUS),
125 MPP_VAR_FUNCTION(2, "ge", "mdio slave", V_88F6810_PLUS),
361 MPP_VAR_FUNCTION(2, "ge", "mdio", V_88F6810_PLUS),
H A Dpinctrl-armada-39x.c67 MPP_VAR_FUNCTION(7, "smi", "mdio", V_88F6920_PLUS)),
71 MPP_VAR_FUNCTION(7, "xsmi", "mdio", V_88F6920_PLUS)),
124 MPP_VAR_FUNCTION(7, "smi", "mdio", V_88F6920_PLUS)),
H A Dpinctrl-armada-370.c138 MPP_FUNCTION(0x1, "ge", "mdio")),
H A Dpinctrl-armada-375.c250 MPP_FUNCTION(0x4, "ge", "mdio")),
/linux-4.4.14/drivers/pinctrl/
H A Dpinctrl-falcon.c194 GRP_MUX("mdio", MDIO, pins_mdio),
209 static const char * const ltq_mdio_grps[] = {"mdio"};
221 {"mdio", ARRAY_AND_SIZE(ltq_mdio_grps)},
H A Dpinctrl-xway.c332 GRP_MUX("mdio", MDIO, pins_mdio),
381 static const char * const xrx_mdio_grps[] = {"mdio"};
433 {"mdio", ARRAY_AND_SIZE(xrx_mdio_grps)},
/linux-4.4.14/include/linux/bcma/
H A Dbcma_driver_pci.h58 #define BCMA_CORE_PCI_MDIO_CONTROL 0x0128 /* controls the mdio access */
63 #define BCMA_CORE_PCI_MDIO_DATA 0x012c /* Data to the mdio access */
H A Dbcma_driver_chipcommon.h509 #define BCMA_CHIPCTL_4331_PCIE_MDIO_ON_SPROMCS BIT(6) /* use sprom_cs pin as PCIE mdio interface */
/linux-4.4.14/drivers/net/ethernet/sis/
H A Dsis900.h187 /* Management Data I/O (mdio) frame */
/linux-4.4.14/drivers/net/ethernet/faraday/
H A Dftgmac100.c806 * internal functions (mdio)
903 netdev_err(netdev, "mdio read timed out\n"); ftgmac100_mdiobus_read()
939 netdev_err(netdev, "mdio write timed out\n"); ftgmac100_mdiobus_write()
1247 /* initialize mdio bus */ ftgmac100_probe()
H A Dftmac100.c785 netdev_err(netdev, "mdio read timed out\n"); ftmac100_mdio_read()
814 netdev_err(netdev, "mdio write timed out\n"); ftmac100_mdio_write()
/linux-4.4.14/drivers/net/ethernet/ibm/emac/
H A Drgmii.c267 if (of_get_property(ofdev->dev.of_node, "has-mdio", NULL)) rgmii_probe()
H A Dcore.c2558 if (emac_read_uint_prop(np, "mdio-device", &dev->mdio_ph, 0)) emac_init_config()
/linux-4.4.14/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_phy.c325 hw->phy.mdio.prtad = phy_addr; ixgbe_identify_phy_generic()
326 if (mdio45_probe(&hw->phy.mdio, phy_addr) == 0) { ixgbe_identify_phy_generic()
350 hw->phy.mdio.prtad = 0; ixgbe_identify_phy_generic()
511 (hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) | ixgbe_read_phy_reg_mdi()
539 (hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) | ixgbe_read_phy_reg_mdi()
614 (hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) | ixgbe_write_phy_reg_mdi()
643 (hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) | ixgbe_write_phy_reg_mdi()
H A Dixgbe_main.c7683 if (prtad != hw->phy.mdio.prtad) ixgbe_mdio_read()
7697 if (prtad != hw->phy.mdio.prtad) ixgbe_mdio_write()
7712 return mdio_mii_ioctl(&adapter->hw.phy.mdio, if_mii(req), cmd); ixgbe_ioctl()
8704 hw->phy.mdio.prtad = MDIO_PRTAD_NONE; ixgbe_probe()
8705 hw->phy.mdio.mmds = 0; ixgbe_probe()
8706 hw->phy.mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; ixgbe_probe()
8707 hw->phy.mdio.dev = netdev; ixgbe_probe()
8708 hw->phy.mdio.mdio_read = ixgbe_mdio_read; ixgbe_probe()
8709 hw->phy.mdio.mdio_write = ixgbe_mdio_write; ixgbe_probe()
H A Dixgbe_type.h33 #include <linux/mdio.h>
3390 struct mdio_if_info mdio; member in struct:ixgbe_phy_info
/linux-4.4.14/drivers/net/ethernet/cirrus/
H A Dep93xx_eth.c204 pr_info("mdio read timed out\n"); ep93xx_mdio_read()
228 pr_info("mdio write timed out\n"); ep93xx_mdio_write()
/linux-4.4.14/drivers/usb/host/
H A Dbcma-hcd.c75 /* Change Shim mdio control reg to fix host not acking at bcma_hcd_4716wa()
/linux-4.4.14/include/uapi/linux/
H A Dmdio.h2 * linux/mdio.h: definitions for MDIO (clause 45) transceivers
H A Dethtool.h134 * using the interface defined in <linux/mii.h> and <linux/mdio.h>.
/linux-4.4.14/drivers/staging/netlogic/
H A Dxlr_net.c874 priv->mii_bus->name = "xlr-mdio"; xlr_setup_mdio()
898 pr_err("mdio bus registration failed\n"); xlr_setup_mdio()
902 pr_info("Registered mdio bus id : %s\n", priv->mii_bus->id); xlr_setup_mdio()
/linux-4.4.14/drivers/net/cris/
H A Deth_v10.c1001 IO_FIELD(R_NETWORK_MGM_CTRL, mdio, bit); e100_send_mdio_bit()
1006 IO_FIELD(R_NETWORK_MGM_CTRL, mdio, bit); e100_send_mdio_bit()
1015 bit = IO_EXTRACT(R_NETWORK_STAT, mdio, *R_NETWORK_STAT); e100_receive_mdio_bit()
/linux-4.4.14/drivers/net/ethernet/intel/e1000e/
H A De1000.h42 #include <linux/mdio.h>
H A Dich8lan.c226 /* In case the PHY needs to be in mdio slow mode, e1000_phy_is_accessible_pchlan()
477 /* In case the PHY needs to be in mdio slow mode, e1000_init_phy_params_pchlan()
/linux-4.4.14/drivers/net/ethernet/intel/igb/
H A Digb.h40 #include <linux/mdio.h>
H A Digb_ethtool.c37 #include <linux/mdio.h>
/linux-4.4.14/drivers/net/ethernet/renesas/
H A Dravb.h20 #include <linux/mdio-bitbang.h>
H A Dsh_eth.c30 #include <linux/mdio-bitbang.h>
1112 /* mdio bus control struct */
2903 /* unregister mdio bus */ sh_mdio_release()
H A Dravb_main.c1650 /* Unregister mdio bus */ ravb_mdio_release()
/linux-4.4.14/arch/mips/cavium-octeon/executive/
H A Dcvmx-helper-rgmii.c37 #include <asm/octeon/cvmx-mdio.h>
H A Dcvmx-helper-sgmii.c37 #include <asm/octeon/cvmx-mdio.h>
H A Dcvmx-helper-board.c39 #include <asm/octeon/cvmx-mdio.h>
/linux-4.4.14/arch/arm/plat-orion/
H A Dcommon.c281 .name = "orion-mdio",
/linux-4.4.14/drivers/net/ethernet/nuvoton/
H A Dw90p910_ether.c520 dev_warn(&pdev->dev, "mdio write timed out\n"); w90p910_mdio_write()
541 dev_warn(&pdev->dev, "mdio read timed out\n"); w90p910_mdio_read()
/linux-4.4.14/drivers/net/ethernet/cavium/liquidio/
H A Dlio_ethtool.c250 /* Callback for when mdio command response arrives
275 * mdio clause45 .
/linux-4.4.14/arch/powerpc/kernel/
H A Dprom_init.c2535 node = call_prom("finddevice", 1, 1, ADDR("/builtin/mdio")); fixup_device_tree_efika_add_phy()
2543 " s\" mdio\" device-name" fixup_device_tree_efika_add_phy()
2544 " s\" fsl,mpc5200b-mdio\" encode-string" fixup_device_tree_efika_add_phy()
2557 ADDR("/builtin/mdio/ethernet-phy")); fixup_device_tree_efika_add_phy()
2561 " s\" /builtin/mdio\" find-device" fixup_device_tree_efika_add_phy()
/linux-4.4.14/drivers/net/ethernet/broadcom/
H A Dbcm63xx_enet.c1848 * the mdio read operation return 0 instead of 0xffff bcm_enet_probe()
1866 dev_err(&pdev->dev, "unable to register mdio bus\n"); bcm_enet_probe()
1875 dev_err(&pdev->dev, "unable to configure mdio bus\n"); bcm_enet_probe()
H A Dsb1250-mac.c334 static char sbmac_mdio_string[] = "sb1250-mac-mdio";
H A Dtg3.c35 #include <linux/mdio.h>
1533 tp->mdio_bus->name = "tg3 mdio bus"; tg3_mdio_init()
1546 /* The bus registration will look for all the PHYs on the mdio bus. tg3_mdio_init()
/linux-4.4.14/drivers/net/wireless/brcm80211/brcmsmac/
H A Daiutils.c122 /* use sprom_cs pin as PCIE mdio interface */
/linux-4.4.14/drivers/net/ethernet/sgi/
H A Dmeth.c115 * Waits for BUSY status of mdio bus to clear
/linux-4.4.14/drivers/net/ethernet/atheros/atl1c/
H A Datl1c_hw.c259 * wait mdio module be idle
/linux-4.4.14/arch/mips/cavium-octeon/
H A Docteon-platform.c432 { .compatible = "cavium,mdio-mux", },
/linux-4.4.14/arch/arm/mach-omap2/
H A Domap_hwmod_33xx_43xx_ipblock_data.c361 * mdio class
H A Domap_hwmod_3xxx_data.c3425 /* l4_core -> davinci mdio */
H A Domap_hwmod_7xx_data.c334 * 'mdio' class
/linux-4.4.14/drivers/net/ethernet/xilinx/
H A Dxilinx_emaclite.c819 dev_err(dev, "Failed to register mdio bus.\n"); xemaclite_mdio_setup()
861 dev_err(dev, "Failed to register mdio bus.\n"); xemaclite_mdio_setup()
/linux-4.4.14/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_main.c11498 bp->mdio.prtad = bp->port.phy_addr; bnx2x_get_port_hwinfo()
11502 bp->mdio.prtad = bnx2x_get_port_hwinfo()
12751 struct mii_ioctl_data *mdio = if_mii(ifr); bnx2x_ioctl() local
12761 mdio->phy_id, mdio->reg_num, mdio->val_in); bnx2x_ioctl()
12762 return mdio_mii_ioctl(&bp->mdio, mdio, cmd); bnx2x_ioctl()
13231 bp->mdio.prtad = MDIO_PRTAD_NONE; bnx2x_init_dev()
13232 bp->mdio.mmds = 0; bnx2x_init_dev()
13233 bp->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; bnx2x_init_dev()
13234 bp->mdio.dev = dev; bnx2x_init_dev()
13235 bp->mdio.mdio_read = bnx2x_mdio_read; bnx2x_init_dev()
13236 bp->mdio.mdio_write = bnx2x_mdio_write; bnx2x_init_dev()
H A Dbnx2x.h49 #include <linux/mdio.h>
1638 struct mdio_if_info mdio; member in struct:bnx2x
H A Dbnx2x_ethtool.c290 cmd->phy_address = bp->mdio.prtad; bnx2x_get_settings()
H A Dbnx2x_link.c1457 /* Set mdio clock per phy */ bnx2x_set_mdio_emac_per_phy()
12314 /* Check specific mdc mdio settings */ bnx2x_populate_ext_phy()
12327 /* Check specific mdc mdio settings */ bnx2x_populate_ext_phy()
/linux-4.4.14/drivers/net/dsa/
H A Dbcm_sf2.c1023 * utilize the "master" MDIO bus backed by the "mdio-unimac" driver. bcm_sf2_sw_setup()
/linux-4.4.14/drivers/net/ethernet/3com/
H A D3c574_cs.c210 /* Set iff a MII transceiver on any interface requires mdio preamble.
H A D3c59x.c122 /* Set iff a MII transceiver on any interface requires mdio preamble.
/linux-4.4.14/drivers/net/ethernet/8390/
H A Dax88796.c26 #include <linux/mdio-bitbang.h>
/linux-4.4.14/drivers/net/ethernet/intel/ixgb/
H A Dixgb_hw.h32 #include <linux/mdio.h>
/linux-4.4.14/drivers/net/ethernet/xscale/
H A Dixp4xx_eth.c253 static struct eth_regs __iomem *mdio_regs; /* mdio command and status only */
/linux-4.4.14/drivers/pinctrl/bcm/
H A Dpinctrl-cygnus-mux.c198 CYGNUS_PIN_DESC(37, "mdio", 0, 0, 0),
/linux-4.4.14/drivers/net/ethernet/cavium/thunder/
H A Dthunder_bgx.c1029 /* Load octeon mdio driver */ bgx_probe()
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_ethtool.c19 #include <linux/mdio.h>
H A Dt4_hw.c5572 c.u.mdio.paddr_mmd = cpu_to_be16(FW_LDST_CMD_PADDR_V(phy_addr) | t4_mdio_rd()
5574 c.u.mdio.raddr = cpu_to_be16(reg); t4_mdio_rd()
5578 *valp = be16_to_cpu(c.u.mdio.rval); t4_mdio_rd()
5605 c.u.mdio.paddr_mmd = cpu_to_be16(FW_LDST_CMD_PADDR_V(phy_addr) | t4_mdio_wr()
5607 c.u.mdio.raddr = cpu_to_be16(reg); t4_mdio_wr()
5608 c.u.mdio.rval = cpu_to_be16(val); t4_mdio_wr()
H A Dt4fw_api.h788 } mdio; member in union:fw_ldst_cmd::fw_ldst
H A Dcxgb4_main.c48 #include <linux/mdio.h>
/linux-4.4.14/scripts/mod/
H A Dfile2alias.c1038 ADD_TO_DEVTABLE("mdio", mdio_device_id, do_mdio_entry);
/linux-4.4.14/arch/powerpc/platforms/512x/
H A Dclock-commonclk.c1117 FOR_NODES("fsl,mpc5121-fec-mdio") {
/linux-4.4.14/drivers/net/ethernet/sun/
H A Dniu.c461 netdev_err(np->dev, "NIU Port %d %s() mdio write to ESR2_TI_PLL_CFG_L failed\n", serdes_init_niu_1g_serdes()
471 netdev_err(np->dev, "NIU Port %d %s() mdio write to ESR2_TI_PLL_STS_L failed\n", serdes_init_niu_1g_serdes()
553 netdev_err(np->dev, "NIU Port %d %s() mdio write to ESR2_TI_PLL_CFG_L failed\n", serdes_init_niu_10g_serdes()
563 netdev_err(np->dev, "NIU Port %d %s() mdio write to ESR2_TI_PLL_STS_L failed\n", serdes_init_niu_10g_serdes()
2182 /* No mdio, back-to-back XAUI */ link_status_10g_hotplug()
2199 /* No mdio, back-to-back XAUI: it is C10NEM */ link_status_10g_hotplug()
/linux-4.4.14/drivers/net/ethernet/smsc/
H A Dsmsc9420.c37 #define DRV_MDIONAME "smsc9420-mdio"
H A Dsmsc911x.c69 #define SMSC_MDIONAME "smsc911x-mdio"
/linux-4.4.14/drivers/net/ethernet/dec/tulip/
H A Dwinbond-840.c544 /* Set iff a MII transceiver on any interface requires mdio preamble.
/linux-4.4.14/drivers/net/ethernet/synopsys/
H A Ddwc_eth_qos.c1237 mdionode = of_get_child_by_name(lp->pdev->dev.of_node, "mdio"); dwceqos_mii_init()
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4vf/
H A Dcxgb4vf_main.c47 #include <linux/mdio.h>
/linux-4.4.14/drivers/net/ethernet/neterion/
H A Ds2io.c66 #include <linux/mdio.h>

Completed in 5810 milliseconds