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