/ {
/* 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";
};