On 2023/4/25 16:19, Krzysztof Kozlowski wrote: > On 25/04/2023 09:57, Changhuang Liang wrote: >>>>>>>> >>>>>>>> description: | >>>>>>>> StarFive JH7110 SoC includes support for multiple power domains which can be >>>>>>>> @@ -17,6 +18,7 @@ properties: >>>>>>>> compatible: >>>>>>>> enum: >>>>>>>> - starfive,jh7110-pmu >>>>>>>> + - starfive,jh7110-aon-pmu >>>>> >>>>> I was speaking to Rob about this over the weekend, he asked: >>>>> 'Why isn't "starfive,jh7110-aon-syscon" just the power-domain provider >>>>> itself?' >>>> >>>> Maybe not, this syscon only offset "0x00" configure power switch. >>>> other offset configure other functions, maybe not power, so this >>>> "starfive,jh7110-aon-syscon" not the power-domain itself. >>>> >>>>> Do we actually need to add a new binding for this at all? >>>>> >>>>> Cheers, >>>>> Conor. >>>>> >>>> >>>> Maybe this patch do that. >>>> https://lore.kernel.org/all/20230414024157.53203-6-xingyu.wu@xxxxxxxxxxxxxxxx/ >>> >>> This makes it a child-node right? I think Rob already said no to that in >>> and earlier revision of this series. What he meant the other day was >>> making the syscon itself a power domain controller, since the child node >>> has no meaningful properties (reg, interrupts etc). >>> >>> Cheers, >>> Conor. >> >> Yes, "starfive,jh7110-aon-pmu" is a child-node of "starfive,jh7110-aon-syscon". >> In my opinion, "0x17010000" is "aon-syscon" on JH7110 SoC, and this "aon-pmu" is just >> a part of "aon-syscon" function, so I think it is inappropriate to make "aon-syscon" >> to a power domain controller. I think using the child-node description is closer to >> JH7110 SoC. > > Unfortunately, I do not see the correlation between these, any > connection. Why being a child of syscon block would mean that this > should no be power domain controller? Really, why? These are two > unrelated things. > > Best regards, > Krzysztof > Let me summarize what has been discussed above. There has two ways to describe this "starfive,jh7110-aon-syscon"(0x17010000). 1. (0x17010000) is power-controller node: aon_pwrc: power-controller@17010000 { compatible = "starfive,jh7110-aon-pmu", "syscon"; reg = <0x0 0x17010000 0x0 0x1000>; #power-domain-cells = <1>; }; 2. (0x17010000) is syscon node, power-controller is child-node of syscon: aon_syscon: syscon@17010000 { compatible = "starfive,jh7110-aon-syscon", "syscon", "simple-mfd"; reg = <0x0 0x17010000 0x0 0x1000>; aon_pwrc: power-controller { compatible = "starfive,jh7110-aon-pmu"; #power-domain-cells = <1>; }; }; I prefer the way of 2. This is more in line with the hardware description of JH7110.