aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/ttpci
diff options
context:
space:
mode:
authorSigmund Augdal <sigmund@snap.tv>2008-06-15 16:25:46 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:09:45 -0400
commit11417daab6d596f8d4851476777ca49fb3b12a87 (patch)
treea7bdd4373d3e3da8617a2323b70e6a4197dab03f /drivers/media/dvb/ttpci
parentdf9b5d4cf636f992276b6b595620d9b2a63095db (diff)
V4L/DVB (8049): budget-ci: Add support for Technotrend budget C-1501 dvb-c card
The following experimental patch adds support for the technotrend budget C-1501 dvb-c card. The parameters used to configure the tda10023 demod chip are largely determined experimentally, but works quite for me in my initial tests. Signed-off-by: Sigmund Augdal <sigmund@snap.tv> Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/ttpci')
-rw-r--r--drivers/media/dvb/ttpci/budget-ci.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/media/dvb/ttpci/budget-ci.c b/drivers/media/dvb/ttpci/budget-ci.c
index 6530323d5406..374100316dc3 100644
--- a/drivers/media/dvb/ttpci/budget-ci.c
+++ b/drivers/media/dvb/ttpci/budget-ci.c
@@ -46,6 +46,8 @@
46#include "lnbp21.h" 46#include "lnbp21.h"
47#include "bsbe1.h" 47#include "bsbe1.h"
48#include "bsru6.h" 48#include "bsru6.h"
49#include "tda1002x.h"
50#include "tda827x.h"
49 51
50/* 52/*
51 * Regarding DEBIADDR_IR: 53 * Regarding DEBIADDR_IR:
@@ -1056,6 +1058,15 @@ static struct stv0297_config dvbc_philips_tdm1316l_config = {
1056 .stop_during_read = 1, 1058 .stop_during_read = 1,
1057}; 1059};
1058 1060
1061static struct tda10023_config tda10023_config = {
1062 .demod_address = 0xc,
1063 .invert = 0,
1064 .xtal = 16000000,
1065 .pll_m = 11,
1066 .pll_p = 3,
1067 .pll_n = 1,
1068 .deltaf = 0xa511,
1069};
1059 1070
1060 1071
1061 1072
@@ -1126,7 +1137,17 @@ static void frontend_init(struct budget_ci *budget_ci)
1126 budget_ci->budget.dvb_frontend = NULL; 1137 budget_ci->budget.dvb_frontend = NULL;
1127 } 1138 }
1128 } 1139 }
1140 break;
1129 1141
1142 case 0x101a: /* TT Budget-C-1501 (philips tda10023/philips tda8274A) */
1143 budget_ci->budget.dvb_frontend = dvb_attach(tda10023_attach, &tda10023_config, &budget_ci->budget.i2c_adap, 0x48);
1144 if (budget_ci->budget.dvb_frontend) {
1145 if (dvb_attach(tda827x_attach, budget_ci->budget.dvb_frontend, 0x61, &budget_ci->budget.i2c_adap, NULL) == NULL) {
1146 printk(KERN_ERR "%s: No tda827x found!\n", __func__);
1147 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1148 budget_ci->budget.dvb_frontend = NULL;
1149 }
1150 }
1130 break; 1151 break;
1131 } 1152 }
1132 1153
@@ -1216,6 +1237,7 @@ MAKE_BUDGET_INFO(ttbci, "TT-Budget/WinTV-NOVA-CI PCI", BUDGET_TT_HW_DISEQC);
1216MAKE_BUDGET_INFO(ttbt2, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT); 1237MAKE_BUDGET_INFO(ttbt2, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT);
1217MAKE_BUDGET_INFO(ttbtci, "TT-Budget-T-CI PCI", BUDGET_TT); 1238MAKE_BUDGET_INFO(ttbtci, "TT-Budget-T-CI PCI", BUDGET_TT);
1218MAKE_BUDGET_INFO(ttbcci, "TT-Budget-C-CI PCI", BUDGET_TT); 1239MAKE_BUDGET_INFO(ttbcci, "TT-Budget-C-CI PCI", BUDGET_TT);
1240MAKE_BUDGET_INFO(ttc1501, "TT-Budget C-1501 PCI", BUDGET_TT);
1219 1241
1220static struct pci_device_id pci_tbl[] = { 1242static struct pci_device_id pci_tbl[] = {
1221 MAKE_EXTENSION_PCI(ttbci, 0x13c2, 0x100c), 1243 MAKE_EXTENSION_PCI(ttbci, 0x13c2, 0x100c),
@@ -1224,6 +1246,7 @@ static struct pci_device_id pci_tbl[] = {
1224 MAKE_EXTENSION_PCI(ttbt2, 0x13c2, 0x1011), 1246 MAKE_EXTENSION_PCI(ttbt2, 0x13c2, 0x1011),
1225 MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012), 1247 MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012),
1226 MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017), 1248 MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
1249 MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101a),
1227 { 1250 {
1228 .vendor = 0, 1251 .vendor = 0,
1229 } 1252 }