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