[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
message
> 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.
Cheers,
Tim.
More information about the linux-dvb
mailing list