1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Standard pin control state definitions
4  */
5 
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
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.
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".
20  * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into
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.
25  * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into
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.
29  */
30 #define PINCTRL_STATE_DEFAULT "default"
31 #define PINCTRL_STATE_INIT "init"
32 #define PINCTRL_STATE_IDLE "idle"
33 #define PINCTRL_STATE_SLEEP "sleep"
34