aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorHartmut Hackmann <hartmut.hackmann@t-online.de>2007-03-13 19:58:29 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 14:44:52 -0400
commite06cea4cb4a16076dfca4863b12e1c4aeb781c8d (patch)
treef3f84f0dba9db1b58675ad8822d0af9fe86a6077 /drivers/media/video
parentcf83ac433c275b8a652492cabdb39b88a7f8d45c (diff)
V4L/DVB (5445): Added / corrected support for some ASUS hybrid boards
There are 2 new entries for p7131 boards and one correction for a board with LNA. Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c72
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c35
-rw-r--r--drivers/media/video/saa7134/saa7134.h2
3 files changed, 108 insertions, 1 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 7572e937c387..a700e897e679 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -3351,6 +3351,62 @@ struct saa7134_board saa7134_boards[] = {
3351 .amux = LINE2, 3351 .amux = LINE2,
3352 }}, 3352 }},
3353 }, 3353 },
3354 [SAA7134_BOARD_ASUS_P7131_4871] = {
3355 .name = "ASUS P7131 4871",
3356 .audio_clock = 0x00187de7,
3357 .tuner_type = TUNER_PHILIPS_TDA8290,
3358 .radio_type = UNSET,
3359 .tuner_addr = ADDR_UNSET,
3360 .radio_addr = ADDR_UNSET,
3361 .tuner_config = 2,
3362 .mpeg = SAA7134_MPEG_DVB,
3363 .gpiomask = 0x0200000,
3364 .inputs = {{
3365 .name = name_tv,
3366 .vmux = 1,
3367 .amux = TV,
3368 .tv = 1,
3369 .gpio = 0x0200000,
3370 }},
3371 },
3372 [SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA] = {
3373 .name = "ASUSTeK P7131 Dual LNA",
3374 .audio_clock = 0x00187de7,
3375 .tuner_type = TUNER_PHILIPS_TDA8290,
3376 .radio_type = UNSET,
3377 .tuner_addr = ADDR_UNSET,
3378 .radio_addr = ADDR_UNSET,
3379 .tuner_config = 2,
3380 .gpiomask = 1 << 21,
3381 .mpeg = SAA7134_MPEG_DVB,
3382 .inputs = {{
3383 .name = name_tv,
3384 .vmux = 1,
3385 .amux = TV,
3386 .tv = 1,
3387 .gpio = 0x0000000,
3388 },{
3389 .name = name_comp1,
3390 .vmux = 3,
3391 .amux = LINE2,
3392 .gpio = 0x0200000,
3393 },{
3394 .name = name_comp2,
3395 .vmux = 0,
3396 .amux = LINE2,
3397 .gpio = 0x0200000,
3398 },{
3399 .name = name_svideo,
3400 .vmux = 8,
3401 .amux = LINE2,
3402 .gpio = 0x0200000,
3403 }},
3404 .radio = {
3405 .name = name_radio,
3406 .amux = TV,
3407 .gpio = 0x0200000,
3408 },
3409 },
3354}; 3410};
3355 3411
3356const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 3412const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3976,7 +4032,7 @@ struct pci_device_id saa7134_pci_tbl[] = {
3976 .device = PCI_DEVICE_ID_PHILIPS_SAA7133, 4032 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
3977 .subvendor = 0x1043, 4033 .subvendor = 0x1043,
3978 .subdevice = 0x4876, 4034 .subdevice = 0x4876,
3979 .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL, 4035 .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA,
3980 },{ 4036 },{
3981 .vendor = PCI_VENDOR_ID_PHILIPS, 4037 .vendor = PCI_VENDOR_ID_PHILIPS,
3982 .device = PCI_DEVICE_ID_PHILIPS_SAA7133, 4038 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
@@ -4032,6 +4088,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
4032 .subdevice = 0x0306, /* TV@nywhere DUO */ 4088 .subdevice = 0x0306, /* TV@nywhere DUO */
4033 .driver_data = SAA7134_BOARD_FLYDVBTDUO, 4089 .driver_data = SAA7134_BOARD_FLYDVBTDUO,
4034 },{ 4090 },{
4091 .vendor = PCI_VENDOR_ID_PHILIPS,
4092 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
4093 .subvendor = 0x1043,
4094 .subdevice = 0x4871,
4095 .driver_data = SAA7134_BOARD_ASUS_P7131_4871,
4096 },{
4097 .vendor = PCI_VENDOR_ID_PHILIPS,
4098 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
4099 .subvendor = 0x1043,
4100 .subdevice = 0x4857,
4101 .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
4102 },{
4035 /* --- boards without eeprom + subsystem ID --- */ 4103 /* --- boards without eeprom + subsystem ID --- */
4036 .vendor = PCI_VENDOR_ID_PHILIPS, 4104 .vendor = PCI_VENDOR_ID_PHILIPS,
4037 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 4105 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -4136,6 +4204,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
4136 case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: 4204 case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
4137 case SAA7134_BOARD_FLYDVBT_LR301: 4205 case SAA7134_BOARD_FLYDVBT_LR301:
4138 case SAA7134_BOARD_ASUSTeK_P7131_DUAL: 4206 case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
4207 case SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA:
4139 case SAA7134_BOARD_FLYDVBTDUO: 4208 case SAA7134_BOARD_FLYDVBTDUO:
4140 case SAA7134_BOARD_PROTEUS_2309: 4209 case SAA7134_BOARD_PROTEUS_2309:
4141 case SAA7134_BOARD_AVERMEDIA_A16AR: 4210 case SAA7134_BOARD_AVERMEDIA_A16AR:
@@ -4359,6 +4428,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
4359 case SAA7134_BOARD_PINNACLE_PCTV_310i: 4428 case SAA7134_BOARD_PINNACLE_PCTV_310i:
4360 case SAA7134_BOARD_TEVION_DVBT_220RF: 4429 case SAA7134_BOARD_TEVION_DVBT_220RF:
4361 case SAA7134_BOARD_ASUSTeK_P7131_DUAL: 4430 case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
4431 case SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA:
4362 case SAA7134_BOARD_MEDION_MD8800_QUADRO: 4432 case SAA7134_BOARD_MEDION_MD8800_QUADRO:
4363 case SAA7134_BOARD_HAUPPAUGE_HVR1110: 4433 case SAA7134_BOARD_HAUPPAUGE_HVR1110:
4364 /* this is a hybrid board, initialize to analog mode 4434 /* this is a hybrid board, initialize to analog mode
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 531eb57e331f..f94754f06259 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -858,6 +858,35 @@ static struct tda1004x_config md8800_dvbt_config = {
858 .request_firmware = philips_tda1004x_request_firmware 858 .request_firmware = philips_tda1004x_request_firmware
859}; 859};
860 860
861static struct tda1004x_config asus_p7131_4871_config = {
862 .demod_address = 0x08,
863 .invert = 1,
864 .invert_oclk = 0,
865 .xtal_freq = TDA10046_XTAL_16M,
866 .agc_config = TDA10046_AGC_TDA827X,
867 .gpio_config = TDA10046_GP01_I,
868 .if_freq = TDA10046_FREQ_045,
869 .i2c_gate = 0x4b,
870 .tuner_address = 0x61,
871 .tuner_config = 2,
872 .antenna_switch= 2,
873 .request_firmware = philips_tda1004x_request_firmware
874};
875
876static struct tda1004x_config asus_p7131_dual_lna_config = {
877 .demod_address = 0x08,
878 .invert = 1,
879 .invert_oclk = 0,
880 .xtal_freq = TDA10046_XTAL_16M,
881 .agc_config = TDA10046_AGC_TDA827X,
882 .gpio_config = TDA10046_GP11_I,
883 .if_freq = TDA10046_FREQ_045,
884 .i2c_gate = 0x4b,
885 .tuner_address = 0x61,
886 .tuner_config = 2,
887 .antenna_switch= 2,
888 .request_firmware = philips_tda1004x_request_firmware
889};
861/* ------------------------------------------------------------------ 890/* ------------------------------------------------------------------
862 * special case: this card uses saa713x GPIO22 for the mode switch 891 * special case: this card uses saa713x GPIO22 for the mode switch
863 */ 892 */
@@ -1121,6 +1150,12 @@ static int dvb_init(struct saa7134_dev *dev)
1121 case SAA7134_BOARD_PHILIPS_TIGER_S: 1150 case SAA7134_BOARD_PHILIPS_TIGER_S:
1122 configure_tda827x_fe(dev, &philips_tiger_s_config); 1151 configure_tda827x_fe(dev, &philips_tiger_s_config);
1123 break; 1152 break;
1153 case SAA7134_BOARD_ASUS_P7131_4871:
1154 configure_tda827x_fe(dev, &asus_p7131_4871_config);
1155 break;
1156 case SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA:
1157 configure_tda827x_fe(dev, &asus_p7131_dual_lna_config);
1158 break;
1124 default: 1159 default:
1125 wprintk("Huh? unknown DVB card?\n"); 1160 wprintk("Huh? unknown DVB card?\n");
1126 break; 1161 break;
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 290e7e55c519..0c8818113857 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -233,6 +233,8 @@ struct saa7134_format {
233#define SAA7134_BOARD_CINERGY_HT_PCI 108 233#define SAA7134_BOARD_CINERGY_HT_PCI 108
234#define SAA7134_BOARD_PHILIPS_TIGER_S 109 234#define SAA7134_BOARD_PHILIPS_TIGER_S 109
235#define SAA7134_BOARD_AVERMEDIA_M102 110 235#define SAA7134_BOARD_AVERMEDIA_M102 110
236#define SAA7134_BOARD_ASUS_P7131_4871 111
237#define SAA7134_BOARD_ASUSTeK_P7131_DUAL_LNA 112
236 238
237#define SAA7134_MAXBOARDS 8 239#define SAA7134_MAXBOARDS 8
238#define SAA7134_INPUT_MAX 8 240#define SAA7134_INPUT_MAX 8