由于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”的声卡设备,说明配置成功。