Use of pinctrl-single for external device over I2C
vaibhav.hiremath at linaro.org
Tue Jun 30 00:46:27 PDT 2015
On Thursday 25 June 2015 11:16 AM, Vaibhav Hiremath wrote:
> On Thursday 25 June 2015 10:08 AM, Tony Lindgren wrote:
>> * Vaibhav Hiremath <vaibhav.hiremath at linaro.org> [150624 10:12]:
>>> I do not like this, as this is not HW feature, so DT may not be right
>>> So I will dig more from either runtime or Compile time option to use
>>> regmap_ Vs raw read/writes.
>> Can't you just check if the pinctrl node has compatible = "syscon"
>> A compile time option won't work for sure. I don't know what you
>> would check at runtime as you do not know what the bus is behind
> Although, I haven't gone through syscon, but not sure whether syscon
> would be useful.
> As you rightly stated, we need to know the bus behind regmap.
Trying to understand what is the right way of doing pinctrl of external
device on board,
I feel it would not be good idea to pollute pinctrl-single driver, and
also I am still not able to figure out how can I have access to bus
How about having separate driver (generic for all I2C), say pinctrl-
i2c.c, which is i2c_client driver and would support pinctrl and pinmux
on I2C client device.
The current usecase which I have is pretty simple in nature,
88PM860 has few GPIO pins which can be configured to different
functionality, based on board design.
In most of the cases they are one/init/boot time settings.
000 = GPIO input mode
001 = GPIO output mode
010 = SLEEPOUTN mirror mode
011 = Buck4 FPWM enable
100 = 32 Khz output buffer mode
101 = PMICINTN output mode
110 = HW_RESET1 mode
111 = HW_RESET2 mode
More information about the linux-arm-kernel