Message ID | 1521473969-39054-1-git-send-email-w.egorov@phytec.de |
---|---|
State | Accepted |
Commit | b0ba1e7e9d9b9441a18048ec67a3b3100c096975 |
Delegated to: | Philipp Tomsich |
Headers | show |
Series | [U-Boot] rockchip: clk: rk3288: add clk_enable function and support USB HOST0/HSIC | expand |
Hi Wadim, On 03/19/2018 11:39 PM, Wadim Egorov wrote: > The generic ehci-driver (ehci-generic.c) will try to enable the clocks > listed in the DTSI. If this fails (e.g. due to clk_enable not being > implemented in a driver and -ENOSYS being returned by the clk-uclass), > the driver will bail our and print an error message. Does ehci driver update this feature recently? I think the driver works for me before without clk_enable(). BTW, I don't think we add this kind of no use call back in clock driver is an good idea. Thanks, - Kever > > This implements a minimal clk_enable for the RK3288 and supports the > clocks mandatory for the EHCI controllers; as these are enabled by > default we simply return success. > > Signed-off-by: Wadim Egorov <w.egorov@phytec.de> > --- > drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c > index 552a71a..a028b8b 100644 > --- a/drivers/clk/rockchip/clk_rk3288.c > +++ b/drivers/clk/rockchip/clk_rk3288.c > @@ -893,12 +893,25 @@ static int __maybe_unused rk3288_clk_set_parent(struct clk *clk, struct clk *par > return -ENOENT; > } > > +static int rk3288_clk_enable(struct clk *clk) > +{ > + switch (clk->id) { > + case HCLK_USBHOST0: > + case HCLK_HSIC: > + return 0; > + } > + > + debug("%s: unsupported clk %ld\n", __func__, clk->id); > + return -ENOENT; > +} > + > static struct clk_ops rk3288_clk_ops = { > .get_rate = rk3288_clk_get_rate, > .set_rate = rk3288_clk_set_rate, > #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA) > .set_parent = rk3288_clk_set_parent, > #endif > + .enable = rk3288_clk_enable, > }; > > static int rk3288_clk_ofdata_to_platdata(struct udevice *dev)
Kever, Am 20.03.2018 um 15:46 schrieb Kever Yang: > Hi Wadim, > > > On 03/19/2018 11:39 PM, Wadim Egorov wrote: >> The generic ehci-driver (ehci-generic.c) will try to enable the clocks >> listed in the DTSI. If this fails (e.g. due to clk_enable not being >> implemented in a driver and -ENOSYS being returned by the clk-uclass), >> the driver will bail our and print an error message. > Does ehci driver update this feature recently? I think the driver works > for me before without clk_enable(). are you sure it worked for you on a rk3288 and not rk3399? There is a similar patch for 3399, commit 2f01a2b2149c rockchip: clk: rk3399: add clk_enable function and support USB HOST0/1 Regards, Wadim > > BTW, I don't think we add this kind of no use call back in clock driver > is an good idea. > > Thanks, > - Kever >> This implements a minimal clk_enable for the RK3288 and supports the >> clocks mandatory for the EHCI controllers; as these are enabled by >> default we simply return success. >> >> Signed-off-by: Wadim Egorov <w.egorov@phytec.de> >> --- >> drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c >> index 552a71a..a028b8b 100644 >> --- a/drivers/clk/rockchip/clk_rk3288.c >> +++ b/drivers/clk/rockchip/clk_rk3288.c >> @@ -893,12 +893,25 @@ static int __maybe_unused rk3288_clk_set_parent(struct clk *clk, struct clk *par >> return -ENOENT; >> } >> >> +static int rk3288_clk_enable(struct clk *clk) >> +{ >> + switch (clk->id) { >> + case HCLK_USBHOST0: >> + case HCLK_HSIC: >> + return 0; >> + } >> + >> + debug("%s: unsupported clk %ld\n", __func__, clk->id); >> + return -ENOENT; >> +} >> + >> static struct clk_ops rk3288_clk_ops = { >> .get_rate = rk3288_clk_get_rate, >> .set_rate = rk3288_clk_set_rate, >> #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA) >> .set_parent = rk3288_clk_set_parent, >> #endif >> + .enable = rk3288_clk_enable, >> }; >> >> static int rk3288_clk_ofdata_to_platdata(struct udevice *dev) >
> The generic ehci-driver (ehci-generic.c) will try to enable the clocks > listed in the DTSI. If this fails (e.g. due to clk_enable not being > implemented in a driver and -ENOSYS being returned by the clk-uclass), > the driver will bail our and print an error message. > > This implements a minimal clk_enable for the RK3288 and supports the > clocks mandatory for the EHCI controllers; as these are enabled by > default we simply return success. > > Signed-off-by: Wadim Egorov <w.egorov@phytec.de> > --- > drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> The generic ehci-driver (ehci-generic.c) will try to enable the clocks > listed in the DTSI. If this fails (e.g. due to clk_enable not being > implemented in a driver and -ENOSYS being returned by the clk-uclass), > the driver will bail our and print an error message. > > This implements a minimal clk_enable for the RK3288 and supports the > clocks mandatory for the EHCI controllers; as these are enabled by > default we simply return success. > > Signed-off-by: Wadim Egorov <w.egorov@phytec.de> > Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > --- > drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> The generic ehci-driver (ehci-generic.c) will try to enable the clocks > listed in the DTSI. If this fails (e.g. due to clk_enable not being > implemented in a driver and -ENOSYS being returned by the clk-uclass), > the driver will bail our and print an error message. > > This implements a minimal clk_enable for the RK3288 and supports the > clocks mandatory for the EHCI controllers; as these are enabled by > default we simply return success. > > Signed-off-by: Wadim Egorov <w.egorov@phytec.de> > Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > --- > drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > Applied to u-boot-rockchip, thanks!
On Thu, Apr 26, 2018 at 09:05:33AM +0200, Philipp Tomsich wrote: > > The generic ehci-driver (ehci-generic.c) will try to enable the clocks > > listed in the DTSI. If this fails (e.g. due to clk_enable not being > > implemented in a driver and -ENOSYS being returned by the clk-uclass), > > the driver will bail our and print an error message. > > > > This implements a minimal clk_enable for the RK3288 and supports the > > clocks mandatory for the EHCI controllers; as these are enabled by > > default we simply return success. > > > > Signed-off-by: Wadim Egorov <w.egorov@phytec.de> > > Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > > Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > > --- > > drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ > > 1 file changed, 13 insertions(+) > > > > Applied to u-boot-rockchip, thanks! This change broke Ethernet on tinker-rk3288. U-Boot 2018.05-00002-g6ea9f3dd70 (May 08 2018 - 17:21:32 +1000) Model: Tinker-RK3288 DRAM: 2 GiB MMC: dwmmc@ff0c0000: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment Failed (-5) In: serial Out: serial Err: serial Model: Tinker-RK3288 Net: failed to enable clock 0 No ethernet found. After reverting it: U-Boot 2018.05-00003-g338bfe2fbf (May 08 2018 - 17:40:09 +1000) Model: Tinker-RK3288 DRAM: 2 GiB MMC: dwmmc@ff0c0000: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment Failed (-5) In: serial Out: serial Err: serial Model: Tinker-RK3288 Net: eth0: ethernet@ff290000 Hit any key to stop autoboot: 0 If the default case returned ENOSYS or ENOTSUPP instead of ENOENT it would work given the changes that were made last time this broke. commit 1693a577be14a92e61563bad306aa11a359757f5 Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Date: Tue Feb 6 17:12:09 2018 +0300 NET: designware: fix clock enable
Looks like the designware GMAC driver is trying to enable a clock and can’t deal with the -ENOENT. Could you try to see which clock it is requesting and add the necessary entries in the clock-enable function? If you have a patch, I’ll try to prioritise it, so we get these regressions cleaned up quickly (note that these had all been in rc3—if we’d known earlier, I could have reverted them out for the release). @Wadim: could you please also look into this, as your board should have similar problems (unless your device-tree is very different). Thanks, Philipp. > On 8 May 2018, at 09:51, Jonathan Gray <jsg@jsg.id.au> wrote: > > On Thu, Apr 26, 2018 at 09:05:33AM +0200, Philipp Tomsich wrote: >>> The generic ehci-driver (ehci-generic.c) will try to enable the clocks >>> listed in the DTSI. If this fails (e.g. due to clk_enable not being >>> implemented in a driver and -ENOSYS being returned by the clk-uclass), >>> the driver will bail our and print an error message. >>> >>> This implements a minimal clk_enable for the RK3288 and supports the >>> clocks mandatory for the EHCI controllers; as these are enabled by >>> default we simply return success. >>> >>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de> >>> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >>> --- >>> drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ >>> 1 file changed, 13 insertions(+) >>> >> >> Applied to u-boot-rockchip, thanks! > > This change broke Ethernet on tinker-rk3288. > > U-Boot 2018.05-00002-g6ea9f3dd70 (May 08 2018 - 17:21:32 +1000) > > Model: Tinker-RK3288 > DRAM: 2 GiB > MMC: dwmmc@ff0c0000: 1 > Loading Environment from MMC... *** Warning - bad CRC, using default environment > > Failed (-5) > In: serial > Out: serial > Err: serial > Model: Tinker-RK3288 > Net: failed to enable clock 0 > No ethernet found. > > After reverting it: > > U-Boot 2018.05-00003-g338bfe2fbf (May 08 2018 - 17:40:09 +1000) > > Model: Tinker-RK3288 > DRAM: 2 GiB > MMC: dwmmc@ff0c0000: 1 > Loading Environment from MMC... *** Warning - bad CRC, using default environment > > Failed (-5) > In: serial > Out: serial > Err: serial > Model: Tinker-RK3288 > Net: eth0: ethernet@ff290000 > Hit any key to stop autoboot: 0 > > If the default case returned ENOSYS or ENOTSUPP instead of ENOENT it > would work given the changes that were made last time this broke. > > commit 1693a577be14a92e61563bad306aa11a359757f5 > Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > Date: Tue Feb 6 17:12:09 2018 +0300 > > NET: designware: fix clock enable
Hi, Am 08.05.2018 um 10:05 schrieb Dr. Philipp Tomsich: > Looks like the designware GMAC driver is trying to enable a clock and > can’t deal with the -ENOENT. Could you try to see which clock it is > requesting and add the necessary entries in the clock-enable function? > > If you have a patch, I’ll try to prioritise it, so we get these regressions > cleaned up quickly (note that these had all been in rc3—if we’d known > earlier, I could have reverted them out for the release). > > @Wadim: could you please also look into this, as your board should have > similar problems (unless your device-tree is very different). unfortunately I am not able to test ethernet on our board right now, because there are a few things missing in the designware/gmac part. But someone is working on it right now :) Anyway, it looks like Jonathan fixed the problem, right? Regards, Wadim > > Thanks, > Philipp. > >> On 8 May 2018, at 09:51, Jonathan Gray <jsg@jsg.id.au> wrote: >> >> On Thu, Apr 26, 2018 at 09:05:33AM +0200, Philipp Tomsich wrote: >>>> The generic ehci-driver (ehci-generic.c) will try to enable the clocks >>>> listed in the DTSI. If this fails (e.g. due to clk_enable not being >>>> implemented in a driver and -ENOSYS being returned by the clk-uclass), >>>> the driver will bail our and print an error message. >>>> >>>> This implements a minimal clk_enable for the RK3288 and supports the >>>> clocks mandatory for the EHCI controllers; as these are enabled by >>>> default we simply return success. >>>> >>>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de> >>>> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >>>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >>>> --- >>>> drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ >>>> 1 file changed, 13 insertions(+) >>>> >>> Applied to u-boot-rockchip, thanks! >> This change broke Ethernet on tinker-rk3288. >> >> U-Boot 2018.05-00002-g6ea9f3dd70 (May 08 2018 - 17:21:32 +1000) >> >> Model: Tinker-RK3288 >> DRAM: 2 GiB >> MMC: dwmmc@ff0c0000: 1 >> Loading Environment from MMC... *** Warning - bad CRC, using default environment >> >> Failed (-5) >> In: serial >> Out: serial >> Err: serial >> Model: Tinker-RK3288 >> Net: failed to enable clock 0 >> No ethernet found. >> >> After reverting it: >> >> U-Boot 2018.05-00003-g338bfe2fbf (May 08 2018 - 17:40:09 +1000) >> >> Model: Tinker-RK3288 >> DRAM: 2 GiB >> MMC: dwmmc@ff0c0000: 1 >> Loading Environment from MMC... *** Warning - bad CRC, using default environment >> >> Failed (-5) >> In: serial >> Out: serial >> Err: serial >> Model: Tinker-RK3288 >> Net: eth0: ethernet@ff290000 >> Hit any key to stop autoboot: 0 >> >> If the default case returned ENOSYS or ENOTSUPP instead of ENOENT it >> would work given the changes that were made last time this broke. >> >> commit 1693a577be14a92e61563bad306aa11a359757f5 >> Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> >> Date: Tue Feb 6 17:12:09 2018 +0300 >> >> NET: designware: fix clock enable
On Mon, May 14, 2018 at 11:28:38AM +0200, Wadim Egorov wrote: > Hi, > > > Am 08.05.2018 um 10:05 schrieb Dr. Philipp Tomsich: > > Looks like the designware GMAC driver is trying to enable a clock and > > can???t deal with the -ENOENT. Could you try to see which clock it is > > requesting and add the necessary entries in the clock-enable function? > > > > If you have a patch, I???ll try to prioritise it, so we get these regressions > > cleaned up quickly (note that these had all been in rc3???if we???d known > > earlier, I could have reverted them out for the release). > > > > @Wadim: could you please also look into this, as your board should have > > similar problems (unless your device-tree is very different). > unfortunately I am not able to test ethernet on our board right now, > because there are a few things missing in the designware/gmac part. > But someone is working on it right now :) > > Anyway, it looks like Jonathan fixed the problem, right? > > Regards, > Wadim The patch I sent out works for me. Hasn't landed in u-boot-rockchip or master yet though. > > > > > Thanks, > > Philipp. > > > >> On 8 May 2018, at 09:51, Jonathan Gray <jsg@jsg.id.au> wrote: > >> > >> On Thu, Apr 26, 2018 at 09:05:33AM +0200, Philipp Tomsich wrote: > >>>> The generic ehci-driver (ehci-generic.c) will try to enable the clocks > >>>> listed in the DTSI. If this fails (e.g. due to clk_enable not being > >>>> implemented in a driver and -ENOSYS being returned by the clk-uclass), > >>>> the driver will bail our and print an error message. > >>>> > >>>> This implements a minimal clk_enable for the RK3288 and supports the > >>>> clocks mandatory for the EHCI controllers; as these are enabled by > >>>> default we simply return success. > >>>> > >>>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de> > >>>> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > >>>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > >>>> --- > >>>> drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ > >>>> 1 file changed, 13 insertions(+) > >>>> > >>> Applied to u-boot-rockchip, thanks! > >> This change broke Ethernet on tinker-rk3288. > >> > >> U-Boot 2018.05-00002-g6ea9f3dd70 (May 08 2018 - 17:21:32 +1000) > >> > >> Model: Tinker-RK3288 > >> DRAM: 2 GiB > >> MMC: dwmmc@ff0c0000: 1 > >> Loading Environment from MMC... *** Warning - bad CRC, using default environment > >> > >> Failed (-5) > >> In: serial > >> Out: serial > >> Err: serial > >> Model: Tinker-RK3288 > >> Net: failed to enable clock 0 > >> No ethernet found. > >> > >> After reverting it: > >> > >> U-Boot 2018.05-00003-g338bfe2fbf (May 08 2018 - 17:40:09 +1000) > >> > >> Model: Tinker-RK3288 > >> DRAM: 2 GiB > >> MMC: dwmmc@ff0c0000: 1 > >> Loading Environment from MMC... *** Warning - bad CRC, using default environment > >> > >> Failed (-5) > >> In: serial > >> Out: serial > >> Err: serial > >> Model: Tinker-RK3288 > >> Net: eth0: ethernet@ff290000 > >> Hit any key to stop autoboot: 0 > >> > >> If the default case returned ENOSYS or ENOTSUPP instead of ENOENT it > >> would work given the changes that were made last time this broke. > >> > >> commit 1693a577be14a92e61563bad306aa11a359757f5 > >> Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > >> Date: Tue Feb 6 17:12:09 2018 +0300 > >> > >> NET: designware: fix clock enable > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot
> On 14 May 2018, at 12:42, Jonathan Gray <jsg@jsg.id.au> wrote: > > On Mon, May 14, 2018 at 11:28:38AM +0200, Wadim Egorov wrote: >> Hi, >> >> >> Am 08.05.2018 um 10:05 schrieb Dr. Philipp Tomsich: >>> Looks like the designware GMAC driver is trying to enable a clock and >>> can???t deal with the -ENOENT. Could you try to see which clock it is >>> requesting and add the necessary entries in the clock-enable function? >>> >>> If you have a patch, I???ll try to prioritise it, so we get these regressions >>> cleaned up quickly (note that these had all been in rc3???if we???d known >>> earlier, I could have reverted them out for the release). >>> >>> @Wadim: could you please also look into this, as your board should have >>> similar problems (unless your device-tree is very different). >> unfortunately I am not able to test ethernet on our board right now, >> because there are a few things missing in the designware/gmac part. >> But someone is working on it right now :) >> >> Anyway, it looks like Jonathan fixed the problem, right? >> >> Regards, >> Wadim > > The patch I sent out works for me. Hasn't landed in u-boot-rockchip or > master yet though. I had been waiting for Wadim to also take a look. I’ll take his remark as a “can’t test” and will move it along. I plan to request a pull into master, once we have all these regression fixes collected (I hope this is the last one). > >> >>> >>> Thanks, >>> Philipp. >>> >>>> On 8 May 2018, at 09:51, Jonathan Gray <jsg@jsg.id.au> wrote: >>>> >>>> On Thu, Apr 26, 2018 at 09:05:33AM +0200, Philipp Tomsich wrote: >>>>>> The generic ehci-driver (ehci-generic.c) will try to enable the clocks >>>>>> listed in the DTSI. If this fails (e.g. due to clk_enable not being >>>>>> implemented in a driver and -ENOSYS being returned by the clk-uclass), >>>>>> the driver will bail our and print an error message. >>>>>> >>>>>> This implements a minimal clk_enable for the RK3288 and supports the >>>>>> clocks mandatory for the EHCI controllers; as these are enabled by >>>>>> default we simply return success. >>>>>> >>>>>> Signed-off-by: Wadim Egorov <w.egorov@phytec.de> >>>>>> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >>>>>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >>>>>> --- >>>>>> drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ >>>>>> 1 file changed, 13 insertions(+) >>>>>> >>>>> Applied to u-boot-rockchip, thanks! >>>> This change broke Ethernet on tinker-rk3288. >>>> >>>> U-Boot 2018.05-00002-g6ea9f3dd70 (May 08 2018 - 17:21:32 +1000) >>>> >>>> Model: Tinker-RK3288 >>>> DRAM: 2 GiB >>>> MMC: dwmmc@ff0c0000: 1 >>>> Loading Environment from MMC... *** Warning - bad CRC, using default environment >>>> >>>> Failed (-5) >>>> In: serial >>>> Out: serial >>>> Err: serial >>>> Model: Tinker-RK3288 >>>> Net: failed to enable clock 0 >>>> No ethernet found. >>>> >>>> After reverting it: >>>> >>>> U-Boot 2018.05-00003-g338bfe2fbf (May 08 2018 - 17:40:09 +1000) >>>> >>>> Model: Tinker-RK3288 >>>> DRAM: 2 GiB >>>> MMC: dwmmc@ff0c0000: 1 >>>> Loading Environment from MMC... *** Warning - bad CRC, using default environment >>>> >>>> Failed (-5) >>>> In: serial >>>> Out: serial >>>> Err: serial >>>> Model: Tinker-RK3288 >>>> Net: eth0: ethernet@ff290000 >>>> Hit any key to stop autoboot: 0 >>>> >>>> If the default case returned ENOSYS or ENOTSUPP instead of ENOENT it >>>> would work given the changes that were made last time this broke. >>>> >>>> commit 1693a577be14a92e61563bad306aa11a359757f5 >>>> Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> >>>> Date: Tue Feb 6 17:12:09 2018 +0300 >>>> >>>> NET: designware: fix clock enable >> >> _______________________________________________ >> U-Boot mailing list >> U-Boot@lists.denx.de <mailto:U-Boot@lists.denx.de> >> https://lists.denx.de/listinfo/u-boot <https://lists.denx.de/listinfo/u-boot>
diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c index 552a71a..a028b8b 100644 --- a/drivers/clk/rockchip/clk_rk3288.c +++ b/drivers/clk/rockchip/clk_rk3288.c @@ -893,12 +893,25 @@ static int __maybe_unused rk3288_clk_set_parent(struct clk *clk, struct clk *par return -ENOENT; } +static int rk3288_clk_enable(struct clk *clk) +{ + switch (clk->id) { + case HCLK_USBHOST0: + case HCLK_HSIC: + return 0; + } + + debug("%s: unsupported clk %ld\n", __func__, clk->id); + return -ENOENT; +} + static struct clk_ops rk3288_clk_ops = { .get_rate = rk3288_clk_get_rate, .set_rate = rk3288_clk_set_rate, #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA) .set_parent = rk3288_clk_set_parent, #endif + .enable = rk3288_clk_enable, }; static int rk3288_clk_ofdata_to_platdata(struct udevice *dev)
The generic ehci-driver (ehci-generic.c) will try to enable the clocks listed in the DTSI. If this fails (e.g. due to clk_enable not being implemented in a driver and -ENOSYS being returned by the clk-uclass), the driver will bail our and print an error message. This implements a minimal clk_enable for the RK3288 and supports the clocks mandatory for the EHCI controllers; as these are enabled by default we simply return success. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> --- drivers/clk/rockchip/clk_rk3288.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)