[PATCH] ARM: dts: rockchip: use internal pull-up resistors on I2C busses
NEO-Technologies / Julien CHAUVEAU
julien.chauveau at neo-technologies.fr
Mon Oct 20 08:24:29 PDT 2014
On 2014/10/19 23:06, Addy Ke wrote:
> On 2014/10/17 22:40, Julien CHAUVEAU wrote:
> >/ According to the I2C bus specification, it is required to use pull-up resistors
> />/ on the clock and data lines. Probing the I2C busses with i2cdetect results in
> />/ bad results when no devices are connected and no external resistors are used.
> />/
> /I think external resistors is necessary.
>
> on the RK3066, RK3188 and RK3288, Internal pull-up is weak.
> So we usually use external pull-up in hardware design, and pull-up/pull-down is
> disabled by software.
>
> We have found the bug that hdmi got error edid on rk3288 if internal pull-up was enabled.
Hi Addy,
Thanks for reporting, but can you be more precise on what you did. Have
you found a bug by applying my patch or by using a different hardware
configuration?
I haven't said that we should remove the external resistors on the I2C
lines. In fact, it is normal to have communication issues at fast speed
when using only internal pull-up resistors. I just say that it should be
harmless to activate the internal pull-up resistors, and furthermore, it
can help to fix some bugs when using i2cdetect.
In the TRM, the DC characteristics give these typical values for the
pull-up resistors @3.3V:
- 60 Kilo-ohms for the RK3066
- 58 Kilo-ohms for the RK3188 and RK3288.
The reference hardware designs use 2K or 1.5K pull-up resistors on the
I2C lines and HDMI DDC lines.
Using both internal and external pull-up resistors (being in parallel)
would result in equivalent resistors of:
- 1 / (1 / 60 + 1 / 2) = 1.93K, instead of 2K
- 1 / (1 / 60 + 1 / 1.5) = 1.46K, instead of 1.5K
The difference of resistance is so small actually that I guess it should
be harmless on every boards... Please also have a look on the following
page [0] for good explanations on the effects of varying I2C pull-up
resistors.
What's the others' opinion about that?
Julien
[0]
http://www.dsscircuits.com/index.php/articles/47-effects-of-varying-i2c-pull-up-resistors
More information about the Linux-rockchip
mailing list