Hi Ben,
On Monday 15 June 2015 01:40:40 Ben Hutchings wrote:
> On Fri, 2015-06-12 at 22:07 +0300, Laurent Pinchart wrote:
> > On Friday 12 June 2015 14:23:55 Ben Hutchings wrote:
> >> On Fri, 2015-06-12 at 10:18 +0300, Laurent Pinchart wrote:
> >>> On Wednesday 10 June 2015 00:23:31 Ben Hutchings wrote:
> >>>> All the SHDIs can operate with either 3.3V or 1.8V signals,
> >>>> depending on negotiation with the card.
> >>>>
> >>>> Add separate functions for the 1.8V mode, and implement the set_mux
> >>>> operation on all SDHI functions to configure the voltage for each
> >>>> group of pins.
> >>>
> >>> I don't think duplicating all functions for 1.8V and 3.3V is the right
> >>> way to go. Can't we use the pinconf API instead, and in particular the
> >>> PIN_CONFIG_POWER_SOURCE configuration ?
> >>
> >> [...]
> >>
> >> So far as I could see, you can't use the pinconf API with pinmux groups.
> >
> > Can't you ? Both Documentation/devicetree/bindings/pinctrl/pinctrl-
> > bindings.txt and Documentation/devicetree/bindings/pinctrl/renesas,pfc-
> > pinctrl.txt document the usage of pinconf with groups (see for instance
> > example 3 in the latter).
>
> Sorry, I should say you can't use them with pinmux *functions*. You can
> either bind a group to a function *or* set the various pinconf
> properties for the group, but not both. Unless I'm very much mistaken.
One of us probably is :-)
I'd have to recheck whether this is really a standard behaviour, but the PFC
driver at least supports setting both functions and configuration as far as I
can tell. The relevant example from the PFC bindings is
mmcif_pins: mmcif {
mux {
renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
renesas,function = "mmc0";
};
cfg {
renesas,groups = "mmc0_data8_0";
renesas,pins = "PORT279";
bias-pull-up;
};
};
It's a bit more verbose than I'd like, but I think the following should work
too.
mmcif_pins: mmcif {
renesas,groups = "mmc0_data8_0";
renesas,function = "mmc0";
bias-pull-up;
};
(it requires all pins from the groups to use the same configuration though)
I believe the former is the intended way to set both function and config,
while the latter is a PFC "extension".
On a side note, I have a patch to support the standard "groups", "functions"
and "pins" properties instead of the Renesas-specific versions, I'll try to
revive it.
--
Regards,
Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html