[U-Boot] [PATCH 2/2] net: gmac_rockchip: Add phy supply support
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Wed Mar 22 09:05:15 UTC 2017
On Wed, 2017-03-22 at 11:17 +0800, Jacob Chen wrote:
> 2017-03-22 2:56 GMT+08:00 Joe Hershberger <joe.hershberger at gmail.com>
> :
> > On Wed, Mar 15, 2017 at 4:28 AM, Jacob Chen <jacob2.chen at rock-chips
> > .com> wrote:
> > > Some board need a regulator for gmac phy, so add this code to
> > > handle it.
> > >
> > > Signed-off-by: Jacob Chen <jacob2.chen at rock-chips.com>
> > > ---
> > >
> > > drivers/net/gmac_rockchip.c | 17 +++++++++++++++++
> > > 1 file changed, 17 insertions(+)
> > >
> > > diff --git a/drivers/net/gmac_rockchip.c
> > > b/drivers/net/gmac_rockchip.c
> > > index e9b202a..63cccc9 100644
> > > --- a/drivers/net/gmac_rockchip.c
> > > +++ b/drivers/net/gmac_rockchip.c
> > > @@ -17,6 +17,7 @@
> > > #include <asm/arch/grf_rk3288.h>
> > > #include <dm/pinctrl.h>
> > > #include <dt-bindings/clock/rk3288-cru.h>
> > > +#include <power/regulator.h>
> > > #include "designware.h"
> > >
> > > DECLARE_GLOBAL_DATA_PTR;
> > > @@ -79,6 +80,22 @@ static int gmac_rockchip_probe(struct udevice
> > > *dev)
> > > struct clk clk;
> > > 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
> > > +
> >
> > This seems pretty generic. Is there maybe a more common place this
> > could live? Or is the phy-supply binding in DT only defined for
> > rockchip?
> >
>
> I have look kernel driver and phy-supply is set in "
> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c".
> So i think it might not be generic.
>From the device-tree bindings, it's specifically documented for
allwinner,sun7i-a20-gmac and rockchip,*-gmac. It's also the common
naming for in the generic phy bindings (though i haven't seen those
used for any networking device-tree bindings). So it's not documented
as a generic property but definitely is the convential naming for,
well, phy supplies.
Which is all pretty inconclusive :) But it might make sense to do it
generically for dwmac so e.g. the allwinner support also can use it.
>
> > > ret = clk_get_by_index(dev, 0, &clk);
> > > if (ret)
> > > return ret;
> > > --
> > > 1.9.1
> > >
> > > _______________________________________________
> > > U-Boot mailing list
> > > U-Boot at lists.denx.de
> > > https://lists.denx.de/listinfo/u-boot
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
--
Sjoerd Simons
Collabora Ltd.
More information about the U-Boot
mailing list