MC44S803 frontend (it works)
Hi.
Quoted 1 line
Finally managed to try your version. It works, with no apparent issue.
Thank you all for this good work. Any ideas as to when will these files hit the mercurial repos at linuxtv.org?
Signature · 8 lines
Luís A. C. Silva [email protected] _______________________________________________ linux-dvb users mailing list For V4L/DVB development, please use instead [email protected] [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 6 lines · Luís Silva
Hi.
Quoted 1 line
Finally managed to try your version. It works, with no apparent issue.
Thank you all for this good work. Any ideas as to when will these files hit the mercurial repos at linuxtv.org?
That is not under my control.
I hope someone will route this driver into official trees.
I can also add that additional tests on VHF frequencies have been successful too.
Best regards.
Signature · 1 line
Roberto Ragusa mail at robertoragusa.it
Hi Roberto,
Quoted 5 lines
Quoted 2 lines
Thank you all for this good work. Any ideas as to when will these files hit the mercurial repos at linuxtv.org?
That is not under my control.
I hope someone will route this driver into official trees.
As the tuner driver currently is only used with AF9015 frontends, I hope Antti will pick this one up. I can resubmit with a Signed-off-by if required.
Quoted 2 lines
I can also add that additional tests on VHF frequencies have been successful too.
Cool.
Thanks,
Jochen
Manu,
looks like your MC44S803 driver is in very good shape with Jochen's changes. When you are planning to push it to the v4l-dvb or Kernel?
regards
Antti
Signature · 1 line
http://palosaari.fi/
Quoted 8 lines · Jochen Friedrich
Hi Roberto,
Quoted 3 lines
Quoted 1 line
Thank you all for this good work. Any ideas as to when will these files hit the mercurial repos at linuxtv.org?
That is not under my control.
I hope someone will route this driver into official trees.As the tuner driver currently is only used with AF9015 frontends, I hope Antti will pick this one up. I can resubmit with a Signed-off-by if required.
Could you explain for changes af9015_i2c_xfer() done? Is it for case I2C READ coming from MC44S803 but tuner does not implement read at all? Is it really needed?
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.
Quoted 7 lines
Quoted 2 lines
I can also add that additional tests on VHF frequencies have been successful too.
Cool.
Thanks,
Jochen
regards
Antti
Signature · 1 line
http://palosaari.fi/
Hi Antti,
Quoted 3 lines
Could you explain for changes
af9015_i2c_xfer()done? Is it for case I2C READ coming from MC44S803 but tuner does not implement read at all? Is it really needed?
Yes. Currently, MC44S803 uses a READ in mc44s80x_get_devid() to check the ID register. According to the spec from freescale, a READ needs to be a seperate I2c transaction, because the STOP bit is used to latch the address registers. That's the reason why a dedicated READ support is needed (most other tuners use a WRITE / READ combined I2c transaction instead).
Quoted 3 lines
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...
Thanks,
Jochen
Quoted 9 lines · Jochen Friedrich
Hi Antti,
Quoted 1 line
Could you explain for changes
af9015_i2c_xfer()done? Is it for case I2C READ coming from MC44S803 but tuner does not implement read at all? Is it really needed?Yes. Currently, MC44S803 uses a READ in
mc44s80x_get_devid()to check the ID register. According to the spec from freescale, a READ needs to be a seperate I2c transaction, because the STOP bit is used to latch the address registers. That's the reason why a dedicated READ support is needed (most other tuners use a WRITE / READ combined I2c transaction instead).
OK. Maybe comment to the code is required, but I can add it. I am willing to see, if you have, usb-sniffs for tuner read and write.
Quoted 4 lines
Quoted 2 lines
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...
Quoted 3 lines
Thanks,
Jochen
regards
Antti
Signature · 1 line
http://palosaari.fi/
Hi Antti,
Quoted 8 lines
Quoted 5 lines
Yes. Currently, MC44S803 uses a READ in
mc44s80x_get_devid()to check the ID register. According to the spec from freescale, a READ needs to be a seperate I2c transaction, because the STOP bit is used to latch the address registers. That's the reason why a dedicated READ support is needed (most other tuners use a WRITE / READ combined I2c transaction instead).OK. Maybe comment to the code is required, but I can add it. I am willing to see, if you have, usb-sniffs for tuner read and write.
there is documentation for this tuner at the freescale web page:
http://www.freescale.com/files/rf_if/doc/data_sheet/MC44S803.pdf?pspll=1
Quoted 1 line
From page 8:
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
Quoted 6 lines
Quoted 4 lines
Quoted 3 lines
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