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

1 // SPDX-License-Identifier: GPL-2.0-only
3 * fwnode helpers for the MDIO (Ethernet PHY) API
14 #include <linux/pse-pd/pse.h>
18 MODULE_DESCRIPTION("FWNODE MDIO bus (Ethernet PHY) accessors");
34 if (PTR_ERR(psec) == -ENOENT) in fwnode_find_pse_control()
52 if (err == -ENOENT) in fwnode_find_mii_timestamper()
58 mii_ts = ERR_PTR(-EINVAL); in fwnode_find_mii_timestamper()
79 if (rc == -EPROBE_DEFER) in fwnode_mdiobus_phy_device_register()
80 rc = driver_deferred_probe_check_state(&phy->mdio.dev); in fwnode_mdiobus_phy_device_register()
81 if (rc == -EPROBE_DEFER) in fwnode_mdiobus_phy_device_register()
85 phy->irq = rc; in fwnode_mdiobus_phy_device_register()
86 mdio->irq[addr] = rc; in fwnode_mdiobus_phy_device_register()
88 phy->irq = mdio->irq[addr]; in fwnode_mdiobus_phy_device_register()
91 if (fwnode_property_read_bool(child, "broken-turn-around")) in fwnode_mdiobus_phy_device_register()
92 mdio->phy_ignore_ta_mask |= 1 << addr; in fwnode_mdiobus_phy_device_register()
94 fwnode_property_read_u32(child, "reset-assert-us", in fwnode_mdiobus_phy_device_register()
95 &phy->mdio.reset_assert_delay); in fwnode_mdiobus_phy_device_register()
96 fwnode_property_read_u32(child, "reset-deassert-us", in fwnode_mdiobus_phy_device_register()
97 &phy->mdio.reset_deassert_delay); in fwnode_mdiobus_phy_device_register()
103 device_set_node(&phy->mdio.dev, child); in fwnode_mdiobus_phy_device_register()
110 device_set_node(&phy->mdio.dev, NULL); in fwnode_mdiobus_phy_device_register()
115 dev_dbg(&mdio->dev, "registered phy fwnode %pfw at address %i\n", in fwnode_mdiobus_phy_device_register()
141 is_c45 = fwnode_device_is_compatible(child, "ethernet-phy-ieee802.3-c45"); in fwnode_mdiobus_register_phy()
152 phy->irq = bus->irq[addr]; in fwnode_mdiobus_register_phy()
157 phy->mdio.dev.fwnode = fwnode_handle_get(child); in fwnode_mdiobus_register_phy()
162 phy->mdio.dev.fwnode = NULL; in fwnode_mdiobus_register_phy()
172 phy->psec = psec; in fwnode_mdiobus_register_phy()
174 /* phy->mii_ts may already be defined by the PHY driver. A in fwnode_mdiobus_register_phy()
179 phy->mii_ts = mii_ts; in fwnode_mdiobus_register_phy()