Commit da215d22 authored by Rusty Scott's avatar Rusty Scott Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3735): Add support for pcHDTV HD5500 ATSC/QAM



Added card definitions for the pcHDTV HD5500 ATSC/QAM card

Signed-off-by: default avatarRusty Scott <rustys@ieee.org>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 62838084
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -45,3 +45,4 @@
 44 -> DViCO FusionHDTV DVB-T Dual Digital                 [18ac:db50,18ac:db54]
 45 -> KWorld HardwareMpegTV XPert                         [17de:0840]
 46 -> DViCO FusionHDTV DVB-T Hybrid                       [18ac:db40,18ac:db44]
 47 -> pcHDTV HD5500 HDTV                                  [7063:5500]
+26 −0
Original line number Diff line number Diff line
@@ -601,6 +601,28 @@ struct cx88_board cx88_boards[] = {
		},
		.dvb            = 1,
	},
	[CX88_BOARD_PCHDTV_HD5500] = {
		.name           = "pcHDTV HD5500 HDTV",
		.tuner_type     = TUNER_LG_TDVS_H062F,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda9887_conf   = TDA9887_PRESENT,
		.input          = {{
			.type   = CX88_VMUX_TELEVISION,
			.vmux   = 0,
			.gpio0  = 0x87fd,
		},{
			.type   = CX88_VMUX_COMPOSITE1,
			.vmux   = 1,
			.gpio0  = 0x87f9,
		},{
			.type   = CX88_VMUX_SVIDEO,
			.vmux   = 2,
			.gpio0  = 0x87f9,
		}},
		.dvb            = 1,
	},
	[CX88_BOARD_HAUPPAUGE_ROSLYN] = {
		// entry added by Kaustubh D. Bhalerao <bhalerao.1@osu.edu>
		// GPIO values obtained from regspy, courtesy Sean Covel
@@ -1311,6 +1333,10 @@ struct cx88_subid cx88_subids[] = {
		.subvendor = 0x18ac,
		.subdevice = 0xdb44,
		.card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID,
	},{
		.subvendor = 0x7063,
		.subdevice = 0x5500,
		.card      = CX88_BOARD_PCHDTV_HD5500,
	},
};
const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
+24 −0
Original line number Diff line number Diff line
@@ -455,6 +455,14 @@ static struct lgdt330x_config fusionhdtv_5_gold = {
	.pll_set          = lgdt330x_pll_set,
	.set_ts_params    = lgdt330x_set_ts_param,
};

static struct lgdt330x_config pchdtv_hd5500 = {
	.demod_address    = 0x59,
	.demod_chip       = LGDT3303,
	.serial_mpeg      = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
	.pll_set          = lgdt330x_pll_set,
	.set_ts_params    = lgdt330x_set_ts_param,
};
#endif

#ifdef HAVE_NXT200X
@@ -661,6 +669,22 @@ static int dvb_register(struct cx8802_dev *dev)
						    &dev->core->i2c_adap);
		}
		break;
	case CX88_BOARD_PCHDTV_HD5500:
		dev->ts_gen_cntrl = 0x08;
		{
		/* Do a hardware reset of chip before using it. */
		struct cx88_core *core = dev->core;

		cx_clear(MO_GP0_IO, 1);
		mdelay(100);
		cx_set(MO_GP0_IO, 1);
		mdelay(200);
		dev->core->pll_addr = 0x61;
		dev->core->pll_desc = &dvb_pll_tdvs_tua6034;
		dev->dvb.frontend = lgdt330x_attach(&pchdtv_hd5500,
						    &dev->core->i2c_adap);
		}
		break;
#endif
#ifdef HAVE_NXT200X
	case CX88_BOARD_ATI_HDTVWONDER:
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ static int cx8802_start_dma(struct cx8802_dev *dev,
		case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q:
		case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T:
		case CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD:
		case CX88_BOARD_PCHDTV_HD5500:
			cx_write(TS_SOP_STAT, 1<<13);
			break;
		case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1:
+1 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL 44
#define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT 45
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID 46
#define CX88_BOARD_PCHDTV_HD5500           47

enum cx88_itype {
	CX88_VMUX_COMPOSITE1 = 1,