diff options
author | Rusty Scott <rustys@ieee.org> | 2006-04-07 01:21:31 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-25 00:57:48 -0400 |
commit | da215d22d82d547c5312f61ac9881ad571e67eea (patch) | |
tree | bb5f951cd219acb8fe4f97e5608ad4ddb078e0c7 | |
parent | 62838084b4c4c83cd511893132e2d8da84f48813 (diff) |
V4L/DVB (3735): Add support for pcHDTV HD5500 ATSC/QAM
Added card definitions for the pcHDTV HD5500 ATSC/QAM card
Signed-off-by: Rusty Scott <rustys@ieee.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.cx88 | 1 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 26 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 24 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-mpeg.c | 1 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 1 |
5 files changed, 53 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index 3b39a91b24bd..f85907ee2416 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -45,3 +45,4 @@ | |||
45 | 44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50,18ac:db54] | 45 | 44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50,18ac:db54] |
46 | 45 -> KWorld HardwareMpegTV XPert [17de:0840] | 46 | 45 -> KWorld HardwareMpegTV XPert [17de:0840] |
47 | 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44] | 47 | 46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44] |
48 | 47 -> pcHDTV HD5500 HDTV [7063:5500] | ||
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index f80154b87d22..55ea37dd85ba 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -601,6 +601,28 @@ struct cx88_board cx88_boards[] = { | |||
601 | }, | 601 | }, |
602 | .dvb = 1, | 602 | .dvb = 1, |
603 | }, | 603 | }, |
604 | [CX88_BOARD_PCHDTV_HD5500] = { | ||
605 | .name = "pcHDTV HD5500 HDTV", | ||
606 | .tuner_type = TUNER_LG_TDVS_H062F, | ||
607 | .radio_type = UNSET, | ||
608 | .tuner_addr = ADDR_UNSET, | ||
609 | .radio_addr = ADDR_UNSET, | ||
610 | .tda9887_conf = TDA9887_PRESENT, | ||
611 | .input = {{ | ||
612 | .type = CX88_VMUX_TELEVISION, | ||
613 | .vmux = 0, | ||
614 | .gpio0 = 0x87fd, | ||
615 | },{ | ||
616 | .type = CX88_VMUX_COMPOSITE1, | ||
617 | .vmux = 1, | ||
618 | .gpio0 = 0x87f9, | ||
619 | },{ | ||
620 | .type = CX88_VMUX_SVIDEO, | ||
621 | .vmux = 2, | ||
622 | .gpio0 = 0x87f9, | ||
623 | }}, | ||
624 | .dvb = 1, | ||
625 | }, | ||
604 | [CX88_BOARD_HAUPPAUGE_ROSLYN] = { | 626 | [CX88_BOARD_HAUPPAUGE_ROSLYN] = { |
605 | // entry added by Kaustubh D. Bhalerao <bhalerao.1@osu.edu> | 627 | // entry added by Kaustubh D. Bhalerao <bhalerao.1@osu.edu> |
606 | // GPIO values obtained from regspy, courtesy Sean Covel | 628 | // GPIO values obtained from regspy, courtesy Sean Covel |
@@ -1311,6 +1333,10 @@ struct cx88_subid cx88_subids[] = { | |||
1311 | .subvendor = 0x18ac, | 1333 | .subvendor = 0x18ac, |
1312 | .subdevice = 0xdb44, | 1334 | .subdevice = 0xdb44, |
1313 | .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID, | 1335 | .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID, |
1336 | },{ | ||
1337 | .subvendor = 0x7063, | ||
1338 | .subdevice = 0x5500, | ||
1339 | .card = CX88_BOARD_PCHDTV_HD5500, | ||
1314 | }, | 1340 | }, |
1315 | }; | 1341 | }; |
1316 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); | 1342 | const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); |
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index 3619a449aefd..5c05e09e73fa 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -455,6 +455,14 @@ static struct lgdt330x_config fusionhdtv_5_gold = { | |||
455 | .pll_set = lgdt330x_pll_set, | 455 | .pll_set = lgdt330x_pll_set, |
456 | .set_ts_params = lgdt330x_set_ts_param, | 456 | .set_ts_params = lgdt330x_set_ts_param, |
457 | }; | 457 | }; |
458 | |||
459 | static struct lgdt330x_config pchdtv_hd5500 = { | ||
460 | .demod_address = 0x59, | ||
461 | .demod_chip = LGDT3303, | ||
462 | .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */ | ||
463 | .pll_set = lgdt330x_pll_set, | ||
464 | .set_ts_params = lgdt330x_set_ts_param, | ||
465 | }; | ||
458 | #endif | 466 | #endif |
459 | 467 | ||
460 | #ifdef HAVE_NXT200X | 468 | #ifdef HAVE_NXT200X |
@@ -661,6 +669,22 @@ static int dvb_register(struct cx8802_dev *dev) | |||
661 | &dev->core->i2c_adap); | 669 | &dev->core->i2c_adap); |
662 | } | 670 | } |
663 | break; | 671 | break; |
672 | case CX88_BOARD_PCHDTV_HD5500: | ||
673 | dev->ts_gen_cntrl = 0x08; | ||
674 | { | ||
675 | /* Do a hardware reset of chip before using it. */ | ||
676 | struct cx88_core *core = dev->core; | ||
677 | |||
678 | cx_clear(MO_GP0_IO, 1); | ||
679 | mdelay(100); | ||
680 | cx_set(MO_GP0_IO, 1); | ||
681 | mdelay(200); | ||
682 | dev->core->pll_addr = 0x61; | ||
683 | dev->core->pll_desc = &dvb_pll_tdvs_tua6034; | ||
684 | dev->dvb.frontend = lgdt330x_attach(&pchdtv_hd5500, | ||
685 | &dev->core->i2c_adap); | ||
686 | } | ||
687 | break; | ||
664 | #endif | 688 | #endif |
665 | #ifdef HAVE_NXT200X | 689 | #ifdef HAVE_NXT200X |
666 | case CX88_BOARD_ATI_HDTVWONDER: | 690 | case CX88_BOARD_ATI_HDTVWONDER: |
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c index 7d16888b4a86..810bf8d220c5 100644 --- a/drivers/media/video/cx88/cx88-mpeg.c +++ b/drivers/media/video/cx88/cx88-mpeg.c | |||
@@ -76,6 +76,7 @@ static int cx8802_start_dma(struct cx8802_dev *dev, | |||
76 | case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q: | 76 | case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q: |
77 | case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T: | 77 | case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T: |
78 | case CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD: | 78 | case CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD: |
79 | case CX88_BOARD_PCHDTV_HD5500: | ||
79 | cx_write(TS_SOP_STAT, 1<<13); | 80 | cx_write(TS_SOP_STAT, 1<<13); |
80 | break; | 81 | break; |
81 | case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1: | 82 | case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1: |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 326a25f147f6..12944f7a9be2 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -189,6 +189,7 @@ extern struct sram_channel cx88_sram_channels[]; | |||
189 | #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL 44 | 189 | #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL 44 |
190 | #define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45 | 190 | #define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45 |
191 | #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46 | 191 | #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46 |
192 | #define CX88_BOARD_PCHDTV_HD5500 47 | ||
192 | 193 | ||
193 | enum cx88_itype { | 194 | enum cx88_itype { |
194 | CX88_VMUX_COMPOSITE1 = 1, | 195 | CX88_VMUX_COMPOSITE1 = 1, |