From: Joe.C <srv_yingjoe.chen@mediatek.com>
To: Chen-Yu Tsai <wens@csie.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree <devicetree@vger.kernel.org>,
"Hongzhou. Yang" <srv_hongzhou.yang@mediatek.com>,
Vladimir Murzin <vladimir.murzin@arm.com>,
Russell King <linux@arm.linux.org.uk>,
srv_heupstream@mediatek.com, Arnd Bergmann <arnd@arndb.de>,
Ian Campbell <ijc+devicetree@hellion.org.uk>Hongzhou Yang
<hongzhou.yang@mediatek.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Linus Walleij <linus.walleij@linaro.org>,
Ashwin Chaugule <ashwin.chaugule@linaro.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Grant Likely <grant.likely@linaro.org>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Sascha Hauer <kernel@pengutronix.de>,
Kumar Gala <galak@codeaurora.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
dandan.he@mediatek.com,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 4/4] ARM: dts: mt8135: Add pinctrl node for mt8135.
Date: Tue, 23 Sep 2014 23:08:51 +0800 [thread overview]
Message-ID: <1411484931.21299.45.camel@mtksdaap41> (raw)
In-Reply-To: <CAGb2v67F_3CCA2LA887X4TbewUcFj+bXzq912x6t5K4t2X_9mA@mail.gmail.com>
On Tue, 2014-09-23 at 22:16 +0800, Chen-Yu Tsai wrote:
> Hi,
>
> On Tue, Sep 23, 2014 at 9:58 PM, Joe.C <srv_yingjoe.chen@mediatek.com> wrote:
> > On Tue, 2014-09-23 at 15:03 +0200, Arnd Bergmann wrote:
> >> On Tuesday 23 September 2014 11:39:05 Hongzhou. Yang wrote:
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_GPIO0 (MT_PIN_NO(0) | 0)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_MSDC0_DAT7 (MT_PIN_NO(0) | 1)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_EINT49 (MT_PIN_NO(0) | 2)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_I2SOUT_DAT (MT_PIN_NO(0) | 3)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_DAC_DAT_OUT (MT_PIN_NO(0) | 4)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_PCM1_DO (MT_PIN_NO(0) | 5)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_SPI1_MO (MT_PIN_NO(0) | 6)
> >> > +#define MT8135_PIN_0_MSDC0_DAT7__FUNC_NALE (MT_PIN_NO(0) | 7)
> >> > +
> >>
> >> This list looks like it just describes the hardware, I think it would
> >> be better to put the values directly into the DT, rather than
> >> using such macros.
> >
> > Hi,
> >
> > Thanks for review.
> > The intend for these macros is helpin pinctrl user to write DT node.
> > With these macro, we could write like this for i2c0:
> >
> > mediatek,pinfunc = <MT8135_PIN_100_SDA0__FUNC_SDA0
> > MT8135_PIN_101_SCL0__FUNC_SCL0>;
> >
> > We feel this is less error prone and easier to write than this:
> >
> > mediatek,pinfunc = <MT_PIN_FUNC(100, 1) MT_PIN_FUNC(101, 1)>
>
>
> Since you've already imposed the following limit in the DT bindings:
>
> The mediatek,pinfunc can be either a single value or an array.
> If it is an array, that means all pins use same config in this node.
>
> Maybe you could split the bindings into
>
> mediatek,pins = <1 2 3 4>;
> mediatek,func = <1>; (or some macro)
>
> Or better yet, since you've already defined all the function names
> in the pinctrl driver, you could just match by name for the functions.
> That makes it very verbose and explicit about what you specify.
>
> That's how we do it for sunxi anyway. Of course we have all the pin
> function documentation open, so users and reviewers alike can double
> check. Just a suggestion. :)
>
>
> Cheers
> ChenYu
Actually, this is exactly what we do in our first version(matching names
and use separate pins/func). That's why the source code and
pinctrl-mtk-mt8135.h are very simlar to sunxi one (Thanks :))
But we think it might worth to reduce string mathching at boot time,
that's why we changed to use integer + macro in this version.
Unfortunately, we still can't release documents openly now. I hope we
could change that someday.
Joe.C
next prev parent reply other threads:[~2014-09-23 15:08 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 3:39 [PATCH v2 0/4] Add Mediatek SoC Pinctrl/GPIO driver for MT8135 Hongzhou.Yang
2014-09-23 3:39 ` [PATCH v2 1/4] arm: mediatek: Add config option for mediatek SoCs Hongzhou.Yang
2014-09-23 3:39 ` [PATCH v2 2/4] ARM: mediatek: Add Pinctrl/GPIO driver for mt8135 Hongzhou.Yang
2014-10-02 13:38 ` Linus Walleij
2014-10-06 10:35 ` Joe.C
2014-10-21 9:08 ` Linus Walleij
2014-09-23 3:39 ` [PATCH v2 3/4] dt-bindings: Add pinctrl bindings for mt65xx/mt81xx Hongzhou.Yang
[not found] ` <1411443545-24951-4-git-send-email-srv_hongzhou.yang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2014-10-02 14:00 ` Linus Walleij
2014-10-02 14:41 ` Lucas Stach
2014-10-21 8:45 ` Linus Walleij
2014-09-23 3:39 ` [PATCH v2 4/4] ARM: dts: mt8135: Add pinctrl node for mt8135 Hongzhou.Yang
2014-09-23 13:03 ` Arnd Bergmann
2014-09-23 13:58 ` Joe.C
2014-09-23 14:10 ` Arnd Bergmann
2014-09-23 14:29 ` Joe.C
2014-09-23 14:55 ` Sascha Hauer
2014-09-23 14:16 ` Chen-Yu Tsai
2014-09-23 15:08 ` Joe.C [this message]
2014-09-24 11:23 ` Linus Walleij
2014-09-24 12:40 ` Sascha Hauer
[not found] ` <20140924124044.GC4992-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-26 5:32 ` Sascha Hauer
2014-10-02 14:02 ` Linus Walleij
[not found] ` <CACRpkdbtN-BDEwpJO2swnOjCe3UJhD5WOXXKBV0hPOe2M2=k7Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-02 14:28 ` Lucas Stach
2014-10-21 8:58 ` Linus Walleij
2014-10-06 7:18 ` Sascha Hauer
[not found] ` <20141006071841.GN4992-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-10-21 9:02 ` Linus Walleij
[not found] ` <1411443545-24951-1-git-send-email-srv_hongzhou.yang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2014-09-23 13:28 ` [PATCH v2 0/4] Add Mediatek SoC Pinctrl/GPIO driver for MT8135 Matthias Brugger
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=1411484931.21299.45.camel@mtksdaap41 \
--to=srv_yingjoe.chen@mediatek.com \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=srv_heupstream@mediatek.com \
--cc=srv_hongzhou.yang@mediatek.com \
--cc=vladimir.murzin@arm.com \
--cc=wens@csie.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).