Re: [PATCH v2] pinctrl: Enable "power-source" to be extracted from DT files

From: Heiko Stübner
Date: Tue May 27 2014 - 09:06:57 EST


Am Dienstag, 27. Mai 2014, 09:27:36 schrieb Ivan T. Ivanov:
> From: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx>
>
> 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 <iivanov@xxxxxxxxxx>
> ---
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/