| /linux/drivers/net/ |
| H A D | mdio.c | 26 int mdio45_probe(struct mdio_if_info *mdio, int prtad) in mdio45_probe() argument 34 stat2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_STAT2); in mdio45_probe() 40 devs1 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS1); in mdio45_probe() 41 devs2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS2); in mdio45_probe() 45 mdio->prtad = prtad; in mdio45_probe() 46 mdio->mmds = devs1 | (devs2 << 16); in mdio45_probe() 66 int mdio_set_flag(const struct mdio_if_info *mdio, in mdio_set_flag() argument 70 int old_val = mdio->mdio_read(mdio->dev, prtad, devad, addr); in mdio_set_flag() 81 return mdio->mdio_write(mdio->dev, prtad, devad, addr, new_val); in mdio_set_flag() 94 int mdio45_links_ok(const struct mdio_if_info *mdio, u32 mmd_mask) in mdio45_links_ok() argument [all …]
|
| /linux/drivers/net/mdio/ |
| H A D | Makefile | 8 obj-$(CONFIG_MDIO_AIROHA) += mdio-airoha.o 9 obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o 10 obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o 11 obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o 12 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o 13 obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o 14 obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o 15 obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o 16 obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o 17 obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o [all …]
|
| H A D | mdio-mvusb.c | 27 struct mii_bus *mdio; member 32 static int mvusb_mdio_read(struct mii_bus *mdio, int dev, int reg) in mvusb_mdio_read() argument 34 struct mvusb_mdio *mvusb = mdio->priv; in mvusb_mdio_read() 52 static int mvusb_mdio_write(struct mii_bus *mdio, int dev, int reg, u16 val) in mvusb_mdio_write() argument 54 struct mvusb_mdio *mvusb = mdio->priv; in mvusb_mdio_write() 69 struct mii_bus *mdio; in mvusb_mdio_probe() local 72 mdio = devm_mdiobus_alloc_size(dev, sizeof(*mvusb)); in mvusb_mdio_probe() 73 if (!mdio) in mvusb_mdio_probe() 76 mvusb = mdio->priv; in mvusb_mdio_probe() 77 mvusb->mdio = mdio; in mvusb_mdio_probe() [all …]
|
| H A D | of_mdio.c | 37 int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, in of_mdiobus_phy_device_register() argument 40 return fwnode_mdiobus_phy_device_register(mdio, phy, in of_mdiobus_phy_device_register() 46 static int of_mdiobus_register_phy(struct mii_bus *mdio, in of_mdiobus_register_phy() argument 49 return fwnode_mdiobus_register_phy(mdio, of_fwnode_handle(child), addr); in of_mdiobus_register_phy() 52 static int of_mdiobus_register_device(struct mii_bus *mdio, in of_mdiobus_register_device() argument 59 mdiodev = mdio_device_create(mdio, addr); in of_mdiobus_register_device() 75 dev_dbg(&mdio->dev, "registered mdio device %pOFn at address %i\n", in of_mdiobus_register_device() 139 static int __of_mdiobus_parse_phys(struct mii_bus *mdio, struct device_node *np, in __of_mdiobus_parse_phys() argument 152 rc = __of_mdiobus_parse_phys(mdio, child, NULL); in __of_mdiobus_parse_phys() 159 addr = of_mdio_parse_addr(&mdio->dev, child); in __of_mdiobus_parse_phys() [all …]
|
| H A D | fwnode_mdio.c | 70 int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, in fwnode_mdiobus_phy_device_register() argument 81 rc = driver_deferred_probe_check_state(&phy->mdio.dev); in fwnode_mdiobus_phy_device_register() 87 mdio->irq[addr] = rc; in fwnode_mdiobus_phy_device_register() 89 phy->irq = mdio->irq[addr]; in fwnode_mdiobus_phy_device_register() 93 mdio->phy_ignore_ta_mask |= 1 << addr; in fwnode_mdiobus_phy_device_register() 99 device_set_node(&phy->mdio.dev, child); in fwnode_mdiobus_phy_device_register() 106 device_set_node(&phy->mdio.dev, NULL); in fwnode_mdiobus_phy_device_register() 111 dev_dbg(&mdio->dev, "registered phy fwnode %pfw at address %i\n", in fwnode_mdiobus_phy_device_register() 147 phy->mdio.dev.fwnode = fwnode_handle_get(child); in fwnode_mdiobus_register_phy() 152 phy->mdio.dev.fwnode = NULL; in fwnode_mdiobus_register_phy()
|
| H A D | acpi_mdio.c | 32 int __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode, in __acpi_mdiobus_register() argument 40 mdio->phy_mask = GENMASK(31, 0); in __acpi_mdiobus_register() 41 ret = __mdiobus_register(mdio, owner); in __acpi_mdiobus_register() 45 ACPI_COMPANION_SET(&mdio->dev, to_acpi_device_node(fwnode)); in __acpi_mdiobus_register() 53 ret = fwnode_mdiobus_register_phy(mdio, child, addr); in __acpi_mdiobus_register() 55 dev_err(&mdio->dev, in __acpi_mdiobus_register()
|
| H A D | mdio-gpio.c | 32 struct gpio_desc *mdc, *mdio, *mdo; member 43 bitbang->mdio = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDIO, in mdio_gpio_get_data() 45 if (IS_ERR(bitbang->mdio)) in mdio_gpio_get_data() 46 return PTR_ERR(bitbang->mdio); in mdio_gpio_get_data() 69 gpiod_direction_output(bitbang->mdio, 1); in mdio_dir() 71 gpiod_direction_input(bitbang->mdio); in mdio_dir() 79 return gpiod_get_value_cansleep(bitbang->mdio); in mdio_get() 90 gpiod_set_value_cansleep(bitbang->mdio, what); in mdio_set()
|
| /linux/drivers/net/pcs/ |
| H A D | pcs-lynx.c | 25 struct mdio_device *mdio; member 93 phylink_mii_c22_pcs_get_state(lynx->mdio, neg_mode, state); in lynx_pcs_get_state() 97 lynx_pcs_get_state_usxgmii(lynx->mdio, state); in lynx_pcs_get_state() 100 phylink_mii_c45_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state() 106 dev_dbg(&lynx->mdio->dev, in lynx_pcs_get_state() 184 return lynx_pcs_config_giga(lynx->mdio, ifmode, advertising, in lynx_pcs_config() 188 return lynx_pcs_config_usxgmii(lynx->mdio, ifmode, advertising, in lynx_pcs_config() 204 phylink_mii_c22_pcs_an_restart(lynx->mdio); in lynx_pcs_an_restart() 255 lynx_pcs_link_up_sgmii(lynx->mdio, neg_mode, speed, duplex); in lynx_pcs_link_up() 286 static struct phylink_pcs *lynx_pcs_create(struct mdio_device *mdio) in lynx_pcs_create() argument [all …]
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | fsl-lx2162a-qds.dts | 33 mdio-mux-1 { 34 compatible = "mdio-mux-multiplexer"; 36 mdio-parent-bus = <&emdio1>; 40 mdio@0 { /* On-board RTL8211F PHY #1 RGMII1 */ 52 mdio@8 { /* On-board RTL8211F PHY #2 RGMII2 */ 64 mdio@18 { /* Slot #1 */ 70 mdio@19 { /* Slot #2 */ 76 mdio@1a { /* Slot #3 */ 82 mdio@1b { /* Slot #4 */ 88 mdio@1c { /* Slot #5 */ [all …]
|
| H A D | fsl-lx2160a-qds.dts | 35 mdio-mux-1 { 36 compatible = "mdio-mux-multiplexer"; 38 mdio-parent-bus = <&emdio1>; 42 mdio@0 { /* On-board PHY #1 RGMI1*/ 53 mdio@8 { /* On-board PHY #2 RGMI2*/ 64 mdio@18 { /* Slot #1 */ 70 mdio@19 { /* Slot #2 */ 76 mdio@1a { /* Slot #3 */ 82 mdio@1b { /* Slot #4 */ 88 mdio@1c { /* Slot #5 */ [all …]
|
| H A D | fsl-ls208xa-qds.dtsi | 67 mdio-mux@54 { 68 compatible = "mdio-mux-mmioreg", "mdio-mux"; 69 mdio-parent-bus = <&emdio1>; 79 mdio_mux3: mdio@60 { 84 mdio0_phy12: mdio-phy0@1c { 88 mdio0_phy13: mdio-phy1@1d { 92 mdio0_phy14: mdio-phy2@1e { 96 mdio0_phy15: mdio-phy3@1f {
|
| /linux/drivers/net/ethernet/chelsio/cxgb/ |
| H A D | cphy.h | 96 struct mdio_if_info mdio; member 104 int rc = cphy->mdio.mdio_read(cphy->mdio.dev, cphy->mdio.prtad, mmd, in cphy_mdio_read() 113 return cphy->mdio.mdio_write(cphy->mdio.dev, cphy->mdio.prtad, mmd, in cphy_mdio_write() 138 phy->mdio.prtad = phy_addr; in cphy_init() 139 phy->mdio.mmds = phy_ops->mmds; in cphy_init() 140 phy->mdio.mode_support = mdio_ops->mode_support; in cphy_init() 141 phy->mdio.mdio_read = mdio_ops->read; in cphy_init() 142 phy->mdio.mdio_write = mdio_ops->write; in cphy_init() 144 phy->mdio.dev = dev; in cphy_init()
|
| /linux/include/linux/ |
| H A D | of_mdio.h | 17 int __of_mdiobus_register(struct mii_bus *mdio, struct device_node *np, 20 static inline int of_mdiobus_register(struct mii_bus *mdio, in of_mdiobus_register() argument 23 return __of_mdiobus_register(mdio, np, THIS_MODULE); in of_mdiobus_register() 26 int __devm_of_mdiobus_register(struct device *dev, struct mii_bus *mdio, 30 struct mii_bus *mdio, in devm_of_mdiobus_register() argument 33 return __devm_of_mdiobus_register(dev, mdio, np, THIS_MODULE); in devm_of_mdiobus_register() 50 int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, 81 static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) in of_mdiobus_register() argument 88 return mdiobus_register(mdio); in of_mdiobus_register() 92 struct mii_bus *mdio, in devm_of_mdiobus_register() argument [all …]
|
| H A D | acpi_mdio.h | 12 int __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode, 16 acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *handle) in acpi_mdiobus_register() argument 18 return __acpi_mdiobus_register(mdio, handle, THIS_MODULE); in acpi_mdiobus_register() 22 acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode) in acpi_mdiobus_register() argument 29 return mdiobus_register(mdio); in acpi_mdiobus_register()
|
| /linux/drivers/net/dsa/mv88e6xxx/ |
| H A D | pcs-6352.c | 25 struct mdio_device mdio; member 43 mutex_lock(&mpcs->mdio.bus->mdio_lock); in marvell_c22_pcs_set_fiber_page() 45 err = __mdiodev_read(&mpcs->mdio, MII_MARVELL_PHY_PAGE); in marvell_c22_pcs_set_fiber_page() 47 dev_err(mpcs->mdio.dev.parent, in marvell_c22_pcs_set_fiber_page() 55 err = __mdiodev_write(&mpcs->mdio, MII_MARVELL_PHY_PAGE, in marvell_c22_pcs_set_fiber_page() 58 dev_err(mpcs->mdio.dev.parent, in marvell_c22_pcs_set_fiber_page() 73 err = __mdiodev_write(&mpcs->mdio, MII_MARVELL_PHY_PAGE, in marvell_c22_pcs_restore_page() 76 dev_err(mpcs->mdio.dev.parent, in marvell_c22_pcs_restore_page() 84 mutex_unlock(&mpcs->mdio.bus->mdio_lock); in marvell_c22_pcs_restore_page() 99 err = __mdiodev_read(&mpcs->mdio, MII_M1011_IEVENT); in marvell_c22_pcs_handle_irq() [all …]
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | cavium-mdio.txt | 6 "cavium,octeon-3860-mdio": Compatibility with all cn3XXX, cn5XXX 9 "cavium,thunder-8890-mdio": Compatibility with all cn8XXX SOCs. 20 mdio@1180000001800 { 21 compatible = "cavium,octeon-3860-mdio"; 35 Several mdio buses may be gathered as children of a single PCI 40 - compatible: "cavium,thunder-8890-mdio-nexus"; 54 mdio-nexus@1,3 { 55 compatible = "cavium,thunder-8890-mdio-nexus"; 63 compatible = "cavium,thunder-8890-mdio"; 74 compatible = "cavium,thunder-8890-mdio";
|
| H A D | hisilicon-hns-mdio.txt | 5 "hisilicon,hns-mdio" 6 "hisilicon,mdio" 7 "hisilicon,hns-mdio" is recommended to be used for hip05 and later SOCs, 8 while "hisilicon,mdio" is optional for backwards compatibility only on 17 mdio@803c0000 { 20 compatible = "hisilicon,hns-mdio","hisilicon,mdio";
|
| /linux/drivers/net/usb/ |
| H A D | ax88172a.c | 19 struct mii_bus *mdio; member 66 priv->mdio = mdiobus_alloc(); in ax88172a_init_mdio() 67 if (!priv->mdio) { in ax88172a_init_mdio() 72 priv->mdio->priv = (void *)dev; in ax88172a_init_mdio() 73 priv->mdio->read = &asix_mdio_bus_read; in ax88172a_init_mdio() 74 priv->mdio->write = &asix_mdio_bus_write; in ax88172a_init_mdio() 75 priv->mdio->name = "Asix MDIO Bus"; in ax88172a_init_mdio() 77 snprintf(priv->mdio->id, MII_BUS_ID_SIZE, "usb-%03d:%03d", in ax88172a_init_mdio() 80 ret = mdiobus_register(priv->mdio); in ax88172a_init_mdio() 86 netdev_info(dev->net, "registered mdio bus %s\n", priv->mdio->id); in ax88172a_init_mdio() [all …]
|
| /linux/drivers/net/dsa/realtek/ |
| H A D | realtek-smi.c | 58 gpiod_direction_output(priv->mdio, 1); in realtek_smi_start() 70 gpiod_set_value(priv->mdio, 0); in realtek_smi_start() 74 gpiod_set_value(priv->mdio, 1); in realtek_smi_start() 80 gpiod_set_value(priv->mdio, 0); in realtek_smi_stop() 83 gpiod_set_value(priv->mdio, 1); in realtek_smi_stop() 98 gpiod_direction_input(priv->mdio); in realtek_smi_stop() 108 gpiod_set_value(priv->mdio, !!(data & (1 << (len - 1)))); in realtek_smi_write_bits() 120 gpiod_direction_input(priv->mdio); in realtek_smi_read_bits() 130 u = !!gpiod_get_value(priv->mdio); in realtek_smi_read_bits() 136 gpiod_direction_output(priv->mdio, 0); in realtek_smi_read_bits() [all …]
|
| /linux/drivers/net/phy/ |
| H A D | xilinx_gmii2rgmii.c | 28 struct mdio_device *mdio; member 33 struct mii_bus *bus = priv->mdio->bus; in xgmiitorgmii_configure() 34 int addr = priv->mdio->addr; in xgmiitorgmii_configure() 52 struct gmii2rgmii *priv = mdiodev_get_drvdata(&phydev->mdio); in xgmiitorgmii_read_status() 70 struct gmii2rgmii *priv = mdiodev_get_drvdata(&phydev->mdio); in xgmiitorgmii_set_loopback() 116 put_device(&priv->phy_dev->mdio.dev); in xgmiitorgmii_probe() 120 priv->mdio = mdiodev; in xgmiitorgmii_probe() 126 mdiodev_set_drvdata(&priv->phy_dev->mdio, priv); in xgmiitorgmii_probe()
|
| /linux/arch/arm64/boot/dts/renesas/ |
| H A D | r8a779a0-falcon-ethernet.dtsi | 24 mdio { 45 mdio { 66 mdio { 87 mdio { 108 mdio { 145 mdio { 170 mdio { 195 mdio { 220 mdio { 245 mdio {
|
| /linux/drivers/net/phy/mscc/ |
| H A D | mscc_serdes.c | 25 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in pll5g_detune() 39 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in pll5g_tune() 56 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_pll_cfg_wr() 85 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_common_cfg_wr() 109 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_des_cfg_wr() 134 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_ib_cfg0_wr() 158 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_ib_cfg1_wr() 180 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_ib_cfg2_wr() 199 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_ib_cfg3_wr() 218 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in vsc85xx_sd6g_ib_cfg4_wr() [all …]
|
| /linux/arch/loongarch/boot/dts/ |
| H A D | loongson-2k2000-ref.dts | 77 mdio { 78 compatible = "snps,dwmac-mdio"; 92 mdio { 93 compatible = "snps,dwmac-mdio"; 107 mdio { 108 compatible = "snps,dwmac-mdio";
|
| /linux/drivers/net/ethernet/sfc/falcon/ |
| H A D | mdio_10g.h | 24 return efx->mdio.mdio_read(efx->net_dev, efx->mdio.prtad, devad, addr); in ef4_mdio_read() 30 efx->mdio.mdio_write(efx->net_dev, efx->mdio.prtad, devad, addr, value); in ef4_mdio_write() 102 mdio_set_flag(&efx->mdio, efx->mdio.prtad, devad, addr, mask, state); in ef4_mdio_set_flag()
|
| /linux/arch/powerpc/boot/dts/fsl/ |
| H A D | t2081qds.dts | 100 mdio-mux-emi1 { 101 compatible = "mdio-mux-mmioreg", "mdio-mux"; 102 mdio-parent-bus = <&mdio0>; 108 t2081mdio0: mdio@0 { 118 t2081mdio1: mdio@20 { 128 t2081mdio2: mdio@40 { 150 t2081mdio3: mdio@60 { 172 t2081mdio4: mdio@80 { 195 t2081mdio5: mdio@a0 { 218 t2081mdio6: mdio@c0 { [all …]
|