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 |
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
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
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
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 --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