Загрузка данных


#include "imx95-19x19-evk.dts"
&{/} {
	/delete-node/ sound-wm8962;
	hdmi-connector-dsi {
		compatible = "hdmi-connector";
		label = "hdmi";
		type = "a";
		port {
			hdmi_lt9611_in: endpoint {
				remote-endpoint = <&lt9611_out>;
			};
		};
	};

	sound-lt9611 {
		compatible = "simple-audio-card";
		simple-audio-card,name = "lt9611-audio";
		status = "okay";
		simple-audio-card,cpu {
			sound-dai = <&xcvr>; 
		};
		simple-audio-card,codec {
			sound-dai = <&lt9611_codec 0>; // 0 - I2S, 1 - SPDIF ???
		};
	};
};

&xcvr {
	#sound-dai-cells = <0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spdif>;
	clocks = <&scmi_clk IMX95_CLK_BUSWAKEUP>,
		 <&scmi_clk IMX95_CLK_SPDIF>,
		 <&dummy>,
		 <&scmi_clk IMX95_CLK_AUDIOXCVR>,
		 <&scmi_clk IMX95_CLK_AUDIOPLL1>,
		 <&scmi_clk IMX95_CLK_AUDIOPLL2>;
	clock-names = "ipg", "phy", "spba", "pll_ipg", "pll8k", "pll11k";
	assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>,
			  <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>,
			  <&scmi_clk IMX95_CLK_AUDIOPLL1>,
			  <&scmi_clk IMX95_CLK_AUDIOPLL2>,
			  <&scmi_clk IMX95_CLK_SPDIF>,
			  <&scmi_clk IMX95_CLK_AUDIOXCVR>;
	assigned-clock-parents = <0>, <0>, <0>, <0>,
				 <&scmi_clk IMX95_CLK_AUDIOPLL1>,
				 <&scmi_clk IMX95_CLK_SYSPLL1_PFD1_DIV2>;
	assigned-clock-rates = <3932160000>, <3612672000>,
			       <393216000>, <361267200>,
			       <12288000>, <0>;
	status = "okay";
};

&display_pixel_link {
	status = "okay";
};

&dpu {
	assigned-clocks = <&scmi_clk IMX95_CLK_DISP1PIX>,
			  <&scmi_clk IMX95_CLK_VIDEOPLL1_VCO>,
			  <&scmi_clk IMX95_CLK_VIDEOPLL1>;
	assigned-clock-parents = <&scmi_clk IMX95_CLK_VIDEOPLL1>;
	assigned-clock-rates = <0>, <2673000000>, <297000000>;
};

&mipi_dsi {
	status = "okay";
	ports {
		#address-cells = <1>;
		#size-cells = <0>;
		port@1 {
			reg = <1>;
			dsi_to_lt9611: endpoint {
				remote-endpoint = <&lt9611_to_dsi>;
			};
		};
	};
};

&pixel_interleaver {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";
	channel@0 {
		reg = <0>;
		status = "okay";
	};
};

&lpi2c2 {
	#address-cells = <1>;
	#size-cells = <0>;
	lt9611_codec: lt9611@3b {
		compatible = "lontium,lt9611";
		reg = <0x3b>;
		#sound-dai-cells = <0>;
		reset-gpios = <&adp5585 4 GPIO_ACTIVE_HIGH>;
		interrupts-extended = <&gpio3 27 IRQ_TYPE_EDGE_FALLING>;
		vdd-supply = <&reg_1p8v>;
		vcc-supply = <&reg_3p3v>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_mipi_dsi_csi>;
		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			port@0 {
				reg = <0>;
				lt9611_to_dsi: endpoint {
					remote-endpoint = <&dsi_to_lt9611>;
				};
			};
			port@2 {
				reg = <2>;
				lt9611_out: endpoint {
					remote-endpoint = <&hdmi_lt9611_in>;
				};
			};
		};
	};
};

&scmi_iomuxc {
	pinctrl_spdif: spdifgrp {
		fsl,pins = <
			IMX95_PAD_ENET2_RD3__SPDIF_OUT			0x31e
		>;
	};
};

root@imx95-19x19-lpddr5-evk:~# dmesg | grep xcvr
[   10.277291] debugfs: Directory '42680000.xcvr' with parent 'regmap' already present!
[   10.285863] debugfs: Directory '42680000.xcvr' with parent 'regmap' already present!
root@imx95-19x19-lpddr5-evk:~# dmesg | grep err 
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] GIC: enabling workaround for GICv3: ARM64 erratum 2941627
[    0.000000] ITS@0x0000000048040000: allocated 32768 Interrupt Collections @100070000 (flat, esz 2, psz 64K, shr 0)
[    1.096161] kvm [1]: vgic interrupt IRQ9
[    1.627123] sdhci: Copyright(c) Pierre Ossman
[    5.839606] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   10.331589] hdmi-audio-codec hdmi-audio-codec.6.auto: ASoC: error at snd_soc_dai_set_fmt on i2s-hifi: -22
[   10.372480] asoc-simple-card sound-lt9611: probe with driver asoc-simple-card failed with error -22