From: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
To: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
Cc: Dong Aisheng <dongas86-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org"
<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
"kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
<kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org"
<cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
"Sascha Hauer (s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org)"
<s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: Pinmux bindings proposal V2
Date: Thu, 26 Jan 2012 18:21:12 -0800 [thread overview]
Message-ID: <20120127022111.GK29812@atomide.com> (raw)
In-Reply-To: <CAPnjgZ3Xhebn1x1A-Vdy78DWbDd=cp0AK6tL-R1SRzS4GdF97g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi,
* Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> [120126 09:11]:
>
> On Fri, Jan 20, 2012 at 2:22 PM, Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote:
>
> 1. It doesn't seem to make full use of the device tree format. For example,
>
> <TEGRA_PMX_PG_DTD TEGRA_PMX_CONF_DRIVE_STRENGTH 5>
>
> would be better as something like
>
> drive-strength = <5>;
>
> if we could arrange it. It also reduces the need for these
> TEGRA_PMX_CONF_DRIVE_STRENGTH defines.
I agree. This is something that most pinmux/pinconf drivers need to
implement, so it's best done in a generic way.
> In tegra20.dtsi:
>
> / {
> &tegra_pmx {
> #address-cells = <1>;
> #size-cells = <0>;
>
> /*
> * This is the first option for SDIO1. It comes out
> * on pin groups DTA and DTD. Boards can simply use this
> * phandle in the driver node to get this option. Any options
> * not used could potentially be dropped from the device tree
> * blob for space-constrained boot loaders.
> */
> pmx_sdhci1_dta_dtd: sdhci1-dta-dtd@0 {
> #address-cells = <1>;
> #size-cells = <0>;
> reg = <0>;
> label = "SDIO1 on DTA, DTD (4-bit)";
>
> /*
> * Here are the pin groups needed for this option.
> * First DTA, then DTD.
> */
> pmx@dta {
> reg = <PG_DTA>;
> mux = <PMX_MUX_SDIO1>;
> drive-strengh = <5>;
> slew-rate = <4>;
Using reg for the register offsets here makes sense to me. But doesn't that
mean that now we're back to having a node for each pin? And that is something
we're trying to avoid because of the bloat as most systems have one register
per pin, so this is not efficient for listing multiple pins.
So maybe we should just use what Stephen suggested for the array of registers
here:
mux = <MUX_OFFSET1 INITIAL_MUX_VALUE1
MUX_OFFSET2 INITIAL_MUX_VALUE2>;
>
> /*
> * We support two states here, active
> * and standby. Properties in these child
> * nodes can override the ones at this level.
> * Drivers can move between states just by
> * making the changes in these nodes.
> */
> state-active {
> reg = <PMX_CONF_ACTIVE>;
> tristate = <0>;
> };
> state-standby {
> reg = <PMX_CONF_STANDBY>;
> tristate = <1>;
> drive-strengh = <2>;
> };
> };
This seems like a qood way to represent the alternative mux states for
the muxes that need them. This is assuming the states have standard
bindings and not some random names. I still don't know if we need them
though. And again when we have multiple registers, we'd have to have
either multiple entries for each pin, or use the array instead of reg.
Maybe we need two bindings: A minimal subset of what Stephen is suggesting
that can handle 95% of the muxes with minimal overhead, then what you're
suggesting for the few muxes that need multiple states?
Regards,
Tony
next prev parent reply other threads:[~2012-01-27 2:21 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-20 22:22 Pinmux bindings proposal V2 Stephen Warren
2012-01-26 9:24 ` Shawn Guo
2012-01-26 17:42 ` Simon Glass
[not found] ` <CAPnjgZ3Xhebn1x1A-Vdy78DWbDd=cp0AK6tL-R1SRzS4GdF97g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-27 2:21 ` Tony Lindgren [this message]
2012-01-27 15:43 ` Simon Glass
[not found] ` <CAPnjgZ2EkvTMsOkWyf4pfwRpvcvYs=WaKy5Gi8fdkAUQmvt=ig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-27 17:37 ` Tony Lindgren
[not found] ` <20120127173732.GJ13504-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-27 17:51 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178E123E62-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-27 18:10 ` Tony Lindgren
2012-01-30 3:27 ` Shawn Guo
2012-01-30 3:13 ` Shawn Guo
[not found] ` <20120130031346.GD10470-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-30 17:49 ` Tony Lindgren
[not found] ` <20120127022111.GK29812-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-27 17:38 ` Stephen Warren
2012-01-27 17:29 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178E123E54-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-30 2:31 ` Shawn Guo
2012-02-01 14:35 ` Shawn Guo
[not found] ` <20120201143530.GA2203-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-02-02 18:36 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178E124AC5-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-02-02 20:07 ` Dong Aisheng
2012-02-03 14:02 ` Shawn Guo
[not found] ` <20120203140238.GC12915-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-02-03 17:21 ` Dong Aisheng
2012-02-03 17:32 ` Tony Lindgren
[not found] ` <20120203173205.GB1426-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-02-03 18:13 ` Dong Aisheng
2012-02-03 21:05 ` Tony Lindgren
2012-02-04 16:55 ` Dong Aisheng
[not found] ` <CAA+hA=ThTuGnedNk_KnYLpquZ7EG+b6yU+GSoiS8qiWUB=_0fw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-02-04 17:15 ` Tony Lindgren
2012-02-03 8:46 ` Shawn Guo
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF1780DAB4CE-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-23 21:00 ` Tony Lindgren
[not found] ` <20120123210052.GS22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-23 23:08 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178CB81C0D-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-24 1:20 ` Tony Lindgren
[not found] ` <20120124012038.GT22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-24 22:29 ` Stephen Warren
2012-01-25 0:04 ` Tony Lindgren
[not found] ` <20120125000407.GU22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-26 19:33 ` Stephen Warren
2012-01-27 2:08 ` Tony Lindgren
[not found] ` <20120127020832.GJ29812-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-27 6:57 ` Shawn Guo
[not found] ` <20120127065752.GB32740-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-27 17:05 ` Tony Lindgren
[not found] ` <20120127170545.GH13504-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-30 1:56 ` Shawn Guo
[not found] ` <20120130015607.GA10470-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-30 17:20 ` Tony Lindgren
2012-01-31 1:32 ` Shawn Guo
[not found] ` <20120131013215.GB24681-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-31 2:29 ` Tony Lindgren
[not found] ` <20120131022906.GH9339-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-02-01 5:36 ` Shawn Guo
2012-01-27 17:36 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF178E123E57-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-27 17:42 ` Tony Lindgren
2012-01-26 9:36 ` Shawn Guo
[not found] ` <20120126093610.GD2287-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-26 17:51 ` Tony Lindgren
[not found] ` <20120126175122.GX22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-27 7:19 ` Shawn Guo
[not found] ` <20120127071944.GC32740-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-27 17:16 ` Tony Lindgren
[not found] ` <20120127171653.GI13504-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-30 2:10 ` Shawn Guo
[not found] ` <20120130021041.GB10470-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-30 17:43 ` Tony Lindgren
[not found] ` <20120130174323.GF9339-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-31 1:07 ` Shawn Guo
2012-02-13 19:58 ` Stephen Warren
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=20120127022111.GK29812@atomide.com \
--to=tony-4v6ys6ai5vpbdgjk7y7tuq@public.gmane.org \
--cc=cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=dongas86-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
/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).