/openbmc/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 …]
|
/openbmc/linux/drivers/net/mdio/ |
H A D | Makefile | 8 obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o 9 obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o 10 obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o 11 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o 12 obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o 13 obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o 14 obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o 15 obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o 16 obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o 17 obj-$(CONFIG_MDIO_IPQ8064) += mdio-ipq8064.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 | 36 int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, in of_mdiobus_phy_device_register() argument 39 return fwnode_mdiobus_phy_device_register(mdio, phy, in of_mdiobus_phy_device_register() 45 static int of_mdiobus_register_phy(struct mii_bus *mdio, in of_mdiobus_register_phy() argument 48 return fwnode_mdiobus_register_phy(mdio, of_fwnode_handle(child), addr); in of_mdiobus_register_phy() 51 static int of_mdiobus_register_device(struct mii_bus *mdio, in of_mdiobus_register_device() argument 58 mdiodev = mdio_device_create(mdio, addr); in of_mdiobus_register_device() 77 dev_dbg(&mdio->dev, "registered mdio device %pOFn at address %i\n", in of_mdiobus_register_device() 150 int __of_mdiobus_register(struct mii_bus *mdio, struct device_node *np, in __of_mdiobus_register() argument 158 return __mdiobus_register(mdio, owner); in __of_mdiobus_register() 166 mdio->phy_mask = ~0; in __of_mdiobus_register() [all …]
|
H A D | fwnode_mdio.c | 67 int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, in fwnode_mdiobus_phy_device_register() argument 78 rc = driver_deferred_probe_check_state(&phy->mdio.dev); in fwnode_mdiobus_phy_device_register() 84 mdio->irq[addr] = rc; in fwnode_mdiobus_phy_device_register() 86 phy->irq = mdio->irq[addr]; in fwnode_mdiobus_phy_device_register() 90 mdio->phy_ignore_ta_mask |= 1 << addr; in fwnode_mdiobus_phy_device_register() 93 &phy->mdio.reset_assert_delay); in fwnode_mdiobus_phy_device_register() 95 &phy->mdio.reset_deassert_delay); in fwnode_mdiobus_phy_device_register() 101 device_set_node(&phy->mdio.dev, child); in fwnode_mdiobus_phy_device_register() 108 device_set_node(&phy->mdio.dev, NULL); in fwnode_mdiobus_phy_device_register() 113 dev_dbg(&mdio->dev, "registered phy %p fwnode at address %i\n", in fwnode_mdiobus_phy_device_register() [all …]
|
H A D | acpi_mdio.c | 31 int __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode, in __acpi_mdiobus_register() argument 39 mdio->phy_mask = GENMASK(31, 0); in __acpi_mdiobus_register() 40 ret = __mdiobus_register(mdio, owner); in __acpi_mdiobus_register() 44 ACPI_COMPANION_SET(&mdio->dev, to_acpi_device_node(fwnode)); in __acpi_mdiobus_register() 52 ret = fwnode_mdiobus_register_phy(mdio, child, addr); in __acpi_mdiobus_register() 54 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()
|
/openbmc/linux/drivers/net/pcs/ |
H A D | pcs-lynx.c | 25 struct mdio_device *mdio; member 92 phylink_mii_c22_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state() 95 lynx_pcs_get_state_2500basex(lynx->mdio, state); in lynx_pcs_get_state() 98 lynx_pcs_get_state_usxgmii(lynx->mdio, state); in lynx_pcs_get_state() 101 phylink_mii_c45_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state() 107 dev_dbg(&lynx->mdio->dev, in lynx_pcs_get_state() 181 return lynx_pcs_config_giga(lynx->mdio, ifmode, advertising, in lynx_pcs_config() 185 dev_err(&lynx->mdio->dev, in lynx_pcs_config() 191 return lynx_pcs_config_usxgmii(lynx->mdio, advertising, in lynx_pcs_config() 207 phylink_mii_c22_pcs_an_restart(lynx->mdio); in lynx_pcs_an_restart() [all …]
|
/openbmc/u-boot/drivers/net/ti/ |
H A D | cpsw_mdio.c | 64 static int cpsw_mdio_wait_for_user_access(struct cpsw_mdio *mdio) in cpsw_mdio_wait_for_user_access() argument 66 return wait_for_bit_le32(&mdio->regs->user[0].access, in cpsw_mdio_wait_for_user_access() 74 struct cpsw_mdio *mdio = bus->priv; in cpsw_mdio_read() local 81 ret = cpsw_mdio_wait_for_user_access(mdio); in cpsw_mdio_read() 87 writel(reg, &mdio->regs->user[0].access); in cpsw_mdio_read() 88 ret = cpsw_mdio_wait_for_user_access(mdio); in cpsw_mdio_read() 92 reg = readl(&mdio->regs->user[0].access); in cpsw_mdio_read() 100 struct cpsw_mdio *mdio = bus->priv; in cpsw_mdio_write() local 107 ret = cpsw_mdio_wait_for_user_access(mdio); in cpsw_mdio_write() 114 writel(reg, &mdio->regs->user[0].access); in cpsw_mdio_write() [all …]
|
/openbmc/linux/arch/arm64/boot/dts/freescale/ |
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*/ 48 mdio@8 { /* On-board PHY #2 RGMI2*/ 54 mdio@18 { /* Slot #1 */ 60 mdio@19 { /* Slot #2 */ 66 mdio@1a { /* Slot #3 */ 72 mdio@1b { /* Slot #4 */ 78 mdio@1c { /* Slot #5 */ [all …]
|
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 …]
|
/openbmc/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()
|
/openbmc/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()
|
/openbmc/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 …]
|
/openbmc/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";
|
H A D | apm-xgene-mdio.txt | 6 - compatible: Must be "apm,xgene-mdio-rgmii" or "apm,xgene-mdio-xfi" 12 For the phys on the mdio bus, there must be a node with the following fields: 18 mdio: mdio@17020000 { 19 compatible = "apm,xgene-mdio-rgmii"; 27 &mdio {
|
H A D | fsl-enetc.txt | 18 In this case, the ENETC node should include a "mdio" sub-node 31 - mdio : "mdio" node, defined in mdio.txt. 43 mdio { 54 In this case, the mdio node should be defined as another PCIe 62 - compatible : Should be "fsl,enetc-mdio". 64 The remaining required mdio bus properties are standard, their bindings 65 already defined in Documentation/devicetree/bindings/net/mdio.txt. 76 mdio@0,3 { 77 compatible = "fsl,enetc-mdio";
|
/openbmc/u-boot/board/gdsys/common/ |
H A D | miiphybb.c | 13 int mdio; member 27 in_be32((void *)GPIO0_TCR) | pins->mdio); in io_bb_mdio_active() 37 in_be32((void *)GPIO0_TCR) & ~pins->mdio); in io_bb_mdio_tristate() 48 in_be32((void *)GPIO0_OR) | pins->mdio); in io_bb_set_mdio() 51 in_be32((void *)GPIO0_OR) & ~pins->mdio); in io_bb_set_mdio() 60 *v = ((in_be32((void *)GPIO0_IR) & pins->mdio) != 0); in io_bb_get_mdio() 88 .mdio = CONFIG_SYS_MDIO_PIN, 93 .mdio = CONFIG_SYS_MDIO1_PIN,
|
/openbmc/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 …]
|
/openbmc/linux/drivers/net/phy/ |
H A D | xilinx_gmii2rgmii.c | 27 struct mdio_device *mdio; member 32 struct mii_bus *bus = priv->mdio->bus; in xgmiitorgmii_configure() 33 int addr = priv->mdio->addr; in xgmiitorgmii_configure() 51 struct gmii2rgmii *priv = mdiodev_get_drvdata(&phydev->mdio); in xgmiitorgmii_read_status() 68 struct gmii2rgmii *priv = mdiodev_get_drvdata(&phydev->mdio); in xgmiitorgmii_set_loopback() 108 put_device(&priv->phy_dev->mdio.dev); in xgmiitorgmii_probe() 112 priv->mdio = mdiodev; in xgmiitorgmii_probe() 118 mdiodev_set_drvdata(&priv->phy_dev->mdio, priv); in xgmiitorgmii_probe()
|
/openbmc/linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/ |
H A D | network.txt | 26 fsl,pq1-fec-mdio (reg is same as first resource of FEC device) 27 fsl,cpm2-mdio-bitbang (reg is port C registers) 29 Properties for fsl,cpm2-mdio-bitbang: 30 fsl,mdio-pin : pin of port C controlling mdio data 31 fsl,mdc-pin : pin of port C controlling mdio clock 34 mdio@10d40 { 35 compatible = "fsl,mpc8272ads-mdio-bitbang", 36 "fsl,mpc8272-mdio-bitbang", 37 "fsl,cpm2-mdio-bitbang"; 41 fsl,mdio-pin = <12>;
|
/openbmc/u-boot/doc/device-tree-bindings/net/ |
H A D | allwinner,sun4i-mdio.txt | 4 - compatible: should be "allwinner,sun4i-a10-mdio" 5 (Deprecated: "allwinner,sun4i-mdio"). 12 mdio@01c0b080 { 13 compatible = "allwinner,sun4i-a10-mdio"; 21 mdio@01c0b080 {
|
/openbmc/linux/Documentation/devicetree/bindings/net/dsa/ |
H A D | marvell.txt | 11 placed as a child node of an mdio device. 44 - mdio : Container of PHY and devices on the switches MDIO 46 - mdio? : Container of PHYs and devices on the external MDIO 48 "marvell,mv88e6xxx-mdio-external" 52 mdio { 65 mdio { 77 mdio { 90 mdio { 101 compatible = "marvell,mv88e6xxx-mdio-external";
|