Re: Pinmux bindings proposal

From: Shawn Guo
Date: Wed Jan 18 2012 - 09:30:28 EST


On 18 January 2012 22:13, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> Hi,
>
> * Grant Likely <grant.likely@xxxxxxxxxxxx> [120116 09:55]:
>> On Fri, Jan 13, 2012 at 12:39:42PM -0800, Stephen Warren wrote:
>> >                 pinmux =
>> >                         <"default" &pmx_sdhci_active>
>> >                         <"suspend" &pmx_sdhci_suspend>;
>> >
>> >                 /* 1:n example: */
>> >                 pinmux =
>> >                         <"default" &pmx_sdhci_mux_a>
>> >                         <"default" &pmx_sdhci_pincfg_a>
>> >                         <"suspend" &pmx_sdhci_mux_a>
>> >                         <"suspend" &pmx_sdhci_pincfg_a_suspend>;
>>
>>
>> Yeah, don't do this.  Mixing phandle, string and cell values in a
>> property gets messy and could become troublesome to parse.  I've
>> backed away from it in the clk binding.
>
> Yup, that's because the string is embedded directly into the mixed
> mode array and will likely make the following data unaligned. That
> means it's extremely flakey to parse, and will lead into horrible
> errors if you have typos in the .dts file.. Tried that and gave up
> on it.
>
> I think I've found a way to avoid using names at all, assuming we set
> each pin as a phandle for the drivers to use :)
>
The problem with doing that is we will have to represent each pin as a
node in device tree. For imx6q case, we have 197 pins. Doing so will
bloat the device tree.

--
Regards,
Shawn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/