Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 173998
b: refs/heads/master
c: 1724c8f
h: refs/heads/master
v: v3
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Dec 5, 2009
1 parent 1f4d29e commit 8c3e8d4
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e29cd96715ab8b9315fb50096df4677a23d7d6a7
refs/heads/master: 1724c8fa7eb33d68898e060a08a8e6a88348b62f
16 changes: 14 additions & 2 deletions trunk/drivers/media/common/tuners/tda18271-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -326,12 +326,24 @@ int tda18271_init_regs(struct dvb_frontend *fe)
regs[R_EB22] = 0x48;
regs[R_EB23] = 0xb0;

if (priv->small_i2c) {
switch (priv->small_i2c) {
case TDA18271_08_BYTE_CHUNK_INIT:
tda18271_write_regs(fe, 0x00, 0x08);
tda18271_write_regs(fe, 0x08, 0x08);
tda18271_write_regs(fe, 0x10, 0x08);
tda18271_write_regs(fe, 0x18, 0x08);
tda18271_write_regs(fe, 0x20, 0x07);
break;
case TDA18271_16_BYTE_CHUNK_INIT:
tda18271_write_regs(fe, 0x00, 0x10);
tda18271_write_regs(fe, 0x10, 0x10);
tda18271_write_regs(fe, 0x20, 0x07);
} else
break;
case TDA18271_39_BYTE_CHUNK_INIT:
default:
tda18271_write_regs(fe, 0x00, TDA18271_NUM_REGS);
break;
}

/* setup agc1 gain */
regs[R_EB17] = 0x00;
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/media/common/tuners/tda18271-fe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1224,7 +1224,8 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
priv->gate = (cfg) ? cfg->gate : TDA18271_GATE_AUTO;
priv->role = (cfg) ? cfg->role : TDA18271_MASTER;
priv->config = (cfg) ? cfg->config : 0;
priv->small_i2c = (cfg) ? cfg->small_i2c : 0;
priv->small_i2c = (cfg) ?
cfg->small_i2c : TDA18271_39_BYTE_CHUNK_INIT;
priv->output_opt = (cfg) ?
cfg->output_opt : TDA18271_OUTPUT_LT_XT_ON;

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/media/common/tuners/tda18271-priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ struct tda18271_priv {
enum tda18271_i2c_gate gate;
enum tda18271_ver id;
enum tda18271_output_options output_opt;
enum tda18271_small_i2c small_i2c;

unsigned int config; /* interface to saa713x / tda829x */
unsigned int cal_initialized:1;
unsigned int small_i2c:1;

u8 tm_rfcal;

Expand Down
12 changes: 9 additions & 3 deletions trunk/drivers/media/common/tuners/tda18271.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ enum tda18271_output_options {
TDA18271_OUTPUT_XT_OFF = 2,
};

enum tda18271_small_i2c {
TDA18271_39_BYTE_CHUNK_INIT = 0,
TDA18271_16_BYTE_CHUNK_INIT = 1,
TDA18271_08_BYTE_CHUNK_INIT = 2,
};

struct tda18271_config {
/* override default if freq / std settings (optional) */
struct tda18271_std_map *std_map;
Expand All @@ -91,12 +97,12 @@ struct tda18271_config {
/* output options that can be disabled */
enum tda18271_output_options output_opt;

/* some i2c providers cant write all 39 registers at once */
enum tda18271_small_i2c small_i2c;

/* force rf tracking filter calibration on startup */
unsigned int rf_cal_on_startup:1;

/* some i2c providers cant write all 39 registers at once */
unsigned int small_i2c:1;

/* interface to saa713x / tda829x */
unsigned int config;
};
Expand Down

0 comments on commit 8c3e8d4

Please sign in to comment.