diff options
author | Thomas Genty <tomlohave@gmail.com> | 2006-11-05 12:17:30 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 05:51:16 -0500 |
commit | c6e53daffc2c6e66069304b3970256744074abec (patch) | |
tree | 5744088c00dc008ac7765fd78b511b812461a39b | |
parent | 8637a8759585b97ec1d54ff4a4f33f34be4f5b1c (diff) |
V4L/DVB (4806): Saa7134: add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid
This patch adds support for the Hauppauge WinTV-HVR1110 DVB-T/Hybrid
Signed-off-by: Thomas Genty <tomlohave@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 29 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 23 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 54 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 92ce6e25112..ef67ace59cb 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -102,3 +102,4 @@ | |||
102 | 101 -> Pinnacle PCTV 310i [11bd:002f] | 102 | 101 -> Pinnacle PCTV 310i [11bd:002f] |
103 | 102 -> Avermedia AVerTV Studio 507 [1461:9715] | 103 | 102 -> Avermedia AVerTV Studio 507 [1461:9715] |
104 | 103 -> Compro Videomate DVB-T200A | 104 | 103 -> Compro Videomate DVB-T200A |
105 | 104 -> Hauppauge WinTV-HVR1110 DVB-T/Hybrid [0070:6701] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index f5ad450dd7c..d8d8142d921 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -3126,6 +3126,28 @@ struct saa7134_board saa7134_boards[] = { | |||
3126 | .amux = LINE2, | 3126 | .amux = LINE2, |
3127 | }}, | 3127 | }}, |
3128 | }, | 3128 | }, |
3129 | [SAA7134_BOARD_HAUPPAUGE_HVR1110] = { | ||
3130 | /* Thomas Genty <tomlohave@gmail.com> */ | ||
3131 | .name = "Hauppauge WinTV-HVR1110 DVB-T/Hybrid", | ||
3132 | .audio_clock = 0x00187de7, | ||
3133 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3134 | .radio_type = UNSET, | ||
3135 | .tuner_addr = ADDR_UNSET, | ||
3136 | .radio_addr = ADDR_UNSET, | ||
3137 | .mpeg = SAA7134_MPEG_DVB, | ||
3138 | .gpiomask = 0x000200000, | ||
3139 | .inputs = {{ | ||
3140 | .name = name_tv, | ||
3141 | .vmux = 1, | ||
3142 | .amux = TV, | ||
3143 | .tv = 1, | ||
3144 | }}, | ||
3145 | .radio = { | ||
3146 | .name = name_radio, | ||
3147 | .amux = TV, | ||
3148 | .gpio = 0x0200000, | ||
3149 | }, | ||
3150 | }, | ||
3129 | }; | 3151 | }; |
3130 | 3152 | ||
3131 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 3153 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -3753,6 +3775,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3753 | .subdevice = 0x4876, | 3775 | .subdevice = 0x4876, |
3754 | .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL, | 3776 | .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL, |
3755 | },{ | 3777 | },{ |
3778 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3779 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
3780 | .subvendor = 0x0070, | ||
3781 | .subdevice = 0x6701, | ||
3782 | .driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110, | ||
3783 | },{ | ||
3756 | /* --- boards without eeprom + subsystem ID --- */ | 3784 | /* --- boards without eeprom + subsystem ID --- */ |
3757 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3785 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3758 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 3786 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -4053,6 +4081,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4053 | case SAA7134_BOARD_TEVION_DVBT_220RF: | 4081 | case SAA7134_BOARD_TEVION_DVBT_220RF: |
4054 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 4082 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
4055 | case SAA7134_BOARD_MEDION_MD8800_QUADRO: | 4083 | case SAA7134_BOARD_MEDION_MD8800_QUADRO: |
4084 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: | ||
4056 | /* this is a hybrid board, initialize to analog mode | 4085 | /* this is a hybrid board, initialize to analog mode |
4057 | * and configure firmware eeprom address | 4086 | * and configure firmware eeprom address |
4058 | */ | 4087 | */ |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 098d8a6a081..a51264f636f 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -900,6 +900,18 @@ static struct tda1004x_config pinnacle_pctv_310i_config = { | |||
900 | 900 | ||
901 | /* ------------------------------------------------------------------ */ | 901 | /* ------------------------------------------------------------------ */ |
902 | 902 | ||
903 | static struct tda1004x_config hauppauge_hvr_1110_config = { | ||
904 | .demod_address = 0x08, | ||
905 | .invert = 1, | ||
906 | .invert_oclk = 0, | ||
907 | .xtal_freq = TDA10046_XTAL_16M, | ||
908 | .agc_config = TDA10046_AGC_TDA827X, | ||
909 | .if_freq = TDA10046_FREQ_045, | ||
910 | .request_firmware = philips_tda1004x_request_firmware, | ||
911 | }; | ||
912 | |||
913 | /* ------------------------------------------------------------------ */ | ||
914 | |||
903 | static struct tda1004x_config asus_p7131_dual_config = { | 915 | static struct tda1004x_config asus_p7131_dual_config = { |
904 | .demod_address = 0x08, | 916 | .demod_address = 0x08, |
905 | .invert = 1, | 917 | .invert = 1, |
@@ -1221,6 +1233,17 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1221 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_tiger_tuner_set_params; | 1233 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_tiger_tuner_set_params; |
1222 | } | 1234 | } |
1223 | break; | 1235 | break; |
1236 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: | ||
1237 | dev->dvb.frontend = dvb_attach(tda10046_attach, | ||
1238 | &hauppauge_hvr_1110_config, | ||
1239 | &dev->i2c_adap); | ||
1240 | if (dev->dvb.frontend) { | ||
1241 | dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl; | ||
1242 | dev->dvb.frontend->ops.tuner_ops.init = philips_tiger_tuner_init; | ||
1243 | dev->dvb.frontend->ops.tuner_ops.sleep = philips_tiger_tuner_sleep; | ||
1244 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_tiger_tuner_set_params; | ||
1245 | } | ||
1246 | break; | ||
1224 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 1247 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
1225 | dev->dvb.frontend = dvb_attach(tda10046_attach, | 1248 | dev->dvb.frontend = dvb_attach(tda10046_attach, |
1226 | &asus_p7131_dual_config, | 1249 | &asus_p7131_dual_config, |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 0c0f4651bd0..fee75123f9a 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -230,6 +230,7 @@ struct saa7134_format { | |||
230 | #define SAA7134_BOARD_PINNACLE_PCTV_310i 101 | 230 | #define SAA7134_BOARD_PINNACLE_PCTV_310i 101 |
231 | #define SAA7134_BOARD_AVERMEDIA_STUDIO_507 102 | 231 | #define SAA7134_BOARD_AVERMEDIA_STUDIO_507 102 |
232 | #define SAA7134_BOARD_VIDEOMATE_DVBT_200A 103 | 232 | #define SAA7134_BOARD_VIDEOMATE_DVBT_200A 103 |
233 | #define SAA7134_BOARD_HAUPPAUGE_HVR1110 104 | ||
233 | 234 | ||
234 | #define SAA7134_MAXBOARDS 8 | 235 | #define SAA7134_MAXBOARDS 8 |
235 | #define SAA7134_INPUT_MAX 8 | 236 | #define SAA7134_INPUT_MAX 8 |