patch(bttv-0.7.102): Radio fixes for msp3400.c simple=0/1; Pace TV&Radio Card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi,
this patch includes the latest "make CARDLIST" and Cards patch, plus
- new card: Pace TV & Radio Card
- fix radio for some MSP34xx cards, e.g. Voodoo200, Pace Tv & Radio
  It didn't work here for both "simple" settings:
   - simple=0: Volume was disabled in msp_wake_thread, but 3400c_thread failed to enable
   - simple=1: Besides correcting routing via scart towards decoding ourselves,
                this needed "omit reset" and "set mode et al." for 3410_thread, too.
  Now radio is working reliably for both "simple" settings in msp3400.c
- Printk a warning when msp3410d thread autodetect fails
   (essentially autodetect on Voodoo200 fails and you should load with "simple=0"

Unknown:
- Is the Pinnacle PCTV Pro (mt2032 version) radio fixed with this, Marius?

Regards, Gunther
diff -Nur bttv-0.7.102/Cards bttv07102/Cards
--- bttv-0.7.102/Cards	Tue Dec 10 18:51:03 2002
+++ bttv07102/Cards	Thu Jan 16 19:25:42 2003
@@ -179,7 +179,8 @@
   has not yet been seen (perhaps it was the german name for LR90 [stereo]).
   These cards are sold by many OEMs too.
 
-  FlyVideo A2 = LR90 Rev.F (w/Remote, w/o FM, stereo TV by tda9821) {Germany}
+  FlyVideo A2 (Elta 8680)= LR90 Rev.F (w/Remote, w/o FM, stereo TV by tda9821) {Germany}
+  Lifeview 3000 (Elta 8681) as sold by Plus(April 2002), Germany = LR138 w/ saa7134
 
 
 Typhoon TV card series:
@@ -397,6 +398,8 @@
    AVerTV98 mit Fernbedienung (BT-878 chip)
    AVerTV/FM98 (BT-878 chip)
 
+   VDOmate (www.averm.com.cn) = M168U ?
+
 Aimslab
 -------
    Video Highway or "Video Highway TR200" (ISA)
@@ -413,7 +416,8 @@
    LT9306/MD9306 = CPH061
    LT9415/MD9415 = LR90 Rev.F or Rev.G
           MD9592 = Avermedia TVphone98 (PCI_ID=1461:0003), PCB-Rev=M168II-B (w/TDA9873H)
-          MD9717 = KNC One (Rev D4, saa7134)
+          MD9717 = KNC One (Rev D4, saa7134, FM1216 MK2 tuner)
+          MD5044 = KNC One (Rev D4, saa7134, FM1216ME MK3 tuner)
 
 Modular Technologies (www.modulartech.com) UK
 ---------------------------------------------
@@ -481,7 +485,8 @@
    Studio PCTV Pro  (Bt878 stereo w/ FM)
    Pinnacle PCTV    (Bt878, MT2032)
    Pinnacle PCTV Pro (Bt878, MT2032)
-   Pinncale PCTV Sat (bt878a, HM1821/1221)
+   Pinncale PCTV Sat (bt878a, HM1821/1221) ["Conexant CX24110 with CX24108 tuner, aka HM1221/HM1811"]
+   Pinnacle PCTV Sat XE
 
    M(J)PEG capture and playback:
    DC1+ (ISA)
@@ -654,9 +659,9 @@
    WinTV PVR 450
 
   US models
-  990 WinTV-PVR-350 (249USD)
-  980 WinTV-PVR-250 (149USD)
-  880 WinTV-PVR-PCI (199USD)
+  990 WinTV-PVR-350 (249USD) (iTVC15 chipset + radio)
+  980 WinTV-PVR-250 (149USD) (iTVC15 chipset)
+  880 WinTV-PVR-PCI (199USD) (KFIR chipset + bt878)
   881 WinTV-PVR-USB
   190 WinTV-GO
   191 WinTV-GO-FM
@@ -697,11 +702,40 @@
   566 WinTV USB (UK)
   573 WinTV USB FM
   429 Impact VCB (bt848)
-  600 USB Libe (Video-In 1x Comp, 1xSVHS)
+  600 USB Live (Video-In 1x Comp, 1xSVHS)
   542 WinTV Nova
   717 WinTV DVB-S
   909 Nova-t PCI
   893 Nova-t USB   (Duplicate entry)
+  802 MyTV
+  804 MyView
+  809 MyVideo
+  872 MyTV2Go FM
+
+ 
+  546 WinTV Nova-S CI
+  543 WinTV Nova
+  907 Nova-S USB
+  908 Nova-T USB
+  717 WinTV Nexus-S
+  157 DEC3000-s Standalone + USB
+
+  Spain
+  685 WinTV-Go
+  690 WinTV-PrimioFM
+  416 WinTV-PCI Nicam Estereo
+  677 WinTV-PCI-FM
+  699 WinTV-Theater
+  683 WinTV-USB
+  678 WinTV-USB-FM
+  983 WinTV-PVR-250
+  883 WinTV-PVR-PCI
+  993 WinTV-PVR-350
+  893 WinTV-PVR-USB
+  728 WinTV-DVB-C PCI
+  832 MyTV2Go
+  869 MyTV2Go-FM
+  805 MyVideo (USB)
   
 
 Matrix-Vision
@@ -713,6 +747,7 @@
 Conceptronic (.net)
 ------------
    TVCON FM,  TV card w/ FM = CPH05x
+   TVCON = CPH06x
 
 BestData
 --------
@@ -747,11 +782,22 @@
 
 Kworld (www.kworld.com.tw)
 --------------------------
-   KWORLD KW-TV878RF-Pro TV Capture with FM Radio
-   KWORLD KW-TV878R-Pro TV
-   KWORLD KW-TVL878RF  (low profile)
-   KWORLD KW-TV878R TV Capture (No FM Radio)
-   KWORLD KW-TV878RF TV
+  PC TV Station
+   KWORLD KW-TV878R  TV (no radio)
+   KWORLD KW-TV878RF TV (w/ radio)
+
+   KWORLD KW-TVL878RF (low profile)
+
+   KWORLD KW-TV713XRF (saa7134)
+
+
+  MPEG TV Station (same cards as above plus WinDVR Software MPEG en/decoder)
+   KWORLD KW-TV878R -Pro   TV (no Radio)
+   KWORLD KW-TV878RF-Pro   TV (w/ Radio)
+   KWORLD KW-TV878R -Ultra TV (no Radio)
+   KWORLD KW-TV878RF-Ultra TV (w/ Radio)
+
+
 
 JTT/ Justy Corp.http://www.justy.co.jp/ (www.jtt.com.jp website down)
 ---------------------------------------------------------------------
@@ -793,7 +839,7 @@
    TV-FM =KNC1 saa7134
    Standard PCI (DVB-S) = Technotrend Budget
    Standard PCI (DVB-S) w/ CI
-   Satelco Hoghend PCI (DVB-S) = Technotrend Premium
+   Satelco Highend PCI (DVB-S) = Technotrend Premium
 
 
 Sensoray www.sensoray.com
@@ -879,3 +925,37 @@
 Mercury www.kobian.com (UK and FR)
     LR50
     LR138RBG-Rx  == LR138
+
+TEC sound (package and manuals don't have any other manufacturer info) TecSound
+    Though educated googling found: www.techmakers.com
+    TV-Mate = Zoltrix VP-8482
+
+Lorenzen www.lorenzen.de
+--------
+     SL DVB-S PCI = Technotrend Budget PCI (su1278 or bsru version)
+
+Origo (.uk) www.origo2000.com
+     PC TV Card = LR50
+
+I/O Magic www.iomagic.com
+---------
+    PC PVR - Desktop TV Personal Video Recorder DR-PCTV100 = Pinnacle ROB2D-51009464 4.0 + Cyberlink PowerVCR II
+
+Arowana
+-------
+    TV-Karte / Poso Power TV (?) = Zoltrix VP-8482 (?)
+
+iTVC15 boards:
+-------------
+kuroutoshikou.com ITVC15
+yuan.com MPG160 PCI TV (Internal PCI MPEG2 encoder card plus TV-tuner)
+
+Asus www.asuscom.com
+   Asus TV Tuner Card 880 NTSC (low profile, cx23880)
+   Asus TV (saa7134)
+
+Hoontech
+--------
+http://www.hoontech.com/korean/download/down_driver_list03.html
+   HART Vision 848 (H-ART Vision 848)
+   HART Vision 878 (H-Art Vision 878)
diff -Nur bttv-0.7.102/Changes bttv07102/Changes
--- bttv-0.7.102/Changes	Thu Jan  2 15:27:58 2003
+++ bttv07102/Changes	Sun Jan 12 14:27:22 2003
@@ -2,7 +2,7 @@
 ------------
 
  * new card entries
- * more bt828 stuff
+ * more bt832 stuff
  * tweaks for tda9887, should reduce/fix the bad image quality for
    new pinnacle cards.
 
diff -Nur bttv-0.7.102/driver/Make.local bttv07102/driver/Make.local
--- bttv-0.7.102/driver/Make.local	Wed Aug  7 14:15:48 2002
+++ bttv07102/driver/Make.local	Fri Jan 10 22:25:40 2003
@@ -4,7 +4,7 @@
 
 list:
 	@echo "bttv.o"
-	@grep name: bttv-cards.c | perl -ne '/"([^"]+)"/;printf("  card=%d - %s\n",$$i++,$$1)'
+	@grep "\.name.*=" bttv-cards.c | perl -ne '/"([^"]+)"/;printf("  card=%d - %s\n",$$i++,$$1)'
 	@echo
 	@echo "tuner.o"
 	@grep "{ \"" tuner.c | perl -ne '/"([^"]+)"/;printf("  type=%d - %s\n",$$i++,$$1)'
diff -Nur bttv-0.7.102/driver/bttv-cards.c bttv07102/driver/bttv-cards.c
--- bttv-0.7.102/driver/bttv-cards.c	Thu Jan  2 15:20:07 2003
+++ bttv07102/driver/bttv-cards.c	Sun Jan 19 21:37:03 2003
@@ -1583,6 +1583,24 @@
 	.no_tda7432     = 1,
 	.muxsel         = { 2, 0, 1},
 	.pll            = PLL_28,
+},{
+        .name           = "Pace TV & Radio Card",
+        .video_inputs   = 4,
+        .audio_inputs   = 1,
+        .tuner          = 0,
+        .svhs           = 2,
+	.muxsel         = { 2, 3, 1, 1}, // Tuner, CVid, SVid, CVid over SVid connector
+        .gpiomask       = 0, 
+        .no_tda9875     = 1,
+        .no_tda7432     = 1,
+	.tuner_type     = 1,
+	.has_radio	= 1,
+        .pll            = PLL_28,
+	/* Bt878, Bt832, FI1246 tuner; no pci subsystem id
+	   only internal line out: (4pin header) RGGL
+	   Radio must be decoded by msp3410d (not routed through)*/
+	//         .digital_mode   = DIGITAL_MODE_CAMERA, // todo!
+
 }};
 
 const int bttv_num_tvcards = (sizeof(bttv_tvcards)/sizeof(struct tvcard));
diff -Nur bttv-0.7.102/driver/msp3400.c bttv07102/driver/msp3400.c
--- bttv-0.7.102/driver/msp3400.c	Fri Jan  3 18:23:12 2003
+++ bttv07102/driver/msp3400.c	Mon Jan 20 00:11:00 2003
@@ -1061,7 +1061,9 @@
 		msp->watch_stereo = 0;
 
 		/* put into sane state (and mute) */
-		msp3400c_reset(client);
+		if(msp->norm != VIDEO_MODE_RADIO)
+			// Don't reset in Radio Mode (We fail to unmute radio else)
+			msp3400c_reset(client);
 
 		/* start autodetect */
 		switch (msp->norm) {
@@ -1124,6 +1126,9 @@
 		dprintk("msp3410: current mode: %s (0x%04x)\n",
 			modelist[i].name ? modelist[i].name : "unknown",
 			val);
+
+		if(val==0) printk("msp3410: autodetection of sound standard failed. Try loading with insmod option simple=0.\n");
+
 		msp->main   = modelist[i].main;
 		msp->second = modelist[i].second;
 
@@ -1176,9 +1181,28 @@
 			msp->watch_stereo = 0;
 			/* scart routing */
 			msp3400c_set_scart(client,SCART_IN2,0);
-			msp3400c_write(client,I2C_MSP3400C_DFP, 0x08, 0x0220);
-			msp3400c_write(client,I2C_MSP3400C_DFP, 0x09, 0x0220);
-			msp3400c_write(client,I2C_MSP3400C_DFP, 0x0b, 0x0220);
+			/* 0x0020: Radio decoded by MSP chip
+			   0x0220: Radio decoded by the Tuner (e.g.FM1236), and we only route it through the MSP
+			   Probably there will be 4 kinds of cards, differing by wiring this up:
+			     (1) Both settings work
+			     (2) Only 0x0020 setting works
+                                  (10.7 MHz intermediate frequency IF from Tuner is connected to msp chip)
+			     (3) Only 0x0220 setting works
+				  (audio frequency AF from Tuner is connected to a SCART input of MSP chip)
+			     (4) Radio from Tuner is not connected to MSP at all, but AF is connected to HEF4052 multiplexer,
+				  which is steered through bt8x8 GPIO pins.
+			   Note: There is another code path for "simple=0" which needs the same consideration !
+			   Cards:
+				Pace TV & Radio card: (2)
+				Voodoo 200 / Voodoo TV/FM: (2)
+				WinTV Theater: (1)
+				WinTV 61334 Rev.B: (1)
+				Pinnacle PCTV Pro MT2032: ??
+				Pinnacle PCTV Pro Temic tuner: ??
+				miro PCTV pro (with daughterboard): ??  */
+			msp3400c_write(client,I2C_MSP3400C_DFP, 0x0008, 0x0020);
+			msp3400c_write(client,I2C_MSP3400C_DFP, 0x0009, 0x0020);
+			msp3400c_write(client,I2C_MSP3400C_DFP, 0x000b, 0x0020);
 			break;
 		case 0x0003:
 			msp->mode   = MSP_MODE_FM_TERRA;
@@ -1387,7 +1411,6 @@
 {
 	struct msp3400c *msp  = (struct msp3400c*)client->data;
 
-	msp3400c_setvolume(client,msp->muted,0,0);
 	msp->watch_stereo=0;
 	del_timer(&msp->wake_stereo);
 	if (msp->active)
@@ -1450,6 +1473,9 @@
 		if (msp->simple) {
 			/* the thread will do for us */
 			msp_wake_thread(client);
+                        msp3400c_setmode(client,MSP_MODE_FM_RADIO);
+                        msp3400c_setcarrier(client, MSP_CARRIER(10.7),MSP_CARRIER(10.7));
+                        msp3400c_setvolume(client,msp->muted,msp->left,msp->right);
 		} else {
 			/* set msp3400 to FM radio mode */
 			msp3400c_setmode(client,MSP_MODE_FM_RADIO);

[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux