Re: [PATCH v3 1/4] i2c: tegra: implement slave mode

From: Andrey Danin
Date: Thu Aug 20 2015 - 08:14:55 EST


This is a multi-part message in MIME format. On 24.07.2015 13:52, Wolfram Sang wrote:

At the begin of my work on this patchset I even denied clock disable call if
slave is registered (to minimize code that can affect transfer).

I hacked something like this, but it seems it was not enough.

If only slave mode is used, then this logic is not needed.

This is not sufficent. We shouldn't break being a master only because we
also listen to a slave address (as long as the HW supports that of
course).

tegra_i2c_init is called on probe and resume. Also it is called in case of
xfer fail. If xfer is ok, then I think slave addr must be kept unchanged.

This is fragile. Try scanning the bus with i2cdetect and slave setup
will be gone.

As far as I understand it is a loopback mode. Probably it will not work
(Stephen Warren already mentioned this).

Just to make clear: I am not saying we should support talking to our own
slave address. But it should still be possible to communicate with other
remote devices on the bus.

Sorry for the long delay. I tried to analyze the issue. Attached patch works on AC100 (Misha Komarovsky helped me with testing).

Wolfram could you please try the patch with your environment?


Thanks.