Commit f8ae9bb5 authored by David Heidelberg's avatar David Heidelberg Committed by Sebastian Reichel
Browse files

dt-bindings: power: reset: gpio-poweroff: Convert txt bindings to yaml



Convert power-off action connected to the GPIO documentation to the YAML syntax.

Signed-off-by: default avatarDavid Heidelberg <david@ixit.cz>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent fa55b7dc
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
Driver a GPIO line that can be used to turn the power off.

The driver supports both level triggered and edge triggered power off.
At driver load time, the driver will request the given gpio line and
install a handler to power off the system. If the optional properties
'input' is not found, the GPIO line will be driven in the inactive
state. Otherwise its configured as an input.

When the power-off handler is called, the gpio is configured as an
output, and drive active, so triggering a level triggered power off
condition. This will also cause an inactive->active edge condition, so
triggering positive edge triggered power off. After a delay of 100ms,
the GPIO is set to inactive, thus causing an active->inactive edge,
triggering negative edge triggered power off. After another 100ms
delay the GPIO is driver active again. If the power is still on and
the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.

Required properties:
- compatible : should be "gpio-poweroff".
- gpios : The GPIO to set high/low, see "gpios property" in
  Documentation/devicetree/bindings/gpio/gpio.txt. If the pin should be
  low to power down the board set it to "Active Low", otherwise set
  gpio to "Active High".

Optional properties:
- input : Initially configure the GPIO line as an input. Only reconfigure
  it to an output when the power-off handler is called. If this optional
  property is not specified, the GPIO is initialized as an output in its
  inactive state.
- active-delay-ms: Delay (default 100) to wait after driving gpio active
- inactive-delay-ms: Delay (default 100) to wait after driving gpio inactive
- timeout-ms: Time to wait before asserting a WARN_ON(1). If nothing is
              specified, 3000 ms is used.

Examples:

gpio-poweroff {
	compatible = "gpio-poweroff";
	gpios = <&gpio 4 0>;
	timeout-ms = <3000>;
};
+59 −0
Original line number Diff line number Diff line
# 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).

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

  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>;
    };