2022-04-12 07:57:09

by Frank Wunderlich

[permalink] [raw]
Subject: Aw: Re: Re: Re: [PATCH] arm64: dts: rockchip: Fix clocks for rk356x usb

Hi,

so to not break the binding and other boards the right Patch should be like this

+++ b/drivers/usb/dwc3/core.c
@@ -1691,17 +1691,17 @@ static int dwc3_probe(struct platform_device *pdev)
* Clocks are optional, but new DT platforms should support all
* clocks as required by the DT-binding.
*/
- dwc->bus_clk = devm_clk_get_optional(dev, "bus_early");
+ dwc->bus_clk = devm_clk_get_optional(dev, "bus_clk");
if (IS_ERR(dwc->bus_clk))
return dev_err_probe(dev, PTR_ERR(dwc->bus_clk),
"could not get bus clock\n");

- dwc->ref_clk = devm_clk_get_optional(dev, "ref");
+ dwc->ref_clk = devm_clk_get_optional(dev, "ref_clk");
if (IS_ERR(dwc->ref_clk))
return dev_err_probe(dev, PTR_ERR(dwc->ref_clk),
"could not get ref clock\n");

- dwc->susp_clk = devm_clk_get_optional(dev, "suspend");
+ dwc->susp_clk = devm_clk_get_optional(dev, "suspend_clk");
if (IS_ERR(dwc->susp_clk))
return dev_err_probe(dev, PTR_ERR(dwc->susp_clk),
"could not get suspend clock\n");

but this needs fixing dts using the new clock names

this is a link to the series moving from bulk_clk to named clocks:

https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/

regards Frank


2022-04-12 19:42:46

by Peter Geis

[permalink] [raw]
Subject: Re: Re: Re: Re: [PATCH] arm64: dts: rockchip: Fix clocks for rk356x usb

On Sat, Apr 9, 2022 at 7:56 AM Frank Wunderlich <[email protected]> wrote:
>
> Hi,
>
> so to not break the binding and other boards the right Patch should be like this
>
> +++ b/drivers/usb/dwc3/core.c
> @@ -1691,17 +1691,17 @@ static int dwc3_probe(struct platform_device *pdev)
> * Clocks are optional, but new DT platforms should support all
> * clocks as required by the DT-binding.
> */
> - dwc->bus_clk = devm_clk_get_optional(dev, "bus_early");
> + dwc->bus_clk = devm_clk_get_optional(dev, "bus_clk");
> if (IS_ERR(dwc->bus_clk))
> return dev_err_probe(dev, PTR_ERR(dwc->bus_clk),
> "could not get bus clock\n");
>
> - dwc->ref_clk = devm_clk_get_optional(dev, "ref");
> + dwc->ref_clk = devm_clk_get_optional(dev, "ref_clk");
> if (IS_ERR(dwc->ref_clk))
> return dev_err_probe(dev, PTR_ERR(dwc->ref_clk),
> "could not get ref clock\n");
>
> - dwc->susp_clk = devm_clk_get_optional(dev, "suspend");
> + dwc->susp_clk = devm_clk_get_optional(dev, "suspend_clk");
> if (IS_ERR(dwc->susp_clk))
> return dev_err_probe(dev, PTR_ERR(dwc->susp_clk),
> "could not get suspend clock\n");
>
> but this needs fixing dts using the new clock names
>
> this is a link to the series moving from bulk_clk to named clocks:
>
> https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/
>
> regards Frank

I've submitted a fix for the backwards compatibility issue.
https://patchwork.kernel.org/project/linux-rockchip/patch/[email protected]/

This fix is standalone and necessary no matter which route we decide
to go with this series (and the rk3328/rk3399 support as well).
With this patch, dwc3 is functional on the rk356x as the series was
submitted, so if we decide to fix everything all at once, that is a
viable option.