Query on pin multiplexing with device tree

Victor Ascroft victorascroft at gmail.com
Thu Sep 25 10:35:11 EDT 2014


On Thursday 25 September 2014 07:39 PM, Maxime Ripard wrote:
> Hi Victor,
>
> On Thu, Sep 25, 2014 at 06:36:04PM +0530, Victor Ascroft wrote:
>> Hello,
>>
>> pinctrl_touchctrl_idle: touchctrl_idle {
>>             fsl,pins = <
>>                 MF610_PAD_PTA18__GPIO_8            0x0041
>>                 MF610_PAD_PTA19__GPIO_9            0x0041
>>                 >;
>>         };
>>
>>         pinctrl_touchctrl_read: touchctrl_read {
>>             fsl,pins = <
>>                 MF610_PAD_PTA18__ADC0_SE0        0x0041
>>                 MF610_PAD_PTA19__ADC0_SE1        0x0041
>>                 >;
>>
>> If i have pin multiplexing in device tree as above, how can i select
>> and change the pin multiplexing at run time?
> This will have to be done by the "consumer" driver, which judging by
> the node names here will be your touchscreen driver.
>
> You will have to reference in pinctrl-names several different states,
> instead of just "default" that is commonly used, and then, you can
> modify the state to use using the pinctrl functions.
>
> That would make something like this in your DT:
>     touchscreen at deadbeef {
>         pinctrl-names = "default", "idle";
> 	pinctrl-0 = <&pinctrl_touchctrl_read>;
> 	pinctrl-1 = <&pinctrl_touchctrl_idle>;
>     };
>
> The good thing about this is that the states default, idle and sleep
> are already grabbed by the device model whenever your driver is
> probed, and the only thing you have to do from your driver to switch
> from one state to another is to call pinctrl_pm_select_default_state
> or pinctrl_pm_select_idle_state.
>
> Maxime
>
I was not aware of the device model reading the default and idle state on probe. I have the touchscreen binding set up now.

Thank you very much.

Regards,
Victor


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140925/08900425/attachment.html 


More information about the Kernelnewbies mailing list