blob: a4b437fce37cf439a18c980604c2d4cece92681f [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 };