diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/phy/phy-uclass.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c index 3fef5135a9..83e4b63079 100644 --- a/drivers/phy/phy-uclass.c +++ b/drivers/phy/phy-uclass.c @@ -351,6 +351,28 @@ int generic_phy_configure(struct phy *phy, void *params) return ops->configure ? ops->configure(phy, params) : 0; } +int generic_phy_set_mode(struct phy *phy, enum phy_mode mode, int submode) +{ + struct phy_ops const *ops; + + if (!generic_phy_valid(phy)) + return 0; + ops = phy_dev_ops(phy->dev); + + return ops->set_mode ? ops->set_mode(phy, mode, submode) : 0; +} + +int generic_phy_set_speed(struct phy *phy, int speed) +{ + struct phy_ops const *ops; + + if (!generic_phy_valid(phy)) + return 0; + ops = phy_dev_ops(phy->dev); + + return ops->set_speed ? ops->set_speed(phy, speed) : 0; +} + int generic_phy_get_bulk(struct udevice *dev, struct phy_bulk *bulk) { int i, ret, count; |