[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