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

From: Andrej Picej
Date: Thu Oct 27 2022 - 03:17:11 EST


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@xxxxxxxxx>
Reviewed-by: Fabio Estevam <festevam@xxxxxxxxx>
---
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.