aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134
diff options
context:
space:
mode:
authorThomas Genty <tomlohave@gmail.com>2006-11-05 12:17:30 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-12-10 05:51:16 -0500
commitc6e53daffc2c6e66069304b3970256744074abec (patch)
tree5744088c00dc008ac7765fd78b511b812461a39b /drivers/media/video/saa7134
parent8637a8759585b97ec1d54ff4a4f33f34be4f5b1c (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>
Diffstat (limited to 'drivers/media/video/saa7134')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c29
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c23
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
3 files changed, 53 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index f5ad450dd7c4..d8d8142d921b 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
3131const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 3153const 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 098d8a6a0813..a51264f636fd 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
903static 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
903static struct tda1004x_config asus_p7131_dual_config = { 915static 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 0c0f4651bd09..fee75123f9a6 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