diff options
author | Michael Krufky <mkrufky@kernellabs.com> | 2009-01-18 23:10:49 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 17:21:14 -0400 |
commit | 1bc7f51c57c52cfac1a455d8f8ef99703e719e55 (patch) | |
tree | 426e106bfe42e59127b5d59ec5daa998824d0154 /drivers/media/video/saa7134/saa7134-dvb.c | |
parent | b9dcdb6fb870ce83578465b3ffd047185bead67f (diff) |
V4L/DVB (11861): saa7134: enable digital tv support for Hauppauge WinTV-HVR1110r3
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-dvb.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 4eff1ca8593c..31930f26ffc7 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include "isl6405.h" | 48 | #include "isl6405.h" |
49 | #include "lnbp21.h" | 49 | #include "lnbp21.h" |
50 | #include "tuner-simple.h" | 50 | #include "tuner-simple.h" |
51 | #include "tda10048.h" | ||
51 | #include "tda18271.h" | 52 | #include "tda18271.h" |
52 | #include "lgdt3305.h" | 53 | #include "lgdt3305.h" |
53 | #include "tda8290.h" | 54 | #include "tda8290.h" |
@@ -978,6 +979,18 @@ static struct lgdt3305_config hcw_lgdt3305_config = { | |||
978 | .vsb_if_khz = 3250, | 979 | .vsb_if_khz = 3250, |
979 | }; | 980 | }; |
980 | 981 | ||
982 | static struct tda10048_config hcw_tda10048_config = { | ||
983 | .demod_address = 0x10 >> 1, | ||
984 | .output_mode = TDA10048_SERIAL_OUTPUT, | ||
985 | .fwbulkwritelen = TDA10048_BULKWRITE_200, | ||
986 | .inversion = TDA10048_INVERSION_ON, | ||
987 | .dtv6_if_freq_khz = TDA10048_IF_3300, | ||
988 | .dtv7_if_freq_khz = TDA10048_IF_3500, | ||
989 | .dtv8_if_freq_khz = TDA10048_IF_4000, | ||
990 | .clk_freq_khz = TDA10048_CLK_16000, | ||
991 | .disable_gate_access = 1, | ||
992 | }; | ||
993 | |||
981 | static struct tda18271_std_map hauppauge_tda18271_std_map = { | 994 | static struct tda18271_std_map hauppauge_tda18271_std_map = { |
982 | .atsc_6 = { .if_freq = 3250, .agc_mode = 3, .std = 4, | 995 | .atsc_6 = { .if_freq = 3250, .agc_mode = 3, .std = 4, |
983 | .if_lvl = 1, .rfagc_top = 0x58, }, | 996 | .if_lvl = 1, .rfagc_top = 0x58, }, |
@@ -1106,6 +1119,19 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1106 | &tda827x_cfg_2) < 0) | 1119 | &tda827x_cfg_2) < 0) |
1107 | goto dettach_frontend; | 1120 | goto dettach_frontend; |
1108 | break; | 1121 | break; |
1122 | case SAA7134_BOARD_HAUPPAUGE_HVR1110R3: | ||
1123 | fe0->dvb.frontend = dvb_attach(tda10048_attach, | ||
1124 | &hcw_tda10048_config, | ||
1125 | &dev->i2c_adap); | ||
1126 | if (fe0->dvb.frontend != NULL) { | ||
1127 | dvb_attach(tda829x_attach, fe0->dvb.frontend, | ||
1128 | &dev->i2c_adap, 0x4b, | ||
1129 | &tda829x_no_probe); | ||
1130 | dvb_attach(tda18271_attach, fe0->dvb.frontend, | ||
1131 | 0x60, &dev->i2c_adap, | ||
1132 | &hcw_tda18271_config); | ||
1133 | } | ||
1134 | break; | ||
1109 | case SAA7134_BOARD_PHILIPS_TIGER: | 1135 | case SAA7134_BOARD_PHILIPS_TIGER: |
1110 | if (configure_tda827x_fe(dev, &philips_tiger_config, | 1136 | if (configure_tda827x_fe(dev, &philips_tiger_config, |
1111 | &tda827x_cfg_0) < 0) | 1137 | &tda827x_cfg_0) < 0) |