dt-bindings: rtc: zynqmp: Describe power-domains property

Message ID 94726c90ff519185767475f672d70311472ea925.1708073513.git.michal.simek@amd.com
State New
Headers
Series dt-bindings: rtc: zynqmp: Describe power-domains property |

Commit Message

Michal Simek Feb. 16, 2024, 8:51 a.m. UTC
  RTC has its own power domain on Xilinx Versal SOC that's why describe it as
optional property.

Signed-off-by: Michal Simek <michal.simek@amd.com>
---

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

Comments

Krzysztof Kozlowski Feb. 16, 2024, 9:19 a.m. UTC | #1
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 <michal.simek@amd.com>
> ---
> 
>  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
  
Michal Simek Feb. 16, 2024, 9:42 a.m. UTC | #2
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 <michal.simek@amd.com>
>> ---
>>
>>   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
  
Krzysztof Kozlowski Feb. 17, 2024, 8:26 a.m. UTC | #3
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 <michal.simek@amd.com>
>>> ---
>>>
>>>   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
  
Michal Simek Feb. 19, 2024, 1:11 p.m. UTC | #4
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 <michal.simek@amd.com>
>>>> ---
>>>>
>>>>    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
  
Krzysztof Kozlowski Feb. 19, 2024, 1:19 p.m. UTC | #5
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 <michal.simek@amd.com>
>>>>> ---
>>>>>
>>>>>    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
  
Michal Simek Feb. 19, 2024, 1:21 p.m. UTC | #6
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 <michal.simek@amd.com>
>>>>>> ---
>>>>>>
>>>>>>     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
  
Alexandre Belloni Feb. 19, 2024, 8:19 p.m. UTC | #7
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 <michal.simek@amd.com>
> > > > > ---
> > > > > 
> > > > >    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
  
Buddhabhatti, Jay Feb. 20, 2024, 10:51 a.m. UTC | #8
Hi Alexandre,

> -----Original Message-----
> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Sent: Tuesday, February 20, 2024 1:49 AM
> To: Simek, Michal <michal.simek@amd.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; linux-
> kernel@vger.kernel.org; monstr@monstr.eu; michal.simek@xilinx.com;
> git@xilinx.com; Conor Dooley <conor+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Rob Herring <robh@kernel.org>; open
> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree@vger.kernel.org>; moderated list:ARM/ZYNQ ARCHITECTURE
> <linux-arm-kernel@lists.infradead.org>; open list:REAL TIME CLOCK (RTC)
> SUBSYSTEM <linux-rtc@vger.kernel.org>
> 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 <michal.simek@amd.com>
> > > > > > ---
> > > > > >
> > > > > >    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
  
Michal Simek Feb. 20, 2024, 11:34 a.m. UTC | #9
On 2/20/24 11:51, Buddhabhatti, Jay wrote:
> Hi Alexandre,
> 
>> -----Original Message-----
>> From: Alexandre Belloni <alexandre.belloni@bootlin.com>
>> Sent: Tuesday, February 20, 2024 1:49 AM
>> To: Simek, Michal <michal.simek@amd.com>
>> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; linux-
>> kernel@vger.kernel.org; monstr@monstr.eu; michal.simek@xilinx.com;
>> git@xilinx.com; Conor Dooley <conor+dt@kernel.org>; Krzysztof Kozlowski
>> <krzysztof.kozlowski+dt@linaro.org>; Rob Herring <robh@kernel.org>; open
>> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
>> <devicetree@vger.kernel.org>; moderated list:ARM/ZYNQ ARCHITECTURE
>> <linux-arm-kernel@lists.infradead.org>; open list:REAL TIME CLOCK (RTC)
>> SUBSYSTEM <linux-rtc@vger.kernel.org>
>> 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 <michal.simek@amd.com>
>>>>>>> ---
>>>>>>>
>>>>>>>     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
  
Buddhabhatti, Jay Feb. 20, 2024, 11:45 a.m. UTC | #10
Hi Michal,

> -----Original Message-----
> From: Simek, Michal <michal.simek@amd.com>
> Sent: Tuesday, February 20, 2024 5:04 PM
> To: Buddhabhatti, Jay <jay.buddhabhatti@amd.com>; Alexandre Belloni
> <alexandre.belloni@bootlin.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; linux-
> kernel@vger.kernel.org; monstr@monstr.eu; michal.simek@xilinx.com;
> git@xilinx.com; Conor Dooley <conor+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Rob Herring <robh@kernel.org>; open
> list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <devicetree@vger.kernel.org>; moderated list:ARM/ZYNQ ARCHITECTURE
> <linux-arm-kernel@lists.infradead.org>; open list:REAL TIME CLOCK (RTC)
> SUBSYSTEM <linux-rtc@vger.kernel.org>
> 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 <alexandre.belloni@bootlin.com>
> >> Sent: Tuesday, February 20, 2024 1:49 AM
> >> To: Simek, Michal <michal.simek@amd.com>
> >> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; linux-
> >> kernel@vger.kernel.org; monstr@monstr.eu; michal.simek@xilinx.com;
> >> git@xilinx.com; Conor Dooley <conor+dt@kernel.org>; Krzysztof
> >> Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Rob Herring
> >> <robh@kernel.org>; open list:OPEN FIRMWARE AND FLATTENED DEVICE
> TREE
> >> BINDINGS <devicetree@vger.kernel.org>; moderated list:ARM/ZYNQ
> >> ARCHITECTURE <linux-arm-kernel@lists.infradead.org>; open list:REAL
> >> TIME CLOCK (RTC) SUBSYSTEM <linux-rtc@vger.kernel.org>
> >> 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 <michal.simek@amd.com>
> >>>>>>> ---
> >>>>>>>
> >>>>>>>     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
  

Patch

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