@@ -4883,10 +4883,11 @@ struct saa7134_board saa7134_boards[] =
/* John Newbigin <jn@it.swin.edu.au> */
.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
@@ -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,