xref: /linux/Documentation/devicetree/bindings/power/reset/gpio-poweroff.yaml (revision e7d759f31ca295d589f7420719c311870bb3166f)
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