Lines Matching +full:ethernet +full:- +full:pse

1 // SPDX-License-Identifier: GPL-2.0-only
3 * fwnode helpers for the MDIO (Ethernet PHY) API
13 #include <linux/pse-pd/pse.h>
17 MODULE_DESCRIPTION("FWNODE MDIO bus (Ethernet PHY) accessors");
33 if (PTR_ERR(psec) == -ENOENT) in fwnode_find_pse_control()
50 if (err == -ENOENT) in fwnode_find_mii_timestamper()
56 return ERR_PTR(-EINVAL); in fwnode_find_mii_timestamper()
71 if (rc == -EPROBE_DEFER) in fwnode_mdiobus_phy_device_register()
72 rc = driver_deferred_probe_check_state(&phy->mdio.dev); in fwnode_mdiobus_phy_device_register()
73 if (rc == -EPROBE_DEFER) in fwnode_mdiobus_phy_device_register()
77 phy->irq = rc; in fwnode_mdiobus_phy_device_register()
78 mdio->irq[addr] = rc; in fwnode_mdiobus_phy_device_register()
80 phy->irq = mdio->irq[addr]; in fwnode_mdiobus_phy_device_register()
83 if (fwnode_property_read_bool(child, "broken-turn-around")) in fwnode_mdiobus_phy_device_register()
84 mdio->phy_ignore_ta_mask |= 1 << addr; in fwnode_mdiobus_phy_device_register()
86 fwnode_property_read_u32(child, "reset-assert-us", in fwnode_mdiobus_phy_device_register()
87 &phy->mdio.reset_assert_delay); in fwnode_mdiobus_phy_device_register()
88 fwnode_property_read_u32(child, "reset-deassert-us", in fwnode_mdiobus_phy_device_register()
89 &phy->mdio.reset_deassert_delay); in fwnode_mdiobus_phy_device_register()
95 device_set_node(&phy->mdio.dev, child); in fwnode_mdiobus_phy_device_register()
102 device_set_node(&phy->mdio.dev, NULL); in fwnode_mdiobus_phy_device_register()
107 dev_dbg(&mdio->dev, "registered phy %p fwnode at address %i\n", in fwnode_mdiobus_phy_device_register()
133 is_c45 = fwnode_device_is_compatible(child, "ethernet-phy-ieee802.3-c45"); in fwnode_mdiobus_register_phy()
144 phy->irq = bus->irq[addr]; in fwnode_mdiobus_register_phy()
149 phy->mdio.dev.fwnode = fwnode_handle_get(child); in fwnode_mdiobus_register_phy()
154 phy->mdio.dev.fwnode = NULL; in fwnode_mdiobus_register_phy()
164 phy->psec = psec; in fwnode_mdiobus_register_phy()
166 /* phy->mii_ts may already be defined by the PHY driver. A in fwnode_mdiobus_register_phy()
171 phy->mii_ts = mii_ts; in fwnode_mdiobus_register_phy()