Re: [PATCH V2 9/9] i2c: tegra: Add pinctrl support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26/08/16 16:55, Stephen Warren wrote:
> On 08/26/2016 07:09 AM, Jon Hunter wrote:
>> On Tegra124/132 the pins for I2C6 are shared with the Display Port AUX
>> (DPAUX) channel and on Tegra210 the pins for I2C4 and I2C6 are shared
>> with DPAUX1 and DPAUX0, respectively. The multiplexing of the pins is
>> handled by a register in the DPAUX and so the Tegra DPAUX driver has
>> been updated to register a pinctrl device for managing these pins.
>>
>> The pins for these particular I2C devices are bound to the I2C device
>> prior to probing. However, these I2C devices are in a different power
>> partition to the DPAUX devices that own the pins. Hence, it is desirable
>> to place the pins in the 'idle' state and allow the DPAUX power
>> partition to switch off, when these I2C devices is not in use.
>> Therefore, add calls to place the I2C pins in the 'default' and 'idle'
>> states when the I2C device is runtime resumed and suspended,
>> respectively.
>>
>> Please note that the pinctrl functions that set the state of the pins
>> check to see if the devices has pins associated and will return zero
>> if they do not. Therefore, it is safe to call these pinctrl functions
>> even for I2C devices that do not have any pins associated.
> 
> I think this should be handled by drivers/i2c/muxes/i2c-mux-pinctrl.c
> instead?

I remember having a look at i2c-mux some time back, but we did not have
requirement to share the pins dynamically at runtime between the DPAUX
and I2C devices.

The pins are just configured at probe time for either the DPAUX or I2C
device and then with this change when we are not active we can power
down the pins. However, the pins are always bound to either the DPAUX or
I2C.

Cheers
Jon

-- 
nvpublic
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux