Am Dienstag, den 04.12.2007, 01:23 +0100 schrieb hermann pitton: > Am Dienstag, den 04.12.2007, 00:23 +0100 schrieb hermann pitton: > > [...] > > > > > > Since it is more than six months back, that the card could have been > > > added, guess I'll try this next pointing at the state of affairs we have > > > here now. > > > > Missing commas tend to spread ... ;) > > > > diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134-cards.c > > --- a/linux/drivers/media/video/saa7134/saa7134-cards.c Fri Nov 30 > > 18:27:26 2007 +0200 > > +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Tue Dec 04 > > 00:06:19 2007 +0100 > > @@ -3600,6 +3600,36 @@ struct saa7134_board saa7134_boards[] = > > .tv = 1, > > Broken lines, not compatible editors and mail clients ... > > I'm back to Mike Isely and will ignore all other stuff not officially > documented, ... until it works. > Hi, OK, seems we have enough rules and documentation now. Based on what I seem to know about the card and is prior in this thread on the linux-dvb ML, the patch is correct. Some spaces, also between braces, are introduced by checkpatch.pl. Please review. Sioux, please test and check and Sign-off with me or take at least some credit for your work on it. Cheers, Hermann - saa7134: add Twinhan Hybrid DTV-DVB 3056 PCI - Thanks go to Sioux for providing code and asking to fix the auto detection. - S-Video seems to be untested and likely a Composite over S-Video input is also there. The remote is not yet investigated. Signed-off-by: Hermann Pitton <hermann-pitton@xxxxxxxx> diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134-cards.c --- a/linux/drivers/media/video/saa7134/saa7134-cards.c Fri Nov 30 18:27:26 2007 +0200 +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Tue Dec 04 00:06:19 2007 +0100 @@ -3600,6 +3600,36 @@ struct saa7134_board saa7134_boards[] = .tv = 1, }}, }, + [SAA7134_BOARD_TWINHAN_DTV_DVB_3056] = { + .name = "Twinhan Hybrid DTV-DVB 3056 PCI", + .audio_clock = 0x00187de7, + .tuner_type = TUNER_PHILIPS_TDA8290, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .tuner_config = 2, + .mpeg = SAA7134_MPEG_DVB, + .gpiomask = 0x0200000, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = TV, + .tv = 1, + }, { + .name = name_comp1, + .vmux = 3, + .amux = LINE1, + }, { + .name = name_svideo, + .vmux = 8, + .amux = LINE1, + } }, + .radio = { + .name = name_radio, + .amux = TV, + .gpio = 0x0200000, + }, + }, }; const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); @@ -4369,7 +4399,13 @@ struct pci_device_id saa7134_pci_tbl[] = .device = PCI_DEVICE_ID_PHILIPS_SAA7133, .subvendor = 0x4e42, .subdevice = 0x3502, - .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS + .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS, + }, { + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7133, + .subvendor = 0x1822, /*Twinhan Technology Co. Ltd*/ + .subdevice = 0x0022, + .driver_data = SAA7134_BOARD_TWINHAN_DTV_DVB_3056, },{ /* --- boards without eeprom + subsystem ID --- */ .vendor = PCI_VENDOR_ID_PHILIPS, @@ -4782,6 +4818,7 @@ int saa7134_board_init2(struct saa7134_d case SAA7134_BOARD_ASUSTeK_P7131_DUAL: case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: case SAA7134_BOARD_MEDION_MD8800_QUADRO: + case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address */ diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134-dvb.c --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c Fri Nov 30 18:27:26 2007 +0200 +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c Mon Dec 03 19:05:39 2007 +0100 @@ -778,6 +778,21 @@ static struct tda1004x_config avermedia_ .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config twinhan_dtv_dvb_3056_config = { + .demod_address = 0x08, + .invert = 1, + .invert_oclk = 0, + .xtal_freq = TDA10046_XTAL_16M, + .agc_config = TDA10046_AGC_TDA827X, + .gpio_config = TDA10046_GP01_I, + .if_freq = TDA10046_FREQ_045, + .i2c_gate = 0x42, + .tuner_address = 0x61, + .tuner_config = 2, + .antenna_switch = 1, + .request_firmware = philips_tda1004x_request_firmware +}; + /* ------------------------------------------------------------------ * special case: this card uses saa713x GPIO22 for the mode switch */ @@ -1043,6 +1058,8 @@ static int dvb_init(struct saa7134_dev * case SAA7134_BOARD_AVERMEDIA_SUPER_007: configure_tda827x_fe(dev, &avermedia_super_007_config); break; + case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: + configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config); default: wprintk("Huh? unknown DVB card?\n"); break; diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134.h --- a/linux/drivers/media/video/saa7134/saa7134.h Fri Nov 30 18:27:26 2007 +0200 +++ b/linux/drivers/media/video/saa7134/saa7134.h Mon Dec 03 18:16:32 2007 +0100 @@ -247,6 +247,7 @@ struct saa7134_format { #define SAA7134_BOARD_SABRENT_TV_PCB05 115 #define SAA7134_BOARD_10MOONSTVMASTER3 116 #define SAA7134_BOARD_AVERMEDIA_SUPER_007 117 +#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 118 #define SAA7134_MAXBOARDS 8 #define SAA7134_INPUT_MAX 8
diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134-cards.c --- a/linux/drivers/media/video/saa7134/saa7134-cards.c Fri Nov 30 18:27:26 2007 +0200 +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Tue Dec 04 00:06:19 2007 +0100 @@ -3600,6 +3600,36 @@ struct saa7134_board saa7134_boards[] = .tv = 1, }}, }, + [SAA7134_BOARD_TWINHAN_DTV_DVB_3056] = { + .name = "Twinhan Hybrid DTV-DVB 3056 PCI", + .audio_clock = 0x00187de7, + .tuner_type = TUNER_PHILIPS_TDA8290, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .tuner_config = 2, + .mpeg = SAA7134_MPEG_DVB, + .gpiomask = 0x0200000, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = TV, + .tv = 1, + }, { + .name = name_comp1, + .vmux = 3, + .amux = LINE1, + }, { + .name = name_svideo, + .vmux = 8, + .amux = LINE1, + } }, + .radio = { + .name = name_radio, + .amux = TV, + .gpio = 0x0200000, + }, + }, }; const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); @@ -4369,7 +4399,13 @@ struct pci_device_id saa7134_pci_tbl[] = .device = PCI_DEVICE_ID_PHILIPS_SAA7133, .subvendor = 0x4e42, .subdevice = 0x3502, - .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS + .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS, + }, { + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7133, + .subvendor = 0x1822, /*Twinhan Technology Co. Ltd*/ + .subdevice = 0x0022, + .driver_data = SAA7134_BOARD_TWINHAN_DTV_DVB_3056, },{ /* --- boards without eeprom + subsystem ID --- */ .vendor = PCI_VENDOR_ID_PHILIPS, @@ -4782,6 +4818,7 @@ int saa7134_board_init2(struct saa7134_d case SAA7134_BOARD_ASUSTeK_P7131_DUAL: case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: case SAA7134_BOARD_MEDION_MD8800_QUADRO: + case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address */ diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134-dvb.c --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c Fri Nov 30 18:27:26 2007 +0200 +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c Mon Dec 03 19:05:39 2007 +0100 @@ -778,6 +778,21 @@ static struct tda1004x_config avermedia_ .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config twinhan_dtv_dvb_3056_config = { + .demod_address = 0x08, + .invert = 1, + .invert_oclk = 0, + .xtal_freq = TDA10046_XTAL_16M, + .agc_config = TDA10046_AGC_TDA827X, + .gpio_config = TDA10046_GP01_I, + .if_freq = TDA10046_FREQ_045, + .i2c_gate = 0x42, + .tuner_address = 0x61, + .tuner_config = 2, + .antenna_switch = 1, + .request_firmware = philips_tda1004x_request_firmware +}; + /* ------------------------------------------------------------------ * special case: this card uses saa713x GPIO22 for the mode switch */ @@ -1043,6 +1058,8 @@ static int dvb_init(struct saa7134_dev * case SAA7134_BOARD_AVERMEDIA_SUPER_007: configure_tda827x_fe(dev, &avermedia_super_007_config); break; + case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: + configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config); default: wprintk("Huh? unknown DVB card?\n"); break; diff -r 27b2c6a80826 linux/drivers/media/video/saa7134/saa7134.h --- a/linux/drivers/media/video/saa7134/saa7134.h Fri Nov 30 18:27:26 2007 +0200 +++ b/linux/drivers/media/video/saa7134/saa7134.h Mon Dec 03 18:16:32 2007 +0100 @@ -247,6 +247,7 @@ struct saa7134_format { #define SAA7134_BOARD_SABRENT_TV_PCB05 115 #define SAA7134_BOARD_10MOONSTVMASTER3 116 #define SAA7134_BOARD_AVERMEDIA_SUPER_007 117 +#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 118 #define SAA7134_MAXBOARDS 8 #define SAA7134_INPUT_MAX 8
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb