2024-02-16 08:54:15

by Michal Simek

[permalink] [raw]
Subject: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

RTC has its own power domain on Xilinx Versal SOC that's why describe it as
optional property.

Signed-off-by: Michal Simek <[email protected]>
---

Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml b/Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml
index d1f5eb996dba..838c3ce494de 100644
--- a/Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml
@@ -48,6 +48,9 @@ properties:
default: 0x198233
deprecated: true

+ power-domains:
+ maxItems: 1
+
required:
- compatible
- reg
--
2.36.1



2024-02-16 09:19:44

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

On 16/02/2024 09:51, Michal Simek wrote:
> RTC has its own power domain on Xilinx Versal SOC that's why describe it as
> optional property.
>
> Signed-off-by: Michal Simek <[email protected]>
> ---
>
> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
> 1 file changed, 3 insertions(+)
>

But Versal is not described in this binding, is it? I see only one
compatible.

Best regards,
Krzysztof


2024-02-16 09:47:45

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property



On 2/16/24 10:19, Krzysztof Kozlowski wrote:
> On 16/02/2024 09:51, Michal Simek wrote:
>> RTC has its own power domain on Xilinx Versal SOC that's why describe it as
>> optional property.
>>
>> Signed-off-by: Michal Simek <[email protected]>
>> ---
>>
>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>
> But Versal is not described in this binding, is it? I see only one
> compatible.

It is the same IP only as is on zynqmp with own power rail.

Pretty much with different firmware interface on zynqmp you can describe it too
(and doesn't really matter if it is separated in HW or common for more IPs).

Thanks,
Michal

2024-02-17 08:26:31

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

On 16/02/2024 10:42, Michal Simek wrote:
>
>
> On 2/16/24 10:19, Krzysztof Kozlowski wrote:
>> On 16/02/2024 09:51, Michal Simek wrote:
>>> RTC has its own power domain on Xilinx Versal SOC that's why describe it as
>>> optional property.
>>>
>>> Signed-off-by: Michal Simek <[email protected]>
>>> ---
>>>
>>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>
>> But Versal is not described in this binding, is it? I see only one
>> compatible.
>
> It is the same IP only as is on zynqmp with own power rail.

Then you should have separate compatible, because they are not
identical. It would also allow you to narrow the domains to versal and
also require it (on versal).

Best regards,
Krzysztof


2024-02-19 13:12:10

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property



On 2/17/24 09:26, Krzysztof Kozlowski wrote:
> On 16/02/2024 10:42, Michal Simek wrote:
>>
>>
>> On 2/16/24 10:19, Krzysztof Kozlowski wrote:
>>> On 16/02/2024 09:51, Michal Simek wrote:
>>>> RTC has its own power domain on Xilinx Versal SOC that's why describe it as
>>>> optional property.
>>>>
>>>> Signed-off-by: Michal Simek <[email protected]>
>>>> ---
>>>>
>>>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
>>>> 1 file changed, 3 insertions(+)
>>>>
>>>
>>> But Versal is not described in this binding, is it? I see only one
>>> compatible.
>>
>> It is the same IP only as is on zynqmp with own power rail.
>
> Then you should have separate compatible, because they are not
> identical. It would also allow you to narrow the domains to versal and
> also require it (on versal).

I can double check with HW guys but I am quite sure IP itself is exactly the
same. What it is different is that there is own power domain to it (not shared
one as is in zynqmp case).

Also Linux is non secure sw and if secure firmware won't allow to change setting
of it it can't be required. I am just saying that Linux doesn't need to be owner
of any power domain that's why it shouldn't be required property.

Thanks,
Michal

2024-02-19 13:19:32

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

On 19/02/2024 14:11, Michal Simek wrote:
>
>
> On 2/17/24 09:26, Krzysztof Kozlowski wrote:
>> On 16/02/2024 10:42, Michal Simek wrote:
>>>
>>>
>>> On 2/16/24 10:19, Krzysztof Kozlowski wrote:
>>>> On 16/02/2024 09:51, Michal Simek wrote:
>>>>> RTC has its own power domain on Xilinx Versal SOC that's why describe it as
>>>>> optional property.
>>>>>
>>>>> Signed-off-by: Michal Simek <[email protected]>
>>>>> ---
>>>>>
>>>>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
>>>>> 1 file changed, 3 insertions(+)
>>>>>
>>>>
>>>> But Versal is not described in this binding, is it? I see only one
>>>> compatible.
>>>
>>> It is the same IP only as is on zynqmp with own power rail.
>>
>> Then you should have separate compatible, because they are not
>> identical. It would also allow you to narrow the domains to versal and
>> also require it (on versal).
>
> I can double check with HW guys but I am quite sure IP itself is exactly the
> same. What it is different is that there is own power domain to it (not shared
> one as is in zynqmp case).

What does it mean shared one? If several devices share power domain,
then they all should have power-domains property.

>
> Also Linux is non secure sw and if secure firmware won't allow to change setting
> of it it can't be required. I am just saying that Linux doesn't need to be owner
> of any power domain that's why it shouldn't be required property.


Best regards,
Krzysztof


2024-02-19 13:22:13

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property



On 2/19/24 14:19, Krzysztof Kozlowski wrote:
> On 19/02/2024 14:11, Michal Simek wrote:
>>
>>
>> On 2/17/24 09:26, Krzysztof Kozlowski wrote:
>>> On 16/02/2024 10:42, Michal Simek wrote:
>>>>
>>>>
>>>> On 2/16/24 10:19, Krzysztof Kozlowski wrote:
>>>>> On 16/02/2024 09:51, Michal Simek wrote:
>>>>>> RTC has its own power domain on Xilinx Versal SOC that's why describe it as
>>>>>> optional property.
>>>>>>
>>>>>> Signed-off-by: Michal Simek <[email protected]>
>>>>>> ---
>>>>>>
>>>>>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
>>>>>> 1 file changed, 3 insertions(+)
>>>>>>
>>>>>
>>>>> But Versal is not described in this binding, is it? I see only one
>>>>> compatible.
>>>>
>>>> It is the same IP only as is on zynqmp with own power rail.
>>>
>>> Then you should have separate compatible, because they are not
>>> identical. It would also allow you to narrow the domains to versal and
>>> also require it (on versal).
>>
>> I can double check with HW guys but I am quite sure IP itself is exactly the
>> same. What it is different is that there is own power domain to it (not shared
>> one as is in zynqmp case).
>
> What does it mean shared one? If several devices share power domain,
> then they all should have power-domains property.

Shared one means that the same power domain is shared with other IPs or simply
enabled by default without any option to disable it.

Thanks,
Michal


2024-02-19 20:19:36

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

On 19/02/2024 14:11:50+0100, Michal Simek wrote:
>
>
> On 2/17/24 09:26, Krzysztof Kozlowski wrote:
> > On 16/02/2024 10:42, Michal Simek wrote:
> > >
> > >
> > > On 2/16/24 10:19, Krzysztof Kozlowski wrote:
> > > > On 16/02/2024 09:51, Michal Simek wrote:
> > > > > RTC has its own power domain on Xilinx Versal SOC that's why describe it as
> > > > > optional property.
> > > > >
> > > > > Signed-off-by: Michal Simek <[email protected]>
> > > > > ---
> > > > >
> > > > > Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3 +++
> > > > > 1 file changed, 3 insertions(+)
> > > > >
> > > >
> > > > But Versal is not described in this binding, is it? I see only one
> > > > compatible.
> > >
> > > It is the same IP only as is on zynqmp with own power rail.
> >
> > Then you should have separate compatible, because they are not
> > identical. It would also allow you to narrow the domains to versal and
> > also require it (on versal).
>
> I can double check with HW guys but I am quite sure IP itself is exactly the
> same. What it is different is that there is own power domain to it (not
> shared one as is in zynqmp case).
>
> Also Linux is non secure sw and if secure firmware won't allow to change
> setting of it it can't be required. I am just saying that Linux doesn't need
> to be owner of any power domain that's why it shouldn't be required
> property.

I guess because the integration is different, you still need a
differente compatible so you can forbid the property on non-Versal.

>
> Thanks,
> Michal

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

2024-02-20 10:52:10

by Jay Buddhabhatti

[permalink] [raw]
Subject: RE: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

Hi Alexandre,

> -----Original Message-----
> From: Alexandre Belloni <[email protected]>
> Sent: Tuesday, February 20, 2024 1:49 AM
> To: Simek, Michal <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>; linux-
> [email protected]; [email protected]; [email protected];
> [email protected]; Conor Dooley <[email protected]>; Krzysztof Kozlowski
> <[email protected]>; Rob Herring <[email protected]>; open
> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; moderated list:ARM/ZYNQ ARCHITECTURE
> <[email protected]>; open list:REAL TIME CLOCK (RTC)
> SUBSYSTEM <[email protected]>
> Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains
> property
>
> On 19/02/2024 14:11:50+0100, Michal Simek wrote:
> >
> >
> > On 2/17/24 09:26, Krzysztof Kozlowski wrote:
> > > On 16/02/2024 10:42, Michal Simek wrote:
> > > >
> > > >
> > > > On 2/16/24 10:19, Krzysztof Kozlowski wrote:
> > > > > On 16/02/2024 09:51, Michal Simek wrote:
> > > > > > RTC has its own power domain on Xilinx Versal SOC that's why
> > > > > > describe it as optional property.
> > > > > >
> > > > > > Signed-off-by: Michal Simek <[email protected]>
> > > > > > ---
> > > > > >
> > > > > > Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3
> +++
> > > > > > 1 file changed, 3 insertions(+)
> > > > > >
> > > > >
> > > > > But Versal is not described in this binding, is it? I see only
> > > > > one compatible.
> > > >
> > > > It is the same IP only as is on zynqmp with own power rail.
> > >
> > > Then you should have separate compatible, because they are not
> > > identical. It would also allow you to narrow the domains to versal
> > > and also require it (on versal).
> >
> > I can double check with HW guys but I am quite sure IP itself is
> > exactly the same. What it is different is that there is own power
> > domain to it (not shared one as is in zynqmp case).
> >
> > Also Linux is non secure sw and if secure firmware won't allow to
> > change setting of it it can't be required. I am just saying that Linux
> > doesn't need to be owner of any power domain that's why it shouldn't
> > be required property.
>
> I guess because the integration is different, you still need a differente
> compatible so you can forbid the property on non-Versal.

[Jay] RTC has its own power domain in case of Versal and ZynqMP both that we double check it.

Thanks,
Jay
>
> >
> > Thanks,
> > Michal
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel
> engineering https://bootlin.com


2024-02-20 11:34:53

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property



On 2/20/24 11:51, Buddhabhatti, Jay wrote:
> Hi Alexandre,
>
>> -----Original Message-----
>> From: Alexandre Belloni <[email protected]>
>> Sent: Tuesday, February 20, 2024 1:49 AM
>> To: Simek, Michal <[email protected]>
>> Cc: Krzysztof Kozlowski <[email protected]>; linux-
>> [email protected]; [email protected]; [email protected];
>> [email protected]; Conor Dooley <[email protected]>; Krzysztof Kozlowski
>> <[email protected]>; Rob Herring <[email protected]>; open
>> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
>> <[email protected]>; moderated list:ARM/ZYNQ ARCHITECTURE
>> <[email protected]>; open list:REAL TIME CLOCK (RTC)
>> SUBSYSTEM <[email protected]>
>> Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains
>> property
>>
>> On 19/02/2024 14:11:50+0100, Michal Simek wrote:
>>>
>>>
>>> On 2/17/24 09:26, Krzysztof Kozlowski wrote:
>>>> On 16/02/2024 10:42, Michal Simek wrote:
>>>>>
>>>>>
>>>>> On 2/16/24 10:19, Krzysztof Kozlowski wrote:
>>>>>> On 16/02/2024 09:51, Michal Simek wrote:
>>>>>>> RTC has its own power domain on Xilinx Versal SOC that's why
>>>>>>> describe it as optional property.
>>>>>>>
>>>>>>> Signed-off-by: Michal Simek <[email protected]>
>>>>>>> ---
>>>>>>>
>>>>>>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml | 3
>> +++
>>>>>>> 1 file changed, 3 insertions(+)
>>>>>>>
>>>>>>
>>>>>> But Versal is not described in this binding, is it? I see only
>>>>>> one compatible.
>>>>>
>>>>> It is the same IP only as is on zynqmp with own power rail.
>>>>
>>>> Then you should have separate compatible, because they are not
>>>> identical. It would also allow you to narrow the domains to versal
>>>> and also require it (on versal).
>>>
>>> I can double check with HW guys but I am quite sure IP itself is
>>> exactly the same. What it is different is that there is own power
>>> domain to it (not shared one as is in zynqmp case).
>>>
>>> Also Linux is non secure sw and if secure firmware won't allow to
>>> change setting of it it can't be required. I am just saying that Linux
>>> doesn't need to be owner of any power domain that's why it shouldn't
>>> be required property.
>>
>> I guess because the integration is different, you still need a differente
>> compatible so you can forbid the property on non-Versal.
>
> [Jay] RTC has its own power domain in case of Versal and ZynqMP both that we double check it.

Thanks Jay for looking into it. I should definitely update my commit message to
reflect it. Do you still want me to create soc specific property?

Thanks,
Michal

2024-02-20 11:46:16

by Jay Buddhabhatti

[permalink] [raw]
Subject: RE: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains property

Hi Michal,

> -----Original Message-----
> From: Simek, Michal <[email protected]>
> Sent: Tuesday, February 20, 2024 5:04 PM
> To: Buddhabhatti, Jay <[email protected]>; Alexandre Belloni
> <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>; linux-
> [email protected]; [email protected]; [email protected];
> [email protected]; Conor Dooley <[email protected]>; Krzysztof Kozlowski
> <[email protected]>; Rob Herring <[email protected]>; open
> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; moderated list:ARM/ZYNQ ARCHITECTURE
> <[email protected]>; open list:REAL TIME CLOCK (RTC)
> SUBSYSTEM <[email protected]>
> Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains
> property
>
>
>
> On 2/20/24 11:51, Buddhabhatti, Jay wrote:
> > Hi Alexandre,
> >
> >> -----Original Message-----
> >> From: Alexandre Belloni <[email protected]>
> >> Sent: Tuesday, February 20, 2024 1:49 AM
> >> To: Simek, Michal <[email protected]>
> >> Cc: Krzysztof Kozlowski <[email protected]>; linux-
> >> [email protected]; [email protected]; [email protected];
> >> [email protected]; Conor Dooley <[email protected]>; Krzysztof
> >> Kozlowski <[email protected]>; Rob Herring
> >> <[email protected]>; open list:OPEN FIRMWARE AND FLATTENED DEVICE
> TREE
> >> BINDINGS <[email protected]>; moderated list:ARM/ZYNQ
> >> ARCHITECTURE <[email protected]>; open list:REAL
> >> TIME CLOCK (RTC) SUBSYSTEM <[email protected]>
> >> Subject: Re: [PATCH] dt-bindings: rtc: zynqmp: Describe power-domains
> >> property
> >>
> >> On 19/02/2024 14:11:50+0100, Michal Simek wrote:
> >>>
> >>>
> >>> On 2/17/24 09:26, Krzysztof Kozlowski wrote:
> >>>> On 16/02/2024 10:42, Michal Simek wrote:
> >>>>>
> >>>>>
> >>>>> On 2/16/24 10:19, Krzysztof Kozlowski wrote:
> >>>>>> On 16/02/2024 09:51, Michal Simek wrote:
> >>>>>>> RTC has its own power domain on Xilinx Versal SOC that's why
> >>>>>>> describe it as optional property.
> >>>>>>>
> >>>>>>> Signed-off-by: Michal Simek <[email protected]>
> >>>>>>> ---
> >>>>>>>
> >>>>>>> Documentation/devicetree/bindings/rtc/xlnx,zynqmp-rtc.yaml |
> >>>>>>> 3
> >> +++
> >>>>>>> 1 file changed, 3 insertions(+)
> >>>>>>>
> >>>>>>
> >>>>>> But Versal is not described in this binding, is it? I see only
> >>>>>> one compatible.
> >>>>>
> >>>>> It is the same IP only as is on zynqmp with own power rail.
> >>>>
> >>>> Then you should have separate compatible, because they are not
> >>>> identical. It would also allow you to narrow the domains to versal
> >>>> and also require it (on versal).
> >>>
> >>> I can double check with HW guys but I am quite sure IP itself is
> >>> exactly the same. What it is different is that there is own power
> >>> domain to it (not shared one as is in zynqmp case).
> >>>
> >>> Also Linux is non secure sw and if secure firmware won't allow to
> >>> change setting of it it can't be required. I am just saying that
> >>> Linux doesn't need to be owner of any power domain that's why it
> >>> shouldn't be required property.
> >>
> >> I guess because the integration is different, you still need a
> >> differente compatible so you can forbid the property on non-Versal.
> >
> > [Jay] RTC has its own power domain in case of Versal and ZynqMP both that
> we double check it.
>
> Thanks Jay for looking into it. I should definitely update my commit message to
> reflect it. Do you still want me to create soc specific property?

[Jay] This should be for both ZynqMP and Versal since RTC have its own power domain we should add power domain property for both SoCs.

>
> Thanks,
> Michal