aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2009-07-29 18:18:28 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 11:19:09 -0400
commitad5f74c0ad9afcc9a20f35850aa5170768c64a0c (patch)
tree021fa66426d9a7bf3c85e6bfa92ded16bdfe23c6 /drivers/media/video/cx88
parentdecee2e8a9538ae5476e6cb3f4b7714c92a04a2b (diff)
V4L/DVB (12486): cx88: fix TBS 8920 card support
It does matter to set explicitly gpio0 value in cx88_board structure for TBS 8920 card. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx88')
-rw-r--r--drivers/media/video/cx88/cx88-cards.c7
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c9
2 files changed, 10 insertions, 6 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 43aa7e06e5bc..e5f07fbd5a35 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1953,7 +1953,8 @@ static const struct cx88_board cx88_boards[] = {
1953 .radio_addr = ADDR_UNSET, 1953 .radio_addr = ADDR_UNSET,
1954 .input = {{ 1954 .input = {{
1955 .type = CX88_VMUX_DVB, 1955 .type = CX88_VMUX_DVB,
1956 .vmux = 1, 1956 .vmux = 0,
1957 .gpio0 = 0x8080,
1957 } }, 1958 } },
1958 .mpeg = CX88_MPEG_DVB, 1959 .mpeg = CX88_MPEG_DVB,
1959 }, 1960 },
@@ -3211,7 +3212,11 @@ static void cx88_card_setup(struct cx88_core *core)
3211 case CX88_BOARD_PROF_6200: 3212 case CX88_BOARD_PROF_6200:
3212 case CX88_BOARD_PROF_7300: 3213 case CX88_BOARD_PROF_7300:
3213 case CX88_BOARD_SATTRADE_ST4200: 3214 case CX88_BOARD_SATTRADE_ST4200:
3215 cx_write(MO_GP0_IO, 0x8000);
3216 msleep(100);
3214 cx_write(MO_SRST_IO, 0); 3217 cx_write(MO_SRST_IO, 0);
3218 msleep(10);
3219 cx_write(MO_GP0_IO, 0x8080);
3215 msleep(100); 3220 msleep(100);
3216 cx_write(MO_SRST_IO, 1); 3221 cx_write(MO_SRST_IO, 1);
3217 msleep(100); 3222 msleep(100);
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 1203e8d2c31e..5d63aa57ae11 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -424,17 +424,16 @@ static int tevii_dvbs_set_voltage(struct dvb_frontend *fe,
424 struct cx8802_dev *dev= fe->dvb->priv; 424 struct cx8802_dev *dev= fe->dvb->priv;
425 struct cx88_core *core = dev->core; 425 struct cx88_core *core = dev->core;
426 426
427 cx_set(MO_GP0_IO, 0x6040);
427 switch (voltage) { 428 switch (voltage) {
428 case SEC_VOLTAGE_13: 429 case SEC_VOLTAGE_13:
429 printk("LNB Voltage SEC_VOLTAGE_13\n"); 430 cx_clear(MO_GP0_IO, 0x20);
430 cx_write(MO_GP0_IO, 0x00006040);
431 break; 431 break;
432 case SEC_VOLTAGE_18: 432 case SEC_VOLTAGE_18:
433 printk("LNB Voltage SEC_VOLTAGE_18\n"); 433 cx_set(MO_GP0_IO, 0x20);
434 cx_write(MO_GP0_IO, 0x00006060);
435 break; 434 break;
436 case SEC_VOLTAGE_OFF: 435 case SEC_VOLTAGE_OFF:
437 printk("LNB Voltage SEC_VOLTAGE_off\n"); 436 cx_clear(MO_GP0_IO, 0x20);
438 break; 437 break;
439 } 438 }
440 439