Convert the gpio-restart binding from plain text format to a schema binding, maintaining the original content and updating formatting where required. Signed-off-by: Sander Vanheule <sander@xxxxxxxxxxxxx> --- .../bindings/power/reset/gpio-restart.txt | 54 ----------- .../bindings/power/reset/gpio-restart.yaml | 92 +++++++++++++++++++ 2 files changed, 92 insertions(+), 54 deletions(-) delete mode 100644 Documentation/devicetree/bindings/power/reset/gpio-restart.txt create mode 100644 Documentation/devicetree/bindings/power/reset/gpio-restart.yaml diff --git a/Documentation/devicetree/bindings/power/reset/gpio-restart.txt b/Documentation/devicetree/bindings/power/reset/gpio-restart.txt deleted file mode 100644 index af3701bc15c4..000000000000 --- a/Documentation/devicetree/bindings/power/reset/gpio-restart.txt +++ /dev/null @@ -1,54 +0,0 @@ -Drive a GPIO line that can be used to restart the system from a restart -handler. - -This binding supports level and edge triggered reset. At driver load -time, the driver will request the given gpio line and install a restart -handler. If the optional properties 'open-source' is not found, the GPIO line -will be driven in the inactive state. Otherwise its not driven until -the restart is initiated. - -When the system is restarted, the restart handler will be invoked in -priority order. The gpio is configured as an output, and driven active, -triggering a level triggered reset condition. This will also cause an -inactive->active edge condition, triggering positive edge triggered -reset. After a delay specified by active-delay, the GPIO is set to -inactive, thus causing an active->inactive edge, triggering negative edge -triggered reset. After a delay specified by inactive-delay, the GPIO -is driven active again. After a delay specified by wait-delay, the -restart handler completes allowing other restart handlers to be attempted. - -Required properties: -- compatible : should be "gpio-restart". -- gpios : The GPIO to set high/low, see "gpios property" in - Documentation/devicetree/bindings/gpio/gpio.txt. If the pin should be - low to reset the board set it to "Active Low", otherwise set - gpio to "Active High". - -Optional properties: -- open-source : Treat the GPIO as being open source and defer driving - it to when the restart is initiated. If this optional property is not - specified, the GPIO is initialized as an output in its inactive state. -- priority : A priority ranging from 0 to 255 (default 128) according to - the following guidelines: - 0: Restart handler of last resort, with limited restart - capabilities - 128: Default restart handler; use if no other restart handler is - expected to be available, and/or if restart functionality is - sufficient to restart the entire system - 255: Highest priority restart handler, will preempt all other - restart handlers -- active-delay: Delay (default 100) to wait after driving gpio active [ms] -- inactive-delay: Delay (default 100) to wait after driving gpio inactive [ms] -- wait-delay: Delay (default 3000) to wait after completing restart - sequence [ms] - -Examples: - -gpio-restart { - compatible = "gpio-restart"; - gpios = <&gpio 4 0>; - priority = <128>; - active-delay = <100>; - inactive-delay = <100>; - wait-delay = <3000>; -}; diff --git a/Documentation/devicetree/bindings/power/reset/gpio-restart.yaml b/Documentation/devicetree/bindings/power/reset/gpio-restart.yaml new file mode 100644 index 000000000000..6a1f4aeebf49 --- /dev/null +++ b/Documentation/devicetree/bindings/power/reset/gpio-restart.yaml @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/reset/gpio-restart.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: GPIO-driven system restart + +maintainers: + - TODO + +description: + Drive a GPIO line that can be used to restart the system from a restart + handler. + + This binding supports level and edge triggered reset. At driver load time, + the driver will request the given gpio line and install a restart handler. If + the optional properties 'open-source' is not found, the GPIO line will be + driven in the inactive state. Otherwise its not driven until the restart is + initiated. + + When the system is restarted, the restart handler will be invoked in priority + order. The gpio is configured as an output, and driven active, triggering a + level triggered reset condition. This will also cause an inactive->active + edge condition, triggering positive edge triggered reset. After a delay + specified by active-delay, the GPIO is set to inactive, thus causing an + active->inactive edge, triggering negative edge triggered reset. After a + delay specified by inactive-delay, the GPIO is driven active again. After a + delay specified by wait-delay, the restart handler completes allowing other + restart handlers to be attempted. + +properties: + compatible: + const: gpio-restart + + gpios: + maxItems: 1 + description: + The GPIO to set high/low, see "gpios property" in + Documentation/devicetree/bindings/gpio/gpio.txt. If the pin should be low + to reset the board set it to "Active Low", otherwise set gpio to "Active + High". + + open-source: + $ref: /schemas/types.yaml#/definitions/flag + description: + Treat the GPIO as being open source and defer driving it to when the + restart is initiated. If this optional property is not specified, the + GPIO is initialized as an output in its inactive state. + + priority: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + A priority ranging from 0 to 255 (default 128) according to the following + guidelines: + 0: Restart handler of last resort, with limited restart + capabilities + 128: Default restart handler; use if no other restart handler is + expected to be available, and/or if restart functionality is + sufficient to restart the entire system + 255: Highest priority restart handler, will preempt all other + restart handlers + + active-delay: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Delay (default 100) to wait after driving gpio active [ms] + + inactive-delay: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Delay (default 100) to wait after driving gpio inactive [ms] + + wait-delay: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Delay (default 3000) to wait after completing restart sequence [ms] + +required: + - compatible + - gpios + +additionalProperties: false + +examples: + - | + gpio-restart { + compatible = "gpio-restart"; + gpios = <&gpio 4 0>; + priority = <128>; + active-delay = <100>; + inactive-delay = <100>; + wait-delay = <3000>; + }; -- 2.33.1