]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - include/linux/pinctrl/pinctrl-state.h
regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id
[mirror_ubuntu-bionic-kernel.git] / include / linux / pinctrl / pinctrl-state.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
9a01be17
LW
2/*
3 * Standard pin control state definitions
4 */
5
65697e6b
LW
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
b0e181d0
LW
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.
ef0eebc0
DA
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".
65697e6b 20 * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into
b0e181d0
LW
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.
65697e6b 25 * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into
b0e181d0
LW
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.
65697e6b 29 */
9a01be17 30#define PINCTRL_STATE_DEFAULT "default"
ef0eebc0 31#define PINCTRL_STATE_INIT "init"
9a01be17 32#define PINCTRL_STATE_IDLE "idle"
65697e6b 33#define PINCTRL_STATE_SLEEP "sleep"