Applied to rmobile branch, thanks! 2017-07-22 6:20 GMT+09:00 Marek Vasut <marek.va...@gmail.com>: > Add support for enabling and disabling the clock using the clock > framework based on the content of OF instead of doing it manually > in the board file. > > Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com> > Cc: Joe Hershberger <joe.hershber...@ni.com> > Cc: Nobuhiro Iwamatsu <iwama...@nigauri.org> > --- > drivers/net/ravb.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c > index ce0eacceb6..8db127ba06 100644 > --- a/drivers/net/ravb.c > +++ b/drivers/net/ravb.c > @@ -10,6 +10,7 @@ > */ > > #include <common.h> > +#include <clk.h> > #include <dm.h> > #include <errno.h> > #include <miiphy.h> > @@ -120,6 +121,7 @@ struct ravb_priv { > struct phy_device *phydev; > struct mii_dev *bus; > void __iomem *iobase; > + struct clk clk; > }; > > static inline void ravb_flush_dcache(u32 addr, u32 len) > @@ -432,27 +434,38 @@ int ravb_start(struct udevice *dev) > struct ravb_priv *eth = dev_get_priv(dev); > int ret; > > - ret = ravb_reset(dev); > + ret = clk_enable(ð->clk); > if (ret) > return ret; > > + ret = ravb_reset(dev); > + if (ret) > + goto err; > + > ravb_base_desc_init(eth); > ravb_tx_desc_init(eth); > ravb_rx_desc_init(eth); > > ret = ravb_config(dev); > if (ret) > - return ret; > + goto err; > > /* Setting the control will start the AVB-DMAC process. */ > writel(CCC_OPC_OPERATION, eth->iobase + RAVB_REG_CCC); > > return 0; > + > +err: > + clk_disable(ð->clk); > + return ret; > } > > static void ravb_stop(struct udevice *dev) > { > + struct ravb_priv *eth = dev_get_priv(dev); > + > ravb_reset(dev); > + clk_disable(ð->clk); > } > > static int ravb_probe(struct udevice *dev) > @@ -466,6 +479,10 @@ static int ravb_probe(struct udevice *dev) > iobase = map_physmem(pdata->iobase, 0x1000, MAP_NOCACHE); > eth->iobase = iobase; > > + ret = clk_get_by_index(dev, 0, ð->clk); > + if (ret < 0) > + goto err_mdio_alloc; > + > mdiodev = mdio_alloc(); > if (!mdiodev) { > ret = -ENOMEM; > -- > 2.11.0 >
-- Nobuhiro Iwamatsu iwamatsu at {nigauri.org / debian.org} GPG ID: 40AD1FA6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot