Re: [PATCH 2/5] arm64: dts: qcom: apq8096-db820c: drop simple-bus from clocks

From: Krzysztof Kozlowski
Date: Fri Sep 01 2023 - 04:04:57 EST


On 31/08/2023 11:04, Dmitry Baryshkov wrote:
> On Fri, 24 Mar 2023 at 22:23, Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>>
>> 'clocks' node is not a bus, but just a placeholder for clocks:
>>
>> apq8096-db820c.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
>> From schema: dtschema/schemas/simple-bus.yaml
>> apq8096-db820c.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
>> From schema: dtschema/schemas/simple-bus.yaml
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>
> This patch broke audio support on DB820c. Now the divclk1 clock is not
> registered, as drivers/clk/clk-gpio.c doesn't have CLK_OF_DECLARE().
>
> Stephen, What would be the best way to fix this? Add CLK_OF_DECLARE
> support to clk-gpio.c? Or simply move divclk1 from /clocks into a
> separate device?
>
> What is the rule, which clock drivers must support such device-less
> binding using /clocks/foo nodes?

Uh, sorry for that, I think my patch is incomplete. I did not notice
that not all clocks have CLK_OF_DECLARE. How about moving all the clocks
out of "clocks" node to the root? Then they should be instantiated,
regardless of having CLK_OF_DECLARE.

Best regards,
Krzysztof