linux/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt
<<
>>
Prefs
   1Driver a GPIO line that can be used to turn the power off.
   2
   3The driver supports both level triggered and edge triggered power off.
   4At driver load time, the driver will request the given gpio line and
   5install a pm_power_off handler. If the optional properties 'input' is
   6not found, the GPIO line will be driven in the inactive
   7state. Otherwise its configured as an input.
   8
   9When the pm_power_off is called, the gpio is configured as an output,
  10and drive active, so triggering a level triggered power off
  11condition. This will also cause an inactive->active edge condition, so
  12triggering positive edge triggered power off. After a delay of 100ms,
  13the GPIO is set to inactive, thus causing an active->inactive edge,
  14triggering negative edge triggered power off. After another 100ms
  15delay the GPIO is driver active again. If the power is still on and
  16the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.
  17
  18Required properties:
  19- compatible : should be "gpio-poweroff".
  20- gpios : The GPIO to set high/low, see "gpios property" in
  21  Documentation/devicetree/bindings/gpio/gpio.txt. If the pin should be
  22  low to power down the board set it to "Active Low", otherwise set
  23  gpio to "Active High".
  24
  25Optional properties:
  26- input : Initially configure the GPIO line as an input. Only reconfigure
  27  it to an output when the pm_power_off function is called. If this optional
  28  property is not specified, the GPIO is initialized as an output in its
  29  inactive state.
  30
  31Examples:
  32
  33gpio-poweroff {
  34        compatible = "gpio-poweroff";
  35        gpios = <&gpio 4 0>;
  36};
  37