提交 1bc7f51c 编写于 作者: M Michael Krufky 提交者: Mauro Carvalho Chehab

V4L/DVB (11861): saa7134: enable digital tv support for Hauppauge WinTV-HVR1110r3

Signed-off-by: NMichael Krufky <mkrufky@kernellabs.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 b9dcdb6f
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
153 -> Kworld Plus TV Analog Lite PCI [17de:7128] 153 -> Kworld Plus TV Analog Lite PCI [17de:7128]
154 -> Avermedia AVerTV GO 007 FM Plus [1461:f31d] 154 -> Avermedia AVerTV GO 007 FM Plus [1461:f31d]
155 -> Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid [0070:6706,0070:6708] 155 -> Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid [0070:6706,0070:6708]
156 -> Hauppauge WinTV-HVR1110r3 [0070:6707,0070:6709,0070:670a] 156 -> Hauppauge WinTV-HVR1110r3 DVB-T/Hybrid [0070:6707,0070:6709,0070:670a]
157 -> Avermedia AVerTV Studio 507UA [1461:a11b] 157 -> Avermedia AVerTV Studio 507UA [1461:a11b]
158 -> AVerMedia Cardbus TV/Radio (E501R) [1461:b7e9] 158 -> AVerMedia Cardbus TV/Radio (E501R) [1461:b7e9]
159 -> Beholder BeholdTV 505 RDS [0000:505B] 159 -> Beholder BeholdTV 505 RDS [0000:505B]
......
...@@ -44,6 +44,7 @@ config VIDEO_SAA7134_DVB ...@@ -44,6 +44,7 @@ config VIDEO_SAA7134_DVB
select DVB_LNBP21 if !DVB_FE_CUSTOMISE select DVB_LNBP21 if !DVB_FE_CUSTOMISE
select DVB_ZL10353 if !DVB_FE_CUSTOMISE select DVB_ZL10353 if !DVB_FE_CUSTOMISE
select DVB_LGDT3305 if !DVB_FE_CUSTOMISE select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
select DVB_TDA10048 if !DVB_FE_CUSTOMISE
select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
---help--- ---help---
......
...@@ -3364,13 +3364,15 @@ struct saa7134_board saa7134_boards[] = { ...@@ -3364,13 +3364,15 @@ struct saa7134_board saa7134_boards[] = {
}, },
}, },
[SAA7134_BOARD_HAUPPAUGE_HVR1110R3] = { [SAA7134_BOARD_HAUPPAUGE_HVR1110R3] = {
.name = "Hauppauge WinTV-HVR1110r3", .name = "Hauppauge WinTV-HVR1110r3 DVB-T/Hybrid",
.audio_clock = 0x00187de7, .audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290, .tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET, .radio_type = UNSET,
.tuner_addr = ADDR_UNSET, .tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET,
.tuner_config = 3, .tuner_config = 3,
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_SERIAL,
.gpiomask = 0x0800100, /* GPIO 21 is an INPUT */ .gpiomask = 0x0800100, /* GPIO 21 is an INPUT */
.inputs = {{ .inputs = {{
.name = name_tv, .name = name_tv,
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
#include "isl6405.h" #include "isl6405.h"
#include "lnbp21.h" #include "lnbp21.h"
#include "tuner-simple.h" #include "tuner-simple.h"
#include "tda10048.h"
#include "tda18271.h" #include "tda18271.h"
#include "lgdt3305.h" #include "lgdt3305.h"
#include "tda8290.h" #include "tda8290.h"
...@@ -978,6 +979,18 @@ static struct lgdt3305_config hcw_lgdt3305_config = { ...@@ -978,6 +979,18 @@ static struct lgdt3305_config hcw_lgdt3305_config = {
.vsb_if_khz = 3250, .vsb_if_khz = 3250,
}; };
static struct tda10048_config hcw_tda10048_config = {
.demod_address = 0x10 >> 1,
.output_mode = TDA10048_SERIAL_OUTPUT,
.fwbulkwritelen = TDA10048_BULKWRITE_200,
.inversion = TDA10048_INVERSION_ON,
.dtv6_if_freq_khz = TDA10048_IF_3300,
.dtv7_if_freq_khz = TDA10048_IF_3500,
.dtv8_if_freq_khz = TDA10048_IF_4000,
.clk_freq_khz = TDA10048_CLK_16000,
.disable_gate_access = 1,
};
static struct tda18271_std_map hauppauge_tda18271_std_map = { static struct tda18271_std_map hauppauge_tda18271_std_map = {
.atsc_6 = { .if_freq = 3250, .agc_mode = 3, .std = 4, .atsc_6 = { .if_freq = 3250, .agc_mode = 3, .std = 4,
.if_lvl = 1, .rfagc_top = 0x58, }, .if_lvl = 1, .rfagc_top = 0x58, },
...@@ -1106,6 +1119,19 @@ static int dvb_init(struct saa7134_dev *dev) ...@@ -1106,6 +1119,19 @@ static int dvb_init(struct saa7134_dev *dev)
&tda827x_cfg_2) < 0) &tda827x_cfg_2) < 0)
goto dettach_frontend; goto dettach_frontend;
break; break;
case SAA7134_BOARD_HAUPPAUGE_HVR1110R3:
fe0->dvb.frontend = dvb_attach(tda10048_attach,
&hcw_tda10048_config,
&dev->i2c_adap);
if (fe0->dvb.frontend != NULL) {
dvb_attach(tda829x_attach, fe0->dvb.frontend,
&dev->i2c_adap, 0x4b,
&tda829x_no_probe);
dvb_attach(tda18271_attach, fe0->dvb.frontend,
0x60, &dev->i2c_adap,
&hcw_tda18271_config);
}
break;
case SAA7134_BOARD_PHILIPS_TIGER: case SAA7134_BOARD_PHILIPS_TIGER:
if (configure_tda827x_fe(dev, &philips_tiger_config, if (configure_tda827x_fe(dev, &philips_tiger_config,
&tda827x_cfg_0) < 0) &tda827x_cfg_0) < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册