[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <509B8B46.8040703@ti.com>
Date: Thu, 8 Nov 2012 11:36:54 +0100
From: "Cousson, Benoit" <b-cousson@...com>
To: Stephen Warren <swarren@...dotorg.org>
CC: Pantelis Antoniou <panto@...oniou-consulting.com>,
Kevin Hilman <khilman@...com>, Matt Porter <mporter@...com>,
Koen Kooi <koen@...inion.thruhere.net>,
linux-kernel <linux-kernel@...r.kernel.org>,
Felipe Balbi <balbi@...com>,
Deepak Saxena <dsaxena@...aro.org>,
Scott Wood <scottwood@...escale.com>,
Russ Dill <Russ.Dill@...com>, <linux-omap@...r.kernel.org>,
<devicetree-discuss@...ts.ozlabs.org>,
Peter Ujfalusi <peter.ujfalusi@...com>
Subject: Re: [RFC] Device Tree Overlays Proposal (Was Re: capebus moving omap_devices
to mach-omap2)
+ Peter
Hi Stephen,
On 11/7/2012 6:25 PM, Stephen Warren wrote:
> On 11/07/2012 03:19 AM, Benoit Cousson wrote:
>> Hi Panto,
>>
>> On 11/07/2012 09:13 AM, Pantelis Antoniou wrote:
>>> Hi Grant
>>>
>>> On Nov 6, 2012, at 9:45 PM, Grant Likely wrote:
>>>
>>>> On Tue, Nov 6, 2012 at 7:34 PM, Pantelis Antoniou
>>>> <panto@...oniou-consulting.com> wrote:
>>>
>>> [ snip ]
>>>>
>>>> g.
>>>
>>> Since we've started talking about longer term goals, and the versioning
>>> provision seems to stand, I hope we address how much the fragment versioning
>>> thing is similar to the way board revisions progress.
>>>
>>> If a versioning syntax is available then one could create a single DT
>>> file for a bunch of 'almost' similar board and board revisions.
>>
>> I even think that the version issue is probably much more important for the short term than the overlay aspect. Well at least as important. We start having as well a bunch a panda board version with different HW setup.
>>
>> Having a single board-XXX.dts that will support all these versions is probably the best approach to avoid choosing that from the bootloader.
>>
>> We need to figure out a format + mechanism compatible with the current non-versioned format to allow filtering the nodes at runtime to keep only the relevant one.
>>
>> Something that can find the driver that will provide the proper board version or subsystem version or whatever like that:
>>
>> compatible-version = "ti,panda-version", "panda";
>>
>> Then at runtime we should create only the node with the correct match between the driver version and the string version.
>>
>>
>> /* regular panda audio routing */
>> sound: sound {
>> compatible = "ti,abe-twl6040";
>> ti,model = "PandaBoard";
>> compatible-version = "ti,panda-version", "panda";
>>
>> /* Audio routing */
>> ti,audio-routing =
>> "Headset Stereophone", "HSOL",
>> "Headset Stereophone", "HSOR",
>> "Ext Spk", "HFL",
>> "Ext Spk", "HFR",
>> "Line Out", "AUXL",
>> "Line Out", "AUXR",
>> "HSMIC", "Headset Mic",
>> "Headset Mic", "Headset Mic Bias",
>> "AFML", "Line In",
>> "AFMR", "Line In";
>> };
>>
>>
>> /* Audio routing is different between PandaBoard4430 and PandaBoardES */
>> &sound {
>> ti,model = "PandaBoardES";
>> compatible-version = "ti,panda-version", "panda-es";
>>
>> /* Audio routing */
>> ti,audio-routing =
>> "Headset Stereophone", "HSOL",
>> "Headset Stereophone", "HSOR",
>> "Ext Spk", "HFL",
>> "Ext Spk", "HFR",
>> "Line Out", "AUXL",
>> "Line Out", "AUXR",
>> "AFML", "Line In",
>> "AFMR", "Line In";
>> };
>>
>>
>> Maybe some extra version match table can just be passed during the board machine_init
>>
>> of_platform_populate(NULL, omap_dt_match_table, NULL, NULL, panda_version_match_table);
>
> Is the only difference here the content of the ti,audio-routing
> property? If so, then I don't think there's any need for infra-structure
> for this; the driver code already reads that property and adjusts its
> behaviour based upon it.
That was just an example, and maybe not the best one. It could be any
kind of HW differences, like a different GPIO line, a different I2C
peripheral, an extra DCDC...
The point was just that you might have several version of the same node
with different attributes depending of the board revision.
Regards,
Benoit
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists