LINUX.ORG.RU

История изменений

Исправление 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>;
.....