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 | |
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')
-rw-r--r-- | drivers/media/video/saa7134/Kconfig | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 4 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 26 |
3 files changed, 30 insertions, 1 deletions
diff --git a/drivers/media/video/saa7134/Kconfig b/drivers/media/video/saa7134/Kconfig index 0ba68987bfce..5bcce092e804 100644 --- a/drivers/media/video/saa7134/Kconfig +++ b/drivers/media/video/saa7134/Kconfig | |||
@@ -44,6 +44,7 @@ config VIDEO_SAA7134_DVB | |||
44 | select DVB_LNBP21 if !DVB_FE_CUSTOMISE | 44 | select DVB_LNBP21 if !DVB_FE_CUSTOMISE |
45 | select DVB_ZL10353 if !DVB_FE_CUSTOMISE | 45 | select DVB_ZL10353 if !DVB_FE_CUSTOMISE |
46 | select DVB_LGDT3305 if !DVB_FE_CUSTOMISE | 46 | select DVB_LGDT3305 if !DVB_FE_CUSTOMISE |
47 | select DVB_TDA10048 if !DVB_FE_CUSTOMISE | ||
47 | select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE | 48 | select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE |
48 | select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE | 49 | select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE |
49 | ---help--- | 50 | ---help--- |
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 0eced41443e8..73482eb8d388 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -3364,13 +3364,15 @@ struct saa7134_board saa7134_boards[] = { | |||
3364 | }, | 3364 | }, |
3365 | }, | 3365 | }, |
3366 | [SAA7134_BOARD_HAUPPAUGE_HVR1110R3] = { | 3366 | [SAA7134_BOARD_HAUPPAUGE_HVR1110R3] = { |
3367 | .name = "Hauppauge WinTV-HVR1110r3", | 3367 | .name = "Hauppauge WinTV-HVR1110r3 DVB-T/Hybrid", |
3368 | .audio_clock = 0x00187de7, | 3368 | .audio_clock = 0x00187de7, |
3369 | .tuner_type = TUNER_PHILIPS_TDA8290, | 3369 | .tuner_type = TUNER_PHILIPS_TDA8290, |
3370 | .radio_type = UNSET, | 3370 | .radio_type = UNSET, |
3371 | .tuner_addr = ADDR_UNSET, | 3371 | .tuner_addr = ADDR_UNSET, |
3372 | .radio_addr = ADDR_UNSET, | 3372 | .radio_addr = ADDR_UNSET, |
3373 | .tuner_config = 3, | 3373 | .tuner_config = 3, |
3374 | .mpeg = SAA7134_MPEG_DVB, | ||
3375 | .ts_type = SAA7134_MPEG_TS_SERIAL, | ||
3374 | .gpiomask = 0x0800100, /* GPIO 21 is an INPUT */ | 3376 | .gpiomask = 0x0800100, /* GPIO 21 is an INPUT */ |
3375 | .inputs = {{ | 3377 | .inputs = {{ |
3376 | .name = name_tv, | 3378 | .name = name_tv, |
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) |