aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Catana <vadim.catana@gmail.com>2010-05-29 11:49:16 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-08-02 14:27:33 -0400
commit128fe95d77d6c5239ce6af6c3edacafc79eb0a39 (patch)
treedc543f33bc29a68f7194ea660838e582046c715b
parent0d58cef664e01fb1848833455bfdbe1a3d91044c (diff)
V4L/DVB: TechnoTrend TT-budget T-3000
This patch adds support for TechnoTrend TT-budget T-3000 DVB-T card. Signed-off-by: Vadim Catana <vadim.catana@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--Documentation/video4linux/CARDLIST.saa71343
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c31
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c23
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
4 files changed, 57 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 1387a69ae3aa..4000c29fcfb6 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -178,4 +178,5 @@
178177 -> Hawell HW-404M7 178177 -> Hawell HW-404M7
179178 -> Beholder BeholdTV H7 [5ace:7190] 179178 -> Beholder BeholdTV H7 [5ace:7190]
180179 -> Beholder BeholdTV A7 [5ace:7090] 180179 -> Beholder BeholdTV A7 [5ace:7090]
181180 -> Avermedia M733A [1461:4155,1461:4255] 181180 -> Avermedia PCI M733A [1461:4155,1461:4255]
182181 -> TechoTrend TT-budget T-3000 [13c2:2804]
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 07f6bb8ef9d9..ec697fcd406e 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -5462,6 +5462,30 @@ struct saa7134_board saa7134_boards[] = {
5462 .amux = TV, 5462 .amux = TV,
5463 }, 5463 },
5464 }, 5464 },
5465 [SAA7134_BOARD_TECHNOTREND_BUDGET_T3000] = {
5466 .name = "TechoTrend TT-budget T-3000",
5467 .tuner_type = TUNER_PHILIPS_TD1316,
5468 .audio_clock = 0x00187de7,
5469 .radio_type = UNSET,
5470 .tuner_addr = 0x63,
5471 .radio_addr = ADDR_UNSET,
5472 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
5473 .mpeg = SAA7134_MPEG_DVB,
5474 .inputs = {{
5475 .name = name_tv,
5476 .vmux = 3,
5477 .amux = TV,
5478 .tv = 1,
5479 }, {
5480 .name = name_comp1,
5481 .vmux = 0,
5482 .amux = LINE2,
5483 }, {
5484 .name = name_svideo,
5485 .vmux = 8,
5486 .amux = LINE2,
5487 } },
5488 },
5465 5489
5466}; 5490};
5467 5491
@@ -6631,6 +6655,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
6631 .subdevice = 0x6655, 6655 .subdevice = 0x6655,
6632 .driver_data = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S, 6656 .driver_data = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S,
6633 }, { 6657 }, {
6658 .vendor = PCI_VENDOR_ID_PHILIPS,
6659 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
6660 .subvendor = 0x13c2,
6661 .subdevice = 0x2804,
6662 .driver_data = SAA7134_BOARD_TECHNOTREND_BUDGET_T3000,
6663 }, {
6634 /* --- boards without eeprom + subsystem ID --- */ 6664 /* --- boards without eeprom + subsystem ID --- */
6635 .vendor = PCI_VENDOR_ID_PHILIPS, 6665 .vendor = PCI_VENDOR_ID_PHILIPS,
6636 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 6666 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -7320,6 +7350,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
7320 case SAA7134_BOARD_VIDEOMATE_DVBT_300: 7350 case SAA7134_BOARD_VIDEOMATE_DVBT_300:
7321 case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: 7351 case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
7322 case SAA7134_BOARD_ASUS_EUROPA_HYBRID: 7352 case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
7353 case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:
7323 { 7354 {
7324 7355
7325 /* The Philips EUROPA based hybrid boards have the tuner 7356 /* The Philips EUROPA based hybrid boards have the tuner
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 31e82be1b7e7..f26fe7661a1d 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -481,6 +481,17 @@ static struct tda1004x_config medion_cardbus = {
481 .request_firmware = philips_tda1004x_request_firmware 481 .request_firmware = philips_tda1004x_request_firmware
482}; 482};
483 483
484static struct tda1004x_config technotrend_budget_t3000_config = {
485 .demod_address = 0x8,
486 .invert = 1,
487 .invert_oclk = 0,
488 .xtal_freq = TDA10046_XTAL_4M,
489 .agc_config = TDA10046_AGC_DEFAULT,
490 .if_freq = TDA10046_FREQ_3617,
491 .tuner_address = 0x63,
492 .request_firmware = philips_tda1004x_request_firmware
493};
494
484/* ------------------------------------------------------------------ 495/* ------------------------------------------------------------------
485 * tda 1004x based cards with philips silicon tuner 496 * tda 1004x based cards with philips silicon tuner
486 */ 497 */
@@ -1168,6 +1179,18 @@ static int dvb_init(struct saa7134_dev *dev)
1168 fe0->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params; 1179 fe0->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params;
1169 } 1180 }
1170 break; 1181 break;
1182 case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:
1183 fe0->dvb.frontend = dvb_attach(tda10046_attach,
1184 &technotrend_budget_t3000_config,
1185 &dev->i2c_adap);
1186 if (fe0->dvb.frontend) {
1187 dev->original_demod_sleep = fe0->dvb.frontend->ops.sleep;
1188 fe0->dvb.frontend->ops.sleep = philips_europa_demod_sleep;
1189 fe0->dvb.frontend->ops.tuner_ops.init = philips_europa_tuner_init;
1190 fe0->dvb.frontend->ops.tuner_ops.sleep = philips_europa_tuner_sleep;
1191 fe0->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params;
1192 }
1193 break;
1171 case SAA7134_BOARD_VIDEOMATE_DVBT_200: 1194 case SAA7134_BOARD_VIDEOMATE_DVBT_200:
1172 fe0->dvb.frontend = dvb_attach(tda10046_attach, 1195 fe0->dvb.frontend = dvb_attach(tda10046_attach,
1173 &philips_tu1216_61_config, 1196 &philips_tu1216_61_config,
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 756a1ca8833d..c040a1808542 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -304,6 +304,7 @@ struct saa7134_format {
304#define SAA7134_BOARD_BEHOLD_H7 178 304#define SAA7134_BOARD_BEHOLD_H7 178
305#define SAA7134_BOARD_BEHOLD_A7 179 305#define SAA7134_BOARD_BEHOLD_A7 179
306#define SAA7134_BOARD_AVERMEDIA_M733A 180 306#define SAA7134_BOARD_AVERMEDIA_M733A 180
307#define SAA7134_BOARD_TECHNOTREND_BUDGET_T3000 181
307 308
308#define SAA7134_MAXBOARDS 32 309#define SAA7134_MAXBOARDS 32
309#define SAA7134_INPUT_MAX 8 310#define SAA7134_INPUT_MAX 8