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


/ {
	/* 1. Наш кастомный out-of-tree кодек-заглушка для TFA9882 */
	tfa9882_codec: tfa9882 {
		compatible = "tfa9882-codec";
		status = "okay";
		#sound-dai-cells = <0>;
	};

	/* 2. Аудио-карта, объединяющая два независимых канала */
	sound_card {
		compatible = "audio-graph-card";
		dais = <&sai2_rx_port &sai2_tx_port>;
		status = "okay";
	};
};

/* 3. Шина I2C1 для управления SGTL5000 */
&lpi2c1 {
	status = "okay";

	sgtl5000_codec: sgtl5000@a { 
		compatible = "fsl,sgtl5000";
		reg = <0x0a>; /* Измените на 0x0b, если CTRL_ADR0 подтянут к VCC */
		status = "okay";
		#sound-dai-cells = <0>;
		
		clocks = <&sai2 0>; 
		clock-names = "mclk";
		
		VDDA-supply = <&vcc_3v3>;
		VDDIO-supply = <&vcc_3v3>;
	};
};

/* 4. Конфигурация SAI2 с разделенными портами RX и TX */
&sai2 {
	status = "okay";

	/* ВНИМАНИЕ: Флаги nxp,tx-sync-mode/nxp,rx-sync-mode УДАЛЕНЫ. */
	/* Это автоматически включает kSAI_ModeAsync в драйвере. */

	pinctrl-0 = <&pinmux_sai2>;
	pinctrl-names = "default";

	/* Секция Приемника (RX) — подключена к SGTL5000 */
	sai2_rx_port: port@0 {
		reg = <0>;
		sai2_rx_endpoint: endpoint {
			remote-endpoint = <&sgtl5000_endpoint>;
			dai-format = "i2s";
			frame-master;
			bitclock-master;
		};
	};

	/* Секция Передатчика (TX) — подключена к TFA9882 */
	sai2_tx_port: port@1 {
		reg = <1>;
		sai2_tx_endpoint: endpoint {
			remote-endpoint = <&tfa9882_endpoint>;
			dai-format = "i2s";
			frame-master;
			bitclock-master;
		};
	};
};

/* Настройка связей эндпоинтов для аудио-графа */
&sgtl5000_codec {
	sgtl5000_port: port {
		sgtl5000_endpoint: endpoint {
			remote-endpoint = <&sai2_rx_endpoint>;
		};
	};
};

&tfa9882_codec {
	tfa9882_port: port {
		tfa9882_endpoint: endpoint {
			remote-endpoint = <&sai2_tx_endpoint>;
		};
	};
};