aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/CARDLIST.saa71344
-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
4 files changed, 111 insertions, 2 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 9cbb048f4ebc..1210b8bf6ad6 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -76,7 +76,7 @@
76 75 -> AVerMedia AVerTVHD MCE A180 [1461:1044] 76 75 -> AVerMedia AVerTVHD MCE A180 [1461:1044]
77 76 -> SKNet MonsterTV Mobile [1131:4ee9] 77 76 -> SKNet MonsterTV Mobile [1131:4ee9]
78 77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e] 78 77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e]
79 78 -> ASUSTeK P7131 Dual [1043:4862,1043:4876] 79 78 -> ASUSTeK P7131 Dual [1043:4862,1043:4857]
80 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B) 80 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
81 80 -> ASUS Digimatrix TV [1043:0210] 81 80 -> ASUS Digimatrix TV [1043:0210]
82 81 -> Philips Tiger reference design [1131:2018] 82 81 -> Philips Tiger reference design [1131:2018]
@@ -109,3 +109,5 @@
109108 -> Terratec Cinergy HT PCI [153b:1175] 109108 -> Terratec Cinergy HT PCI [153b:1175]
110109 -> Philips Tiger - S Reference design 110109 -> Philips Tiger - S Reference design
111110 -> Avermedia M102 [1461:f31e] 111110 -> Avermedia M102 [1461:f31e]
112111 -> ASUS P7131 4871 [1043:4871]
113112 -> ASUSTeK P7131 Dual LNA [1043:4876]
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