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