From 6ec922fae20f791882ee455286b1fefd5372a79a Mon Sep 17 00:00:00 2001 From: Jacob Chen Date: Mon, 27 Mar 2017 16:54:17 +0800 Subject: [PATCH] net: designware: Add phy supply support Some board need a regulator for gmac phy, so add this code to handle it. Signed-off-by: Jacob Chen Acked-by: Joe Hershberger --- drivers/net/designware.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/designware.c b/drivers/net/designware.c index e3a194c2c0..e8569e6fef 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "designware.h" DECLARE_GLOBAL_DATA_PTR; @@ -661,6 +662,22 @@ int designware_eth_probe(struct udevice *dev) ulong ioaddr; int ret; +#if defined(CONFIG_DM_REGULATOR) + struct udevice *phy_supply; + + ret = device_get_supply_regulator(dev, "phy-supply", + &phy_supply); + if (ret) { + debug("%s: No phy supply\n", dev->name); + } else { + ret = regulator_set_enable(phy_supply, true); + if (ret) { + puts("Error enabling phy supply\n"); + return ret; + } + } +#endif + #ifdef CONFIG_DM_PCI /* * If we are on PCI bus, either directly attached to a PCI root port, -- 2.39.5