[linux-dvb] Pinnacle PCTV (Dazzle) 300i maybe i2c problems with newer code?

Tim Small tim at buttersideup.com
Tue Jan 10 22:37:00 CET 2006

Hartmut Hackmann wrote:

> I know the I2C bus and have saa7134 documentation. But i have no 
> experience
> with the MT352. The errata sheet does not mention a I2C bug. But the lost
> arbitration is interesting. Assuming there is only one master on the bus,

I have had a quick look at the 7134 I2C driver - I might not have time 
to do more work on it soon, so I thought I'd better share a couple of 
possible problems that I've noticed:

I haven't checked this against the 7134 datasheet, but:

Line 258 :                  if (!(msgs[i].flags & I2C_M_NOSTART) || 0 == 
i) {

Seems to say that "START", "ADDRESS" should only be sent on the first 
message of an i2c transaction (0 == i), this would seem to disagree with 
Documentation/i2c/i2c_protocol (maybe the 7134 does something clever 
automatically, I didn't check).

Also, the transfer is not restarted in a lost arbitration condition (not 
sure if this is a bug or not - maybe it's the job of the client driver 
to do this - I'm not sure)

The first problem might possibly cause trouble if the 352 driver 
switched to using multi-message i2c transactions, rather than single 

> this indicates that there either is wild oscillation or a protocol 
> problem
> with the MT352 resp. the card. Did somebody try to slow down the bus?

The 7134 only seems to support 100kHz, or 400kHz operation.  I haven't 
yet verified that the driver is always using 100kHz mode at the moment 
tho', or seen if there is a way to to force the i2c hardware to wait 
around.  I'll try and do some more on this in the next couple of days.



More information about the linux-dvb mailing list