[linux-dvb] HVR-4000 driver problems - i2c error
Mika Laitio
lamikr at pilppa.org
Thu Sep 25 00:21:27 CEST 2008
> The ~stoth/hg/s2 has no DVB-T support on the HVR4000 yet. Those patches will
> appear very shortly in ~stoth/hg/s2-mfe.
Thanks,
I build and installed drivers from s2-mfe branch and now atleast the dvb-t
and dvb-s scan were working both for hvr-1300 and hvr-4000.
With hvr-4000, the scan worked with
"./scan -a 1 -f 1 "... parameters.
>> WIth liplianinis multiproto version the selection between DVB-S and DVB-T
>> works by using the "options cx88-dvb frontend=1" but I am seeing the i2c
>> errors described below.
>>
>> Could you have any URL and changeset tag to patch in some repository where
>> this I2C thing has been fixed?
>
> I'm speculating that your issue is the same issue I fixed sometime ago (2-3
> months in the master repo). I'd suggest you wait for the
> ~ stoth/hg/s2-mfe patches to appear later tonight and test again.
>
> That tree (and ~stoth/hg/s2 for that matter) have the i2c fix I'm referring
> to.
I tried to find the fix by checking from the log your commits for cx88
couple of months ago and could not find the one you were referring.
Then I remembered that in 2.6.25 kernel, similar errors for HVR-1300 could
be fixed by defining the radio information for the board structure.
So I tried the same trick also for hvr-4000, and that made dvb-t working
without I2C errors also for HVR4000. ( with liplianis version of
multiproto tree.)
--- cx88-cards.c_old 2008-09-25 00:51:18.000000000 +0300
+++ cx88-cards.c 2008-09-24 10:44:15.000000000 +0300
@@ -1480,6 +1480,10 @@
}},
/* fixme: Add radio support */
.mpeg = CX88_MPEG_DVB,
+ .radio = {
+ .type = CX88_RADIO,
+ .gpio0 = 0xe780,
+ },
},
[CX88_BOARD_HAUPPAUGE_HVR4000LITE] = {
.name = "Hauppauge WinTV-HVR4000(Lite)
DVB-S/S2",
In S2 and S2-mfe, the dvb-t worked even without radio data defined for
hvr-4000.
Other non-API related changes that I could found between multiproto and s2
trees for CX88 were pretty small. Is this udelay really needed?
@@ -2594,8 +2598,9 @@
break;
case CX88_BOARD_HAUPPAUGE_HVR3000: /* ? */
case CX88_BOARD_HAUPPAUGE_HVR4000:
- /* Init GPIO for DVB-S/S2/Analog */
- cx_write(MO_GP0_IO,core->board.input[0].gpio0);
+ /* Init GPIO */
+ cx_write(MO_GP0_IO, core->board.input[0].gpio0);
+ udelay(1000);
break;
case CX88_BOARD_PROLINK_PV_8000GT:
@@ -2939,6 +2944,7 @@
cx88_card_list(core, pci);
}
+ memset(&core->board, 0, sizeof(core->board));
memcpy(&core->board, &cx88_boards[core->boardnr],
sizeof(core->board));
info_printk(core, "subsystem: %04x:%04x, board: %s
[card=%d,%s]\n",
Those did not help
More information about the linux-dvb
mailing list