From mboxrd@z Thu Jan 1 00:00:00 1970 From: victorascroft@gmail.com (Victor Ascroft) Date: Thu, 25 Sep 2014 20:05:11 +0530 Subject: Query on pin multiplexing with device tree In-Reply-To: <20140925140913.GM15315@lukather> References: <5424133C.5090106@gmail.com> <20140925140913.GM15315@lukather> Message-ID: <5424281F.4060605@gmail.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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