root/include/linux/pinctrl/pinctrl-state.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 */

/* [<][>][^][v][top][bottom][index][help] */