Re: [PATCH v6 07/15] platform/x86: int3472: Enable I2c daisy chain

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

 



Hello

On 26/11/2021 11:30, Hans de Goede wrote:
> Hi,
>
> On 11/26/21 00:39, Laurent Pinchart wrote:
>> Hi Hans,
>>
>> Thank you for the patch.
>>
>> On Thu, Nov 25, 2021 at 05:54:04PM +0100, Hans de Goede wrote:
>>> From: Daniel Scally <djrscally@xxxxxxxxx>
>>>
>>> The TPS68470 PMIC has an I2C passthrough mode through which I2C traffic
>>> can be forwarded to a device connected to the PMIC as though it were
>>> connected directly to the system bus. Enable this mode when the chip
>>> is initialised.
>> Is there any drawback doing this unconditionally, if nothing is
>> connected to the bus on the other side (including no pull-ups) ?
> I actually never took a really close look at this patch, I just
> sorta inherited it from Daniel.
>
> Now that I have taken a close look, I see that it is setting the
> exact same bits as which get set when enabling the VSIO regulator.
>
> The idea here is that the I2C-passthrough only gets enabled when
> the VSIO regulator is turned on, because some sensors end up
> shorting the I2C pins to ground when the sensor is not powered.
>
> Since we set these bits when powering up the VSIO regulator
> and since we do that before trying to talk to the sensor
> I don't think that we need this (hack) anymore.
>
> I will give things a try without this change and if things
> still work I will drop this patch from the set.
>
> Daniel, what do you think?


Humm, we're only using the VSIO regulator with the VCM though right?
Which might not be on when the ov8865 tries to probe. I haven't tried
without this patch to be honest; I set it because that was what Windows
does when powering on the PMIC.

> Regards,
>
> Hans
>
>
>
>
>
>
>>> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
>>> Signed-off-by: Daniel Scally <djrscally@xxxxxxxxx>
>>> ---
>>>  .../x86/intel/int3472/intel_skl_int3472_tps68470.c         | 7 +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git a/drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.c b/drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.c
>>> index c05b4cf502fe..42e688f4cad4 100644
>>> --- a/drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.c
>>> +++ b/drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.c
>>> @@ -45,6 +45,13 @@ static int tps68470_chip_init(struct device *dev, struct regmap *regmap)
>>>  		return ret;
>>>  	}
>>>  
>>> +	/* Enable I2C daisy chain */
>>> +	ret = regmap_write(regmap, TPS68470_REG_S_I2C_CTL, 0x03);
>>> +	if (ret) {
>>> +		dev_err(dev, "Failed to enable i2c daisy chain\n");
>>> +		return ret;
>>> +	}
>>> +
>>>  	dev_info(dev, "TPS68470 REVID: 0x%02x\n", version);
>>>  
>>>  	return 0;



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

  Powered by Linux