Hello everybody,

Recently support was added for the HS8200 (atevio7500) DVB-C and DVB-T/T2 addon tuners. I could finally use my DVB-T tuner under E2. Well, that is what I thought. Mine does not work, but it does under the factory firmware.

After some investigation, I found out Fortis sold two different DVB-T addon tuners for this model. One can handle DVB-T only, the other newer one, both DVB-T and DVB-T2. The latter variant is supported in the current buuild environment, but the DVB-T only model is not.

It turns out the non-working tuner has two main chips: A Samsung S5H1432 demodulator and a MaxLiniar MxL5007T tuner, both parts that have been in existence for about 10 years or so. I found drivers for both in various places. What I did not find are the datasheets and that is the reason for this post.

The drivers I found all assume the S5H1432 and the tuner attached to it are independently controllable over the I2C bus on their indivdual I2C addresses. But in this case they are not: the I2C SDL and SDA lines of the MxL5007T are connected to two pins of the S5H1432, but not to the outside world. This arrangement is sometimes called an I2C gateway: you talk to the tuner addressing the demulator, which in turn passes the I2C messages on in hardware. This has been corroborated by a run of the i2cdetect program: it finds exactly one I2C address on the bus in question, and the driver I have built so far indeed finds an S5H1432 chip on that address (see below).

And here lies the problem. I have no documenation, nor sample code to address the I2C gateway in order to talk to the tuner. Can somebody help me out with either (a part of) the S5H1432 datasheet of some driver code for the S5H1432 that indeed uses the gateway?

NOTE: Word has it that a datasheet for the MxL5007T does not exist, and that the one for the S5H1432 is confidential.

Any help is truly appreciated!

Regards,

Audioniek.

Excerpt from the log of my test setup:
Code:
....
[rcS] Init frontends
[avl2108] avl2108_init >
[avl2108] avl2108_probe >
[avl2108] Found frontend "avl2108" in platform config
[avl2108] avl2108_probe <
[avl2108] avl2108_init < 0
....
[s5h1432] s5h1432_init_module >
[s5h1432] s5h1432_probe >
[s5h1432] Found frontend "s5h1432" in platform config
[s5h1432] s5h1432_probe <
[s5h1432] s5h1432_init_module < 0
[rcS] Init CI & cardreader
....
[avl2108] avl2108_demod_detect > socket-1: i2c-0 addr 0x0c
[avl2108] avl2108_demod_detect: error on i2c transfer (-121) --> correct, no avl2108 present
....
[s5h1432] s5h1432_demod_detect > socket-1: i2c-0 addr 0x03
[s5h1432] s5h1432_demod_detect: Detected Samsung S5H1432 demodulator-> success!?
[s5h1432] s5h1432_demod_detect < 0
[s5h1432] s5h1432_demod_attach >
[s5h1432] s5h1432_register_frontend >
[s5h1432] Tuner enable pin: 80dadb44
[s5h1432] s5h1432_attach >
[mxl5007t] mxl5007t_attach >
[mxl5007t] mxl5007t_get_chip_id >
[mxl5007t] mxl5007t_read_reg >
Unable to handle kernel NULL pointer dereference at virtual address 00000000-> you cannot talk to a non existing mxl5007t directly...
pgd = 87eaf000