Re: [PATCH] i2c: Raise SDA for each received bit, if necessary

From: Thomas Zimmermann
Date: Thu May 12 2016 - 12:19:51 EST


Hi

Am 12.05.2016 um 11:05 schrieb Wolfram Sang:
> Hi Thomas,
>
> On Wed, Apr 27, 2016 at 08:11:54PM +0200, Thomas Zimmermann wrote:
>> Some I2C adapters don't raise SDA by themselves when sending a bit. This
>> behavior can be seen with the DDC channel of SiS 300 graphics cards.
>
> I think you mean 'clients' or 'devices' here, not adapters (masters),
> right?

Yes, sorry.

> So, it seems you have a bus without a pull-up resistor (or a
> broken one?) but use now a push-pull design. This is against the I2C
> standard and for most circiuts quite dangerous as it can lead to
> shortcuts.

I see.

> Do you have any hints that the bus is designed this way? In which driver
> do you want to use the new flag?

I was playing with the DRM framework and an old SiS graphics card. I
discovered this issue while trying to read the EDID from the monitor.

I have a few other SiS cards/models here and they all expose this
behavior. So I guess it's intentional(==cheaper?), although the HW docs
don't seem mention it explicitly.

Best regards
Thomas

>
> Thanks,
>
> Wolfram
>


--
GnuPG: http://tdz.users.sourceforge.net/tdz.asc
Fingerprint: 16FF F599 82F8 E5AA 18C6 5220 D9DA D7D4 4EF1 DF08