Re: [RESEND v2 1/6] dt-bindings: power: Add JH7110 AON PMU support

Conor Dooley
2023-04-25T09:36:18Z

[-- Attachment #1.1: Type: text/plain, Size: 3115 bytes --]

On Tue, Apr 25, 2023 at 05:18:10PM +0800, Changhuang Liang wrote:
>
>
> 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@starfivetech.com/
> >>>
> >>> 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 thought that Rob was suggesting something like this:
aon_syscon: syscon@17010000 {
compatible = "starfive,jh7110-aon-syscon", ...
reg = <0x0 0x17010000 0x0 0x1000>;
#power-domain-cells = <1>;
};

Cheers,
Conor.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 112 bytes --]