diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2007-03-13 19:58:29 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:52 -0400 |
commit | e06cea4cb4a16076dfca4863b12e1c4aeb781c8d (patch) | |
tree | f3f84f0dba9db1b58675ad8822d0af9fe86a6077 /drivers/media/video | |
parent | cf83ac433c275b8a652492cabdb39b88a7f8d45c (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.c | 72 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 35 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 2 |
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 | ||
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 |