aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdgar Simo <bobbens@gmail.com>2007-08-20 13:14:50 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:06:01 -0400
commitd90d9f5a0ae9eb80bb3a33472074a114af7e548d (patch)
treea2877d0dddf6c0c4ba04d5a38a9fdcf72d03e4f1
parent261f5081a4dbcd148be0a0e744fb454a4f688441 (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.saa71341
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c23
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c18
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
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 @@
115114 -> KWorld DVB-T 210 [17de:7250] 115114 -> KWorld DVB-T 210 [17de:7250]
116115 -> Sabrent PCMCIA TV-PCB05 [0919:2003] 116115 -> Sabrent PCMCIA TV-PCB05 [0919:2003]
117116 -> 10MOONS TM300 TV Card [1131:2304] 117116 -> 10MOONS TM300 TV Card [1131:2304]
118117 -> 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
3539const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 3555const 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
766static 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