// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright 2025 Josua Mayer */ / { sound-wm8904 { compatible = "fsl,imx-audio-wm8904"; model = "audio-wm8904"; audio-cpu = <&sai3>; audio-codec = <&codec>; audio-routing = "Headphone Jack", "HPOUTL", "Headphone Jack", "HPOUTR", "AMIC", "MICBIAS", "IN2R", "AMIC"; }; }; &i2c2 { codec: audio-codec@1a { compatible = "wlf,wm8904"; reg = <0x1a>; #sound-dai-cells = <0>; clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>; clock-names = "mclk"; AVDD-supply = <&v_1_8>; CPVDD-supply = <&v_1_8>; DBVDD-supply = <&v_3_3>; DCVDD-supply = <&v_1_8>; MICVDD-supply = <&v_3_3>; }; }; &iomuxc { sai3_pins: pinctrl-sai3-grp { fsl,pins = < MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 >; }; }; &sai3 { pinctrl-names = "default"; pinctrl-0 = <&sai3_pins>; assigned-clocks = <&clk IMX8MP_CLK_SAI3>; assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; assigned-clock-rates = <12288000>; clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>, <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_CLK_DUMMY>; clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; fsl,sai-mclk-direction-output; status = "okay"; };