本文主要是介绍Codec播放音乐会有底噪,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
背景:
移植完Codec RT5640之后,发现播放声音的时候底部有噪声。
用示波器测量到的左右声道波形如下:
左声道波形:
右声道波形:
左右声道波形:
原因:
一般波形上有这种有规律的毛刺基本上都是clock的问题。
经后面分析查证,发现i2s1的master clock在主rk3399.dtsi中的改动被
rk3399-vop-clk-set.dtsi中的原始配置给覆盖了导致。
关于RT5640的移植配置见文章: [RK3399][Android7.1] 移植笔记 — 音频Codec RT5640添加
解决方法:
注释rk3399-vop-clk-set.dtsi中的i2s1节点配置。
kris@eco:~/rk3399/kernel$ g df 984b7775a67e26667e76768f32d49752c1d20316 e2251e9c8208761fdacbcfbe7e4943a71d4338af
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-vop-clk-set.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-vop-clk-set.dtsi
index 14ff440..8a98bbc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-vop-clk-set.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-vop-clk-set.dtsi
@@ -89,10 +89,12 @@
assigned-clock-parents = <&cru PLL_GPLL>;
};
+/* Kris,180906, Fix playback noise issue.
&i2s1 {
assigned-clocks = <&cru SCLK_I2S1_DIV>;
assigned-clock-parents = <&cru PLL_GPLL>;
};
+*/
这篇关于Codec播放音乐会有底噪的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!