--- linux/drivers/media/dvb/ttpci/budget-ci.c.old 2008-06-06 13:39:23.000000000 +0300 +++ linux/drivers/media/dvb/ttpci/budget-ci.c 2008-06-06 13:50:18.000000000 +0300 @@ -51,6 +51,8 @@ #include "lnbp21.h" #include "bsbe1.h" #include "bsru6.h" +#include "tda1002x.h" +#include "tda827x.h" /* * Regarding DEBIADDR_IR: @@ -1337,6 +1339,16 @@ .refclock = 27000000, }; +static struct tda10023_config tda10023_config = { + .demod_address = 0xc, + .invert = 0, + .xtal = 16000000, + .pll_m = 11, + .pll_p = 3, + .pll_n = 1, + .deltaf = 0xA511, +}; + static void frontend_init(struct budget_ci *budget_ci) { switch (budget_ci->budget.dev->pci->subsystem_device) { @@ -1404,7 +1416,20 @@ budget_ci->budget.dvb_frontend = NULL; } } - + break; + case 0x101a: /* TT Budget-C-1501 (philips tda10023/philips tda8274A) */ + budget_ci->budget.dvb_frontend = + dvb_attach(tda10023_attach, &tda10023_config, + &budget_ci->budget.i2c_adap, 0x48); + if (budget_ci->budget.dvb_frontend) { + if (dvb_attach(tda827x_attach, + budget_ci->budget.dvb_frontend, 0x61, + &budget_ci->budget.i2c_adap, NULL) + == NULL) + printk(KERN_ERR "%s: No tda827x found!\n", + __func__); + break; + } break; case 0x1019: // TT S2-3200 PCI @@ -1535,6 +1560,7 @@ MAKE_BUDGET_INFO(ttbtci, "TT-Budget-T-CI PCI", BUDGET_TT); MAKE_BUDGET_INFO(ttbcci, "TT-Budget-C-CI PCI", BUDGET_TT); MAKE_BUDGET_INFO(tt3200, "TT-Budget S2-3200 PCI", BUDGET_TT); +MAKE_BUDGET_INFO(ttc1501, "TT-Budget C-1501 PCI", BUDGET_TT); static struct pci_device_id pci_tbl[] = { MAKE_EXTENSION_PCI(ttbci, 0x13c2, 0x100c), @@ -1544,6 +1570,7 @@ MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012), MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017), MAKE_EXTENSION_PCI(tt3200, 0x13c2, 0x1019), + MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101A), { .vendor = 0, }