From ca681fe0bc9358516c159a35e54069b1a43f25b2 Mon Sep 17 00:00:00 2001 From: Antti Palosaari Date: Fri, 8 Aug 2014 23:56:49 -0300 Subject: [PATCH] [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 Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb-frontends/af9033.c | 10 ++-------- drivers/media/dvb-frontends/af9033.h | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c index 5c90ea683a7e..2a4dfd2f9679 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 539f4db678b8..b95a6d438eca 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; }; -- 2.39.5