1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2f8ae9bb5SDavid Heidelberg%YAML 1.2 3f8ae9bb5SDavid Heidelberg--- 4f8ae9bb5SDavid Heidelberg$id: http://devicetree.org/schemas/power/reset/gpio-poweroff.yaml# 5f8ae9bb5SDavid Heidelberg$schema: http://devicetree.org/meta-schemas/core.yaml# 6f8ae9bb5SDavid Heidelberg 7f8ae9bb5SDavid Heidelbergtitle: GPIO controlled power off 8f8ae9bb5SDavid Heidelberg 9f8ae9bb5SDavid Heidelbergmaintainers: 10f8ae9bb5SDavid Heidelberg - Sebastian Reichel <sre@kernel.org> 11f8ae9bb5SDavid Heidelberg 12f8ae9bb5SDavid Heidelbergdescription: > 13f8ae9bb5SDavid Heidelberg System power off support via a GPIO line. When a shutdown is 14f8ae9bb5SDavid Heidelberg executed the operating system is expected to switch the GPIO 15f8ae9bb5SDavid Heidelberg from inactive to active. After a delay (active-delay-ms) it 16f8ae9bb5SDavid Heidelberg is expected to be switched back to inactive. After another 17f8ae9bb5SDavid Heidelberg delay (inactive-delay-ms) it is configured as active again. 18f8ae9bb5SDavid Heidelberg Finally the operating system assumes the power off failed if 19f8ae9bb5SDavid Heidelberg the system is still running after waiting some time (timeout-ms). 20f8ae9bb5SDavid Heidelberg 21f8ae9bb5SDavid Heidelbergproperties: 22f8ae9bb5SDavid Heidelberg compatible: 23f8ae9bb5SDavid Heidelberg const: gpio-poweroff 24f8ae9bb5SDavid Heidelberg 25f8ae9bb5SDavid Heidelberg gpios: 26f8ae9bb5SDavid Heidelberg maxItems: 1 27f8ae9bb5SDavid Heidelberg 28f8ae9bb5SDavid Heidelberg input: 29f8ae9bb5SDavid Heidelberg type: boolean 30f8ae9bb5SDavid Heidelberg description: > 31f8ae9bb5SDavid Heidelberg Initially configure the GPIO line as an input. Only reconfigure 32f8ae9bb5SDavid Heidelberg it to an output when the power-off sequence is initiated. If this optional 33f8ae9bb5SDavid Heidelberg property is not specified, the GPIO is initialized as an output in its inactive state. 34f8ae9bb5SDavid Heidelberg 35f8ae9bb5SDavid Heidelberg active-delay-ms: 36f8ae9bb5SDavid Heidelberg default: 100 37f8ae9bb5SDavid Heidelberg description: Delay to wait after driving gpio active 38f8ae9bb5SDavid Heidelberg 39f8ae9bb5SDavid Heidelberg inactive-delay-ms: 40f8ae9bb5SDavid Heidelberg default: 100 41f8ae9bb5SDavid Heidelberg description: Delay to wait after driving gpio inactive 42f8ae9bb5SDavid Heidelberg 43f8ae9bb5SDavid Heidelberg timeout-ms: 44f8ae9bb5SDavid Heidelberg default: 3000 45f8ae9bb5SDavid Heidelberg description: Time to wait before assuming the power off sequence failed. 46f8ae9bb5SDavid Heidelberg 47f8ae9bb5SDavid Heidelbergrequired: 48f8ae9bb5SDavid Heidelberg - compatible 49f8ae9bb5SDavid Heidelberg - gpios 50f8ae9bb5SDavid Heidelberg 51f8ae9bb5SDavid HeidelbergadditionalProperties: false 52f8ae9bb5SDavid Heidelberg 53f8ae9bb5SDavid Heidelbergexamples: 54f8ae9bb5SDavid Heidelberg - | 55f8ae9bb5SDavid Heidelberg gpio-poweroff { 56f8ae9bb5SDavid Heidelberg compatible = "gpio-poweroff"; 57f8ae9bb5SDavid Heidelberg gpios = <&gpio 4 0>; 58f8ae9bb5SDavid Heidelberg timeout-ms = <3000>; 59f8ae9bb5SDavid Heidelberg }; 60