Subject: Pinmux bindings proposal

From: [email-masked] (Tony Lindgren)
Date: Fri, 20 Jan 2012 02:05:28 -0800

* Thomas Abraham <[email-masked]> [120119 10:05]:
> On 19 January 2012 23:50, Tony Lindgren <[email-masked]> 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.

If you only need to set pins once during the init, then we could add
an option for freeing all or most pins after init. That's what we
have for the current mach-omap2 mux framework as only few pins need
to be dynamically remuxed. That will require some changes to the
pinctrl framework though. We would need flags for each pin from DT
for init_only/dynamic.

Regards,

Tony