diff options
author | Michael Krufky <mkrufky@kernellabs.com> | 2009-05-12 16:32:17 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 17:21:04 -0400 |
commit | 6b926eca9824568b18825d3eade5fb39e3b5a9fb (patch) | |
tree | c66d044249ea8087f51c172d812b417752399098 /drivers/media/video/cx23885/cx23885-dvb.c | |
parent | 19bc57968cc854c7da4846c21b3ef2a39e43f97d (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.c | 24 |
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 | ||
131 | static 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 | |||
131 | static struct s5h1409_config hauppauge_ezqam_config = { | 140 | static 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 | ||
249 | static struct tda18271_config hauppauge_hvr1210_tuner_config = { | ||
250 | .gate = TDA18271_GATE_DIGITAL, | ||
251 | }; | ||
252 | |||
240 | static struct tda18271_std_map hcw_lgdt3305_tda18271_std_map = { | 253 | static 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, |