V4L/DVB (4703): Add support for the ASUS EUROPA2 OEM board

This is a analog DVB-T hybrid board

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

authored by Hartmut Hackmann and committed by Mauro Carvalho Chehab cf146ca4 6b14ff9e

+49
+1
Documentation/video4linux/CARDLIST.saa7134
··· 98 98 97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300] 99 99 98 -> Proteus Pro 2309 [0919:2003] 100 100 99 -> AVerMedia TV Hybrid A16AR [1461:2c00] 101 + 100 -> Asus Europa2 OEM [1043:4860]
+35
drivers/media/video/saa7134/saa7134-cards.c
··· 2994 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 3027 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); ··· 3625 3597 .subdevice = 0x2c00, 3626 3598 .driver_data = SAA7134_BOARD_AVERMEDIA_A16AR, 3627 3599 },{ 3600 + .vendor = PCI_VENDOR_ID_PHILIPS, 3601 + .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 3602 + .subvendor = 0x1043, 3603 + .subdevice = 0x4860, 3604 + .driver_data = SAA7134_BOARD_ASUS_EUROPA2_HYBRID, 3605 + },{ 3628 3606 /* --- boards without eeprom + subsystem ID --- */ 3629 3607 .vendor = PCI_VENDOR_ID_PHILIPS, 3630 3608 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, ··· 3905 3871 break; 3906 3872 case SAA7134_BOARD_PHILIPS_EUROPA: 3907 3873 case SAA7134_BOARD_VIDEOMATE_DVBT_300: 3874 + case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: 3908 3875 /* The Philips EUROPA based hybrid boards have the tuner connected through 3909 3876 * the channel decoder. We have to make it transparent to find it 3910 3877 */
+12
drivers/media/video/saa7134/saa7134-dvb.c
··· 1268 1268 } 1269 1269 } 1270 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 1283 default: 1272 1284 printk("%s: Huh? unknown DVB card?\n",dev->name); 1273 1285 break;
+1
drivers/media/video/saa7134/saa7134.h
··· 226 226 #define SAA7134_BOARD_FLYDVBS_LR300 97 227 227 #define SAA7134_BOARD_PROTEUS_2309 98 228 228 #define SAA7134_BOARD_AVERMEDIA_A16AR 99 229 + #define SAA7134_BOARD_ASUS_EUROPA2_HYBRID 100 229 230 230 231 #define SAA7134_MAXBOARDS 8 231 232 #define SAA7134_INPUT_MAX 8