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

Voss, Nikolaus N.Voss at weinmann.de
Wed Nov 2 01:56:50 EDT 2011


> If the "is_open_drain" flags are not set, the I2C bus works correctly
> regardless of the existence of the pull-ups.

No, I2C can only work with anything pulling up SDA weakly, usually an
external pullup. This is independent of the "is_open_drain" property
which only describes how the driver internally accomplishes the high
impedance state.

SCL can be driven push-pull ("scl_is_output_only") but will not be
I2C-compliant any more (no clock stretching), and only clients not relying
on that feature will work.

Niko




More information about the linux-arm-kernel mailing list