diff mbox series

[v2,2/3] dt-bindings: watchdog: fsl-imx: document suspend in wait mode

Message ID 20221025072533.2980154-3-andrej.picej@norik.com (mailing list archive)
State Changes Requested
Headers show
Series Suspending i.MX watchdog in WAIT mode | expand

Commit Message

Andrej Picej Oct. 25, 2022, 7:25 a.m. UTC
Property "fsl,suspend-in-wait" suspends watchdog in "WAIT" mode which
corresponds to Linux's Suspend-to-Idle S0 mode. If this property is not
set and the device is put into Suspend-to-Idle mode, the watchdog
triggers a reset after 128 seconds.

Signed-off-by: Andrej Picej <andrej.picej@norik.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
---
Changes in v2:
 - add a commit message,
 - add a list of devices which support this functionality
---
 .../bindings/watchdog/fsl-imx-wdt.yaml        | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Krzysztof Kozlowski Oct. 25, 2022, 1:48 p.m. UTC | #1
On 25/10/2022 03:25, Andrej Picej wrote:
> Property "fsl,suspend-in-wait" suspends watchdog in "WAIT" mode which
> corresponds to Linux's Suspend-to-Idle S0 mode. If this property is not
> set and the device is put into Suspend-to-Idle mode, the watchdog
> triggers a reset after 128 seconds.
> 
> Signed-off-by: Andrej Picej <andrej.picej@norik.com>
> Reviewed-by: Fabio Estevam <festevam@gmail.com>
> ---
> Changes in v2:
>  - add a commit message,
>  - add a list of devices which support this functionality
> ---
>  .../bindings/watchdog/fsl-imx-wdt.yaml        | 22 +++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
> index fb7695515be1..9289de97859b 100644
> --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
> @@ -55,6 +55,28 @@ properties:
>        If present, the watchdog device is configured to assert its
>        external reset (WDOG_B) instead of issuing a software reset.
>  
> +  fsl,suspend-in-wait:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: |
> +      If present, the watchdog device is suspended in WAIT mode
> +      (Suspend-to-Idle). Only supported on following devices:
> +        - "fsl,imx25-wdt",

You need to define such allow/disallow in allOf:if:then, instead. Like
example-schema is doing for foo-supply, just disallow it for some types
or use "if: not: ..."

Best regards,
Krzysztof
Andrej Picej Oct. 26, 2022, 6:38 a.m. UTC | #2
On 25. 10. 22 15:48, Krzysztof Kozlowski wrote:
> On 25/10/2022 03:25, Andrej Picej wrote:
>> Property "fsl,suspend-in-wait" suspends watchdog in "WAIT" mode which
>> corresponds to Linux's Suspend-to-Idle S0 mode. If this property is not
>> set and the device is put into Suspend-to-Idle mode, the watchdog
>> triggers a reset after 128 seconds.
>>
>> Signed-off-by: Andrej Picej <andrej.picej@norik.com>
>> Reviewed-by: Fabio Estevam <festevam@gmail.com>
>> ---
>> Changes in v2:
>>   - add a commit message,
>>   - add a list of devices which support this functionality
>> ---
>>   .../bindings/watchdog/fsl-imx-wdt.yaml        | 22 +++++++++++++++++++
>>   1 file changed, 22 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>> index fb7695515be1..9289de97859b 100644
>> --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>> +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>> @@ -55,6 +55,28 @@ properties:
>>         If present, the watchdog device is configured to assert its
>>         external reset (WDOG_B) instead of issuing a software reset.
>>   
>> +  fsl,suspend-in-wait:
>> +    $ref: /schemas/types.yaml#/definitions/flag
>> +    description: |
>> +      If present, the watchdog device is suspended in WAIT mode
>> +      (Suspend-to-Idle). Only supported on following devices:
>> +        - "fsl,imx25-wdt",
> 
> You need to define such allow/disallow in allOf:if:then, instead. Like
> example-schema is doing for foo-supply, just disallow it for some types
> or use "if: not: ..."

Sorry missed that. So something like that should be added?:

> allOf:
>   - if:
>       not:
>         properties:
>           compatible:
>             contains:
>               enum:
>                 - fsl,imx25-wdt
>                 - fsl,imx35-wdt
>                 - fsl,imx50-wdt
>                 - fsl,imx51-wdt
>                 - fsl,imx53-wdt
>                 - fsl,imx6q-wdt
>                 - fsl,imx6sl-wdt
>                 - fsl,imx6sll-wdt
>                 - fsl,imx6sx-wdt
>                 - fsl,imx6ul-wdt
>                 - fsl,imx7d-wdt
>                 - fsl,imx8mm-wdt
>                 - fsl,imx8mn-wdt
>                 - fsl,imx8mp-wdt
>                 - fsl,imx8mq-wdt
>                 - fsl,vf610-wdt
>     then:
>       properties:
>         fsl,suspend-in-wait: false

And I'm assuming I can then remove the supported devices list from 
property description.

Are you fine with this, so we don't have to split the compatible list 
like Alexander suggested? Basically we have the same list of WDW 
supported devices in the driver.

Thank you for your review,
Andrej
Krzysztof Kozlowski Oct. 26, 2022, 2:12 p.m. UTC | #3
On 26/10/2022 02:38, Andrej Picej wrote:
> On 25. 10. 22 15:48, Krzysztof Kozlowski wrote:
>> On 25/10/2022 03:25, Andrej Picej wrote:
>>> Property "fsl,suspend-in-wait" suspends watchdog in "WAIT" mode which
>>> corresponds to Linux's Suspend-to-Idle S0 mode. If this property is not
>>> set and the device is put into Suspend-to-Idle mode, the watchdog
>>> triggers a reset after 128 seconds.
>>>
>>> Signed-off-by: Andrej Picej <andrej.picej@norik.com>
>>> Reviewed-by: Fabio Estevam <festevam@gmail.com>
>>> ---
>>> Changes in v2:
>>>   - add a commit message,
>>>   - add a list of devices which support this functionality
>>> ---
>>>   .../bindings/watchdog/fsl-imx-wdt.yaml        | 22 +++++++++++++++++++
>>>   1 file changed, 22 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>>> index fb7695515be1..9289de97859b 100644
>>> --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>>> +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>>> @@ -55,6 +55,28 @@ properties:
>>>         If present, the watchdog device is configured to assert its
>>>         external reset (WDOG_B) instead of issuing a software reset.
>>>   
>>> +  fsl,suspend-in-wait:
>>> +    $ref: /schemas/types.yaml#/definitions/flag
>>> +    description: |
>>> +      If present, the watchdog device is suspended in WAIT mode
>>> +      (Suspend-to-Idle). Only supported on following devices:
>>> +        - "fsl,imx25-wdt",
>>
>> You need to define such allow/disallow in allOf:if:then, instead. Like
>> example-schema is doing for foo-supply, just disallow it for some types
>> or use "if: not: ..."
> 
> Sorry missed that. So something like that should be added?:
> 
>> allOf:
>>   - if:
>>       not:
>>         properties:
>>           compatible:
>>             contains:
>>               enum:
>>                 - fsl,imx25-wdt
>>                 - fsl,imx35-wdt
>>                 - fsl,imx50-wdt
>>                 - fsl,imx51-wdt
>>                 - fsl,imx53-wdt
>>                 - fsl,imx6q-wdt
>>                 - fsl,imx6sl-wdt
>>                 - fsl,imx6sll-wdt
>>                 - fsl,imx6sx-wdt
>>                 - fsl,imx6ul-wdt
>>                 - fsl,imx7d-wdt
>>                 - fsl,imx8mm-wdt
>>                 - fsl,imx8mn-wdt
>>                 - fsl,imx8mp-wdt
>>                 - fsl,imx8mq-wdt
>>                 - fsl,vf610-wdt

Yes.

>>     then:
>>       properties:
>>         fsl,suspend-in-wait: false
> 
> And I'm assuming I can then remove the supported devices list from 
> property description.

Yes.

> 
> Are you fine with this, so we don't have to split the compatible list 
> like Alexander suggested? Basically we have the same list of WDW 
> supported devices in the driver.

I don't know to what you refer.

Best regards,
Krzysztof
Andrej Picej Oct. 27, 2022, 7:16 a.m. UTC | #4
On 26. 10. 22 16:12, Krzysztof Kozlowski wrote:
> On 26/10/2022 02:38, Andrej Picej wrote:
>> On 25. 10. 22 15:48, Krzysztof Kozlowski wrote:
>>> On 25/10/2022 03:25, Andrej Picej wrote:
>>>> Property "fsl,suspend-in-wait" suspends watchdog in "WAIT" mode which
>>>> corresponds to Linux's Suspend-to-Idle S0 mode. If this property is not
>>>> set and the device is put into Suspend-to-Idle mode, the watchdog
>>>> triggers a reset after 128 seconds.
>>>>
>>>> Signed-off-by: Andrej Picej <andrej.picej@norik.com>
>>>> Reviewed-by: Fabio Estevam <festevam@gmail.com>
>>>> ---
>>>> Changes in v2:
>>>>    - add a commit message,
>>>>    - add a list of devices which support this functionality
>>>> ---
>>>>    .../bindings/watchdog/fsl-imx-wdt.yaml        | 22 +++++++++++++++++++
>>>>    1 file changed, 22 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>>>> index fb7695515be1..9289de97859b 100644
>>>> --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>>>> +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>>>> @@ -55,6 +55,28 @@ properties:
>>>>          If present, the watchdog device is configured to assert its
>>>>          external reset (WDOG_B) instead of issuing a software reset.
>>>>    
>>>> +  fsl,suspend-in-wait:
>>>> +    $ref: /schemas/types.yaml#/definitions/flag
>>>> +    description: |
>>>> +      If present, the watchdog device is suspended in WAIT mode
>>>> +      (Suspend-to-Idle). Only supported on following devices:
>>>> +        - "fsl,imx25-wdt",
>>>
>>> You need to define such allow/disallow in allOf:if:then, instead. Like
>>> example-schema is doing for foo-supply, just disallow it for some types
>>> or use "if: not: ..."
>>
>> Sorry missed that. So something like that should be added?:
>>
>>> allOf:
>>>    - if:
>>>        not:
>>>          properties:
>>>            compatible:
>>>              contains:
>>>                enum:
>>>                  - fsl,imx25-wdt
>>>                  - fsl,imx35-wdt
>>>                  - fsl,imx50-wdt
>>>                  - fsl,imx51-wdt
>>>                  - fsl,imx53-wdt
>>>                  - fsl,imx6q-wdt
>>>                  - fsl,imx6sl-wdt
>>>                  - fsl,imx6sll-wdt
>>>                  - fsl,imx6sx-wdt
>>>                  - fsl,imx6ul-wdt
>>>                  - fsl,imx7d-wdt
>>>                  - fsl,imx8mm-wdt
>>>                  - fsl,imx8mn-wdt
>>>                  - fsl,imx8mp-wdt
>>>                  - fsl,imx8mq-wdt
>>>                  - fsl,vf610-wdt
> 
> Yes.
> 
>>>      then:
>>>        properties:
>>>          fsl,suspend-in-wait: false
>>
>> And I'm assuming I can then remove the supported devices list from
>> property description.
> 
> Yes.
> 
>>
>> Are you fine with this, so we don't have to split the compatible list
>> like Alexander suggested? Basically we have the same list of WDW
>> supported devices in the driver.
> 
> I don't know to what you refer.
> 
I'm referring to this comment by Alexander Stein: 
(https://lore.kernel.org/all/13126397.uLZWGnKmhe@steina-w/)

> So the models listed in Documentation/devicetree/bindings/watchdog/fsl-imx-
> wdt.yaml not supporting this feature are
> * fsl,imx21-wdt
> * fsl,imx27-wdt
> * fsl,imx31-wdt
> * fsl,ls1012a-wdt
> * fsl,ls1043a-wdt
> ?
> 
> But all models are listed as compatible to fsl,imx21-wdt. So there is 
> something wrong here. IMHO this sounds like the compatible list has to be 
> split and updated. Depending on that this feature can be detected. Maintaining 
> another list seems error prone to me.

Best regards,
Andrej.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
index fb7695515be1..9289de97859b 100644
--- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
@@ -55,6 +55,28 @@  properties:
       If present, the watchdog device is configured to assert its
       external reset (WDOG_B) instead of issuing a software reset.
 
+  fsl,suspend-in-wait:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: |
+      If present, the watchdog device is suspended in WAIT mode
+      (Suspend-to-Idle). Only supported on following devices:
+        - "fsl,imx25-wdt",
+        - "fsl,imx35-wdt",
+        - "fsl,imx50-wdt",
+        - "fsl,imx51-wdt",
+        - "fsl,imx53-wdt",
+        - "fsl,imx6q-wdt",
+        - "fsl,imx6sl-wdt",
+        - "fsl,imx6sll-wdt",
+        - "fsl,imx6sx-wdt",
+        - "fsl,imx6ul-wdt",
+        - "fsl,imx7d-wdt",
+        - "fsl,imx8mm-wdt",
+        - "fsl,imx8mn-wdt",
+        - "fsl,imx8mp-wdt",
+        - "fsl,imx8mq-wdt",
+        - "fsl,vf610-wdt".
+
 required:
   - compatible
   - interrupts