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?
No change, sadly. I don't get slave interrupts.
Init function is called multuple times. If I2C controller works
in slave mode, then driver must keep slave registers otherwise
slave configuration will be reseted.
This patch does not tackle the main issue, though. There should not be a
"slave mode" for the controller. It can be a master and slave
simultaneously and should do the right thing depending on what's
happening on the bus. The Tegra2 manual I have says "The Master can
address the internal slave (for basic testing) or an external 7-bit or
10-bit addressed Slave device." So even a loopback should be possible
(if we trust the manual ;)).