summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/tuners/tuner_it913x.c6
-rw-r--r--drivers/media/tuners/tuner_it913x_priv.h11
2 files changed, 16 insertions, 1 deletions
diff --git a/drivers/media/tuners/tuner_it913x.c b/drivers/media/tuners/tuner_it913x.c
index cd20c5b0f07e..281d8c5cc0a9 100644
--- a/drivers/media/tuners/tuner_it913x.c
+++ b/drivers/media/tuners/tuner_it913x.c
@@ -371,7 +371,11 @@ static int it9137_set_params(struct dvb_frontend *fe)
static int it913x_sleep(struct dvb_frontend *fe)
{
struct it913x_state *state = fe->tuner_priv;
- return it913x_script_loader(state, it9137_tuner_off);
+
+ if (state->chip_ver == 0x01)
+ return it913x_script_loader(state, it9135ax_tuner_off);
+ else
+ return it913x_script_loader(state, it9137_tuner_off);
}
static int it913x_release(struct dvb_frontend *fe)
diff --git a/drivers/media/tuners/tuner_it913x_priv.h b/drivers/media/tuners/tuner_it913x_priv.h
index 8e85a61ea5f9..cc6f4b1e45aa 100644
--- a/drivers/media/tuners/tuner_it913x_priv.h
+++ b/drivers/media/tuners/tuner_it913x_priv.h
@@ -36,6 +36,17 @@ struct it913xset { u32 pro;
u8 count;
};
+/* Tuner setting scripts for IT9135 AX */
+static struct it913xset it9135ax_tuner_off[] = {
+ {PRO_DMOD, 0xec40, {0x00}, 0x01}, /* Power Down Tuner */
+ {PRO_DMOD, 0xec02, {0x3f}, 0x01},
+ {PRO_DMOD, 0xec03, {0x1f}, 0x01},
+ {PRO_DMOD, 0xec04, {0x3f}, 0x01},
+ {PRO_DMOD, 0xec05, {0x3f}, 0x01},
+ {PRO_DMOD, 0xec3f, {0x01}, 0x01},
+ {0xff, 0x0000, {0x00}, 0x00}, /* Terminating Entry */
+};
+
/* Tuner setting scripts (still keeping it9137) */
static struct it913xset it9137_tuner_off[] = {
{PRO_DMOD, 0xec40, {0x00}, 0x01}, /* Power Down Tuner */