1 Driver a GPIO line that can be used to turn the power off.
3 The driver supports both level triggered and edge triggered power off.
4 At driver load time, the driver will request the given gpio line and
5 install a handler to power off the system. If the optional properties
6 'input' is not found, the GPIO line will be driven in the inactive
7 state. Otherwise its configured as an input.
9 When the power-off handler is called, the gpio is configured as an
10 output, and drive active, so triggering a level triggered power off
11 condition. This will also cause an inactive->active edge condition, so
12 triggering positive edge triggered power off. After a delay of 100ms,
13 the GPIO is set to inactive, thus causing an active->inactive edge,
14 triggering negative edge triggered power off. After another 100ms
15 delay the GPIO is driver active again. If the power is still on and
16 the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.
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".
26 - input : Initially configure the GPIO line as an input. Only reconfigure
27 it to an output when the power-off handler is called. If this optional
28 property is not specified, the GPIO is initialized as an output in its
30 - active-delay-ms: Delay (default 100) to wait after driving gpio active
31 - inactive-delay-ms: Delay (default 100) to wait after driving gpio inactive
32 - timeout-ms: Time to wait before asserting a WARN_ON(1). If nothing is
33 specified, 3000 ms is used.
38 compatible = "gpio-poweroff";