1*2a222aa2SJosua Mayer// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*2a222aa2SJosua Mayer/* 3*2a222aa2SJosua Mayer * Copyright 2025 Josua Mayer <josua@solid-run.com> 4*2a222aa2SJosua Mayer */ 5*2a222aa2SJosua Mayer 6*2a222aa2SJosua Mayer/ { 7*2a222aa2SJosua Mayer sound-wm8904 { 8*2a222aa2SJosua Mayer compatible = "fsl,imx-audio-wm8904"; 9*2a222aa2SJosua Mayer model = "audio-wm8904"; 10*2a222aa2SJosua Mayer audio-cpu = <&sai3>; 11*2a222aa2SJosua Mayer audio-codec = <&codec>; 12*2a222aa2SJosua Mayer audio-routing = 13*2a222aa2SJosua Mayer "Headphone Jack", "HPOUTL", 14*2a222aa2SJosua Mayer "Headphone Jack", "HPOUTR", 15*2a222aa2SJosua Mayer "AMIC", "MICBIAS", 16*2a222aa2SJosua Mayer "IN2R", "AMIC"; 17*2a222aa2SJosua Mayer }; 18*2a222aa2SJosua Mayer}; 19*2a222aa2SJosua Mayer 20*2a222aa2SJosua Mayer&i2c2 { 21*2a222aa2SJosua Mayer codec: audio-codec@1a { 22*2a222aa2SJosua Mayer compatible = "wlf,wm8904"; 23*2a222aa2SJosua Mayer reg = <0x1a>; 24*2a222aa2SJosua Mayer #sound-dai-cells = <0>; 25*2a222aa2SJosua Mayer clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>; 26*2a222aa2SJosua Mayer clock-names = "mclk"; 27*2a222aa2SJosua Mayer AVDD-supply = <&v_1_8>; 28*2a222aa2SJosua Mayer CPVDD-supply = <&v_1_8>; 29*2a222aa2SJosua Mayer DBVDD-supply = <&v_3_3>; 30*2a222aa2SJosua Mayer DCVDD-supply = <&v_1_8>; 31*2a222aa2SJosua Mayer MICVDD-supply = <&v_3_3>; 32*2a222aa2SJosua Mayer }; 33*2a222aa2SJosua Mayer}; 34*2a222aa2SJosua Mayer 35*2a222aa2SJosua Mayer&iomuxc { 36*2a222aa2SJosua Mayer sai3_pins: pinctrl-sai3-grp { 37*2a222aa2SJosua Mayer fsl,pins = < 38*2a222aa2SJosua Mayer MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 39*2a222aa2SJosua Mayer MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 40*2a222aa2SJosua Mayer MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 41*2a222aa2SJosua Mayer MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 42*2a222aa2SJosua Mayer MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 43*2a222aa2SJosua Mayer >; 44*2a222aa2SJosua Mayer }; 45*2a222aa2SJosua Mayer}; 46*2a222aa2SJosua Mayer 47*2a222aa2SJosua Mayer&sai3 { 48*2a222aa2SJosua Mayer pinctrl-names = "default"; 49*2a222aa2SJosua Mayer pinctrl-0 = <&sai3_pins>; 50*2a222aa2SJosua Mayer assigned-clocks = <&clk IMX8MP_CLK_SAI3>; 51*2a222aa2SJosua Mayer assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 52*2a222aa2SJosua Mayer assigned-clock-rates = <12288000>; 53*2a222aa2SJosua Mayer clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>, 54*2a222aa2SJosua Mayer <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>, 55*2a222aa2SJosua Mayer <&clk IMX8MP_CLK_DUMMY>; 56*2a222aa2SJosua Mayer clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 57*2a222aa2SJosua Mayer fsl,sai-mclk-direction-output; 58*2a222aa2SJosua Mayer status = "okay"; 59*2a222aa2SJosua Mayer}; 60