Как включить звуковой интерфейс ESAI в ядре linux на imx8
Мне нужно получить звук от радиоустройства, использующего протокол I2S. Радиоустройство подключено к процессору imx8 через ESAI. Я должен зарегистрировать радиоустройство и ESAI в ядре linux.
sound-x28 {
compatible = "simple-audio-card";
simple-audio-card,name = "x28-audio";
simple-audio-card,format="i2s";
simple-audio-card,mclk-fs = <64>;
simple-audio-card,frame-master = <&sound2_esai>;
simple-audio-card,bitclock-master = <&sound2_esai>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Line", "Line In",
"Line", "Line Out",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"DMIC AIF", "DMic";
mux-int-port = <1>;
mux-ext-port = <4>;
sound2_esai: simple-audio-card,cpu {
sound-dai = <&esai1 0>;
system-clock-frequency = <3072000>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
sound2codec: simple-audio-card,codec {
sound-dai = <&sound>;
};
};
codec_x28: codec_x28 {
#sound-dai-cells = <0>;
compatible = "dmic,dmic-codec";
};
&esai1{
#sound-dai-cells=<1>;
status="okay";
};
Я не совсем понимаю, как работает phandle #sound-dai-cells. Звуковое устройство "звук-x28" прошло регистрацию в sysfs. Но alsa не видит это устройство через aplay -l. Я не могу понять, где я сделал ошибку в файле dts.