1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 23a8e53e2SThierry Reding%YAML 1.2 33a8e53e2SThierry Reding--- 43a8e53e2SThierry Reding$id: http://devicetree.org/schemas/power/reset/gpio-restart.yaml# 53a8e53e2SThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml# 63a8e53e2SThierry Reding 73a8e53e2SThierry Redingtitle: GPIO controlled reset 83a8e53e2SThierry Reding 93a8e53e2SThierry Redingmaintainers: 103a8e53e2SThierry Reding - Sebastian Reichel <sre@kernel.org> 113a8e53e2SThierry Reding 123a8e53e2SThierry Redingdescription: > 133a8e53e2SThierry Reding Drive a GPIO line that can be used to restart the system from a restart handler. 143a8e53e2SThierry Reding 153a8e53e2SThierry Reding This binding supports level and edge triggered reset. At driver load time, the driver will 163a8e53e2SThierry Reding request the given gpio line and install a restart handler. If the optional properties 173a8e53e2SThierry Reding 'open-source' is not found, the GPIO line will be driven in the inactive state. Otherwise its 183a8e53e2SThierry Reding not driven until the restart is initiated. 193a8e53e2SThierry Reding 203a8e53e2SThierry Reding When the system is restarted, the restart handler will be invoked in priority order. The GPIO 213a8e53e2SThierry Reding is configured as an output, and driven active, triggering a level triggered reset condition. 223a8e53e2SThierry Reding This will also cause an inactive->active edge condition, triggering positive edge triggered 233a8e53e2SThierry Reding reset. After a delay specified by active-delay, the GPIO is set to inactive, thus causing an 243a8e53e2SThierry Reding active->inactive edge, triggering negative edge triggered reset. After a delay specified by 253a8e53e2SThierry Reding inactive-delay, the GPIO is driven active again. After a delay specified by wait-delay, the 263a8e53e2SThierry Reding restart handler completes allowing other restart handlers to be attempted. 273a8e53e2SThierry Reding 283f5b93f4SKrzysztof KozlowskiallOf: 293f5b93f4SKrzysztof Kozlowski - $ref: restart-handler.yaml# 303f5b93f4SKrzysztof Kozlowski 313a8e53e2SThierry Redingproperties: 323a8e53e2SThierry Reding compatible: 333a8e53e2SThierry Reding const: gpio-restart 343a8e53e2SThierry Reding 353a8e53e2SThierry Reding gpios: 363a8e53e2SThierry Reding description: The GPIO to set high/low, see "gpios property" in 373a8e53e2SThierry Reding Documentation/devicetree/bindings/gpio/gpio.txt. If the pin should be low to reset the board 383a8e53e2SThierry Reding set it to "Active Low", otherwise set GPIO to "Active High". 393a8e53e2SThierry Reding 403a8e53e2SThierry Reding open-source: 413a8e53e2SThierry Reding $ref: /schemas/types.yaml#/definitions/flag 423a8e53e2SThierry Reding description: Treat the GPIO as being open source and defer driving it to when the restart is 433a8e53e2SThierry Reding initiated. If this optional property is not specified, the GPIO is initialized as an output 443a8e53e2SThierry Reding in its inactive state. 453a8e53e2SThierry Reding 463a8e53e2SThierry Reding priority: 472ba144e6SSander Vanheule default: 129 483a8e53e2SThierry Reding 493a8e53e2SThierry Reding active-delay: 503a8e53e2SThierry Reding $ref: /schemas/types.yaml#/definitions/uint32 513a8e53e2SThierry Reding description: Delay (default 100) to wait after driving gpio active [ms] 523a8e53e2SThierry Reding default: 100 533a8e53e2SThierry Reding 543a8e53e2SThierry Reding inactive-delay: 553a8e53e2SThierry Reding $ref: /schemas/types.yaml#/definitions/uint32 563a8e53e2SThierry Reding description: Delay (default 100) to wait after driving gpio inactive [ms] 573a8e53e2SThierry Reding default: 100 583a8e53e2SThierry Reding 593a8e53e2SThierry Reding wait-delay: 603a8e53e2SThierry Reding $ref: /schemas/types.yaml#/definitions/uint32 613a8e53e2SThierry Reding description: Delay (default 3000) to wait after completing restart sequence [ms] 623a8e53e2SThierry Reding default: 100 633a8e53e2SThierry Reding 643a8e53e2SThierry RedingadditionalProperties: false 653a8e53e2SThierry Reding 663a8e53e2SThierry Redingrequired: 673a8e53e2SThierry Reding - compatible 683a8e53e2SThierry Reding - gpios 693a8e53e2SThierry Reding 703a8e53e2SThierry Redingexamples: 713a8e53e2SThierry Reding - | 723a8e53e2SThierry Reding gpio-restart { 733a8e53e2SThierry Reding compatible = "gpio-restart"; 743a8e53e2SThierry Reding gpios = <&gpio 4 0>; 753a8e53e2SThierry Reding priority = <128>; 763a8e53e2SThierry Reding active-delay = <100>; 773a8e53e2SThierry Reding inactive-delay = <100>; 783a8e53e2SThierry Reding wait-delay = <3000>; 793a8e53e2SThierry Reding }; 80