devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ludovic Desroches <ludovic.desroches@atmel.com>
To: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org,
	devicetree@vger.kernel.org
Cc: linus.walleij@linaro.org, laurent.pinchart@ideasonboard.com,
	swarren@wwwdotorg.org, s.hauer@pengutronix.de, tony@atomide.com,
	nicolas.ferre@atmel.com
Subject: [RFC] pinmux: group and function definitions in the device tree
Date: Thu, 19 Mar 2015 16:39:50 +0100	[thread overview]
Message-ID: <20150319153950.GC30114@odux.rfo.atmel.com> (raw)

Hi,

I would like to start a discussion about pinmuxing and device tree bindings.

I am currently writing a new pinmuxing driver using the generic pinconf.
My main concern is about defining functions and which pins belong to a
group.

At the moment, it seems that most drivers using the generic pinconf
define this stuff in a static way. The pinctrl-at91 driver covers many
devices, the new one should do the same for new Atmel devices. Having
the group and function definitions in the driver could involve a huge
file...
I am not sure it is a good thing to embed all these information into a
single zImage...

How can we achieved this? I was thinking about something like this:

pinctrl@fc06a000 {

	[...]

	pinctrl_defs {
		mci0 {
			mci0_ioset0_1bit_grp {
				at91,pins = <68 69 70>;
				at91,mux = <2>;
			};

			mci0_ioset0_4bit_grp {
				at91,pins = <68 69 70 71 72 73>;
				at91,mux = <2>;
			};

			mci0_ioset0_8bit_grp {
				at91,pins = <68 69 70 71 72 73 74 75 76 77>;
				at91,mux = <2>;
			};
		};
	};

	pinctrl_mci0_default: mci0_default {
		mux {
			function = "mci0";
			groups = &mci0_ioset0_8bit_grp;
		};

		conf {
			groups = &mci0_ioset0_8bit_grp;
			bias-pullup;
		};
	};
};

- A subnode for these definitions in order to not parse the whole
  pinctrl node to retrieve groups and functions.
- Using node names as function and group names.
- Can we get generic properties to define the groups? Of course a 'pins'
  property is mandatory. In my case I will need an extra one to tell the
  controller how to mux the pins (a same pin can have up to 7 muxing
  possibilities).


Thanks for your advices.

Ludovic

             reply	other threads:[~2015-03-19 15:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-19 15:39 Ludovic Desroches [this message]
2015-03-19 18:56 ` [RFC] pinmux: group and function definitions in the device tree Sascha Hauer
2015-03-20 15:06   ` Ludovic Desroches
2015-03-23  6:44     ` Sascha Hauer
     [not found]       ` <20150323064424.GD9742-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-03-23  9:08         ` Ludovic Desroches
2015-03-23 10:09           ` Sascha Hauer
2015-03-23 10:29             ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]               ` <37858913-F9BB-41D8-A380-7F8C44E08A4F-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
2015-03-23 14:00                 ` Ludovic Desroches
     [not found]             ` <20150323100913.GJ9742-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-03-23 11:49               ` Sascha Hauer
2015-03-23 14:29               ` Ludovic Desroches
2015-03-24  6:18                 ` Sascha Hauer

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=20150319153950.GC30114@odux.rfo.atmel.com \
    --to=ludovic.desroches@atmel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=nicolas.ferre@atmel.com \
    --cc=s.hauer@pengutronix.de \
    --cc=swarren@wwwdotorg.org \
    --cc=tony@atomide.com \
    /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;
as well as URLs for NNTP newsgroup(s).