blob: 23073519339f35e5bf42ccd72764e0e58cd67a6e [file] [log] [blame]
Linus Walleij9a01be12012-03-06 21:15:51 +01001/*
2 * Standard pin control state definitions
3 */
4
Linus Walleij65697e62012-05-07 11:17:53 +02005/**
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 Walleijb0e181d2012-09-26 14:59:47 +02009 * 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 Andersonef0eebc2015-10-20 21:15:06 -070012 * @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 Walleij65697e62012-05-07 11:17:53 +020019 * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into
Linus Walleijb0e181d2012-09-26 14:59:47 +020020 * 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 Walleij65697e62012-05-07 11:17:53 +020024 * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into
Linus Walleijb0e181d2012-09-26 14:59:47 +020025 * 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 Walleij65697e62012-05-07 11:17:53 +020028 */
Linus Walleij9a01be12012-03-06 21:15:51 +010029#define PINCTRL_STATE_DEFAULT "default"
Douglas Andersonef0eebc2015-10-20 21:15:06 -070030#define PINCTRL_STATE_INIT "init"
Linus Walleij9a01be12012-03-06 21:15:51 +010031#define PINCTRL_STATE_IDLE "idle"
Linus Walleij65697e62012-05-07 11:17:53 +020032#define PINCTRL_STATE_SLEEP "sleep"