Re: [PATCH v5 1/3] pinctrl: Add sleep related state to indicate sleep related configs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi LinusW and Rob,

On 14 July 2017 at 16:08, Baolin Wang <baolin.wang@xxxxxxxxxxxxxx> wrote:
> In some scenarios, we should set some pins as input/output/pullup/pulldown
> when the specified system goes into deep sleep mode, then when the system
> goes into deep sleep mode, these pins will be set automatically by hardware.
>
> That means some pins are not controlled by any specific driver in the OS, but
> need to be controlled when entering sleep mode. Thus we introduce one sleep
> state config into pinconf-generic for users to configure.
>
> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxx>
> ---
> Changes since v4:
>  - Add sleep-hardware-state config to indicate sleep related configs.
> ---

Do you have any comments about this patch set? Thanks.

>  .../bindings/pinctrl/pinctrl-bindings.txt          |    2 ++
>  drivers/pinctrl/pinconf-generic.c                  |    2 ++
>  include/linux/pinctrl/pinconf-generic.h            |    2 ++
>  3 files changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> index bf3f7b0..2365a21 100644
> --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> @@ -236,6 +236,8 @@ low-power-enable    - enable low power mode
>  low-power-disable      - disable low power mode
>  output-low             - set the pin to output mode with low level
>  output-high            - set the pin to output mode with high level
> +sleep-hardware-state   - indicate this is sleep related state which will be programmed
> +                         into the registers for the sleep state.
>  slew-rate              - set the slew rate
>
>  For example:
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index ce3335a..9a7f168 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -46,6 +46,7 @@
>         PCONFDUMP(PIN_CONFIG_LOW_POWER_MODE, "pin low power", "mode", true),
>         PCONFDUMP(PIN_CONFIG_OUTPUT, "pin output", "level", true),
>         PCONFDUMP(PIN_CONFIG_POWER_SOURCE, "pin power source", "selector", true),
> +       PCONFDUMP(PIN_CONFIG_SLEEP_HARDWARE_STATE, "sleep hardware state", NULL, false),
>         PCONFDUMP(PIN_CONFIG_SLEW_RATE, "slew rate", NULL, true),
>  };
>
> @@ -175,6 +176,7 @@ void pinconf_generic_dump_config(struct pinctrl_dev *pctldev,
>         { "output-high", PIN_CONFIG_OUTPUT, 1, },
>         { "output-low", PIN_CONFIG_OUTPUT, 0, },
>         { "power-source", PIN_CONFIG_POWER_SOURCE, 0 },
> +       { "sleep-hardware-state", PIN_CONFIG_SLEEP_HARDWARE_STATE, 0 },
>         { "slew-rate", PIN_CONFIG_SLEW_RATE, 0 },
>  };
>
> diff --git a/include/linux/pinctrl/pinconf-generic.h b/include/linux/pinctrl/pinconf-generic.h
> index 7620eb1..a5d0fb4 100644
> --- a/include/linux/pinctrl/pinconf-generic.h
> +++ b/include/linux/pinctrl/pinconf-generic.h
> @@ -80,6 +80,7 @@
>   * @PIN_CONFIG_POWER_SOURCE: if the pin can select between different power
>   *     supplies, the argument to this parameter (on a custom format) tells
>   *     the driver which alternative power source to use.
> + * @PIN_CONFIG_SLEEP_HARDWARE_STATE: indicate this is sleep related state.
>   * @PIN_CONFIG_SLEW_RATE: if the pin can select slew rate, the argument to
>   *     this parameter (on a custom format) tells the driver which alternative
>   *     slew rate to use.
> @@ -107,6 +108,7 @@ enum pin_config_param {
>         PIN_CONFIG_LOW_POWER_MODE,
>         PIN_CONFIG_OUTPUT,
>         PIN_CONFIG_POWER_SOURCE,
> +       PIN_CONFIG_SLEEP_HARDWARE_STATE,
>         PIN_CONFIG_SLEW_RATE,
>         PIN_CONFIG_END = 0x7F,
>         PIN_CONFIG_MAX = 0xFF,
> --
> 1.7.9.5
>



-- 
Baolin.wang
Best Regards
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux