- 积分
- 937
- 在线时间
- 1620 小时
- 最后登录
- 2024-3-11
- 阅读权限
- 50
- 精华
- 2
- UID
- 6634
- 帖子
- 658
- 精华
- 2
- 经验
- 937 点
- 金钱
- 459 ¥
- 注册时间
- 2005-12-3
|
楼主 |
发表于 2017-12-4 13:12
|
显示全部楼层
I2S部分调试很费劲,有一两天才搞定,主要刚开始配置文件搞错了。
1) 针对I2S和SPDIF接口的输出功能主要是是修改设备树文件,设备树源码文件路径:
kernel/arch/arm/boot/dts/rk3288-miqi.dts;
2) 关于设备树声卡配置部分的说明:
……
sound { compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "DW-HDMI";
//simple-audio-card,name = "SPDIF";
simple-audio-card,mclk-fs = <512>;
//I2S接口输出配置,RK3288板上的外部codec与HDMI接口共用I2S,
// codec端的sound-dai 的接口配置HDMI即可,调试过程中也主要是
//在修改该部分的内容,后通过查找资料分析后修改成功。
simple-audio-card,dai-link@0 { /* I2S - HDMI*/
format = "i2s";
cpu {
sound-dai = <&i2s>;
};
codec {
sound-dai = <&hdmi>;
};
};
//SPDIF接口输出配置
simple-audio-card,dai-link@1 { /* S/PDIF - S/PDIF */
cpu {
sound-dai = <&spdif>;
};
codec {
sound-dai = <&rockchip_spdif>;
};
};
};
rockchip_spdif: rockchip-spdif {
compatible = "linux,spdif-dit";
#sound-dai-cells = <0>;
};
……
3) 编译rk3288-miqi.dts文件生成rk3288-miqi.dtb,并将编译后的rk3288-miqi.dtb文件拷贝纸系统中,启动开发板,查看系统启动日志如下:
其中:
asoc-simple-card sound: i2s-hifi <-> ff890000.i2s mapping ok 对应I2S接口输出;
asoc-simple-card sound: dit-hifi <-> ff8b0000.sound mapping ok对应SPDIF接口输出;
4) 通过I2S接口或SPDIF接口外接设备即可实现声音播放。
现在整个系统联调成功!Debian 运行在RK3288板上,I2S接DAC!!庆祝!!!稍候上图片。
|
|