mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: Dong Aisheng <b29396@freescale.com>
Cc: b20223@freescale.com, linus.walleij@stericsson.com,
	devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, rob.herring@calxeda.com,
	kernel@pengutronix.de, cjb@laptop.org, s.hauer@pengutronix.de,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 2/4] pinctrl: pinctrl-imx: add imx pinctrl core driver
Date: Thu, 26 Apr 2012 17:15:36 +0200	[thread overview]
Message-ID: <20120426151536.GO9142@game.jcrosoft.org> (raw)
In-Reply-To: <20120426144446.GN9142@game.jcrosoft.org>

> > +Examples:
> > +usdhc@0219c000 { /* uSDHC4 */
> > +	fsl,card-wired;
> > +	vmmc-supply = <&reg_3p3v>;
> > +	status = "okay";
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_usdhc4_1>;
> > +};
> > +
> > +iomuxc@020e0000 {
> > +	compatible = "fsl,imx6q-iomuxc";
> > +	reg = <0x020e0000 0x4000>;
> > +
> > +	/* shared pinctrl settings */
> > +	usdhc4 {
> > +		pinctrl_usdhc4_1: usdhc4grp-1 {
> > +			fsl,pins = <1386 0x17059	/* MX6Q_PAD_SD4_CMD__USDHC4_CMD */
> > +				    1392 0x17059	/* MX6Q_PAD_SD4_CLK__USDHC4_CLK	*/
> > +				    1462 0x17059	/* MX6Q_PAD_SD4_DAT0__USDHC4_DAT0 */
> > +				    1470 0x17059	/* MX6Q_PAD_SD4_DAT1__USDHC4_DAT1 */
> > +				    1478 0x17059	/* MX6Q_PAD_SD4_DAT2__USDHC4_DAT2 */
> > +				    1486 0x17059	/* MX6Q_PAD_SD4_DAT3__USDHC4_DAT3 */
> > +				    1493 0x17059	/* MX6Q_PAD_SD4_DAT4__USDHC4_DAT4 */
> > +				    1501 0x17059	/* MX6Q_PAD_SD4_DAT5__USDHC4_DAT5 */
> > +				    1509 0x17059	/* MX6Q_PAD_SD4_DAT6__USDHC4_DAT6 */
> > +				    1517 0x17059>;	/* MX6Q_PAD_SD4_DAT7__USDHC4_DAT7 */
> honestly I don't like this it's obscure need to decode manually
> 
> I propose to use phandle
> 
> as example on uart you will want or not the rst/cts so you will have quite a
> lot of bindings
> 
> so you can describe the pin configuration (function) and refer it by phandle
> in the group
We have on Imx mxc at91 and other SoC controler hich you configure per pin

which means one pin have multiple function and the same function is on
multiple pins

so the groups are just a list of possible pins

Instead of re-inventing bindings we do need to come with a common binding whre
it's possible

So instead I proppose (send in the v2) to use common way to describe the group

1) we describe one function per pin

	functions {
		rxd_pb12 {
			atmel,pin-id = <44>;
			atmel,mux = <0>;
		};

		txd_pb13 {
			atmel,pin-id = <45>;
			atmel,pull = <2>;
			atmel,mux = <0>;
		};

		txd0_pb19 {
			atmel,pin-id = <51>;
			atmel,pull = <2>;
			atmel,mux = <0>;
		};

		rxd0_pb18 {
			atmel,pin-id = <50>;
			atmel,mux = <0>;
		};

		rts0_pb17 {
			atmel,pin-id = <49>;
			atmel,mux = <1>;
		};

		cts0_pb15 {
			atmel,pin-id = <47>;
			atmel,mux = <1>;
		};
	};


advantage if you need to set a pull-up or any pin parameter different on your board
you can overwrite it without re-creating a group

This is controller specific

and then we have the common bindings to describe the group
by using phandle of the functions to describe the group

	groups {
		dbgu {
			pinctrl,functions = < &rxd_pb12
					      &txd_pb13 >;
		};

		uart0_rxd_txd {
			pinctrl,functions = < &rxd0_pb18
					      &txd0_pb19 >;
		};

		uart0_rts_cts {
			pinctrl,functions = < &rxd0_pb18
					      &txd0_pb19
					      &rts0_pb17
					      &cts0_pb15 >;
		};
	};

this will be handle by a generic code in c

Best Regards,
J.

  reply	other threads:[~2012-04-26 15:36 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-26 14:40 [PATCH v4 1/4] dt: add of_get_child_count helper function Dong Aisheng
2012-04-26 14:40 ` [PATCH v3 2/4] pinctrl: pinctrl-imx: add imx pinctrl core driver Dong Aisheng
2012-04-26 14:44   ` Jean-Christophe PLAGNIOL-VILLARD
2012-04-26 15:15     ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2012-04-27  5:48       ` Shawn Guo
2012-04-27  6:28         ` Jean-Christophe PLAGNIOL-VILLARD
2012-04-27  7:25           ` Shawn Guo
2012-04-27  7:11             ` Jean-Christophe PLAGNIOL-VILLARD
2012-04-27  8:11               ` Shawn Guo
2012-04-27  9:29                 ` Jean-Christophe PLAGNIOL-VILLARD
2012-04-27  3:48     ` Dong Aisheng
2012-04-27  6:31       ` Jean-Christophe PLAGNIOL-VILLARD
2012-04-27  7:30     ` Sascha Hauer
2012-04-26 14:44   ` Dong Aisheng
2012-04-27  5:30   ` Shawn Guo
2012-04-27  8:54   ` Shawn Guo
2012-04-27 11:24     ` Dong Aisheng
2012-04-26 14:40 ` [PATCH v3 3/4] pinctrl: pinctrl-imx: add imx6q pinctrl driver Dong Aisheng
2012-04-27  5:35   ` Shawn Guo
2012-04-27  6:45   ` Sascha Hauer
2012-04-27  7:16     ` Dong Aisheng
2012-04-26 14:40 ` [PATCH v3 4/4] mmc: sdhci-imx-esdhc: convert to use pinctrl subsystem Dong Aisheng
2012-04-26 16:32   ` Stephen Warren
2012-04-27  7:35   ` Sascha Hauer
2012-04-27  8:29     ` Dong Aisheng
2012-04-27  8:26       ` Shawn Guo
2012-04-27  8:31       ` Sascha Hauer
2012-04-27  8:54         ` Dong Aisheng
2012-04-27  8:47           ` Sascha Hauer
2012-04-27  9:13             ` Dong Aisheng
2012-04-26 16:24 ` [PATCH v4 1/4] dt: add of_get_child_count helper function Stephen Warren
2012-04-27  3:28   ` Dong Aisheng
2012-04-27  3:36     ` [PATCH v5 1/1] " Dong Aisheng
2012-04-27 15:25       ` Stephen Warren
2012-05-01 23:05       ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120426151536.GO9142@game.jcrosoft.org \
    --to=plagnioj@jcrosoft.com \
    --cc=b20223@freescale.com \
    --cc=b29396@freescale.com \
    --cc=cjb@laptop.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=kernel@pengutronix.de \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=s.hauer@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome