diff options
author | Igor M. Liplianin <liplianin@me.by> | 2009-07-29 18:18:28 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-12 11:19:09 -0400 |
commit | ad5f74c0ad9afcc9a20f35850aa5170768c64a0c (patch) | |
tree | 021fa66426d9a7bf3c85e6bfa92ded16bdfe23c6 /drivers/media/video/cx88 | |
parent | decee2e8a9538ae5476e6cb3f4b7714c92a04a2b (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.c | 7 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 9 |
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 | ||