Thread (7 messages) 7 messages, 3 authors, 2011-11-02

[PATCH] i2c-gpio.c: correct logic of pdata->scl_is_open_drain

From: H Hartley Sweeten <hidden>
Date: 2011-11-01 16:30:10
Also in: lkml

On Tuesday, November 01, 2011 1:02 AM, Voss, Nikolaus wrote:
quoted
It is never correct to use push-pull I/O for i2c, so the flag does not
specify the desired behavior of the driver, it specifies what the
hardware has been configured to do so that the driver can choose the
cheapest way to do open-drain I/O.
Ok, seems rather logical after all.
quoted
And even if you could argue that the flag should be inverted, it has
had the same meaning since the driver was introduced several years
ago, so changing it now will break every single platform which
currently uses i2c-gpio.
I completely agree.
Just for the record...

The GPIO pins used for I2C on the ep93xx platform can be configured as
open-drain I/O pins.  When they are, and external pull-ups are applied
to the signals, the I2C bus works correctly when the "is_open_drain"
flags are set.  If the pull-ups are missing the bus does not work.
If the "is_open_drain" flags are not set, the I2C bus works correctly
regardless of the existence of the pull-ups.

Based on that I think the i2c-gpio driver's use of the "is_open_drain"
flags is correct.

Regards,
Hartley
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help