[RK3288][Android6.0] 移植笔记 --- RT5640 Audio Codec添加
来源:互联网 发布:最好的我们小说知乎 编辑:程序博客网 时间:2024/06/05 03:53
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
之前平台用的RT5631, 由于此IC将要停产,所以需要替换为RT5640.
RT5640和RT3224在硬件和软件上完全兼容, 而RK配置RT3224时用是RT3261的驱动,有点绕.
以下是添加步骤:
1. 开启对应宏
kernel/arch/arm/configs/rockchip_defconfig:
CONFIG_SND_RK_SOC_RT3224=y
这样, rt3261.c和rk_rt3261就会被编译进去.
2.dts中添加配置
kernel/arch/arm/boot/dts/rk3288-eco.dts
Codec device添加:
device name是 “rockchip-rt3261”.
+ rockchip-rt3224 {+ compatible = "rockchip-rt3261";+ dais {+ dai0 {+ audio-codec = <&rt3261>;+ audio-controller = <&i2s>;+ format = "i2s";+ //continuous-clock;+ //bitclock-inversion;+ //frame-inversion;+ //bitclock-master;+ //frame-master;+ };+ dai1 {+ audio-codec = <&rt3261>;+ audio-controller = <&i2s>;+ format = "dsp_a";+ //continuous-clock;+ bitclock-inversion;+ //frame-inversion;+ //bitclock-master;+ //frame-master;+ };+ };+ };
这样rk_rt3261.c的driver就会匹配上,最终注册Machine driver.
I2C设备添加:
地址是0x1C, device name是”rt3261”.
&i2c2 {......+ rt3261: rt3261@1c {+ compatible = "rt3261";+ reg = <0x1c>;+ // codec-en-gpio = <0>;//sdk default high level+ spk-num= <2>;+ modem-input-mode = <1>;+ lout-to-modem_mode = <1>;+ spk-amplify = <2>;+ playback-if1-data_control = <0>;+ playback-if2-data_control = <0>;+ status = "okay";+ }; };
这样rt3261.c中的i2c driver就会匹配上,最终注册Codec driver.
阅读全文
1 0
- [RK3288][Android6.0] 移植笔记 --- RT5640 Audio Codec添加
- [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
- [RK3288][Android6.0] 调试笔记 --- RT5640录音时的Codec寄存器列表
- [RK3288][Android6.0] 调试笔记 --- RT5640的ctl name列表
- [RK3288][Android6.0] 移植笔记 --- Touch IC GT928添加
- [RK3288][Android6.0] 调试笔记 --- RT5640 I2S对应的ADC/DAC通路
- [RK3288][Android6.0] 调试笔记 --- Audio录音PCM数据抓取
- [RK3288][Android6.0] 调试笔记 --- Audio之分离DTMF tones
- [RK3288][Android6.0] 调试笔记 --- Su添加密码登陆功能
- [RK3288][Android6.0] 调试笔记 --- 伪电池驱动添加
- [RK3288][Android6.0] 调试笔记 --- 普通串口的添加
- [RK3288][Android6.0] 调试笔记 --- apk安装添加黑名单
- [RK3288][Android6.0] 调试笔记 --- Audio驱动层判断录音数据是否异常
- [RK3288][Android6.0] 调试笔记 --- Audio的Voice Call无法静音问题
- [RK3288][Android6.0] 调试笔记 --- Audio分离DTMF tone引起的异常
- [RK3288][Android6.0] 导入新Codec到Multimedia Framework中
- [RK3288][Android6.0] Audio录音frame rate设置流程小结
- [RK3288][Android6.0] Audio中的HW Params设置流程
- 自包含 .NET Core应用程序
- Visual Studio 2015 for Linux更好地支持Linux下的开发
- 免费开源的 .NET 分布式组件库 Exceptionless Foundatio
- Peachpie编译器致力于将PHP带入.Net世界
- ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用
- [RK3288][Android6.0] 移植笔记 --- RT5640 Audio Codec添加
- 基于SignalR的消息推送与二维码描登录实现
- Cactus在jexus上安装
- 与微软.NET创始人Scott Guthrie面对面,“红衣教主”亲身传授推动成功转型的洪荒之力
- Current-voltage ( I-V) curves of the photovoltaic cell
- GitHub开源贡献榜:微软超越Facebook和Google排第一
- pytorch安装时source安装时问题
- 微服务意味着分布式系统
- 自己动手开发编译器(我们的朋友 -- 装配脑袋走了)