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


/ {
	/* 1. Нода записи (Capture) — кодек SGTL5000 */
	/* Мы даем ей лейбл audio_codec_rx, чтобы main.c мог её найти */
	audio_codec_rx: sgtl5000_codec {
		compatible = "fsl,sgtl5000";
		status = "okay";
		
		/* Прямая привязка к шине управления I2C */
		/* (Если у вас кодек на LPI2C1, можно перенести внутрь &lpi2c1, как было ранее) */
		/* reg = <0x0a>; */

		/* Указываем, к какому I2S контроллеру подключен кодек */
		/* В старых версиях Zephyr для этого часто использовалось свойство 'i2s-controller' */
		i2s-controller = <&sai2>;
		
		clocks = <&sai2 0>;
		clock-names = "mclk";

		VDDA-supply = <&vcc_3v3>;
		VDDIO-supply = <&vcc_3v3>;
	};

	/* 2. Нода воспроизведения (Playback) — ваш кастомный TFA9882 */
	/* Мы даем ей лейбл audio_codec_tx */
	audio_codec_tx: tfa9882_codec {
		compatible = "tfa9882-codec";
		status = "okay";

		/* Усилитель физически сидит на том же контроллере SAI2 */
		i2s-controller = <&sai2>;
	};
};

/* 3. Конфигурация контроллера SAI2 */
&sai2 {
	status = "okay";

	/* Намеренно не указываем nxp,tx-sync-mode и nxp,rx-sync-mode */
	/* для включения асинхронного режима kSAI_ModeAsync в драйвере */

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