aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-07-29 00:39:12 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-08-13 19:39:03 -0400
commit0a6e44d1beb30813f62ad376a31694e637858328 (patch)
tree91be9b1b2e3ac1e53597c49710e7925b3580b970 /drivers/media
parent458f9aa391efd34867f8cabac2e2f1af00cbc562 (diff)
V4L/DVB (12344): em28xx: fix support for Plextor ConvertX PX-TV100U
This device uses msp34xx and uses 2.048 MHz frequency for I2S communication. Thanks to Angelo Cano <acano@fastmail.fm> for pointing the issues with this device and proposing an approach for fixing the issue. Tested-by: Angelo Cano <acano@fastmail.fm> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index bc213a1f9c1f..d0b033bce867 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -622,22 +622,27 @@ struct em28xx_board em28xx_boards[] = {
622 }, 622 },
623 [EM2861_BOARD_PLEXTOR_PX_TV100U] = { 623 [EM2861_BOARD_PLEXTOR_PX_TV100U] = {
624 .name = "Plextor ConvertX PX-TV100U", 624 .name = "Plextor ConvertX PX-TV100U",
625 .valid = EM28XX_BOARD_NOT_VALIDATED,
626 .tuner_type = TUNER_TNF_5335MF, 625 .tuner_type = TUNER_TNF_5335MF,
626 .xclk = EM28XX_XCLK_I2S_MSB_TIMING |
627 EM28XX_XCLK_FREQUENCY_12MHZ,
627 .tda9887_conf = TDA9887_PRESENT, 628 .tda9887_conf = TDA9887_PRESENT,
628 .decoder = EM28XX_TVP5150, 629 .decoder = EM28XX_TVP5150,
630 .has_msp34xx = 1,
629 .input = { { 631 .input = { {
630 .type = EM28XX_VMUX_TELEVISION, 632 .type = EM28XX_VMUX_TELEVISION,
631 .vmux = TVP5150_COMPOSITE0, 633 .vmux = TVP5150_COMPOSITE0,
632 .amux = EM28XX_AMUX_LINE_IN, 634 .amux = EM28XX_AMUX_LINE_IN,
635 .gpio = pinnacle_hybrid_pro_analog,
633 }, { 636 }, {
634 .type = EM28XX_VMUX_COMPOSITE1, 637 .type = EM28XX_VMUX_COMPOSITE1,
635 .vmux = TVP5150_COMPOSITE1, 638 .vmux = TVP5150_COMPOSITE1,
636 .amux = EM28XX_AMUX_LINE_IN, 639 .amux = EM28XX_AMUX_LINE_IN,
640 .gpio = pinnacle_hybrid_pro_analog,
637 }, { 641 }, {
638 .type = EM28XX_VMUX_SVIDEO, 642 .type = EM28XX_VMUX_SVIDEO,
639 .vmux = TVP5150_SVIDEO, 643 .vmux = TVP5150_SVIDEO,
640 .amux = EM28XX_AMUX_LINE_IN, 644 .amux = EM28XX_AMUX_LINE_IN,
645 .gpio = pinnacle_hybrid_pro_analog,
641 } }, 646 } },
642 }, 647 },
643 648
@@ -1877,9 +1882,8 @@ void em28xx_pre_card_setup(struct em28xx *dev)
1877 /* request some modules */ 1882 /* request some modules */
1878 switch (dev->model) { 1883 switch (dev->model) {
1879 case EM2861_BOARD_PLEXTOR_PX_TV100U: 1884 case EM2861_BOARD_PLEXTOR_PX_TV100U:
1880 /* FIXME guess */ 1885 /* Sets the msp34xx I2S speed */
1881 /* Turn on analog audio output */ 1886 dev->i2s_speed = 2048000;
1882 em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfd);
1883 break; 1887 break;
1884 case EM2861_BOARD_KWORLD_PVRTV_300U: 1888 case EM2861_BOARD_KWORLD_PVRTV_300U:
1885 case EM2880_BOARD_KWORLD_DVB_305U: 1889 case EM2880_BOARD_KWORLD_DVB_305U: