История изменений
Исправление spbob, (текущая версия) :
Подправил немного, у меня компилируется без ошибок, дописывал в arch/arm64/boot/dts/freescale/imx8qm-mek.dts
куски оригинального DTS «vdev3vring1: vdev1vring1@90118000 {» и «&adc0 {» - чтобы было понятно где дописывал
.....
		vdev3vring1: vdev1vring1@90118000 {
                        compatible = "shared-dma-pool";
			reg = <0 0x90118000 0 0x8000>;
			no-map;
		};
	};
	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";
		simple-audio-card,routing =
			"DMic", "Mic Jack";
		sound2_esai: simple-audio-card,cpu {
			sound-dai = <&esai1>;
		};
		sound2_codec: simple-audio-card,codec {
			sound-dai = <&codec_x28>;
		};
	};
	codec_x28: codec-x28 {
		#sound-dai-cells = <0>;
		compatible = "dmic-codec";
		status = "okay";
	};
};
&esai1{
	#sound-dai-cells = <0>;
	status = "okay";
};
&adc0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc0>;
.....
But alsa don't see this device through aplay -l
она должна его видеть через arecord -l
Исправление spbob, :
Подправил немного, у меня компилируется без ошибок, дописывал в arch/arm64/boot/dts/freescale/imx8qm-mek.dts
куски оригинального DTS «vdev3vring1: vdev1vring1@90118000 {» и «&adc0 {» - чтобы было понятно где дописывал
.....
		vdev3vring1: vdev1vring1@90118000 {
                        compatible = "shared-dma-pool";
			reg = <0 0x90118000 0 0x8000>;
			no-map;
		};
	};
	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";
		simple-audio-card,routing =
			"DMic", "Mic Jack";
		sound2_esai: simple-audio-card,cpu {
			sound-dai = <&esai1>;
		};
		sound2_codec: simple-audio-card,codec {
			sound-dai = <&codec_x28>;
		};
	};
	codec_x28: codec-x28 {
		#sound-dai-cells = <0>;
		compatible = "dmic-codec";
		status = "okay";
	};
};
&esai1{
	#sound-dai-cells = <0>;
	status = "okay";
};
&adc0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc0>;
.....
Исходная версия spbob, :
Подправил немного, у меня компилируется без ошибок, дописывал в arch/arm64/boot/dts/freescale/imx8qm-mek.dts
.....
		vdev3vring1: vdev1vring1@90118000 {
                        compatible = "shared-dma-pool";
			reg = <0 0x90118000 0 0x8000>;
			no-map;
		};
	};
	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";
		simple-audio-card,routing =
			"DMic", "Mic Jack";
		sound2_esai: simple-audio-card,cpu {
			sound-dai = <&esai1>;
		};
		sound2_codec: simple-audio-card,codec {
			sound-dai = <&codec_x28>;
		};
	};
	codec_x28: codec-x28 {
		#sound-dai-cells = <0>;
		compatible = "dmic-codec";
		status = "okay";
	};
};
&esai1{
	#sound-dai-cells = <0>;
	status = "okay";
};
&adc0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc0>;
.....