Compro Videomate T750F DVB-T patch

davor emard <[email protected]> Sun, 2 May 2010 02:37:27 +0200
Newsgroups gmane.linux.drivers.dvb
Message-ID <[email protected]>
HI

I have european version of Compro Videomate T750F Vista
hybrid dvb-t + tv (pal) / radio card. In kernels up to date (2.6.33.3)
it didn't want to initialize in analog mode (tuner xc2028 always failed).

Here's sligthly adapted patch from
http://www.linuxtv.org/pipermail/linux-dvb/2008-May/025945.html
that works for me. It disables analog tuner xc2028 and anables
digital tuner that consists of zarlink 10353 and qt1010.
Tested and works on kernel 2.6.33.3

Best regards, Emard

_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead [email protected]
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
compro-videomate-t750f-v5.patch (text/x-patch, 3 KB)
--- linux-2.6.33.3/drivers/media/video/saa7134/saa7134-cards.c.orig	2010-05-02 00:06:45.000000000 +0200
+++ linux-2.6.33.3/drivers/media/video/saa7134/saa7134-cards.c	2010-05-02 01:20:50.000000000 +0200
@@ -4883,10 +4883,11 @@ struct saa7134_board saa7134_boards[] =
 		/* John Newbigin <[email protected]> */
 		.name           = "Compro VideoMate T750",
 		.audio_clock    = 0x00187de7,
-		.tuner_type     = TUNER_XC2028,
+		.tuner_type     = TUNER_ABSENT,
 		.radio_type     = UNSET,
 		.tuner_addr	= ADDR_UNSET,
 		.radio_addr	= ADDR_UNSET,
+		.mpeg           = SAA7134_MPEG_DVB,
 		.inputs = {{
 			.name   = name_tv,
 			.vmux   = 3,
@@ -7192,6 +7193,7 @@ int saa7134_board_init2(struct saa7134_d
 	case SAA7134_BOARD_AVERMEDIA_SUPER_007:
 	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
 	case SAA7134_BOARD_CREATIX_CTX953:
+        case SAA7134_BOARD_VIDEOMATE_T750:
 	{
 		/* this is a hybrid board, initialize to analog mode
 		 * and configure firmware eeprom address
--- linux-2.6.33.3/drivers/media/video/saa7134/saa7134-dvb.c.orig	2010-05-01 23:57:08.000000000 +0200
+++ linux-2.6.33.3/drivers/media/video/saa7134/saa7134-dvb.c	2010-05-02 00:51:44.000000000 +0200
@@ -55,6 +55,7 @@
 #include "tda8290.h"
 
 #include "zl10353.h"
+#include "qt1010.h"
 
 #include "zl10036.h"
 #include "zl10039.h"
@@ -886,6 +887,17 @@ static struct zl10353_config behold_x7_c
 	.disable_i2c_gate_ctrl = 1,
 };
 
+static struct zl10353_config videomate_t750_zl10353_config = {
+       .demod_address  = 0x0f,
+       .no_tuner = 1,
+       .parallel_ts = 1,
+};
+
+static struct qt1010_config videomate_t750_qt1010_config = {
+       .i2c_address = 0x62
+};
+
+
 /* ==================================================================
  * tda10086 based DVB-S cards, helper functions
  */
@@ -1556,6 +1568,26 @@ static int dvb_init(struct saa7134_dev *
 					__func__);
 
 		break;
+        /*FIXME: What frontend does Videomate T750 use? */
+        case SAA7134_BOARD_VIDEOMATE_T750:
+                printk("Compro VideoMate T750 DVB setup\n");
+                fe0->dvb.frontend = dvb_attach(zl10353_attach,
+                                                &videomate_t750_zl10353_config,
+                                                &dev->i2c_adap);
+                if (fe0->dvb.frontend != NULL) {
+                        printk("Attaching pll\n");
+                        // if there is a gate function then the i2c bus breaks.....!
+                        fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
+ 
+                        if (dvb_attach(qt1010_attach,
+                                       fe0->dvb.frontend,
+                                       &dev->i2c_adap,
+                                       &videomate_t750_qt1010_config) == NULL)
+                        {
+                                wprintk("error attaching QT1010\n");
+                        }
+                }
+                break;
 	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
 		fe0->dvb.frontend = dvb_attach(tda10048_attach,
 					       &zolid_tda10048_config,