Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 92662
b: refs/heads/master
c: ca19aaa
h: refs/heads/master
v: v3
  • Loading branch information
Patrick Boettcher authored and Mauro Carvalho Chehab committed Apr 24, 2008
1 parent 23df8aa commit d6ffe69
Show file tree
Hide file tree
Showing 7 changed files with 582 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c9dd82c2f978e4ebac1cbb7cee8d379d1090154b
refs/heads/master: ca19aaa510b150ca358166b29eb2bb62ad971f76
2 changes: 2 additions & 0 deletions trunk/drivers/media/dvb/b2c2/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ config DVB_B2C2_FLEXCOP
select DVB_BCM3510 if !DVB_FE_CUSTOMISE
select DVB_LGDT330X if !DVB_FE_CUSTOMISE
select TUNER_SIMPLE if !DVB_FE_CUSTOMISE
select DVB_S5H1420 if !DVB_FE_CUSTOMISE
select DVB_TUNER_ITD1000 if !DVB_FE_CUSTOMISE
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
select DVB_CX24123 if !DVB_FE_CUSTOMISE
help
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/media/dvb/b2c2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ b2c2-flexcop-objs = flexcop.o flexcop-fe-tuner.o flexcop-i2c.o \
flexcop-sram.o flexcop-eeprom.o flexcop-misc.o flexcop-hw-filter.o
obj-$(CONFIG_DVB_B2C2_FLEXCOP) += b2c2-flexcop.o


ifneq ($(CONFIG_DVB_B2C2_FLEXCOP_PCI),)
b2c2-flexcop-objs += flexcop-dma.o
endif
Expand Down
48 changes: 48 additions & 0 deletions trunk/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
#include "dvb-pll.h"
#include "tuner-simple.h"

#include "s5h1420.h"
#include "itd1000.h"

#include "cx24123.h"
#include "cx24113.h"

Expand Down Expand Up @@ -482,6 +485,18 @@ static struct stv0297_config alps_tdee4_stv0297_config = {
};


/* SkyStar2 rev2.7 (a/u) */
static struct s5h1420_config skystar2_rev2_7_s5h1420_config = {
.demod_address = 0x53,
.invert = 1,
.repeated_start_workaround = 1,
};

static struct itd1000_config skystar2_rev2_7_itd1000_config = {
.i2c_address = 0x61,
};

/* SkyStar2 rev2.8 */
static struct cx24123_config skystar2_rev2_8_cx24123_config = {
.demod_address = 0x55,
.dont_use_pll = 1,
Expand All @@ -500,6 +515,39 @@ int flexcop_frontend_init(struct flexcop_device *fc)
struct i2c_adapter *i2c = &fc->fc_i2c_adap[0].i2c_adap;
struct i2c_adapter *i2c_tuner;

/* enable no_base_addr - no repeated start when reading */
fc->fc_i2c_adap[0].no_base_addr = 1;
fc->fe = dvb_attach(s5h1420_attach, &skystar2_rev2_7_s5h1420_config, i2c);
if (fc->fe != NULL) {
flexcop_ibi_value r108;
i2c_tuner = s5h1420_get_tuner_i2c_adapter(fc->fe);
ops = &fc->fe->ops;

fc->fe_sleep = ops->sleep;
ops->sleep = flexcop_sleep;

fc->dev_type = FC_SKY_REV27;

/* enable no_base_addr - no repeated start when reading */
fc->fc_i2c_adap[2].no_base_addr = 1;
if (dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap, 0x08, 1, 1) == NULL)
err("ISL6421 could NOT be attached");
else
info("ISL6421 successfully attached");

/* the ITD1000 requires a lower i2c clock - it slows down the stuff for everyone - but is it a problem ? */
r108.raw = 0x00000506;
fc->write_ibi_reg(fc, tw_sm_c_108, r108);
if (i2c_tuner) {
if (dvb_attach(itd1000_attach, fc->fe, i2c_tuner, &skystar2_rev2_7_itd1000_config) == NULL)
err("ITD1000 could NOT be attached");
else
info("ITD1000 successfully attached");
}
goto fe_found;
}
fc->fc_i2c_adap[0].no_base_addr = 0; /* for the next devices we need it again */

/* try the sky v2.8 (cx24123, isl6421) */
fc->fe = dvb_attach(cx24123_attach,
&skystar2_rev2_8_cx24123_config, i2c);
Expand Down
Loading

0 comments on commit d6ffe69

Please sign in to comment.