Skip to contentSkip to conversation

tm6010 : strange i2c

DISCUSSION matthieu castet 1 participant 1 message Jan 29, 2009 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi,

I am trying to make work my hauppauge HVR900H, and I start looking at http://linuxtv.org/hg/~mchehab/tm6010/ drivers and windows usb trace.

After some experiment I found that the i2c is very strange :
* for the zl10353 demodulator, the register read only seems to work if
the register address is odd and we read at least 2 bytes[1]. And the windows driver seems to really do that according usb trace (read always 2 bytes at odd address).

* the windows driver read the eeprom in the strange way : it use
REQ_14_SET_GET_I2C_WR2_RDN, but setting the offset in the high byte of wIndex. And it does 16 bytes read, 1 bytes read for reading again the last 16th byte, and continue 16 bytes read, 1 byte read.

Did the people that worked on the tm6000 driver saw that weird i2c ?

Matthieu

[1]
Doing REQ_16_SET_GET_I2C_WR1_RDN on the demodulator with different register address and read size.

0051: 00
------
0051: 00
------
0052: 00
------
0050: 00
------
004f: 00
------
0050: 00
------
0051: 44 46
------
0051: 44 46
------
0052: 46 46
------
0050: 46 46
------
004f: 46 0c
------
0050: 0c 0c
------
0051: 44 46 15 0f
------
0051: 44 46 15 0f
------
0052: 0f 0f 00 00
------
0050: 00 00 00 00
------
004f: 00 0c 44 46
------
0050: 46 46 00 00
------
0051: 44 46 15 0f 00 00 00 00
------
0051: 44 46 15 0f 00 00 00 00
------
0052: 00 00 00 00 00 00 00 00
------
0050: 00 00 00 00 00 00 00 00
------
004f: 00 0c 44 46 15 0f 00 00
------
0050: 00 00 00 00 00 00 00 00
------
0051: 44 46 15 0f 00 00 00 00 00 48 00 75 0d 0d 0d 00
------
0051: 44 46 15 0f 00 00 00 00 00 48 00 75 0d 0d 0d 00
------
0052: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
------
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
------
004f: 00 0c 44 46 15 0f 00 00 00 00 00 48 00 75 0d 0d
------
0050: 0d 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00
------
0051: 44 46 15 0f 00 00 00 00 00 48 00 75 0d 0d 0d 00 0061: 4d 0a 0f 0f 0f 0f c2 00 00 80 00 00 00 00 00 00
------
0051: 44 46 15 0f 00 00 00 00 00 48 00 75 0d 0d 0d 00 0061: 4d 0a 0f 0f 0f 0f c2 00 00 80 00 00 00 00 00 00
------
0052: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0062: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
------
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
------
004f: 00 0c 44 46 15 0f 00 00 00 00 00 48 00 75 0d 0d 005f: 0d 00 4d 0a 0f 0f 0f 0f c2 00 00 80 00 00 00 00
------
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
------