aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885/cx23885-dvb.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2009-05-12 16:32:17 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-16 17:21:04 -0400
commit6b926eca9824568b18825d3eade5fb39e3b5a9fb (patch)
treec66d044249ea8087f51c172d812b417752399098 /drivers/media/video/cx23885/cx23885-dvb.c
parent19bc57968cc854c7da4846c21b3ef2a39e43f97d (diff)
V4L/DVB (11771): cx23885: add DVB-T tuning support for Hauppauge WinTV-HVR1210
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index b440b55f22c9..22d1aefc0bf9 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -128,6 +128,15 @@ static struct tda10048_config hauppauge_hvr1200_config = {
128 .clk_freq_khz = TDA10048_CLK_16000, 128 .clk_freq_khz = TDA10048_CLK_16000,
129}; 129};
130 130
131static struct tda10048_config hauppauge_hvr1210_config = {
132 .demod_address = 0x10 >> 1,
133 .output_mode = TDA10048_SERIAL_OUTPUT,
134 .fwbulkwritelen = TDA10048_BULKWRITE_200,
135 .inversion = TDA10048_INVERSION_ON,
136 .if_freq_khz = TDA10048_IF_4000,
137 .clk_freq_khz = TDA10048_CLK_16000,
138};
139
131static struct s5h1409_config hauppauge_ezqam_config = { 140static struct s5h1409_config hauppauge_ezqam_config = {
132 .demod_address = 0x32 >> 1, 141 .demod_address = 0x32 >> 1,
133 .output_mode = S5H1409_SERIAL_OUTPUT, 142 .output_mode = S5H1409_SERIAL_OUTPUT,
@@ -237,6 +246,10 @@ static struct tda18271_config hauppauge_hvr1200_tuner_config = {
237 .gate = TDA18271_GATE_ANALOG, 246 .gate = TDA18271_GATE_ANALOG,
238}; 247};
239 248
249static struct tda18271_config hauppauge_hvr1210_tuner_config = {
250 .gate = TDA18271_GATE_DIGITAL,
251};
252
240static struct tda18271_std_map hcw_lgdt3305_tda18271_std_map = { 253static struct tda18271_std_map hcw_lgdt3305_tda18271_std_map = {
241 .atsc_6 = { .if_freq = 3250, .agc_mode = 3, .std = 4, 254 .atsc_6 = { .if_freq = 3250, .agc_mode = 3, .std = 4,
242 .if_lvl = 1, .rfagc_top = 0x58 }, 255 .if_lvl = 1, .rfagc_top = 0x58 },
@@ -554,6 +567,17 @@ static int dvb_register(struct cx23885_tsport *port)
554 &hauppauge_hvr1200_tuner_config); 567 &hauppauge_hvr1200_tuner_config);
555 } 568 }
556 break; 569 break;
570 case CX23885_BOARD_HAUPPAUGE_HVR1210:
571 i2c_bus = &dev->i2c_bus[0];
572 fe0->dvb.frontend = dvb_attach(tda10048_attach,
573 &hauppauge_hvr1210_config,
574 &i2c_bus->i2c_adap);
575 if (fe0->dvb.frontend != NULL) {
576 dvb_attach(tda18271_attach, fe0->dvb.frontend,
577 0x60, &dev->i2c_bus[1].i2c_adap,
578 &hauppauge_hvr1210_tuner_config);
579 }
580 break;
557 case CX23885_BOARD_HAUPPAUGE_HVR1400: 581 case CX23885_BOARD_HAUPPAUGE_HVR1400:
558 i2c_bus = &dev->i2c_bus[0]; 582 i2c_bus = &dev->i2c_bus[0];
559 fe0->dvb.frontend = dvb_attach(dib7000p_attach, 583 fe0->dvb.frontend = dvb_attach(dib7000p_attach,