Subject: [PATCH] pinctrl: Add one-register-per-pin type device tree based pinctrl driver

From: [email-masked] (Stephen Warren)
Date: Tue, 26 Jun 2012 11:05:48 -0600

On 06/26/2012 07:43 AM, Tony Lindgren wrote:
...
> Subject: [PATCH] pinctrl: Add one-register-per-pin type device tree based pinctrl driver
> 
> Add one-register-per-pin type device tree based pinctrl driver.
> 
> This driver has been tested on omap2+ series of processors,
> where there is either an 8 or 16-bit padconf register for each pin.
> Support for other similar pinmux controllers can be added.

> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt

> +/* board specific .dts file */
> +
> +&pmx_core {

> +	board_pins: pinmux_board_pins {
> +		pinctrl-single,pins = <
> +			0x6c 0xf	/* csi21_dx3 OUTPUT | MODE7 */
> +			0x6e 0xf	/* csi21_dy3 OUTPUT | MODE7 */
> +			0x70 0xf	/* csi21_dx4 OUTPUT | MODE7 */
> +			0x72 0xf	/* csi21_dy4 OUTPUT | MODE7 */

If you're removing the pinconf mask, I think the comments in the example
should reflect just setting a particular mux function, and remove any
references to pinconf settings in that field. While the binding can be
abused to do that, I think the docs shouldn't encourage it:-)

Other than that, the binding looks reasonable to me, given what it's
intended to do.

However, I'd still like Grant and Rob (and any other DT experts) to
explicitly sign off on this binding, because it's doing exactly
something that was rejected at Linaro Connect in February (albeit the
binding is slightly more oriented at specifically being for pinmux
rather than a fully general "blast in these register values", but that
distinction seems minor to me).