Re: [PATCH 07/15] dt-bindings: clock: Add Ambarella clock bindings

From: Li Chen
Date: Sat Jan 28 2023 - 04:42:59 EST


Hi Krzysztof,

---- On Fri, 27 Jan 2023 23:08:09 +0800 Krzysztof Kozlowski wrote ---
> On 27/01/2023 15:48, Li Chen wrote:
> > >
> > > but what you are saying is that there is no separate clock controller
> > > device with its own IO address but these clocks are part of rct_syscon.
> > > Then model it that way in DTS. The rct_syscon is then your clock
> > > controller and all these fake gclk-core and gclk-ddr nodes should be gone.
> >
> > Ok, I will remove these fake nodes, and model the hardware as:
> >
> > rct_syscon node
> > | clock node(pll, div, mux, composite clocks live in the same driver)
> > | other periphal nodes
>
> You need clock node if it takes any resources. If it doesn't, you do not
> need it.

Got it, I will model it as:

rct_syscon(compatible include "ambarella, <SoC>-clock"...)
| peripheral A
| peripheral B
| ...


One more question, two driver models:
a. compatible = "ambarella, <SoC>-clock", handle all clocks(pll, div, mux, composite) in single driver.
b. compatible = "ambarella, <SoC>-pll-clock", "ambarella, <SoC>-composite-clock", "ambarella, <SoC>-div-clock"......
and implement a driver for each of them.

Which driver model is preferred?

Regards,
Li