[PATCH v2] ARM: dts: vf610: make pinctrl nodes board specific
Shawn Guo
shawn.guo at linaro.org
Sat Dec 14 00:41:00 EST 2013
On Thu, Dec 12, 2013 at 02:32:28PM -0500, Bill Pringlemeir wrote:
> On 10 Dec 2013, shawn.guo at linaro.org wrote:
>
> > Currently, all pinctrl setting nodes are defined in <soc>.dtsi, so that
> > boards that share the same pinctrl setting do not have to define it time
> > and time again in <board>.dts. However, along with the devices and use
> > cases being added continuously, the pinctrl setting nodes under iomuxc
> > becomes more than expected. This bloats device tree blob for particular
> > board unnecessarily since only a small subset of those pinctrl setting
> > nodes will be used by the board. It impacts not only the DTB file size
> > but also the run-time device tree lookup efficiency.
>
> > arch/arm/boot/dts/vf610-pingrp.h | 127 ++++++++++++++++++++++++++
>
> Thanks for including this file. I was looking a NAND flash and the
> common configuration are 8/16 bit. This solution is better as,
>
> #define VF610_NFC_PINGRP_8BIT \
> ...
>
> #define VF610_NFC_PINGRP_16BIT \
> VF610_NFC_PINGRP_8BIT \
> VF610_PAD_PTD31__NF_IO15 0x28df \
> VF610_PAD_PTD30__NF_IO14 0x28df \
> VF610_PAD_PTD29__NF_IO13 0x28df \
> ...
>
> It makes the board file look more straight forward,
Yes, I agree.
>
> &nfc { /* 16 bit with group in group */
> /* ... */
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_nfc_16bit>;
> };
>
> Versus,
>
> &nfc { /* old way _OR_ separate groups */
> /* ... */
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_nfc_8bit>; /* 8-bit */
> pinctrl-1 = <&pinctrl_nfc_16_bit>; /* 16-bit extras */
> };
>
> Although for a 'multi-machine' configuration, the sharing maybe
> appropriate? But I guess that is your point; it is not helpful.
>
> Is a group within a group appropriate in vf610-pingrp.h? Maybe a
> comment?
Yes, it is. We already have something like that for USDHC in
arch/arm/boot/dts/imx6qdl-pingrp.h if you're looking at my for-next
branch.
Shawn
More information about the linux-arm-kernel
mailing list