mirror of
https://github.com/adulau/aha.git
synced 2025-01-02 14:13:18 +00:00
V4L/DVB (11599): S2-1600: Use budget driver instead of budged-ci
Signed-off-by: Andreas Regel <andreas.regel@gmx.de> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
cbc320d278
commit
62ad7c1188
2 changed files with 85 additions and 86 deletions
|
@ -53,9 +53,6 @@
|
|||
#include "bsru6.h"
|
||||
#include "tda1002x.h"
|
||||
#include "tda827x.h"
|
||||
#include "stv6110x.h"
|
||||
#include "stv090x.h"
|
||||
#include "isl6423.h"
|
||||
|
||||
/*
|
||||
* Regarding DEBIADDR_IR:
|
||||
|
@ -1349,44 +1346,6 @@ static struct stb6100_config tt3200_stb6100_config = {
|
|||
.refclock = 27000000,
|
||||
};
|
||||
|
||||
static struct stv090x_config tt1600_stv090x_config = {
|
||||
.device = STV0903,
|
||||
.demod_mode = STV090x_SINGLE,
|
||||
.clk_mode = STV090x_CLK_EXT,
|
||||
|
||||
.xtal = 27000000,
|
||||
.address = 0x68,
|
||||
.ref_clk = 27000000,
|
||||
|
||||
.ts1_mode = STV090x_TSMODE_PARALLEL_PUNCTURED,
|
||||
.ts2_mode = STV090x_TSMODE_SERIAL_PUNCTURED,
|
||||
|
||||
.repeater_level = STV090x_RPTLEVEL_16,
|
||||
|
||||
.tuner_init = NULL,
|
||||
.tuner_set_mode = NULL,
|
||||
.tuner_set_frequency = NULL,
|
||||
.tuner_get_frequency = NULL,
|
||||
.tuner_set_bandwidth = NULL,
|
||||
.tuner_get_bandwidth = NULL,
|
||||
.tuner_set_bbgain = NULL,
|
||||
.tuner_get_bbgain = NULL,
|
||||
.tuner_set_refclk = NULL,
|
||||
.tuner_get_status = NULL,
|
||||
};
|
||||
|
||||
static struct stv6110x_config tt1600_stv6110x_config = {
|
||||
.addr = 0x60,
|
||||
.refclk = 27000000,
|
||||
};
|
||||
|
||||
static struct isl6423_config tt1600_isl6423_config = {
|
||||
.current_max = SEC_CURRENT_515m,
|
||||
.curlim = SEC_CURRENT_LIM_ON,
|
||||
.mod_extern = 1,
|
||||
.addr = 0x08,
|
||||
};
|
||||
|
||||
static void frontend_init(struct budget_ci *budget_ci)
|
||||
{
|
||||
switch (budget_ci->budget.dev->pci->subsystem_device) {
|
||||
|
@ -1506,49 +1465,6 @@ static void frontend_init(struct budget_ci *budget_ci)
|
|||
}
|
||||
break;
|
||||
|
||||
case 0x101c: { /* TT S2-1600 */
|
||||
struct stv6110x_devctl *ctl;
|
||||
/* TODO! must verify with Andreas */
|
||||
saa7146_setgpio(budget_ci->budget.dev, 2, SAA7146_GPIO_OUTLO);
|
||||
msleep(50);
|
||||
saa7146_setgpio(budget_ci->budget.dev, 2, SAA7146_GPIO_OUTHI);
|
||||
msleep(250);
|
||||
|
||||
budget_ci->budget.dvb_frontend = dvb_attach(stv090x_attach,
|
||||
&tt1600_stv090x_config,
|
||||
&budget_ci->budget.i2c_adap,
|
||||
STV090x_DEMODULATOR_0);
|
||||
|
||||
if (budget_ci->budget.dvb_frontend) {
|
||||
|
||||
ctl = dvb_attach(stv6110x_attach,
|
||||
budget_ci->budget.dvb_frontend,
|
||||
&tt1600_stv6110x_config,
|
||||
&budget_ci->budget.i2c_adap);
|
||||
|
||||
tt1600_stv090x_config.tuner_init = ctl->tuner_init;
|
||||
tt1600_stv090x_config.tuner_set_mode = ctl->tuner_set_mode;
|
||||
tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
|
||||
tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
|
||||
tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
|
||||
tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
|
||||
tt1600_stv090x_config.tuner_set_bbgain = ctl->tuner_set_bbgain;
|
||||
tt1600_stv090x_config.tuner_get_bbgain = ctl->tuner_get_bbgain;
|
||||
tt1600_stv090x_config.tuner_set_refclk = ctl->tuner_set_refclk;
|
||||
tt1600_stv090x_config.tuner_get_status = ctl->tuner_get_status;
|
||||
|
||||
dvb_attach(isl6423_attach,
|
||||
budget_ci->budget.dvb_frontend,
|
||||
&budget_ci->budget.i2c_adap,
|
||||
&tt1600_isl6423_config);
|
||||
|
||||
} else {
|
||||
dvb_frontend_detach(budget_ci->budget.dvb_frontend);
|
||||
budget_ci->budget.dvb_frontend = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (budget_ci->budget.dvb_frontend == NULL) {
|
||||
|
@ -1640,7 +1556,6 @@ 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(ttc1501, "TT-Budget C-1501 PCI", BUDGET_TT);
|
||||
MAKE_BUDGET_INFO(tt3200, "TT-Budget S2-3200 PCI", BUDGET_TT);
|
||||
MAKE_BUDGET_INFO(tt1600, "TT-Budget S2-1600 PCI", BUDGET_TT);
|
||||
|
||||
static struct pci_device_id pci_tbl[] = {
|
||||
MAKE_EXTENSION_PCI(ttbci, 0x13c2, 0x100c),
|
||||
|
@ -1651,7 +1566,6 @@ static struct pci_device_id pci_tbl[] = {
|
|||
MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
|
||||
MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101a),
|
||||
MAKE_EXTENSION_PCI(tt3200, 0x13c2, 0x1019),
|
||||
MAKE_EXTENSION_PCI(tt1600, 0x13c2, 0x101c),
|
||||
{
|
||||
.vendor = 0,
|
||||
}
|
||||
|
|
|
@ -47,6 +47,9 @@
|
|||
#include "bsru6.h"
|
||||
#include "bsbe1.h"
|
||||
#include "tdhd1.h"
|
||||
#include "stv6110x.h"
|
||||
#include "stv090x.h"
|
||||
#include "isl6423.h"
|
||||
|
||||
static int diseqc_method;
|
||||
module_param(diseqc_method, int, 0444);
|
||||
|
@ -425,6 +428,44 @@ static u8 read_pwm(struct budget* budget)
|
|||
return pwm;
|
||||
}
|
||||
|
||||
static struct stv090x_config tt1600_stv090x_config = {
|
||||
.device = STV0903,
|
||||
.demod_mode = STV090x_SINGLE,
|
||||
.clk_mode = STV090x_CLK_EXT,
|
||||
|
||||
.xtal = 27000000,
|
||||
.address = 0x68,
|
||||
.ref_clk = 27000000,
|
||||
|
||||
.ts1_mode = STV090x_TSMODE_PARALLEL_PUNCTURED,
|
||||
.ts2_mode = STV090x_TSMODE_SERIAL_PUNCTURED,
|
||||
|
||||
.repeater_level = STV090x_RPTLEVEL_16,
|
||||
|
||||
.tuner_init = NULL,
|
||||
.tuner_set_mode = NULL,
|
||||
.tuner_set_frequency = NULL,
|
||||
.tuner_get_frequency = NULL,
|
||||
.tuner_set_bandwidth = NULL,
|
||||
.tuner_get_bandwidth = NULL,
|
||||
.tuner_set_bbgain = NULL,
|
||||
.tuner_get_bbgain = NULL,
|
||||
.tuner_set_refclk = NULL,
|
||||
.tuner_get_status = NULL,
|
||||
};
|
||||
|
||||
static struct stv6110x_config tt1600_stv6110x_config = {
|
||||
.addr = 0x60,
|
||||
.refclk = 27000000,
|
||||
};
|
||||
|
||||
static struct isl6423_config tt1600_isl6423_config = {
|
||||
.current_max = SEC_CURRENT_515m,
|
||||
.curlim = SEC_CURRENT_LIM_ON,
|
||||
.mod_extern = 1,
|
||||
.addr = 0x08,
|
||||
};
|
||||
|
||||
static void frontend_init(struct budget *budget)
|
||||
{
|
||||
(void)alps_bsbe1_config; /* avoid warning */
|
||||
|
@ -566,6 +607,48 @@ static void frontend_init(struct budget *budget)
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x101c: { /* TT S2-1600 */
|
||||
struct stv6110x_devctl *ctl;
|
||||
saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTLO);
|
||||
msleep(50);
|
||||
saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTHI);
|
||||
msleep(250);
|
||||
|
||||
budget->dvb_frontend = dvb_attach(stv090x_attach,
|
||||
&tt1600_stv090x_config,
|
||||
&budget->i2c_adap,
|
||||
STV090x_DEMODULATOR_0);
|
||||
|
||||
if (budget->dvb_frontend) {
|
||||
|
||||
ctl = dvb_attach(stv6110x_attach,
|
||||
budget->dvb_frontend,
|
||||
&tt1600_stv6110x_config,
|
||||
&budget->i2c_adap);
|
||||
|
||||
tt1600_stv090x_config.tuner_init = ctl->tuner_init;
|
||||
tt1600_stv090x_config.tuner_set_mode = ctl->tuner_set_mode;
|
||||
tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
|
||||
tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
|
||||
tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
|
||||
tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
|
||||
tt1600_stv090x_config.tuner_set_bbgain = ctl->tuner_set_bbgain;
|
||||
tt1600_stv090x_config.tuner_get_bbgain = ctl->tuner_get_bbgain;
|
||||
tt1600_stv090x_config.tuner_set_refclk = ctl->tuner_set_refclk;
|
||||
tt1600_stv090x_config.tuner_get_status = ctl->tuner_get_status;
|
||||
|
||||
dvb_attach(isl6423_attach,
|
||||
budget->dvb_frontend,
|
||||
&budget->i2c_adap,
|
||||
&tt1600_isl6423_config);
|
||||
|
||||
} else {
|
||||
dvb_frontend_detach(budget->dvb_frontend);
|
||||
budget->dvb_frontend = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (budget->dvb_frontend == NULL) {
|
||||
|
@ -641,6 +724,7 @@ MAKE_BUDGET_INFO(ttbc, "TT-Budget/WinTV-NOVA-C PCI", BUDGET_TT);
|
|||
MAKE_BUDGET_INFO(ttbt, "TT-Budget/WinTV-NOVA-T PCI", BUDGET_TT);
|
||||
MAKE_BUDGET_INFO(satel, "SATELCO Multimedia PCI", BUDGET_TT_HW_DISEQC);
|
||||
MAKE_BUDGET_INFO(ttbs1401, "TT-Budget-S-1401 PCI", BUDGET_TT);
|
||||
MAKE_BUDGET_INFO(tt1600, "TT-Budget S2-1600 PCI", BUDGET_TT);
|
||||
MAKE_BUDGET_INFO(fsacs0, "Fujitsu Siemens Activy Budget-S PCI (rev GR/grundig frontend)", BUDGET_FS_ACTIVY);
|
||||
MAKE_BUDGET_INFO(fsacs1, "Fujitsu Siemens Activy Budget-S PCI (rev AL/alps frontend)", BUDGET_FS_ACTIVY);
|
||||
MAKE_BUDGET_INFO(fsact, "Fujitsu Siemens Activy Budget-T PCI (rev GR/Grundig frontend)", BUDGET_FS_ACTIVY);
|
||||
|
@ -653,6 +737,7 @@ static struct pci_device_id pci_tbl[] = {
|
|||
MAKE_EXTENSION_PCI(satel, 0x13c2, 0x1013),
|
||||
MAKE_EXTENSION_PCI(ttbs, 0x13c2, 0x1016),
|
||||
MAKE_EXTENSION_PCI(ttbs1401, 0x13c2, 0x1018),
|
||||
MAKE_EXTENSION_PCI(tt1600, 0x13c2, 0x101c),
|
||||
MAKE_EXTENSION_PCI(fsacs1,0x1131, 0x4f60),
|
||||
MAKE_EXTENSION_PCI(fsacs0,0x1131, 0x4f61),
|
||||
MAKE_EXTENSION_PCI(fsact1, 0x1131, 0x5f60),
|
||||
|
|
Loading…
Reference in a new issue