]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
9a01be17 LW |
2 | /* |
3 | * Standard pin control state definitions | |
4 | */ | |
5 | ||
65697e6b LW |
6 | /** |
7 | * @PINCTRL_STATE_DEFAULT: the state the pinctrl handle shall be put | |
8 | * into as default, usually this means the pins are up and ready to | |
9 | * be used by the device driver. This state is commonly used by | |
b0e181d0 LW |
10 | * hogs to configure muxing and pins at boot, and also as a state |
11 | * to go into when returning from sleep and idle in | |
12 | * .pm_runtime_resume() or ordinary .resume() for example. | |
ef0eebc0 DA |
13 | * @PINCTRL_STATE_INIT: normally the pinctrl will be set to "default" |
14 | * before the driver's probe() function is called. There are some | |
15 | * drivers where that is not appropriate becausing doing so would | |
16 | * glitch the pins. In those cases you can add an "init" pinctrl | |
17 | * which is the state of the pins before drive probe. After probe | |
18 | * if the pins are still in "init" state they'll be moved to | |
19 | * "default". | |
65697e6b | 20 | * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into |
b0e181d0 LW |
21 | * when the pins are idle. This is a state where the system is relaxed |
22 | * but not fully sleeping - some power may be on but clocks gated for | |
23 | * example. Could typically be set from a pm_runtime_suspend() or | |
24 | * pm_runtime_idle() operation. | |
65697e6b | 25 | * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into |
b0e181d0 LW |
26 | * when the pins are sleeping. This is a state where the system is in |
27 | * its lowest sleep state. Could typically be set from an | |
28 | * ordinary .suspend() function. | |
65697e6b | 29 | */ |
9a01be17 | 30 | #define PINCTRL_STATE_DEFAULT "default" |
ef0eebc0 | 31 | #define PINCTRL_STATE_INIT "init" |
9a01be17 | 32 | #define PINCTRL_STATE_IDLE "idle" |
65697e6b | 33 | #define PINCTRL_STATE_SLEEP "sleep" |