1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 /* 1 /* 3 * Standard pin control state definitions 2 * Standard pin control state definitions 4 */ 3 */ 5 4 6 #ifndef __LINUX_PINCTRL_PINCTRL_STATE_H << 7 #define __LINUX_PINCTRL_PINCTRL_STATE_H << 8 << 9 /** 5 /** 10 * @PINCTRL_STATE_DEFAULT: the state the pinct 6 * @PINCTRL_STATE_DEFAULT: the state the pinctrl handle shall be put 11 * into as default, usually this means th 7 * into as default, usually this means the pins are up and ready to 12 * be used by the device driver. This sta 8 * be used by the device driver. This state is commonly used by 13 * hogs to configure muxing and pins at b 9 * hogs to configure muxing and pins at boot, and also as a state 14 * to go into when returning from sleep a 10 * to go into when returning from sleep and idle in 15 * .pm_runtime_resume() or ordinary .resu 11 * .pm_runtime_resume() or ordinary .resume() for example. 16 * @PINCTRL_STATE_INIT: normally the pinctrl w 12 * @PINCTRL_STATE_INIT: normally the pinctrl will be set to "default" 17 * before the driver's probe() function i 13 * before the driver's probe() function is called. There are some 18 * drivers where that is not appropriate 14 * drivers where that is not appropriate becausing doing so would 19 * glitch the pins. In those cases you c 15 * glitch the pins. In those cases you can add an "init" pinctrl 20 * which is the state of the pins before 16 * which is the state of the pins before drive probe. After probe 21 * if the pins are still in "init" state 17 * if the pins are still in "init" state they'll be moved to 22 * "default". 18 * "default". 23 * @PINCTRL_STATE_IDLE: the state the pinctrl 19 * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into 24 * when the pins are idle. This is a stat 20 * when the pins are idle. This is a state where the system is relaxed 25 * but not fully sleeping - some power ma 21 * but not fully sleeping - some power may be on but clocks gated for 26 * example. Could typically be set from a 22 * example. Could typically be set from a pm_runtime_suspend() or 27 * pm_runtime_idle() operation. 23 * pm_runtime_idle() operation. 28 * @PINCTRL_STATE_SLEEP: the state the pinctrl 24 * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into 29 * when the pins are sleeping. This is a 25 * when the pins are sleeping. This is a state where the system is in 30 * its lowest sleep state. Could typicall 26 * its lowest sleep state. Could typically be set from an 31 * ordinary .suspend() function. 27 * ordinary .suspend() function. 32 */ 28 */ 33 #define PINCTRL_STATE_DEFAULT "default" 29 #define PINCTRL_STATE_DEFAULT "default" 34 #define PINCTRL_STATE_INIT "init" 30 #define PINCTRL_STATE_INIT "init" 35 #define PINCTRL_STATE_IDLE "idle" 31 #define PINCTRL_STATE_IDLE "idle" 36 #define PINCTRL_STATE_SLEEP "sleep" 32 #define PINCTRL_STATE_SLEEP "sleep" 37 << 38 #endif /* __LINUX_PINCTRL_PINCTRL_STATE_H */ << 39 33
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.