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