[RK3288 Android7.1.2 ]音频芯片es8396的添加

Platform: ROCKCHIP
Chip: RK3288
OS: Android7.1.2
Kernel: 4.4.143

背景:

之前平台用的RT5640, 由于此IC将要停产,所以需要替换为ES8396,RT5640和ES8396在硬件上兼容,只是芯片换了。

音频开发指南

一个声卡包含cpu_dai, codec_dai, 以及dai_link组成,分别对应cpu dai的dirver,比如I2S driver, spdif driver;codec driver, 比如rt5640 codec driver;dai_link driver,也就是machine driver, 比如sound/soc/rockchip/rockchip_rt5640.c。
4.4的内核中支持两种方式创建声卡,一种是通用的simple-card framework,一种是传统的编写自定义的machine driver来创建

硬件原理图

在这里插入图片描述
数据走I2S0通道
控制走I2C2通道
输出走HPLOUT/HPROUT SPKROUTP/SPKLOUTP

打开对应的宏

/kernel/arch/arm/configs/rockchip_defconfig

+CONFIG_SND_SOC_ES8396=y

修改dts文件

/kernel/arch/arm/boot/dts/rk3288-android.dtsi
原本的是rt5640,修改后的是es8396

+#if 0
+        hdmi_analog_sound: hdmi-analog-sound {
   
+            status = "okay";
+            compatible = "rockchip,rk3288-hdmi-analog",
+                    "rockchip,rk3368-hdmi-analog";
+            rockchip,model = "rockchip,rt5640-codec";
+            rockchip,cpu = <&i2s>;
+            rockchip,codec = <&rt5640>, <&hdmi>;
+            rockchip,widgets =
+                "Microphone", "Microphone Jack",
+                "Headphone", "Headphone Jack";
+            rockchip,routing =
+                "MIC1", "Microphone Jack",
+                "MIC2", "Microphone Jack",
+                "Microphone Jack", "micbias1",
+                "Headphone Jack", "HPOL",
+                "Headphone Jack", "HPOR";
+        };
+#else    
+        hdmi_analog_sound: hdmi-analog-sound {
   
+            status = "okay";
+            compatible = "rockchip,rk3288-hdmi-analog",
+                    "rockchip,rk3368-hdmi-analog";
+            rockchip,model = "rockchip,es8396-codec";
+            rockchip,cpu = <&i2s>;
+            rockchip,codec = <&es8396>, <&hdmi>;
+            rockchip,widgets =
+                "Microphone", "Microphone Jack",
+                "Line", "Microphone Headset",
+                "Headphone", "Headphone Jack"
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值