On 28 июля 2009 04:21:54 Mark Zimmerman wrote: > On Mon, Jul 27, 2009 at 08:50:20PM +0300, Igor M. Liplianin wrote: > > On 27 ???? 2009 04:43:16 Mark Zimmerman wrote: > > > On Sun, Jul 26, 2009 at 03:29:13PM +0300, Igor M. Liplianin wrote: > > > > On 25 ???? 2009 05:22:06 Mark Zimmerman wrote: > > > > > On Fri, Jul 24, 2009 at 07:06:11PM +0300, Igor M. Liplianin wrote: > > > > > > On 24 ???? 2009 05:33:15 Mark Zimmerman wrote: > > > > > > > Greetings: > > > > > > > > > > > > > > Using current current v4l-dvb drivers, I get the following in > > > > > > > the dmesg: > > > > > > > > > > > > > > cx88[1]/2: subsystem: 8920:8888, board: TBS 8920 DVB-S/S2 > > > > > > > [card=72] cx88[1]/2: cx2388x based DVB/ATSC card > > > > > > > cx8802_alloc_frontends() allocating 1 frontend(s) > > > > > > > cx24116_readreg: reg=0xff (error=-6) > > > > > > > cx24116_readreg: reg=0xfe (error=-6) > > > > > > > Invalid probe, probably not a CX24116 device > > > > > > > cx88[1]/2: frontend initialization failed > > > > > > > cx88[1]/2: dvb_register failed (err = -22) > > > > > > > cx88[1]/2: cx8802 probe failed, err = -22 > > > > > > > > > > > > > > Does this mean that one of the chips on this card is different > > > > > > > than expected? How can I gather useful information about this? > > > > > > Please try attached patch against recent v4l-dvb. It does matter to set explicitly gpio0 value in cx88_board structure for TBS 8920 card. Igor
# HG changeset patch # User Igor M. Liplianin <liplianin@xxxxx> # Date 1248905908 -10800 # Node ID d2dee95e2da26a145cca2d081be86793cc9b07ea # Parent ee6cf88cb5d3faf861289fce0ef0385846adcc7c fix TBS 8920 card support diff -r ee6cf88cb5d3 -r d2dee95e2da2 linux/drivers/media/video/cx88/cx88-cards.c --- a/linux/drivers/media/video/cx88/cx88-cards.c Wed Jul 29 01:42:02 2009 -0300 +++ b/linux/drivers/media/video/cx88/cx88-cards.c Thu Jul 30 01:18:28 2009 +0300 @@ -1941,7 +1941,8 @@ .radio_addr = ADDR_UNSET, .input = {{ .type = CX88_VMUX_DVB, - .vmux = 1, + .vmux = 0, + .gpio0 = 0x8080, } }, .mpeg = CX88_MPEG_DVB, }, @@ -3187,7 +3188,11 @@ case CX88_BOARD_PROF_6200: case CX88_BOARD_PROF_7300: case CX88_BOARD_SATTRADE_ST4200: + cx_write(MO_GP0_IO, 0x8000); + msleep(100); cx_write(MO_SRST_IO, 0); + msleep(10); + cx_write(MO_GP0_IO, 0x8080); msleep(100); cx_write(MO_SRST_IO, 1); msleep(100); diff -r ee6cf88cb5d3 -r d2dee95e2da2 linux/drivers/media/video/cx88/cx88-dvb.c --- a/linux/drivers/media/video/cx88/cx88-dvb.c Wed Jul 29 01:42:02 2009 -0300 +++ b/linux/drivers/media/video/cx88/cx88-dvb.c Thu Jul 30 01:18:28 2009 +0300 @@ -425,17 +425,16 @@ struct cx8802_dev *dev= fe->dvb->priv; struct cx88_core *core = dev->core; + cx_set(MO_GP0_IO, 0x6040); switch (voltage) { case SEC_VOLTAGE_13: - printk("LNB Voltage SEC_VOLTAGE_13\n"); - cx_write(MO_GP0_IO, 0x00006040); + cx_clear(MO_GP0_IO, 0x20); break; case SEC_VOLTAGE_18: - printk("LNB Voltage SEC_VOLTAGE_18\n"); - cx_write(MO_GP0_IO, 0x00006060); + cx_set(MO_GP0_IO, 0x20); break; case SEC_VOLTAGE_OFF: - printk("LNB Voltage SEC_VOLTAGE_off\n"); + cx_clear(MO_GP0_IO, 0x20); break; }