diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 35 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 12 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 49 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 6fb82ac3bef0..53ce6a39083c 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -98,3 +98,4 @@ | |||
98 | 97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300] | 98 | 97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300] |
99 | 98 -> Proteus Pro 2309 [0919:2003] | 99 | 98 -> Proteus Pro 2309 [0919:2003] |
100 | 99 -> AVerMedia TV Hybrid A16AR [1461:2c00] | 100 | 99 -> AVerMedia TV Hybrid A16AR [1461:2c00] |
101 | 100 -> Asus Europa2 OEM [1043:4860] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index fe3c83ca3de3..c9d8e3b9cc37 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -2994,6 +2994,34 @@ struct saa7134_board saa7134_boards[] = { | |||
2994 | .amux = LINE1, | 2994 | .amux = LINE1, |
2995 | }, | 2995 | }, |
2996 | }, | 2996 | }, |
2997 | [SAA7134_BOARD_ASUS_EUROPA2_HYBRID] = { | ||
2998 | .name = "Asus Europa2 OEM", | ||
2999 | .audio_clock = 0x00187de7, | ||
3000 | .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3, | ||
3001 | .radio_type = UNSET, | ||
3002 | .tuner_addr = ADDR_UNSET, | ||
3003 | .radio_addr = ADDR_UNSET, | ||
3004 | .tda9887_conf = TDA9887_PRESENT| TDA9887_PORT1_ACTIVE | TDA9887_PORT2_ACTIVE, | ||
3005 | .mpeg = SAA7134_MPEG_DVB, | ||
3006 | .inputs = {{ | ||
3007 | .name = name_tv, | ||
3008 | .vmux = 3, | ||
3009 | .amux = TV, | ||
3010 | .tv = 1, | ||
3011 | },{ | ||
3012 | .name = name_comp1, | ||
3013 | .vmux = 4, | ||
3014 | .amux = LINE2, | ||
3015 | },{ | ||
3016 | .name = name_svideo, | ||
3017 | .vmux = 8, | ||
3018 | .amux = LINE2, | ||
3019 | }}, | ||
3020 | .radio = { | ||
3021 | .name = name_radio, | ||
3022 | .amux = LINE1, | ||
3023 | }, | ||
3024 | }, | ||
2997 | }; | 3025 | }; |
2998 | 3026 | ||
2999 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 3027 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -3597,6 +3625,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3597 | .subdevice = 0x2c00, | 3625 | .subdevice = 0x2c00, |
3598 | .driver_data = SAA7134_BOARD_AVERMEDIA_A16AR, | 3626 | .driver_data = SAA7134_BOARD_AVERMEDIA_A16AR, |
3599 | },{ | 3627 | },{ |
3628 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3629 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | ||
3630 | .subvendor = 0x1043, | ||
3631 | .subdevice = 0x4860, | ||
3632 | .driver_data = SAA7134_BOARD_ASUS_EUROPA2_HYBRID, | ||
3633 | },{ | ||
3600 | /* --- boards without eeprom + subsystem ID --- */ | 3634 | /* --- boards without eeprom + subsystem ID --- */ |
3601 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3635 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3602 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 3636 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -3871,6 +3905,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
3871 | break; | 3905 | break; |
3872 | case SAA7134_BOARD_PHILIPS_EUROPA: | 3906 | case SAA7134_BOARD_PHILIPS_EUROPA: |
3873 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: | 3907 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: |
3908 | case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: | ||
3874 | /* The Philips EUROPA based hybrid boards have the tuner connected through | 3909 | /* The Philips EUROPA based hybrid boards have the tuner connected through |
3875 | * the channel decoder. We have to make it transparent to find it | 3910 | * the channel decoder. We have to make it transparent to find it |
3876 | */ | 3911 | */ |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index f72a91f30259..1ba53b525ad2 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -1268,6 +1268,18 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1268 | } | 1268 | } |
1269 | } | 1269 | } |
1270 | break; | 1270 | break; |
1271 | case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: | ||
1272 | dev->dvb.frontend = tda10046_attach(&medion_cardbus, | ||
1273 | &dev->i2c_adap); | ||
1274 | if (dev->dvb.frontend) { | ||
1275 | dev->original_demod_sleep = dev->dvb.frontend->ops.sleep; | ||
1276 | dev->dvb.frontend->ops.sleep = philips_europa_demod_sleep; | ||
1277 | dev->dvb.frontend->ops.tuner_ops.init = philips_fmd1216_tuner_init; | ||
1278 | dev->dvb.frontend->ops.tuner_ops.sleep = philips_fmd1216_tuner_sleep; | ||
1279 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_fmd1216_tuner_set_params; | ||
1280 | } | ||
1281 | break; | ||
1282 | |||
1271 | default: | 1283 | default: |
1272 | printk("%s: Huh? unknown DVB card?\n",dev->name); | 1284 | printk("%s: Huh? unknown DVB card?\n",dev->name); |
1273 | break; | 1285 | break; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 4a20d253a07e..7cf96b430250 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -226,6 +226,7 @@ struct saa7134_format { | |||
226 | #define SAA7134_BOARD_FLYDVBS_LR300 97 | 226 | #define SAA7134_BOARD_FLYDVBS_LR300 97 |
227 | #define SAA7134_BOARD_PROTEUS_2309 98 | 227 | #define SAA7134_BOARD_PROTEUS_2309 98 |
228 | #define SAA7134_BOARD_AVERMEDIA_A16AR 99 | 228 | #define SAA7134_BOARD_AVERMEDIA_A16AR 99 |
229 | #define SAA7134_BOARD_ASUS_EUROPA2_HYBRID 100 | ||
229 | 230 | ||
230 | #define SAA7134_MAXBOARDS 8 | 231 | #define SAA7134_MAXBOARDS 8 |
231 | #define SAA7134_INPUT_MAX 8 | 232 | #define SAA7134_INPUT_MAX 8 |