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