dt-bindings: power: reset: gpio-restart: Convert to json-schema
Convert the GPIO restart bindings from the free-form text format to json-schema. Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20211217170042.2740058-1-thierry.reding@gmail.com
This commit is contained in:
parent
f91030ed44
commit
3a8e53e21f
|
@ -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>;
|
|
||||||
};
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only 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 controlled reset
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Sebastian Reichel <sre@kernel.org>
|
||||||
|
|
||||||
|
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:
|
||||||
|
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.
|
||||||
|
minimum: 0
|
||||||
|
maximum: 255
|
||||||
|
default: 128
|
||||||
|
|
||||||
|
active-delay:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Delay (default 100) to wait after driving gpio active [ms]
|
||||||
|
default: 100
|
||||||
|
|
||||||
|
inactive-delay:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Delay (default 100) to wait after driving gpio inactive [ms]
|
||||||
|
default: 100
|
||||||
|
|
||||||
|
wait-delay:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Delay (default 3000) to wait after completing restart sequence [ms]
|
||||||
|
default: 100
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- gpios
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
gpio-restart {
|
||||||
|
compatible = "gpio-restart";
|
||||||
|
gpios = <&gpio 4 0>;
|
||||||
|
priority = <128>;
|
||||||
|
active-delay = <100>;
|
||||||
|
inactive-delay = <100>;
|
||||||
|
wait-delay = <3000>;
|
||||||
|
};
|
Loading…
Reference in New Issue