Re: [PATCH] make the registers of the stv0297 visible for other applications (e.g. i2cdump)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manu Abraham wrote:
> Johannes Stezenbach wrote:
>> On Sun, May 20, 2007, e9hack wrote:
>>> With the attached patch, it works for the stv0297 functions. It
>>> doesn't solve the problem, why I've wrote the initial patch. I need a
>>> dump from the registers of the stv0297. I've attach a second patch.
>>> stv0297_attach() inserts a wrapper between i2ctransfer() and the
>>> transfer function of the saa7146. The add/del functions for the
>>> wrapper are a little bit
>>> dirty. I didn't find a clean way for the add/del function.
>> Hm, I was trying to tell you that the problem is in i2cdump,
>> not in saa7146 or stv0297.
>>
>> i2cdump is simply limited to simple SMBUS-like transfers,
>> but I think it wouldn't be difficult to extend it or
>> write a new utility which uses the I2C_RDWR ioctl to
>> perform the transfer as required by stv0297.
> 
> I have been looking at the STV0297D/E datasheets specifically to check
> this issue (and i don't see any differences than how it is "potentially'
> differently from other devices):
> 
> HTH
> 
> 
> The STV0297D/E datasheet defines the transaction thus ..
> 
> I2C Write:
> 
> START
> SLAVE ADDRESS
> R/W
> ACK
> BASE ADDRESS
> ACK
> DATA BYTE 1
> ACK
> DATA BYTE 2
> ACK
> DATA BYTE 1
> ACK
> DATA BYTE n
> ACK
> STOP
> (All ACk's by the STV0297E)
> 
> I2C Read:
> 
> START
> SLAVE ADDRESS
> R/W
> ACK (STV0297)
> BASE ADDRESS
> ACK (STV0297)
> STOP
> START
> SLAVE ADDRESS
> R/W
> ACK (STV0297)
> DATA BYTE 1
> ACK (Host)
> DATA BYTE n
> ACK (Host)
> STOP
> 

I did look at a couple of other demodulators from STM, on this aspect,
even though not all or most devices, more than a few devices they do
feature a STOP bit after the Address phase.

The I2C_M_STOP flag makes sense in such a case, since it would be a
generic case, than STV0297 specific. It is not a bug, nor it is specific
to the STV0297. You win ..

I think the windows driver just does a field_write, looking at some
sample code here and there.



_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux