[i2c] mixed-speed I2C system

Jean Delvare khali at linux-fr.org
Mon Apr 2 11:53:18 CEST 2007


On Mon, 2 Apr 2007 09:30:02 +0800, Stanley Cai wrote:
> > What you are trying to do is wrong for your setup. If you have both
> > standard-mode and fast-mode slaves on your I2C bus, then you must use
> > use standard-mode speed (100 kbps max) to talk to all of them. You can
> > only use higher speeds up to 400 kbps if you only have fast-mode I2C
> > devices on your bus. Please refer to Table 3 "Communication bit-rates
> > in a mixed speed bus system", on page 25 of the I2C 2.1 specification.
> Jean, thanks for pointing it out. When scanning the bus, the driver
> must work under standard mode. But when you find the I2C device which
> is able to work under fast-mode, can you use fast-mode to interact
> with the specific device? For some I2C devices like PMIC, response
> time is critical to us.  Is there any side effects on the device or
> others?

The problem is that if other devices on the I2C bus do not support
Fast-mode I2C, they'll get confused when the clock goes above 100 kHz,
and will possibly disturb or lock the bus, even if you do not talk to
them. So if you want to drive your I2C bus at 400 kbps, you must first
ensure that all the I2C devices physically connected to the bus support
Fast-mode I2C.

Jean Delvare

More information about the i2c mailing list