| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/power/reset/gpio-poweroff.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: GPIO controlled power off |
| |
| maintainers: |
| - Sebastian Reichel <sre@kernel.org> |
| |
| description: > |
| System power off support via a GPIO line. When a shutdown is |
| executed the operating system is expected to switch the GPIO |
| from inactive to active. After a delay (active-delay-ms) it |
| is expected to be switched back to inactive. After another |
| delay (inactive-delay-ms) it is configured as active again. |
| Finally the operating system assumes the power off failed if |
| the system is still running after waiting some time (timeout-ms). |
| |
| allOf: |
| - $ref: restart-handler.yaml# |
| |
| properties: |
| compatible: |
| const: gpio-poweroff |
| |
| gpios: |
| maxItems: 1 |
| |
| input: |
| type: boolean |
| description: > |
| Initially configure the GPIO line as an input. Only reconfigure |
| it to an output when the power-off sequence is initiated. If this optional |
| property is not specified, the GPIO is initialized as an output in its inactive state. |
| |
| active-delay-ms: |
| default: 100 |
| description: Delay to wait after driving gpio active |
| |
| inactive-delay-ms: |
| default: 100 |
| description: Delay to wait after driving gpio inactive |
| |
| priority: |
| default: 0 |
| |
| timeout-ms: |
| default: 3000 |
| description: Time to wait before assuming the power off sequence failed. |
| |
| required: |
| - compatible |
| - gpios |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| gpio-poweroff { |
| compatible = "gpio-poweroff"; |
| gpios = <&gpio 4 0>; |
| timeout-ms = <3000>; |
| }; |