由于RV1126 kernel驱动已经包含多数字mic及各种i2s输入,因此只需要针对dts进行配置。
如果是仅仅需要8mic pdm,则修改声卡使用pdm array就行。
同时需要pdm为okay及设定对应的pin(通道数),默认启用3pin(6声道)。
如果是需要多mic+2 路i2s回采输入,此时需要按照rk文档使用multi dais(启动multi dais可能回编译出错,需要联系rk提供patch),我的回采使用的是ES7243E,单芯片可以同时采两个声道,满足要求。
dts配置如下:
ip_dais: ip-dais {
status = “okay”;
compatible = “rockchip,rv1126-multi-dais”, “rockchip,multi-dais”;
#sound-dai-cells = <0>;
dais = <&i2s2_2ch>, <&pdm>;
capture,channel-mapping = <2 6>; #可以调整Mic与回采的顺序及通道数
playback,channel-mapping = <0 0>;
};
my_sound: my-sound {
status = “okay”;
compatible = “simple-audio-card”;
simple-audio-card,name = “rockchip,my_sound”;
simple-audio-card,format = “i2s”;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&ip_dais>;
};
simple-audio-card,codec {
sound-dai = <&es7243e>;
};
};
正常配置重启之后,执行arecord -L会显示有一个叫“my_sound”的声卡设备,说明配置成功。