From d4764b90b55144866d25f79775541cde6132dd93 Mon Sep 17 00:00:00 2001 From: "nengwen.chen" Date: Fri, 30 Aug 2019 19:41:40 +0800 Subject: [PATCH] atv_demod: audio: fix audio source contorl for atv demod [1/1] PD#TV-9484 Problem: 1.fix audio source contorl for atv demod. Solution: 1.fix audio source contorl for atv demod. 2.increase the output power of ATV audio. Verify: Verified by r311. Change-Id: I1332dcd3b968790e3227170799ddb019578fe431 Signed-off-by: nengwen.chen --- drivers/amlogic/atv_demod/atvauddemod_func.c | 20 +++++++++++--------- sound/soc/amlogic/meson/audio_hw.c | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/amlogic/atv_demod/atvauddemod_func.c b/drivers/amlogic/atv_demod/atvauddemod_func.c index 0fbf124..76c02cf 100644 --- a/drivers/amlogic/atv_demod/atvauddemod_func.c +++ b/drivers/amlogic/atv_demod/atvauddemod_func.c @@ -317,7 +317,7 @@ static void set_deem_and_gain(int standard) case AUDIO_STANDARD_BTSC: deem = AUDIO_DEEM_75US; lmr_gain = 0x1e8; - lpr_gain = 0x3e0; + lpr_gain = 0x3c0; demod_gain = 0x2; break; case AUDIO_STANDARD_A2_K: @@ -335,25 +335,25 @@ static void set_deem_and_gain(int standard) case AUDIO_STANDARD_A2_BG: deem = AUDIO_DEEM_50US; lmr_gain = 0x3a8; - lpr_gain = 0x1d0; + lpr_gain = 0x1f6; demod_gain = 0x222; break; case AUDIO_STANDARD_A2_DK1: deem = AUDIO_DEEM_50US; lmr_gain = 0x3a8; - lpr_gain = 0x1d0; + lpr_gain = 0x1f6; demod_gain = 0x222; break; case AUDIO_STANDARD_A2_DK2: deem = AUDIO_DEEM_50US; lmr_gain = 0x3a8; - lpr_gain = 0x1d0; + lpr_gain = 0x1f6; demod_gain = 0x222; break; case AUDIO_STANDARD_A2_DK3: deem = AUDIO_DEEM_50US; lmr_gain = 0x3a8; - lpr_gain = 0x1d0; + lpr_gain = 0x1f6; demod_gain = 0x222; break; case AUDIO_STANDARD_NICAM_DK: @@ -363,7 +363,7 @@ static void set_deem_and_gain(int standard) break; case AUDIO_STANDARD_NICAM_I: deem = AUDIO_DEEM_J17_2; - lpr_gain = 0x200; + lpr_gain = 0x177; demod_gain = 0x233; break; case AUDIO_STANDARD_NICAM_BG: @@ -391,7 +391,7 @@ static void set_deem_and_gain(int standard) case AUDIO_STANDARD_MONO_I: deem = AUDIO_DEEM_J17_2; lmr_gain = 0x3a8; - lpr_gain = 0x200; + lpr_gain = 0x1c5; demod_gain = 0x233; break; case AUDIO_STANDARD_MONO_BG: @@ -1593,8 +1593,10 @@ void set_outputmode(uint32_t standard, uint32_t outmode) aud_std = AUDIO_STANDARD_NICAM_L; audio_source_select(1); - } else - audio_source_select(0); + } else { + if (standard == AUDIO_STANDARD_MONO_L) + audio_source_select(0); + } break; } diff --git a/sound/soc/amlogic/meson/audio_hw.c b/sound/soc/amlogic/meson/audio_hw.c index 5f3b72e..4a3848e 100644 --- a/sound/soc/amlogic/meson/audio_hw.c +++ b/sound/soc/amlogic/meson/audio_hw.c @@ -468,7 +468,7 @@ static void i2sin_fifo2_set_buf(u32 addr, u32 size, u32 src, u32 ch) void atv_src_select(bool src) { aml_audin_update_bits(AUDIN_ATV_DEMOD_CTRL, - 0x3, (src << 1) && src); + 0x3, (src ? 0x3 : 0x0)); } void atv_LR_swap(bool swap) -- 2.7.4