From bdaa4db03a2c13824aa9c4e181aa2fde0bbba734 Mon Sep 17 00:00:00 2001 From: Jihong Sui Date: Fri, 10 Aug 2018 09:48:27 +0800 Subject: [PATCH] dtv_demod: txl: fix dvbc can't lock PD#169985: txl: fix dvbc can't lock Change-Id: I6094cfb546832cc4c54dae4a065147a05d20c251 Signed-off-by: Jihong Sui --- drivers/amlogic/media/dtv_demod/demod_func.c | 15 +++++++++++---- drivers/amlogic/media/dtv_demod/dvbc_func.c | 4 +++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/amlogic/media/dtv_demod/demod_func.c b/drivers/amlogic/media/dtv_demod/demod_func.c index 308bccd64cf5..42f38f0b7cf4 100644 --- a/drivers/amlogic/media/dtv_demod/demod_func.c +++ b/drivers/amlogic/media/dtv_demod/demod_func.c @@ -709,10 +709,17 @@ void demod_set_mode_ts(unsigned char dvb_mode) cfg0.b.adc_regout = 1; cfg0.b.adc_regadj = 2; } else if (dvb_mode == Gxtv_Dvbc) { - cfg0.b.ts_sel = 1<<3; - cfg0.b.mode = 1<<3; - cfg0.b.adc_format = 0; - cfg0.b.adc_regout = 0; + if (is_dvbc_ver(IC_DVBC_V2)) { + cfg0.b.ts_sel = 2; + cfg0.b.mode = 7; + cfg0.b.adc_format = 1; + cfg0.b.adc_regout = 0; + } else { + cfg0.b.ts_sel = 1<<3; + cfg0.b.mode = 1<<3; + cfg0.b.adc_format = 0; + cfg0.b.adc_regout = 0; + } } demod_write_reg(DEMOD_REG1, cfg0.d32); diff --git a/drivers/amlogic/media/dtv_demod/dvbc_func.c b/drivers/amlogic/media/dtv_demod/dvbc_func.c index a31725f41680..e4775ca1117f 100644 --- a/drivers/amlogic/media/dtv_demod/dvbc_func.c +++ b/drivers/amlogic/media/dtv_demod/dvbc_func.c @@ -350,7 +350,9 @@ int dvbc_set_ch(struct aml_demod_sta *demod_sta, if (demod_sta->ch_if == 0) demod_sta->ch_if = 5000; demod_sta->symb_rate = symb_rate; - demod_sta->adc_freq = demod_dvbc->dat0; + if (is_dvbc_ver(IC_DVBC_V3)) + demod_sta->adc_freq = demod_dvbc->dat0; + #if 0 if (is_meson_txlx_cpu() || is_meson_gxlx_cpu()) dvbc_reg_initial(demod_sta);