Skip to contentSkip to conversation

MC44S803 frontend (it works)

linux-dvb Luís Silva 4 participants 8 messages Jan 9, 2009 – Jan 10, 2009 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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
#2 lore raw

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

#3 lore raw

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/
#4 lore raw
In reply to Jochen Friedrich
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/
#5 lore raw

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

#6 lore raw
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/
#7 lore raw

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