[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJuYYwS28r0xinG8xa93D5bAtZUhCFXm4-F1Q69Te4dWWTm0Yg@mail.gmail.com>
Date: Sat, 21 Jan 2012 07:08:56 +0530
From: Thomas Abraham <thomas.abraham@...aro.org>
To: Tony Lindgren <tony@...mide.com>
Cc: Stephen Warren <swarren@...dia.com>,
Dong Aisheng-B29396 <B29396@...escale.com>,
"linus.walleij@...ricsson.com" <linus.walleij@...ricsson.com>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"rob.herring@...xeda.com" <rob.herring@...xeda.com>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"cjb@...top.org" <cjb@...top.org>,
"Simon Glass (sjg@...omium.org)" <sjg@...omium.org>,
Dong Aisheng <dongas86@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"devicetree-discuss@...ts.ozlabs.org"
<devicetree-discuss@...ts.ozlabs.org>
Subject: Re: Pinmux bindings proposal
On 20 January 2012 23:23, Tony Lindgren <tony@...mide.com> wrote:
> * Thomas Abraham <thomas.abraham@...aro.org> [120120 16:45]:
>> On 20 January 2012 15:35, Tony Lindgren <tony@...mide.com> wrote:
>> > * Thomas Abraham <thomas.abraham@...aro.org> [120119 10:05]:
>> >> On 19 January 2012 23:50, Tony Lindgren <tony@...mide.com> wrote:
>> >>
>> >> I would like to understand the need for populating the
>> >> pinmux/pingroups tables from dt. The question here is when we have
>> >> something like
>> >>
>> >> pins = <&pinctrl0 0x0030 0x15 0x15 0x7>;
>> >>
>> >> which specifies the values that need to be written to the hardware
>> >> registers, would populating pinmux/pingroup tables from dt required.
>> >> The SoC specific pinctrl driver can provide a way (with the help of
>> >> pinctrl core) to translate these values and write to corresponding
>> >> hardware registers. Is there any particular reason for populating the
>> >> pinmux/pingroups tables from dt?
>> >
>> > Hmm I see. Yes it's still needed as we only want to parse the DT once
>> > because it's slower unless it was one time only configuration during
>> > init.
>>
>> Ok. The time spent on searching for the pin-config property can be
>> reduced by having the device driver (say, i2c) keep a pointer to all
>> the pinconfig properties in its node. The next time a driver needs to
>> reconfigure the pins, the search time can be reduced. The time to
>> parse the property values though would still be applicable. But I
>> would still not opt to build pinmux/pinconfig/pindesc tables from dt.
>
> Hmm that's something to consider to save memory as the node will stay
> there. This would allow making all the pinctrl framework data __initdata
> in some cases. You'd probably want to copy the data into the driver in
> some pinctrl framework struct so you could still use pinctrl framework
> functions with this data and not have to parse the node again.
Is it required to use pinctrl functions when we already have the
hardware register values for pinmux/pinconfig in the device nodes? I
was of the opinion that we need not use pinctrl API in case of dt
based boot.
>
> For building the tables from dt, what I have currently is building
> the tables without any specific knowledge about the pinmux functions.
> I'm thinking that any further knowledge for debugging etc can be done
> later on using user space tools to avoid storing the data in kernel.
>
Ok. I will go through your patches when you post them.
Thanks,
Thomas.
--
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