diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-07-29 00:39:12 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-08-13 19:39:03 -0400 |
commit | 0a6e44d1beb30813f62ad376a31694e637858328 (patch) | |
tree | 91be9b1b2e3ac1e53597c49710e7925b3580b970 /drivers/media | |
parent | 458f9aa391efd34867f8cabac2e2f1af00cbc562 (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.c | 12 |
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: |