forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.3 KiB
54 lines
2.3 KiB
Drive a GPIO line that can be used to restart the system from a restart |
|
handler. |
|
|
|
This binding supports level and edge triggered reset. At driver load |
|
time, the driver will request the given gpio line and install a restart |
|
handler. If the optional properties 'open-source' is not found, the GPIO line |
|
will be driven in the inactive state. Otherwise its not driven until |
|
the restart is initiated. |
|
|
|
When the system is restarted, the restart handler will be invoked in |
|
priority order. The gpio is configured as an output, and driven active, |
|
triggering a level triggered reset condition. This will also cause an |
|
inactive->active edge condition, triggering positive edge triggered |
|
reset. After a delay specified by active-delay, the GPIO is set to |
|
inactive, thus causing an active->inactive edge, triggering negative edge |
|
triggered reset. After a delay specified by inactive-delay, the GPIO |
|
is driven active again. After a delay specified by wait-delay, the |
|
restart handler completes allowing other restart handlers to be attempted. |
|
|
|
Required properties: |
|
- compatible : should be "gpio-restart". |
|
- gpios : The GPIO to set high/low, see "gpios property" in |
|
Documentation/devicetree/bindings/gpio/gpio.txt. If the pin should be |
|
low to reset the board set it to "Active Low", otherwise set |
|
gpio to "Active High". |
|
|
|
Optional properties: |
|
- open-source : Treat the GPIO as being open source and defer driving |
|
it to when the restart is initiated. If this optional property is not |
|
specified, the GPIO is initialized as an output in its inactive state. |
|
- priority : A priority ranging from 0 to 255 (default 128) according to |
|
the following guidelines: |
|
0: Restart handler of last resort, with limited restart |
|
capabilities |
|
128: Default restart handler; use if no other restart handler is |
|
expected to be available, and/or if restart functionality is |
|
sufficient to restart the entire system |
|
255: Highest priority restart handler, will preempt all other |
|
restart handlers |
|
- active-delay: Delay (default 100) to wait after driving gpio active [ms] |
|
- inactive-delay: Delay (default 100) to wait after driving gpio inactive [ms] |
|
- wait-delay: Delay (default 3000) to wait after completing restart |
|
sequence [ms] |
|
|
|
Examples: |
|
|
|
gpio-restart { |
|
compatible = "gpio-restart"; |
|
gpios = <&gpio 4 0>; |
|
priority = <128>; |
|
active-delay = <100>; |
|
inactive-delay = <100>; |
|
wait-delay = <3000>; |
|
};
|
|
|