Am Dienstag, 27. Mai 2014, 09:27:36 schrieb Ivan T. Ivanov:
> From: "Ivan T. Ivanov" <iiva...@mm-sol.com>
> 
> Add "power-source" property to generic options used for DT parsing files.
> This  enables drivers, which use generic pin configurations, to get the
> value passed to this property.

I think the main problem here is, that pinconf-generic.h defines the power-
source as having a "custom format". With DT as a hardware description, 
implementaton specific values do not work well - instead it should have a 
regular unit-value.

For the power-source I think volts could work well - as this is the main use-
case for pinctrl I know. The regulator-binding uses microvolts, maybe it would 
be good use a similar unit.

So something along

--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
@@ -156,6 +156,7 @@ input-disable               - disable input on pin (no 
effect on
output) input-schmitt-enable    - enable schmitt-trigger mode
 input-schmitt-disable  - disable schmitt-trigger mode
 input-debounce         - debounce mode with debound time X
+power-source           - set power supply to X microvolts
 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

and in the dt itself:

        pcfg_1v8 {
                power-source = <1800000>;
        };

And then the pinctrl driver being responsible to select an appropriate source 
for this voltage.

But I guess Linus knows more pinctrl corner-cases than me, so this may be 
entire rubbish :-) .


Heiko

> Signed-off-by: Ivan T. Ivanov <iiva...@mm-sol.com>
> ---
>  Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | 1 +
>  drivers/pinctrl/pinconf-generic.c                              | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt index
> 4414163..fa40a17 100644
> --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> @@ -156,6 +156,7 @@ input-disable             - disable input on pin (no 
> effect on
> output) input-schmitt-enable  - enable schmitt-trigger mode
>  input-schmitt-disable        - disable schmitt-trigger mode
>  input-debounce               - debounce mode with debound time X
> +power-source         - select between different power supplies
>  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
> diff --git a/drivers/pinctrl/pinconf-generic.c
> b/drivers/pinctrl/pinconf-generic.c index 3d9a999..c7ead91 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -166,6 +166,7 @@ static struct pinconf_generic_dt_params dt_params[] = {
>       { "input-schmitt-enable", PIN_CONFIG_INPUT_SCHMITT_ENABLE, 1 },
>       { "input-schmitt-disable", PIN_CONFIG_INPUT_SCHMITT_ENABLE, 0 },
>       { "input-debounce", PIN_CONFIG_INPUT_DEBOUNCE, 0 },
> +     { "power-source", PIN_CONFIG_POWER_SOURCE, 0 },
>       { "low-power-enable", PIN_CONFIG_LOW_POWER_MODE, 1 },
>       { "low-power-disable", PIN_CONFIG_LOW_POWER_MODE, 0 },
>       { "output-low", PIN_CONFIG_OUTPUT, 0, },
> --
> 1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to