There are some bugs that prevent working of remote control with
Hauppauge HVR1300 cards. I don't know what a convention for submitting
bugs and patches here, so i simply post to mailing list.
First, there is missing break statement in probe of Z8F0811 controller
in ir-kbd-i2c.c in function ir_probe, line 552:
...
case I2C_HW_B_CX2388x:
probe = probe_cx88;
break;
case I2C_HW_B_CX23885:
...
Second "bug" is related to initialization of Z8F0811 controller. Reset
of this 8-bit microcontroller is connected to GPIO[3] of CX23882 chip,
it was previously configured as input, so the reset pin was floating
which mostly was 0(=reset), but sometimes in 1 (and then the controller
was working). So we must initialize this GPIO pin to output and reset
Z8F0811correctly. We can use the code for reseting CX22702 here - it
makes the same.
So in cx88-cards.c we replace the code in function
cx88_card_setup_pre_i2c line 1923 to:
....
static void cx88_card_setup_pre_i2c(struct cx88_core *core)
{
switch (core->boardnr) {
case CX88_BOARD_HAUPPAUGE_HVR1300:
/* Bring the 702 demod up before i2c scanning/attach or devices
are hidden */
/* We leave here with the 702 on the bus */
/* also reset the IR receiver on GPIO[3] */
cx_write(MO_GP0_IO, 0x0000ef88);
udelay(1000);
cx_clear(MO_GP0_IO, 0x00000088);
udelay(50);
cx_set(MO_GP0_IO, 0x00000088); /* 702 out of reset */
udelay(1000);
break;
}
}
....
and also in card init structures, line 1372, change .gpio0 from 0xe780
to 0xef88
.....
[CX88_BOARD_HAUPPAUGE_HVR1300] = {
.name = "Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder",
.tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.audio_chip = AUDIO_CHIP_WM8775,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
.gpio0 = 0xef88,
.audioroute = 1,
},{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
.gpio0 = 0xef88,
.audioroute = 2,
},{
.type = CX88_VMUX_SVIDEO,
.vmux = 2,
.gpio0 = 0xef88,
.audioroute = 2,
}},
/* fixme: Add radio support */
.mpeg = CX88_MPEG_DVB | CX88_MPEG_BLACKBIRD,
},
.....
Now the card works good in DVB and analog, but there is still one bug:
the tuner is not recognized properly before demodulator and pll
initialization. This should be done by this card in analog parts too,
not only dvb. But i am missing some information - datasheets for the
tuner FMD1216ME and CX22702, is there somebody to send it to me? (Trent
Piepho, Steven Toth talked about this problem here:
http://www.linuxtv.org/pipermail/linux-dvb/2007-March/016585.html)
Thanks for applying patches and for help
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb