summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/bttv-cards.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <devnull@localhost>2005-10-02 22:51:48 +0000
committerMauro Carvalho Chehab <devnull@localhost>2005-10-02 22:51:48 +0000
commitd35e49d796bb10a4e7ef7d39772585826e90e0a4 (patch)
tree6e2c1a439ad345f3a34c55891e94980e1d0794cf /linux/drivers/media/video/bttv-cards.c
parent454aa7612c82690bd2547e4f42be4591c08d2a6f (diff)
downloadmediapointer-dvb-s2-d35e49d796bb10a4e7ef7d39772585826e90e0a4.tar.gz
mediapointer-dvb-s2-d35e49d796bb10a4e7ef7d39772585826e90e0a4.tar.bz2
- Added new card: Prolink PixelView PlayTV MPEG2 PV-M4900
Thanks to: Sérgio Fortier <sergiofortier@yahoo.com.br> - Added support for radio_addr. Should also allow radio on separated I2C address than TV tuner. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Diffstat (limited to 'linux/drivers/media/video/bttv-cards.c')
-rw-r--r--linux/drivers/media/video/bttv-cards.c200
1 files changed, 183 insertions, 17 deletions
diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c
index e8d13b384..245992843 100644
--- a/linux/drivers/media/video/bttv-cards.c
+++ b/linux/drivers/media/video/bttv-cards.c
@@ -1,5 +1,5 @@
/*
- $Id: bttv-cards.c,v 1.85 2005/09/30 00:06:36 mkrufky Exp $
+ $Id: bttv-cards.c,v 1.86 2005/10/02 22:51:48 mchehab Exp $
bttv-cards.c
@@ -334,6 +334,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = { 2, 3, 1, 0},
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MIRO] = {
.name = "MIRO PCTV",
@@ -347,6 +348,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_HAUPPAUGE] = {
.name = "Hauppauge (bt848)",
@@ -360,6 +362,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_STB] = {
.name = "STB, Gateway P/N 6000699 (bt848)",
@@ -374,6 +377,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = TUNER_PHILIPS_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
.has_radio = 1,
},
@@ -391,6 +395,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = 4,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_DIAMOND] = {
.name = "Diamond DTV2000",
@@ -404,6 +409,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_AVERMEDIA] = {
.name = "AVerMedia TVPhone",
@@ -418,6 +424,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = avermedia_tvphone_audio,
.has_remote = 1,
},
@@ -433,6 +440,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x08 ---------------------------------- */
@@ -449,6 +457,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_TURBOTV] = {
.name = "IMS/IXmicro TurboTV",
@@ -463,6 +472,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_TEMIC_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_HAUPPAUGE878] = {
.name = "Hauppauge (bt878)",
@@ -477,6 +487,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MIROPRO] = {
.name = "MIRO PCTV pro",
@@ -490,6 +501,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x0c ---------------------------------- */
@@ -505,6 +517,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_AVERMEDIA98] = {
.name = "AVerMedia TVCapture 98",
@@ -520,6 +533,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = avermedia_tv_stereo_audio,
},
[BTTV_BOARD_VHX] = {
@@ -535,6 +549,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_ZOLTRIX] = {
.name = "Zoltrix TV-Max",
@@ -548,6 +563,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x10 ---------------------------------- */
@@ -582,6 +598,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = winview_audio,
.has_radio = 1,
},
@@ -597,6 +614,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_LIFE_FLYKIT] = {
.name = "Lifeview FlyVideo II EZ /FlyKit LR38 Bt848 (capture only)",
@@ -610,6 +628,7 @@ struct tvcard bttv_tvcards[] = {
.no_msp34xx = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x14 ---------------------------------- */
@@ -622,6 +641,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = {2, 3, 1, 1},
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_CONFERENCETV] = {
.name = "Lifeview FlyVideo 98/ Lucky Star Image World ConferenceTV LR50",
@@ -635,6 +655,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL_I,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_PHOEBE_TVMAS] = {
.name = "Askey CPH050/ Phoebe Tv Master + FM",
@@ -649,6 +670,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MODTEC_205] = {
.name = "Modular Technology MM201/MM202/MM205/MM210/MM215 PCTV, bt878",
@@ -664,6 +686,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_ALPS_TSBB5_PAL_I,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x18 ---------------------------------- */
@@ -680,6 +703,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
},
[BTTV_BOARD_VOBIS_BOOSTAR] = {
@@ -694,6 +718,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = terratv_audio,
},
[BTTV_BOARD_HAUPPAUG_WCAM] = {
@@ -708,6 +733,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MAXI] = {
.name = "Lifeview FlyVideo 98/ MAXI TV Video PCI2 LR50",
@@ -721,6 +747,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_SECAM,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x1c ---------------------------------- */
@@ -736,6 +763,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = terratv_audio,
/* GPIO wiring:
External 20 pin connector (for Active Radio Upgrade board)
@@ -782,6 +810,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.muxsel_hook = PXC200_muxsel,
},
@@ -797,6 +826,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_IPROTV] = {
.name = "Formac iProTV, Formac ProTV I (bt848)",
@@ -810,6 +840,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x20 ---------------------------------- */
@@ -825,6 +856,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = 4,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_TERRATVALUE] = {
.name = "Terratec TerraTValue Version Bt878",
@@ -839,6 +871,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_WINFAST2000] = {
.name = "Leadtek WinFast 2000/ WinFast 2000 XP",
@@ -871,6 +904,7 @@ struct tvcard bttv_tvcards[] = {
.has_radio = 1,
.tuner_type = 5, /* default for now, gpio reads BFFF06 for Pal bg+dk */
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = winfast2000_audio,
.has_remote = 1,
},
@@ -886,6 +920,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x24 ---------------------------------- */
@@ -901,6 +936,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 1,
},
[BTTV_BOARD_PXELVWPLTVPRO] = {
@@ -916,6 +952,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MAGICTVIEW063] = {
.name = "Askey CPH06X TView99",
@@ -930,6 +967,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
},
[BTTV_BOARD_PINNACLE] = {
@@ -945,6 +983,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x28 ---------------------------------- */
@@ -961,6 +1000,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = TUNER_PHILIPS_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
.has_radio = 1,
},
@@ -977,6 +1017,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 1,
.audio_hook = avermedia_tvphone_audio,
},
@@ -994,6 +1035,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_ONAIR_TV] = {
.name = "Little OnAir TV",
@@ -1007,6 +1049,7 @@ struct tvcard bttv_tvcards[] = {
.no_msp34xx = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x2c ---------------------------------- */
@@ -1023,6 +1066,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_NONE,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MATRIX_VISION2] = {
.name = "MATRIX-Vision MV-Delta 2",
@@ -1037,6 +1081,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_ZOLTRIX_GENIE] = {
.name = "Zoltrix Genie TV/FM",
@@ -1051,6 +1096,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 21,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_TERRATVRADIO] = {
.name = "Terratec TV/Radio+",
@@ -1066,6 +1112,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_35,
.tuner_type = 1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 1,
},
@@ -1083,6 +1130,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_GVBCTV3PCI] = {
.name = "IODATA GV-BCTV3/PCI",
@@ -1097,6 +1145,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_ALPS_TSHC6_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = gvbctv3pci_audio,
},
[BTTV_BOARD_PXELVWPLTVPAK] = {
@@ -1113,6 +1162,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL_I,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
/* GPIO wiring: (different from Rev.4C !)
GPIO17: U4.A0 (first hef4052bt)
@@ -1136,6 +1186,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1 /* TUNER_ALPS_TMDH2_NTSC */,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x34 ---------------------------------- */
@@ -1162,6 +1213,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_TVIEW_RDS_FM] = {
/* Claas Langbehn <claas@bigfoot.com>,
@@ -1178,6 +1230,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 1,
},
[BTTV_BOARD_LIFETEC_9415] = {
@@ -1201,6 +1254,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_BESTBUY_EASYTV] = {
/* Miguel Angel Alvarez <maacruz@navegalia.com>
@@ -1217,6 +1271,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_TEMIC_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x38 ---------------------------------- */
@@ -1233,6 +1288,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 5,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* This is the ultimate cheapo capture card
* just a BT848A on a small PCB!
@@ -1251,6 +1307,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_35,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_ASKEY_CPH060] = {
/* Daniel Herrington <daniel.herrington@home.com> */
@@ -1266,6 +1323,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_TEMIC_4036FY5_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_ASKEY_CPH03X] = {
/* Matti Mottus <mottus@physic.ut.ee> */
@@ -1280,6 +1338,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 0,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x3c ---------------------------------- */
@@ -1296,6 +1355,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_35,
.tuner_type = TUNER_TEMIC_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_GMV1] = {
/* Adrian Cox <adrian@humboldt.co.uk */
@@ -1312,6 +1372,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_BESTBUY_EASYTV2] = {
/* Miguel Angel Alvarez <maacruz@navegalia.com>
@@ -1329,6 +1390,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_ATI_TVWONDER] = {
/* Lukas Gebauer <geby@volny.cz> */
@@ -1343,6 +1405,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_TEMIC_4006FN5_MULTI_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x40 ---------------------------------- */
@@ -1360,6 +1423,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_TEMIC_4006FN5_MULTI_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_FLYVIDEO2000] = {
/* DeeJay <deejay@westel900.net (2000S) */
@@ -1381,6 +1445,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 5,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_TERRATVALUER] = {
.name = "Terratec TValueRadio",
@@ -1395,6 +1460,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 1,
},
[BTTV_BOARD_GVBCTV4PCI] = {
@@ -1411,6 +1477,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_SHARP_2U5JF5540_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = gvbctv3pci_audio,
},
@@ -1432,6 +1499,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = { 2, 3 ,0 ,1},
.tuner_type = TUNER_MT2032,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
.has_radio = 1,
},
@@ -1443,6 +1511,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
.muxsel = { 2 },
.gpiomask = 0
@@ -1461,6 +1530,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 25,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
/* GPIO wiring:
GPIO0: U4.A0 (hef4052bt)
@@ -1481,6 +1551,7 @@ struct tvcard bttv_tvcards[] = {
.no_msp34xx = 1,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x48 ---------------------------------- */
@@ -1500,6 +1571,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 5,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = pvbt878p9b_audio, /* Note: not all cards have stereo */
.has_radio = 1, /* Note: not all cards have radio */
.has_remote = 1,
@@ -1525,6 +1597,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_RV605] = {
/* Miguel Freitas <miguel@cetuc.puc-rio.br> */
@@ -1541,6 +1614,7 @@ struct tvcard bttv_tvcards[] = {
.no_tda9875 = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.muxsel_hook = rv605_muxsel,
},
[BTTV_BOARD_POWERCLR_MTV878] = {
@@ -1555,6 +1629,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
.has_radio = 1,
},
@@ -1572,6 +1647,7 @@ struct tvcard bttv_tvcards[] = {
.audiomux = { 0, 1, 2, 3, 4, 0 },
.tuner_type = TUNER_PHILIPS_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = windvr_audio,
},
[BTTV_BOARD_GRANDTEC_MULTI] = {
@@ -1588,6 +1664,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_KWORLD] = {
.name = "Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF",
@@ -1609,6 +1686,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 5,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
/* Samsung TCPA9095PC27A (BG+DK), philips compatible, w/FM, stereo and
radio signal strength indicators work fine. */
.has_radio = 1,
@@ -1631,6 +1709,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x50 ---------------------------------- */
@@ -1645,6 +1724,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.gpiomask = 7,
.audiomux = {7},
@@ -1662,6 +1742,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = gvbctv5pci_audio,
.has_radio = 1,
},
@@ -1675,6 +1756,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1689,6 +1771,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1705,6 +1788,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1719,6 +1803,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1733,6 +1818,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1747,6 +1833,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1763,6 +1850,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1777,6 +1865,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1791,6 +1880,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1808,6 +1898,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1828,6 +1919,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1, /* must avoid, conflicts with the bt860 */
@@ -1840,6 +1932,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = -1,
.gpiomask = 0,
.muxsel = { 0, 1, 2, 3 },
@@ -1856,6 +1949,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
.no_tda7432 = 1,
@@ -1878,6 +1972,7 @@ struct tvcard bttv_tvcards[] = {
.has_radio = 1,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
/* sound routing:
GPIO=0x00,0x01,0x03: mute (?)
0x02: both TV and radio (tuner: FM1216/I)
@@ -1900,6 +1995,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = 5,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = 1,
},
[BTTV_BOARD_EURESYS_PICOLO] = {
@@ -1916,6 +2012,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_PV150] = {
/* Luc Van Hoeylandt <luc@e-magic.be> */
@@ -1932,6 +2029,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = UNSET,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_AD_TVK503] = {
/* Hiroshi Takekawa <sian@big.or.jp> */
@@ -1950,6 +2048,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 2,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.audio_hook = adtvk503_audio,
},
@@ -1967,6 +2066,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = 5,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
/* Notes:
- card lacks subsystem ID
- stereo variant w/ daughter board with tda9874a @0xb0
@@ -1989,6 +2089,7 @@ struct tvcard bttv_tvcards[] = {
.no_tda7432 = 1,
.tuner_type = 1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 1,
.pll = PLL_28,
/* Bt878, Bt832, FI1246 tuner; no pci subsystem id
@@ -2006,6 +2107,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = -1,
.gpiomask = 0xdf,
.muxsel = { 2 },
@@ -2019,6 +2121,7 @@ struct tvcard bttv_tvcards[] = {
.svhs = -1,
.tuner_type = 4,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.gpiomask2 = 0xff,
.muxsel = { 2,2,2,2, 3,3,3,3, 1,1,1,1, 0,0,0,0 },
.muxsel_hook = xguard_muxsel,
@@ -2041,6 +2144,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_dvb = 1,
.no_gpioirq = 1,
},
@@ -2059,6 +2163,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_VD009X1_MINIDIN] = {
/* M.Klahr@phytec.de */
@@ -2074,6 +2179,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_VD009X1_COMBI] = {
.name = "PHYTEC VD-009-X1 Combi (bt878)",
@@ -2088,6 +2194,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* ---- card 0x6c ---------------------------------- */
@@ -2107,6 +2214,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_VD009_COMBI] = {
.name = "PHYTEC VD-009 Combi (bt878)",
@@ -2124,6 +2232,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_IVC100] = {
.name = "IVC-100",
@@ -2132,6 +2241,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = -1,
.gpiomask = 0xdf,
.muxsel = { 2, 3, 1, 0 },
@@ -2145,6 +2255,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1, /* card has no tuner */
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = -1, /* card has no svhs */
.needs_tvaudio = 0,
.no_msp34xx = 1,
@@ -2167,6 +2278,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = { 2, 3, 1, 0},
.tuner_type = TUNER_PHILIPS_ATSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_dvb = 1,
},
[BTTV_BOARD_TWINHAN_DST] = {
@@ -2176,6 +2288,7 @@ struct tvcard bttv_tvcards[] = {
.no_tda7432 = 1,
.tuner_type = TUNER_ABSENT,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_video = 1,
.has_dvb = 1,
},
@@ -2191,6 +2304,7 @@ struct tvcard bttv_tvcards[] = {
.no_tda7432 = 1,
.tuner_type = TUNER_ABSENT,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
},
[BTTV_BOARD_TEV560] = {
@@ -2205,6 +2319,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 1,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_35,
},
@@ -2217,6 +2332,7 @@ struct tvcard bttv_tvcards[] = {
.svhs = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
.muxsel = { 2, 2, 2, 2},
.gpiomask = 0x3F,
@@ -2234,6 +2350,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
},
[BTTV_BOARD_LMLBT4] = {
@@ -2250,6 +2367,7 @@ struct tvcard bttv_tvcards[] = {
.needs_tvaudio = 0,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_TEKRAM_M205] = {
/* Helmroos Harri <harri.helmroos@pp.inet.fi> */
@@ -2259,6 +2377,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = 0,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = 2,
.needs_tvaudio = 0,
.gpiomask = 0x68,
@@ -2283,6 +2402,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
.has_radio = 1,
},
@@ -2308,6 +2428,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel_hook = picolo_tetra_muxsel,/*Required as it doesn't follow the classic input selection policy*/
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_SPIRIT_TV] = {
/* Spirit TV Tuner from http://spiritmodems.com.au */
@@ -2322,6 +2443,7 @@ struct tvcard bttv_tvcards[] = {
.audiomux = { 0x02, 0x00, 0x00, 0x00, 0x00},
.tuner_type = TUNER_TEMIC_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.no_msp34xx = 1,
.no_tda9875 = 1,
},
@@ -2333,6 +2455,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = TUNER_ABSENT,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.muxsel = { 3 , 3 },
.no_msp34xx = 1,
.no_tda9875 = 1,
@@ -2357,6 +2480,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_dvb = 1,
.no_gpioirq = 1,
.has_remote = 1,
@@ -2377,6 +2501,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_MATRIX_VISIONSLC] = {
/* andre.schwarz@matrix-vision.de */
@@ -2393,6 +2518,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
/* BTTV_BOARD_APAC_VIEWCOMP */
[BTTV_BOARD_APAC_VIEWCOMP] = {
@@ -2410,6 +2536,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_PAL,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1, /* miniremote works, see ir-kbd-gpio.c */
.has_radio = 1, /* not every card has radio */
},
@@ -2427,6 +2554,7 @@ struct tvcard bttv_tvcards[] = {
.has_dvb = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
},
[BTTV_BOARD_VGEAR_MYVCD] = {
/* Steven <photon38@pchome.com.tw> */
@@ -2442,6 +2570,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_radio = 0,
#if 0
.has_remote = 1,
@@ -2457,6 +2586,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = { 2, 3, 1, 0},
.tuner_type = TUNER_PHILIPS_NTSC,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.gpiomask = 0x008007,
.audiomux = { 0, 0x000001,0,0, 0},
.needs_tvaudio = 1,
@@ -2476,6 +2606,7 @@ struct tvcard bttv_tvcards[] = {
.no_tda7432 = 1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.muxsel_hook = tibetCS16_muxsel,
},
[BTTV_BOARD_KODICOM_4400R] = {
@@ -2496,6 +2627,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = -1,
/* GPIO bits 0-9 used for analog switch:
* 00 - 03: camera selector
@@ -2527,6 +2659,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = -1,
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.svhs = -1,
.gpiomask = 0x010000,
.no_gpioirq = 1,
@@ -2549,6 +2682,7 @@ struct tvcard bttv_tvcards[] = {
.muxsel = { 2, 3, 1, 0},
.tuner_type = -1,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.pll = PLL_28,
},
/* ---- card 0x87---------------------------------- */
@@ -2558,6 +2692,7 @@ struct tvcard bttv_tvcards[] = {
.tuner = 0,
.tuner_type = TUNER_LG_TDVS_H062F,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.video_inputs = 2,
.audio_inputs = 1,
.svhs = 2,
@@ -2584,6 +2719,7 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_YMEC_TVF66T5_B_DFF,
.tuner_addr = 0xc1 >>1,
+ .radio_addr = 0xc1 >>1,
.has_radio = 1,
},
/* ---- card 0x89 ---------------------------------- */
@@ -2600,26 +2736,50 @@ struct tvcard bttv_tvcards[] = {
.pll = PLL_28,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
.has_remote = 1,
#if 0
.has_radio = 1,
#endif
},
+ /* ---- card 0x8a ---------------------------------- */
[BTTV_BOARD_PV_BT878P_2E] = {
- .name = "Prolink Pixelview PV-BT878P+ (Rev.2E)",
- .video_inputs = 5,
- .audio_inputs = 1,
- .tuner = 0,
- .svhs = 3,
- .gpiomask = 0x01fe00,
- .muxsel = { 2,3,1,1,-1 },
- .digital_mode = DIGITAL_MODE_CAMERA,
- .audiomux = { 0x00400, 0x10400, 0x04400, 0x80000, 0x12400, 0x46000 },
- .no_msp34xx = 1,
- .pll = PLL_28,
- .tuner_type = TUNER_LG_PAL_FM,
- .has_remote = 1,
-}};
+ .name = "Prolink Pixelview PV-BT878P+ (Rev.2E)",
+ .video_inputs = 5,
+ .audio_inputs = 1,
+ .tuner = 0,
+ .svhs = 3,
+ .gpiomask = 0x01fe00,
+ .muxsel = { 2,3,1,1,-1 },
+ .digital_mode = DIGITAL_MODE_CAMERA,
+ .audiomux = { 0x00400, 0x10400, 0x04400, 0x80000, 0x12400, 0x46000 },
+ .no_msp34xx = 1,
+ .pll = PLL_28,
+ .tuner_type = TUNER_LG_PAL_FM,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .has_remote = 1,
+ },
+ /* ---- card 0x8b ---------------------------------- */
+ [BTTV_BOARD_PV_M4900] = {
+ /* Sérgio Fortier <sergiofortier@yahoo.com.br> */
+ .name = "Prolink PixelView PlayTV MPEG2 PV-M4900",
+ .video_inputs = 3,
+ .audio_inputs = 1,
+ .tuner = 0,
+ .svhs = 2,
+ .gpiomask = 0x3f,
+ .muxsel = { 2, 3, 1, 1 },
+ .audiomux = { 0x21, 0x20, 0x24, 0x2c, 0x29, 0x29 },
+ .no_msp34xx = 1,
+ .pll = PLL_28,
+ .tuner_type = TUNER_YMEC_TVF_5533MF,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .has_radio = 1,
+ .has_remote = 1,
+ }
+};
static const unsigned int bttv_num_tvcards = ARRAY_SIZE(bttv_tvcards);
@@ -3019,7 +3179,7 @@ void __devinit bttv_init_card1(struct bttv *btv)
void __devinit bttv_init_card2(struct bttv *btv)
{
int tda9887;
- int addr=ADDR_UNSET;
+ int addr=ADDR_UNSET, radio_addr=ADDR_UNSET;
btv->tuner_type = -1;
@@ -3164,6 +3324,9 @@ void __devinit bttv_init_card2(struct bttv *btv)
if (ADDR_UNSET != bttv_tvcards[btv->c.type].tuner_addr)
addr = bttv_tvcards[btv->c.type].tuner_addr;
+ if (ADDR_UNSET != bttv_tvcards[btv->c.type].radio_addr)
+ radio_addr = bttv_tvcards[btv->c.type].radio_addr;
+
if (UNSET != bttv_tvcards[btv->c.type].tuner_type)
if(UNSET == btv->tuner_type)
btv->tuner_type = bttv_tvcards[btv->c.type].tuner_type;
@@ -3176,10 +3339,13 @@ void __devinit bttv_init_card2(struct bttv *btv)
if (btv->tuner_type != UNSET) {
struct tuner_setup tun_setup;
- tun_setup.mode_mask = T_RADIO | T_ANALOG_TV | T_DIGITAL_TV;
+ tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV;
tun_setup.type = btv->tuner_type;
tun_setup.addr = addr;
+ if (addr == radio_addr)
+ tun_setup.mode_mask = T_RADIO;
+
bttv_call_i2c_clients(btv, TUNER_SET_TYPE_ADDR, &tun_setup);
}