summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2014-08-08 23:56:49 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2014-09-21 17:03:45 -0300
commitca681fe0bc9358516c159a35e54069b1a43f25b2 (patch)
tree1c53ff9742a7b761571193ff31d37d1213f23663
parent7c5e3e5f017d3fced9211747bed423c6bcda7f7c (diff)
[media] af9033: provide dyn0_clk clock source
AF903x/IT913x demod provides clock source(s). It seems that this clock source is used for integrated RF tuner of IT913x. It is enabled by default, but firmware disables it automatically when suspend is requested (suspend_flag (0x004c) + trigger_ofsm (0x0000)). Automatic disable behavior seems to be similar for both AF903x and IT913x I tested, though there is no likely any real clock user in a case of AF903x. Cc: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r--drivers/media/dvb-frontends/af9033.c10
-rw-r--r--drivers/media/dvb-frontends/af9033.h5
2 files changed, 7 insertions, 8 deletions
diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c
index 5c90ea683a7..2a4dfd2f967 100644
--- a/drivers/media/dvb-frontends/af9033.c
+++ b/drivers/media/dvb-frontends/af9033.c
@@ -314,14 +314,8 @@ static int af9033_init(struct dvb_frontend *fe)
goto err;
}
- /* feed clock to RF tuner */
- switch (state->cfg.tuner) {
- case AF9033_TUNER_IT9135_38:
- case AF9033_TUNER_IT9135_51:
- case AF9033_TUNER_IT9135_52:
- case AF9033_TUNER_IT9135_60:
- case AF9033_TUNER_IT9135_61:
- case AF9033_TUNER_IT9135_62:
+ /* clock output */
+ if (state->cfg.dyn0_clk) {
ret = af9033_wr_reg(state, 0x80fba8, 0x00);
if (ret < 0)
goto err;
diff --git a/drivers/media/dvb-frontends/af9033.h b/drivers/media/dvb-frontends/af9033.h
index 539f4db678b..b95a6d438ec 100644
--- a/drivers/media/dvb-frontends/af9033.h
+++ b/drivers/media/dvb-frontends/af9033.h
@@ -75,6 +75,11 @@ struct af9033_config {
* input spectrum inversion
*/
bool spec_inv;
+
+ /*
+ *
+ */
+ bool dyn0_clk;
};