devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Joe. C" <srv_yingjoe.chen@mediatek.com>,
	linux-arm-kernel@lists.infradead.org,
	Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org,
	"Hongzhou. Yang" <srv_hongzhou.yang@mediatek.com>,
	Vladimir Murzin <vladimir.murzin@arm.com>,
	Russell King <linux@arm.linux.org.uk>,
	Pawel Moll <pawel.moll@arm.com>,
	srv_heupstream@mediatek.com,
	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@vger.kernel.org,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Sascha Hauer <kernel@pengutronix.de>,
	Kumar Gala <galak@codeaurora.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	dandan.he@mediatek.com
Subject: Re: [PATCH v2 4/4] ARM: dts: mt8135: Add pinctrl node for mt8135.
Date: Tue, 23 Sep 2014 16:55:10 +0200	[thread overview]
Message-ID: <20140923145510.GX4992@pengutronix.de> (raw)
In-Reply-To: <7840459.vtELiqVIOL@wuerfel>

On Tue, Sep 23, 2014 at 04:10:09PM +0200, Arnd Bergmann wrote:
> On Tuesday 23 September 2014 21:58:14 Joe. C wrote:
> > 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)>
> 
> But you don't actually use the same macros in the driver, so in effect
> you just move the definitions from the file they are needed in to another
> file as a macro.
> 
> It is no less error prone to define those macros in mt8135-pinfunc.h
> than in the pinctrl node, just less readable.

IMO these defines make writing and reviewing dts files much easier. Once
the macros are used widely and thus are likely correct you can be sure
that every board has sane and non conflicting pin setups. The pin names
can often be found in the schematics of a board, so you can verify the
pinmux settings without looking in the SoC datasheet.

If all you have in the dts files is MT_PIN_FUNC(pinx, funcy) then it
can be quite hard to verify pins. First you have to get an idea how
the pin numbers match the pins in the datasheet. In the bindings the
pins are numbered, in the datasheet they usually only have names.
Afterwards you have to find out which functions this pin has and how
these match to the function number in the binding. Repeat this for
dozens of pins.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

  parent reply	other threads:[~2014-09-23 14:55 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 [this message]
2014-09-23 14:16       ` Chen-Yu Tsai
2014-09-23 15:08         ` Joe.C
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=20140923145510.GX4992@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=srv_heupstream@mediatek.com \
    --cc=srv_hongzhou.yang@mediatek.com \
    --cc=srv_yingjoe.chen@mediatek.com \
    --cc=vladimir.murzin@arm.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).