On 06/02/2023 15:57, Li Chen wrote: > Hi Krzysztof, > ---- On Mon, 06 Feb 2023 21:41:44 +0800 Krzysztof Kozlowski wrote --- > > On 06/02/2023 12:28, Li Chen wrote: > > > 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. > > > > > > If the only hardware resource the clock node can take is its parent clock(clocks = &osc;), > > > then can I have this clock node? > > > > I am not sure if I understand. osc does not look like parent device, so > > this part of comment confuses me. > > Sorry for the confusion. I mean osc is the root of clock tree: > > osc > | pll A > | pll B > | ... > > So if I have a clock node under rct_syscon node, I think it should take osc as the parent(node) clock: > rct_syscon { > ...... > clock_controller { > clocks = <&osc>; > ...... > > You have said "You need clock node if it takes any resources. ", do you think osc here can be counted as a used resource? Yes, in that matter osc should be the input to this clock controller. Best regards, Krzysztof