Pinmux bindings proposal
From: Shawn Guo <hidden>
Date: 2012-01-18 14:30:30
Also in:
linux-devicetree, lkml
On 18 January 2012 22:13, Tony Lindgren [off-list ref] wrote:
Hi, * Grant Likely [off-list ref] [120116 09:55]:quoted
On Fri, Jan 13, 2012 at 12:39:42PM -0800, Stephen Warren wrote:quoted
? ? ? ? ? ? ? ? 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