Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 271942
b: refs/heads/master
c: e305288
h: refs/heads/master
v: v3
  • Loading branch information
Malcolm Priestley authored and Mauro Carvalho Chehab committed Oct 8, 2011
1 parent c2b4b63 commit 80e4121
Show file tree
Hide file tree
Showing 3 changed files with 31 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: 64933337e3cb61ca555969a35ab68b477db34ee2
refs/heads/master: e30528854797f057aa6ffb6dc9f890e923c467fd
10 changes: 9 additions & 1 deletion trunk/drivers/media/dvb/frontends/it913x-fe-priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,15 @@ static struct it913xset it9137_set[] = {
{PRO_LINK, GPIOH5_EN, {0x01}, 0x01},
{PRO_LINK, GPIOH5_ON, {0x01}, 0x01},
{PRO_LINK, GPIOH5_O, {0x00}, 0x01},
{PRO_LINK, GPIOH5_O, {0x01}, 0x01},/* ?, but enable */
{PRO_LINK, GPIOH5_O, {0x01}, 0x01},
{0xff, 0x0000, {0x00}, 0x00}, /* Terminating Entry */
};

static struct it913xset it9137_tuner_off[] = {
{PRO_DMOD, 0xfba8, {0x01}, 0x01}, /* Tuner Clock Off */
{PRO_DMOD, 0xec40, {0x00}, 0x01}, /* Power Down Tuner */
{PRO_DMOD, 0xec02, {0x3f, 0x1f, 0x3f, 0x3f}, 0x04},
{PRO_DMOD, 0xec3f, {0x01}, 0x01},
{0xff, 0x0000, {0x00}, 0x00}, /* Terminating Entry */
};

Expand Down
27 changes: 21 additions & 6 deletions trunk/drivers/media/dvb/frontends/it913x-fe.c
Original file line number Diff line number Diff line change
Expand Up @@ -626,26 +626,31 @@ static int it913x_fe_suspend(struct it913x_fe_state *state)
for (i = 0; i < 128; i++) {
ret = it913x_read_reg(state, SUSPEND_FLAG, &b, 1);
if (ret < 0)
return -EINVAL;
return -ENODEV;
if (b == 0)
break;

}

ret |= it913x_write_reg(state, PRO_DMOD, AFE_MEM0, 0x8);
/* Turn LED off */
ret = it913x_write_reg(state, PRO_LINK, GPIOH3_O, 0x0);
ret |= it913x_write_reg(state, PRO_LINK, GPIOH3_O, 0x0);

return 0;
ret |= it913x_fe_script_loader(state, it9137_tuner_off);

return (ret < 0) ? -ENODEV : 0;
}

/* Power sequence */
/* Power Up Tuner on -> Frontend suspend off -> Tuner clk on */
/* Power Down Frontend suspend on -> Tuner clk off -> Tuner off */

static int it913x_fe_sleep(struct dvb_frontend *fe)
{
struct it913x_fe_state *state = fe->demodulator_priv;
return it913x_fe_suspend(state);
}


static u32 compute_div(u32 a, u32 b, u32 x)
{
u32 res = 0;
Expand Down Expand Up @@ -738,11 +743,21 @@ static int it913x_fe_init(struct dvb_frontend *fe)
{
struct it913x_fe_state *state = fe->demodulator_priv;
int ret = 0;
/* Power Up Tuner - common all versions */
ret = it913x_write_reg(state, PRO_DMOD, 0xec40, 0x1);

it913x_write_reg(state, PRO_DMOD, AFE_MEM0, 0x0);
ret |= it913x_write_reg(state, PRO_DMOD, AFE_MEM0, 0x0);

ret |= it913x_fe_script_loader(state, init_1);

switch (state->tuner_type) {
case IT9137:
ret |= it913x_write_reg(state, PRO_DMOD, 0xfba8, 0x0);
break;
default:
return -EINVAL;
}

return (ret < 0) ? -ENODEV : 0;
}

Expand Down Expand Up @@ -820,5 +835,5 @@ static struct dvb_frontend_ops it913x_fe_ofdm_ops = {

MODULE_DESCRIPTION("it913x Frontend and it9137 tuner");
MODULE_AUTHOR("Malcolm Priestley tvboxspy@gmail.com");
MODULE_VERSION("1.06");
MODULE_VERSION("1.07");
MODULE_LICENSE("GPL");

0 comments on commit 80e4121

Please sign in to comment.