diff options
author | Edgar Simo <bobbens@gmail.com> | 2007-08-20 13:14:50 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:06:01 -0400 |
commit | d90d9f5a0ae9eb80bb3a33472074a114af7e548d (patch) | |
tree | a2877d0dddf6c0c4ba04d5a38a9fdcf72d03e4f1 | |
parent | 261f5081a4dbcd148be0a0e744fb454a4f688441 (diff) |
V4L/DVB (6072): saa7134: add DVB-T support for Avermedia Super 007
Add DVB-T support for Avermedia Super 007
Analog television is untested. The device lacks input adapters for radio,
svideo & composite -- seems to be a DVB-T ONLY device.
Signed-off-by: Edgar Simo <bobbens@gmail.com>
Acked-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 23 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 18 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 43 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 3f8aeab50a10..831b4da48b80 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -115,3 +115,4 @@ | |||
115 | 114 -> KWorld DVB-T 210 [17de:7250] | 115 | 114 -> KWorld DVB-T 210 [17de:7250] |
116 | 115 -> Sabrent PCMCIA TV-PCB05 [0919:2003] | 116 | 115 -> Sabrent PCMCIA TV-PCB05 [0919:2003] |
117 | 116 -> 10MOONS TM300 TV Card [1131:2304] | 117 | 116 -> 10MOONS TM300 TV Card [1131:2304] |
118 | 117 -> Avermedia Super 007 [1461:f01d] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 25ec16810818..5c3174a62e58 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -3534,6 +3534,22 @@ struct saa7134_board saa7134_boards[] = { | |||
3534 | .gpio = 0x3000, | 3534 | .gpio = 0x3000, |
3535 | }, | 3535 | }, |
3536 | }, | 3536 | }, |
3537 | [SAA7134_BOARD_AVERMEDIA_SUPER_007] = { | ||
3538 | .name = "Avermedia Super 007", | ||
3539 | .audio_clock = 0x00187de7, | ||
3540 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3541 | .radio_type = UNSET, | ||
3542 | .tuner_addr = ADDR_UNSET, | ||
3543 | .radio_addr = ADDR_UNSET, | ||
3544 | .tuner_config = 0, | ||
3545 | .mpeg = SAA7134_MPEG_DVB, | ||
3546 | .inputs = {{ | ||
3547 | .name = name_tv, /* FIXME: analog tv untested */ | ||
3548 | .vmux = 1, | ||
3549 | .amux = TV, | ||
3550 | .tv = 1, | ||
3551 | }}, | ||
3552 | }, | ||
3537 | }; | 3553 | }; |
3538 | 3554 | ||
3539 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 3555 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -4257,6 +4273,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
4257 | .subdevice = 0x2304, | 4273 | .subdevice = 0x2304, |
4258 | .driver_data = SAA7134_BOARD_10MOONSTVMASTER3, | 4274 | .driver_data = SAA7134_BOARD_10MOONSTVMASTER3, |
4259 | },{ | 4275 | },{ |
4276 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4277 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4278 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
4279 | .subdevice = 0xf01d, /* AVerTV DVB-T Super 007 */ | ||
4280 | .driver_data = SAA7134_BOARD_AVERMEDIA_SUPER_007, | ||
4281 | },{ | ||
4260 | /* --- boards without eeprom + subsystem ID --- */ | 4282 | /* --- boards without eeprom + subsystem ID --- */ |
4261 | .vendor = PCI_VENDOR_ID_PHILIPS, | 4283 | .vendor = PCI_VENDOR_ID_PHILIPS, |
4262 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 4284 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -4564,6 +4586,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4564 | break; | 4586 | break; |
4565 | case SAA7134_BOARD_PHILIPS_TIGER: | 4587 | case SAA7134_BOARD_PHILIPS_TIGER: |
4566 | case SAA7134_BOARD_PHILIPS_TIGER_S: | 4588 | case SAA7134_BOARD_PHILIPS_TIGER_S: |
4589 | case SAA7134_BOARD_AVERMEDIA_SUPER_007: | ||
4567 | { | 4590 | { |
4568 | u8 data[] = { 0x3c, 0x33, 0x60}; | 4591 | u8 data[] = { 0x3c, 0x33, 0x60}; |
4569 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; | 4592 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index a0ce67ecb018..bbab252cbeee 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -763,6 +763,21 @@ static struct tda1004x_config kworld_dvb_t_210_config = { | |||
763 | .request_firmware = philips_tda1004x_request_firmware | 763 | .request_firmware = philips_tda1004x_request_firmware |
764 | }; | 764 | }; |
765 | 765 | ||
766 | static struct tda1004x_config avermedia_super_007_config = { | ||
767 | .demod_address = 0x08, | ||
768 | .invert = 1, | ||
769 | .invert_oclk = 0, | ||
770 | .xtal_freq = TDA10046_XTAL_16M, | ||
771 | .agc_config = TDA10046_AGC_TDA827X, | ||
772 | .gpio_config = TDA10046_GP01_I, | ||
773 | .if_freq = TDA10046_FREQ_045, | ||
774 | .i2c_gate = 0x4b, | ||
775 | .tuner_address = 0x60, | ||
776 | .tuner_config = 0, | ||
777 | .antenna_switch= 1, | ||
778 | .request_firmware = philips_tda1004x_request_firmware | ||
779 | }; | ||
780 | |||
766 | /* ------------------------------------------------------------------ | 781 | /* ------------------------------------------------------------------ |
767 | * special case: this card uses saa713x GPIO22 for the mode switch | 782 | * special case: this card uses saa713x GPIO22 for the mode switch |
768 | */ | 783 | */ |
@@ -1025,6 +1040,9 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1025 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: | 1040 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: |
1026 | configure_tda827x_fe(dev, &asus_p7131_hybrid_lna_config); | 1041 | configure_tda827x_fe(dev, &asus_p7131_hybrid_lna_config); |
1027 | break; | 1042 | break; |
1043 | case SAA7134_BOARD_AVERMEDIA_SUPER_007: | ||
1044 | configure_tda827x_fe(dev, &avermedia_super_007_config); | ||
1045 | break; | ||
1028 | default: | 1046 | default: |
1029 | wprintk("Huh? unknown DVB card?\n"); | 1047 | wprintk("Huh? unknown DVB card?\n"); |
1030 | break; | 1048 | break; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 346255468dad..fd12942b3a10 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -239,6 +239,7 @@ struct saa7134_format { | |||
239 | #define SAA7134_BOARD_KWORLD_DVBT_210 114 | 239 | #define SAA7134_BOARD_KWORLD_DVBT_210 114 |
240 | #define SAA7134_BOARD_SABRENT_TV_PCB05 115 | 240 | #define SAA7134_BOARD_SABRENT_TV_PCB05 115 |
241 | #define SAA7134_BOARD_10MOONSTVMASTER3 116 | 241 | #define SAA7134_BOARD_10MOONSTVMASTER3 116 |
242 | #define SAA7134_BOARD_AVERMEDIA_SUPER_007 117 | ||
242 | 243 | ||
243 | #define SAA7134_MAXBOARDS 8 | 244 | #define SAA7134_MAXBOARDS 8 |
244 | #define SAA7134_INPUT_MAX 8 | 245 | #define SAA7134_INPUT_MAX 8 |