No subject


Thu Jan 8 07:11:05 CET 2009


I2C OPERATION
The same 24-bit shift register is used to shift data in and
out of the part. The input data stream is clocked in on the
rising edge of SCLK into the shift register with the MSB first.
The IC Address and R/W bit are sent first. This allows the IC
to determine if it is the device that is being communicated
with. After that, 24 bits are clocked in to control the IC. If less
than 24 bits are required, then 16 or 8 bits could be used. In
other words, commands can be sent in 1, 2, or 3 byte
increments depending on the requirements for the particular
control register you are writing to. Data can be read back from
the IC in 1, 2, or 3 byte increments also. The Master controls
the clock line, whether writing to the part or reading from it.
After each byte that is sent, the device that receives it sends
an acknowledge bit. The output data stream is clocked out of
the shift register on the falling edge of SCLK and valid on the
rising edge, with the MSB first. The data stored in the shift
register is loaded into one of the appropriate registers after
the Stop Condition is sent. The 4 LSBs are the Control
Register Address Bits.

This means a READ needs to be implemented using 2 transactions.
One transaction to write the address and one to read the value back.

The read operations are specified on pages 22 and 23:

There are 16 Data Registers that can be read back from
the IC. The 1011 Control Register (Data Register Address)
controls which of these Data Registers will be read out of the
IC during the next read operation. To select the desired Data
Register this address register first needs to be set. Then on
the next read operation the desired data will be available.

Currently the driver only reads the ID bits to verify it's talking to a 
MC44S80x chip.

The READ operation was modeled after the "official" driver from TerraTec:

ftp://ftp.terratec.net/Receiver/Cinergy_T_USB_XE/Update/Cinergy_T_USB_XE_MKII_Drv_Linux.zip

>>> Maybe I can move MC44S803 and needed AF9015 changes to my devel tree at 
>>> linuxtv.org... But that does not change problem that tuner is not still 
>>> in v4l-dvb-master nor coming for Kernel before Manu will pull it.
>> Unfortunately, i didn't see any comments from Manu yet...
> 
> we will waiting...

OK, we'll do.

Thanks,
Jochen



More information about the linux-dvb mailing list