Home
last modified time | relevance | path

Searched refs:mdio (Results 1 – 25 of 774) sorted by relevance

12345678910>>...31

/Linux-v5.4/drivers/net/
Dmdio.c26 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-v5.4/drivers/of/
Dof_mdio.c45 static int of_mdiobus_register_phy(struct mii_bus *mdio, in of_mdiobus_register_phy() argument
57 phy = phy_device_create(mdio, addr, phy_id, 0, NULL); in of_mdiobus_register_phy()
59 phy = get_phy_device(mdio, addr, is_c45); in of_mdiobus_register_phy()
70 mdio->irq[addr] = rc; in of_mdiobus_register_phy()
72 phy->irq = mdio->irq[addr]; in of_mdiobus_register_phy()
76 mdio->phy_ignore_ta_mask |= 1 << addr; in of_mdiobus_register_phy()
79 &phy->mdio.reset_assert_delay); in of_mdiobus_register_phy()
81 &phy->mdio.reset_deassert_delay); in of_mdiobus_register_phy()
86 phy->mdio.dev.of_node = child; in of_mdiobus_register_phy()
87 phy->mdio.dev.fwnode = of_fwnode_handle(child); in of_mdiobus_register_phy()
[all …]
/Linux-v5.4/drivers/net/phy/
DMakefile5 mdio-bus-y += mdio_bus.o mdio_device.o
8 obj-y += mdio-boardinfo.o
15 libphy-y += $(mdio-bus-y)
17 obj-$(CONFIG_MDIO_DEVICE) += mdio-bus.o
25 obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o
26 obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o
27 obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
28 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
29 obj-$(CONFIG_MDIO_BUS_MUX) += mdio-mux.o
30 obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o
[all …]
Dphy-core.c246 struct device_node *node = phydev->mdio.dev.of_node; in of_set_phy_supported()
261 struct device_node *node = phydev->mdio.dev.of_node; in of_set_phy_eee_broken()
387 val = __mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, addr); in __phy_read_mmd()
389 struct mii_bus *bus = phydev->mdio.bus; in __phy_read_mmd()
390 int phy_addr = phydev->mdio.addr; in __phy_read_mmd()
414 mutex_lock(&phydev->mdio.bus->mdio_lock); in phy_read_mmd()
416 mutex_unlock(&phydev->mdio.bus->mdio_lock); in phy_read_mmd()
444 ret = __mdiobus_write(phydev->mdio.bus, phydev->mdio.addr, in __phy_write_mmd()
447 struct mii_bus *bus = phydev->mdio.bus; in __phy_write_mmd()
448 int phy_addr = phydev->mdio.addr; in __phy_write_mmd()
[all …]
Dicplus.c72 err = mdiobus_write(phydev->mdio.bus, 30, 0, 0x175c); in ip175c_config_init()
77 err = mdiobus_read(phydev->mdio.bus, 30, 0); in ip175c_config_init()
83 err = mdiobus_write(phydev->mdio.bus, 29, 31, 0x175c); in ip175c_config_init()
88 err = mdiobus_write(phydev->mdio.bus, 29, 22, 0x420); in ip175c_config_init()
94 err = mdiobus_write(phydev->mdio.bus, i, in ip175c_config_init()
101 err = mdiobus_read(phydev->mdio.bus, i, MII_BMCR); in ip175c_config_init()
108 if (phydev->mdio.addr != 4) { in ip175c_config_init()
183 if (phydev->mdio.addr == 4) /* WAN port */ in ip175c_read_status()
194 if (phydev->mdio.addr == 4) /* WAN port */ in ip175c_config_aneg()
202 struct device *dev = &phydev->mdio.dev; in ip101a_g_probe()
[all …]
Dxilinx_gmii2rgmii.c27 struct mdio_device *mdio; member
32 struct gmii2rgmii *priv = mdiodev_get_drvdata(&phydev->mdio); in xgmiitorgmii_read_status()
33 struct mii_bus *bus = priv->mdio->bus; in xgmiitorgmii_read_status()
34 int addr = priv->mdio->addr; in xgmiitorgmii_read_status()
88 priv->mdio = mdiodev; in xgmiitorgmii_probe()
93 mdiodev_set_drvdata(&priv->phy_dev->mdio, priv); in xgmiitorgmii_probe()
Dmdio-gpio.c32 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-v5.4/Documentation/devicetree/bindings/net/
Dmdio-mux-multiplexer.txt11 - mdio-parent-bus : phandle to the parent MDIO bus.
13 each child node of mdio bus multiplexer consumer device represent a mdio
18 and Documentation/devicetree/bindings/net/mdio-mux.txt
38 mdio-mux-1 { // Mux consumer
39 compatible = "mdio-mux-multiplexer";
41 mdio-parent-bus = <&emdio1>;
45 mdio@0 {
51 mdio@8 {
61 mdio-mux-2 { // Mux consumer
62 compatible = "mdio-mux-multiplexer";
[all …]
Dbrcm,unimac-mdio.txt4 - compatible: should one from "brcm,genet-mdio-v1", "brcm,genet-mdio-v2",
5 "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5" or
6 "brcm,unimac-mdio"
10 - reg-names: name(s) of the register must be "mdio" and optional "mdio_indir_rw"
17 are two separate interrupts, first one must be "mdio done" and second must be
18 for "mdio error"
31 mdio@403c0 {
32 compatible = "brcm,unimac-mdio";
34 reg-names = "mdio", "mdio_indir_rw";
Dcavium-mdio.txt6 "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";
Dhisilicon-hns-mdio.txt5 "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";
Dapm-xgene-mdio.txt6 - 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 {
Dmdio-mux-mmioreg.txt4 like an FPGA, is used to control which child bus is connected. The mdio-mux
10 - compatible : string, must contain "mdio-mux-mmioreg"
18 'reg' property of each child mdio-mux node must be constrained by
36 mdio-mux-emi2 {
37 compatible = "mdio-mux-mmioreg", "mdio-mux";
38 mdio-parent-bus = <&xmdio0>;
44 emi2_slot1: mdio@0 { // Slot 1 XAUI (FM2)
55 emi2_slot2: mdio@2 { // Slot 2 XAUI (FM1)
69 xmdio0: mdio@f1000 {
Dbrcm,mdio-mux-iproc.txt11 - compatible: brcm,mdio-mux-iproc.
17 - clocks: phandle of the core clock which drives the mdio block.
20 at- Documentation/devicetree/bindings/net/mdio-mux.txt
24 mdio_mux_iproc: mdio-mux@66020000 {
25 compatible = "brcm,mdio-mux-iproc";
30 mdio@0 {
42 mdio@7 {
53 mdio@10 {
Dfsl-enetc.txt18 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";
Dmdio-mux-meson-g12a.txt4 the internal mdio bus leading to the embedded 10/100 PHY or the external
8 - compatible : amlogic,g12a-mdio-mux
18 mdio_mux: mdio-multiplexer@4c000 {
19 compatible = "amlogic,g12a-mdio-mux";
25 mdio-parent-bus = <&mdio0>;
29 ext_mdio: mdio@0 {
35 int_mdio: mdio@1 {
Dmdio-gpio.txt4 - virtual,gpio-mdio
11 Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases"
17 mdio-gpio0 = &mdio0;
20 mdio0: mdio {
21 compatible = "virtual,mdio-gpio";
Dbrcm,bcmgenet.txt35 - mdio bus node: this node should always be present regardless of the PHY
40 - compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
41 "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5", the version
43 with brcm,genet-mdio-v4)
65 mdio@e14 {
66 compatible = "brcm,genet-mdio-v4";
91 mdio@e14 {
92 compatible = "brcm,genet-mdio-v4";
112 mdio@e14 {
113 compatible = "brcm,genet-mdio-v4";
Dmdio-mux-gpio.txt8 - compatible : mdio-mux-gpio.
15 smi1: mdio@1180000001900 {
16 compatible = "cavium,octeon-3860-mdio";
27 mdio-mux {
28 compatible = "mdio-mux-gpio";
30 mdio-parent-bus = <&smi1>;
34 mdio@2 {
77 mdio@3 {
/Linux-v5.4/drivers/net/ethernet/chelsio/cxgb/
Dcphy.h105 struct mdio_if_info mdio; member
113 int rc = cphy->mdio.mdio_read(cphy->mdio.dev, cphy->mdio.prtad, mmd, in cphy_mdio_read()
122 return cphy->mdio.mdio_write(cphy->mdio.dev, cphy->mdio.prtad, mmd, in cphy_mdio_write()
147 phy->mdio.prtad = phy_addr; in cphy_init()
148 phy->mdio.mmds = phy_ops->mmds; in cphy_init()
149 phy->mdio.mode_support = mdio_ops->mode_support; in cphy_init()
150 phy->mdio.mdio_read = mdio_ops->read; in cphy_init()
151 phy->mdio.mdio_write = mdio_ops->write; in cphy_init()
153 phy->mdio.dev = dev; in cphy_init()
/Linux-v5.4/include/linux/
Dmdio.h72 static inline void mdiodev_set_drvdata(struct mdio_device *mdio, void *data) in mdiodev_set_drvdata() argument
74 dev_set_drvdata(&mdio->dev, data); in mdiodev_set_drvdata()
77 static inline void *mdiodev_get_drvdata(struct mdio_device *mdio) in mdiodev_get_drvdata() argument
79 return dev_get_drvdata(&mdio->dev); in mdiodev_get_drvdata()
140 extern int mdio45_probe(struct mdio_if_info *mdio, int prtad);
141 extern int mdio_set_flag(const struct mdio_if_info *mdio,
144 extern int mdio45_links_ok(const struct mdio_if_info *mdio, u32 mmds);
145 extern int mdio45_nway_restart(const struct mdio_if_info *mdio);
146 extern void mdio45_ethtool_gset_npage(const struct mdio_if_info *mdio,
150 mdio45_ethtool_ksettings_get_npage(const struct mdio_if_info *mdio,
[all …]
/Linux-v5.4/drivers/net/usb/
Dax88172a.c19 struct mii_bus *mdio; member
91 priv->mdio = mdiobus_alloc(); in ax88172a_init_mdio()
92 if (!priv->mdio) { in ax88172a_init_mdio()
97 priv->mdio->priv = (void *)dev; in ax88172a_init_mdio()
98 priv->mdio->read = &asix_mdio_bus_read; in ax88172a_init_mdio()
99 priv->mdio->write = &asix_mdio_bus_write; in ax88172a_init_mdio()
100 priv->mdio->name = "Asix MDIO Bus"; in ax88172a_init_mdio()
102 snprintf(priv->mdio->id, MII_BUS_ID_SIZE, "usb-%03d:%03d", in ax88172a_init_mdio()
105 ret = mdiobus_register(priv->mdio); in ax88172a_init_mdio()
111 netdev_info(dev->net, "registered mdio bus %s\n", priv->mdio->id); in ax88172a_init_mdio()
[all …]
/Linux-v5.4/Documentation/devicetree/bindings/mux/
Dreg-mux.txt41 mdio-mux-1 {
42 compatible = "mdio-mux-multiplexer";
44 mdio-parent-bus = <&emdio1>;
48 mdio@0 {
54 mdio@8 {
64 mdio-mux-2 {
65 compatible = "mdio-mux-multiplexer";
67 mdio-parent-bus = <&emdio2>;
71 mdio@0 {
77 mdio@1 {
/Linux-v5.4/Documentation/devicetree/bindings/soc/fsl/cpm_qe/
Dnetwork.txt26 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>;
/Linux-v5.4/drivers/net/ethernet/sfc/falcon/
Dmdio_10g.h24 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()

12345678910>>...31