[RK3399][Android7.1] 调试笔记 --- Codec播放音乐会有底噪

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

背景:
移植完Codec RT5640之后,发现播放声音的时候底部有噪声。
用示波器测量到的左右声道波形如下:
左声道波形:
[RK3399][Android7.1] 调试笔记 --- Codec播放音乐会有底噪_第1张图片

右声道波形:
[RK3399][Android7.1] 调试笔记 --- Codec播放音乐会有底噪_第2张图片

左右声道波形:
[RK3399][Android7.1] 调试笔记 --- Codec播放音乐会有底噪_第3张图片


原因:
一般波形上有这种有规律的毛刺基本上都是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>;
 };
+*/

你可能感兴趣的:(RK3399,子类__Audio)