public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* OMAP5910 I2C problem
@ 2008-03-12 15:12 Oleg Kechin
  0 siblings, 0 replies; 3+ messages in thread
From: Oleg Kechin @ 2008-03-12 15:12 UTC (permalink / raw)
  To: linux-omap

Hi!

I've experienced problem with OMAP5910 I2C driver in my custom board.
It freezes after some working time.
When it freezes, register I2C_STAT show that XUDF (or ROVR) bit is set 
and SCL pin
is in low state.
I2C_CNT register is not zero too, but buf_len counter is zero.
Attempt to use init() function do not help in this situation.
Only things I can do with it - set I2C to debug mode and make some SCL 
clocks by hand.
After this I2C state machine can work for some time.
When I2C clock is set to 100kHz it happens almost in every transfer - I 
try to read/write
EEPROM. In 20kHz it still can happen too (on heavy load much frequently).
It's look like internal I2C state machine is broken.
So, for now I replace i2c algorithm with i2c_algo_bit and everything 
works fine.

I'm curious - only I have such a problem with I2C bus in OMAP 5910 or 
someone else too?
May be there is better solution?


With regards
Oleg Kechin.


^ permalink raw reply	[flat|nested] 3+ messages in thread
* OMAP5910 I2C problem
@ 2008-03-13 18:17 Oleg Kechin
  2008-03-21 17:58 ` Hunter, Jon
  0 siblings, 1 reply; 3+ messages in thread
From: Oleg Kechin @ 2008-03-13 18:17 UTC (permalink / raw)
  To: linux-omap

Hi!

 I've experienced problem with OMAP5910 I2C driver in my custom board.
 It freezes after some working time.
 When it freezes, register I2C_STAT show that XUDF (or ROVR) bit is set
 and SCL pin
 is in low state.
 I2C_CNT register is not zero too, but buf_len counter is zero.
 Attempt to use init() function do not help in this situation.
 Only things I can do with it - set I2C to debug mode and make some SCL
 clocks by hand.
 After this I2C state machine can work for some time.
 When I2C clock is set to 100kHz it happens almost in every transfer - I
 try to read/write
 EEPROM. In 20kHz it still can happen too (on heavy load much frequently).
 It's look like internal I2C state machine is broken.
 So, for now I replace i2c algorithm with i2c_algo_bit and everything
 works fine.

 I'm curious - only I have such a problem with I2C bus in OMAP 5910 or
 someone else too?
 May be there is better solution?


 With regards
 Oleg Kechin.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-03-21 17:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-12 15:12 OMAP5910 I2C problem Oleg Kechin
  -- strict thread matches above, loose matches on Subject: below --
2008-03-13 18:17 Oleg Kechin
2008-03-21 17:58 ` Hunter, Jon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox