1Driver a GPIO line that can be used to turn the power off.
   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.
   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.
  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".
  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.
  33gpio-poweroff {
  34        compatible = "gpio-poweroff";
  35        gpios = <&gpio 4 0>;