Linus Walleij | 9a01be1 | 2012-03-06 21:15:51 +0100 | [diff] [blame] | 1 | /* |
| 2 | * Standard pin control state definitions |
| 3 | */ |
| 4 | |
Linus Walleij | 65697e6 | 2012-05-07 11:17:53 +0200 | [diff] [blame] | 5 | /** |
| 6 | * @PINCTRL_STATE_DEFAULT: the state the pinctrl handle shall be put |
| 7 | * into as default, usually this means the pins are up and ready to |
| 8 | * be used by the device driver. This state is commonly used by |
Linus Walleij | b0e181d | 2012-09-26 14:59:47 +0200 | [diff] [blame] | 9 | * hogs to configure muxing and pins at boot, and also as a state |
| 10 | * to go into when returning from sleep and idle in |
| 11 | * .pm_runtime_resume() or ordinary .resume() for example. |
Douglas Anderson | ef0eebc | 2015-10-20 21:15:06 -0700 | [diff] [blame] | 12 | * @PINCTRL_STATE_INIT: normally the pinctrl will be set to "default" |
| 13 | * before the driver's probe() function is called. There are some |
| 14 | * drivers where that is not appropriate becausing doing so would |
| 15 | * glitch the pins. In those cases you can add an "init" pinctrl |
| 16 | * which is the state of the pins before drive probe. After probe |
| 17 | * if the pins are still in "init" state they'll be moved to |
| 18 | * "default". |
Linus Walleij | 65697e6 | 2012-05-07 11:17:53 +0200 | [diff] [blame] | 19 | * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into |
Linus Walleij | b0e181d | 2012-09-26 14:59:47 +0200 | [diff] [blame] | 20 | * when the pins are idle. This is a state where the system is relaxed |
| 21 | * but not fully sleeping - some power may be on but clocks gated for |
| 22 | * example. Could typically be set from a pm_runtime_suspend() or |
| 23 | * pm_runtime_idle() operation. |
Linus Walleij | 65697e6 | 2012-05-07 11:17:53 +0200 | [diff] [blame] | 24 | * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into |
Linus Walleij | b0e181d | 2012-09-26 14:59:47 +0200 | [diff] [blame] | 25 | * when the pins are sleeping. This is a state where the system is in |
| 26 | * its lowest sleep state. Could typically be set from an |
| 27 | * ordinary .suspend() function. |
Linus Walleij | 65697e6 | 2012-05-07 11:17:53 +0200 | [diff] [blame] | 28 | */ |
Linus Walleij | 9a01be1 | 2012-03-06 21:15:51 +0100 | [diff] [blame] | 29 | #define PINCTRL_STATE_DEFAULT "default" |
Douglas Anderson | ef0eebc | 2015-10-20 21:15:06 -0700 | [diff] [blame] | 30 | #define PINCTRL_STATE_INIT "init" |
Linus Walleij | 9a01be1 | 2012-03-06 21:15:51 +0100 | [diff] [blame] | 31 | #define PINCTRL_STATE_IDLE "idle" |
Linus Walleij | 65697e6 | 2012-05-07 11:17:53 +0200 | [diff] [blame] | 32 | #define PINCTRL_STATE_SLEEP "sleep" |