# This adds support for the Compro VideoMate T750 # At this stage the only thing working is composite video in and perhaps svideo and IR # The DVB driver loads but does not work diff -r 16582fbdb5a4 linux/drivers/media/video/saa7134/saa7134-cards.c --- a/linux/drivers/media/video/saa7134/saa7134-cards.c Sat Apr 7 23:11:47 2007 -0500 +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Fri Apr 13 16:30:49 2007 +1000 @@ -3447,6 +3447,34 @@ struct saa7134_board saa7134_boards[] = .gpio = 0x0200000, }, }, + [SAA7134_BOARD_VIDEOMATE_T750] = { + /* John Newbigin */ + .name = "Compro VideoMate T750", + .audio_clock = 0x00187de7, + .tuner_type = UNSET,//TUNER_XCEIVE_XC2028, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .mpeg = SAA7134_MPEG_DVB, + .inputs = {{ + .name = name_tv, + .vmux = 3, + .amux = TV, + .tv = 1, + },{ + .name = name_comp1, + .vmux = 1, + .amux = LINE2, + },{ + .name = name_svideo, + .vmux = 8, + .amux = LINE2, + }}, + .radio = { + .name = name_radio, + .amux = TV, + }, + }, }; const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); @@ -3863,6 +3891,12 @@ struct pci_device_id saa7134_pci_tbl[] = .subvendor = 0x185b, .subdevice = 0xc900, .driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_300, + },{ + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7133, + .subvendor = 0x185b, + .subdevice = 0xc900, + .driver_data = SAA7134_BOARD_VIDEOMATE_T750, },{ .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7130, @@ -4272,6 +4306,7 @@ int saa7134_board_init1(struct saa7134_d case SAA7134_BOARD_VIDEOMATE_DVBT_300: case SAA7134_BOARD_VIDEOMATE_DVBT_200: case SAA7134_BOARD_VIDEOMATE_DVBT_200A: + case SAA7134_BOARD_VIDEOMATE_T750: case SAA7134_BOARD_MANLI_MTV001: case SAA7134_BOARD_MANLI_MTV002: case SAA7134_BOARD_BEHOLD_409FM: diff -r 16582fbdb5a4 linux/drivers/media/video/saa7134/saa7134-dvb.c --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c Sat Apr 7 23:11:47 2007 -0500 +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c Fri Apr 13 16:30:49 2007 +1000 @@ -39,6 +39,8 @@ #include "mt352_priv.h" /* FIXME */ #include "tda1004x.h" #include "nxt200x.h" +#include "zl10353.h" +#include "qt1010.h" #include "tda10086.h" #include "tda826x.h" @@ -959,6 +963,17 @@ static struct nxt200x_config kworldatsc1 .set_pll_input = nxt200x_set_pll_input, }; +static struct zl10353_config videomate_t750_zl10353_config = { + .demod_address = 0x0f, + .parallel_ts = 1, + .no_tuner = 0, +}; + +static struct qt1010_config videomate_t750_qt1010_config = { + .i2c_address = 0x62 +}; + + /* ================================================================== * Core code */ @@ -985,6 +1001,27 @@ static int dvb_init(struct saa7134_dev * if (dev->dvb.frontend) { dev->dvb.frontend->ops.tuner_ops.set_params = mt352_pinnacle_tuner_set_params; } + break; + case SAA7134_BOARD_VIDEOMATE_T750: + dprintk("Compro VideoMate T750 DVB setup\n"); + dev->dvb.frontend = dvb_attach(zl10353_attach, + &videomate_t750_zl10353_config, + &dev->i2c_adap); + if (dev->dvb.frontend != NULL) { + dprintk("Attaching pll\n"); + + // if there is a gate function then the i2c bus breaks.....! + dev->dvb.frontend->ops.i2c_gate_ctrl = 0; + + if (dvb_attach(qt1010_attach, + dev->dvb.frontend, + &dev->i2c_adap, + &videomate_t750_qt1010_config) == NULL) + { + wprintk("error attaching QT1010\n"); + } + } + break; case SAA7134_BOARD_AVERMEDIA_777: case SAA7134_BOARD_AVERMEDIA_A16AR: diff -r 16582fbdb5a4 linux/drivers/media/video/saa7134/saa7134-input.c --- a/linux/drivers/media/video/saa7134/saa7134-input.c Sat Apr 7 23:11:47 2007 -0500 +++ b/linux/drivers/media/video/saa7134/saa7134-input.c Fri Apr 13 16:30:49 2007 +1000 @@ -309,6 +309,7 @@ int saa7134_input_init1(struct saa7134_d mask_keyup = 0x000080; polling = 50; // ms break; + case SAA7134_BOARD_VIDEOMATE_T750: case SAA7134_BOARD_VIDEOMATE_DVBT_300: case SAA7134_BOARD_VIDEOMATE_DVBT_200: ir_codes = ir_codes_videomate_tv_pvr; diff -r 16582fbdb5a4 linux/drivers/media/video/saa7134/saa7134.h --- a/linux/drivers/media/video/saa7134/saa7134.h Sat Apr 7 23:11:47 2007 -0500 +++ b/linux/drivers/media/video/saa7134/saa7134.h Fri Apr 13 16:30:49 2007 +1000 @@ -242,6 +242,7 @@ struct saa7134_format { #define SAA7134_BOARD_AVERMEDIA_M102 110 #define SAA7134_BOARD_ASUS_P7131_4871 111 #define SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA 112 +#define SAA7134_BOARD_VIDEOMATE_T750 113 #define SAA7134_MAXBOARDS 8 #define SAA7134_INPUT_MAX 8