Hello Frank, On Mon, Oct 28, 2024 at 06:03:18PM -0400, Frank Li wrote: > Add audio-codec cs42888, enable esai0 and asrc0. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 82 ++++++++++++++++++++ > 1 file changed, 82 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts > index e983633a4bb31..31cf02275ca9e 100644 > --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts > +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts > @@ -134,6 +134,13 @@ reg_usdhc2_vmmc: usdhc2-vmmc { > enable-active-high; > }; > > + reg_audio: regulator-audio { > + compatible = "regulator-fixed"; > + regulator-name = "cs42888_supply"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > reg_fec2_supply: regulator-fec2-nvcc { > compatible = "regulator-fixed"; > regulator-name = "fec2_nvcc"; > @@ -223,6 +230,27 @@ simple-audio-card,codec { > }; > }; > > + sound-cs42888 { > + compatible = "fsl,imx-audio-cs42888"; > + model = "imx-cs42888"; > + audio-cpu = <&esai0>; > + audio-codec = <&cs42888>; > + audio-asrc = <&asrc0>; > + audio-routing = "Line Out Jack", "AOUT1L", > + "Line Out Jack", "AOUT1R", > + "Line Out Jack", "AOUT2L", > + "Line Out Jack", "AOUT2R", > + "Line Out Jack", "AOUT3L", > + "Line Out Jack", "AOUT3R", > + "Line Out Jack", "AOUT4L", > + "Line Out Jack", "AOUT4R", > + "AIN1L", "Line In Jack", > + "AIN1R", "Line In Jack", > + "AIN2L", "Line In Jack", > + "AIN2R", "Line In Jack"; > + status = "okay"; remove status=okay, not needed > + }; > + > sound-wm8960 { > compatible = "fsl,imx-audio-wm8960"; > model = "wm8960-audio"; > @@ -301,12 +329,45 @@ pca6416: gpio@20 { > gpio-controller; > #gpio-cells = <2>; > }; > + > + cs42888: audio-codec@48 { > + compatible = "cirrus,cs42888"; > + reg = <0x48>; > + clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>; > + clock-names = "mclk"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_cs42888_reset>; > + VA-supply = <®_audio>; > + VD-supply = <®_audio>; > + VLS-supply = <®_audio>; > + VLC-supply = <®_audio>; > + reset-gpios = <&lsio_gpio4 25 GPIO_ACTIVE_LOW>; > + assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>, > + <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>, > + <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>, > + <&mclkout0_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>; > + status = "okay"; remove status=okay, not needed