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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html