Как включить звуковой интерфейс 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.

0 ответов

Другие вопросы по тегам