diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 4 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 72 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 35 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 2 |
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 @@ | |||
109 | 108 -> Terratec Cinergy HT PCI [153b:1175] | 109 | 108 -> Terratec Cinergy HT PCI [153b:1175] |
110 | 109 -> Philips Tiger - S Reference design | 110 | 109 -> Philips Tiger - S Reference design |
111 | 110 -> Avermedia M102 [1461:f31e] | 111 | 110 -> Avermedia M102 [1461:f31e] |
112 | 111 -> ASUS P7131 4871 [1043:4871] | ||
113 | 112 -> 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 | ||
3356 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 3412 | const 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 | ||
861 | static 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 | |||
876 | static 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 |