On Mon, Aug 26, 2024 at 11:59:16PM +0200, Francesco Dolcini wrote: > From: João Paulo Gonçalves <joao.goncalves@xxxxxxxxxxx> > > Add audio support for Colibri-iMX8X sound card. > > Signed-off-by: João Paulo Gonçalves <joao.goncalves@xxxxxxxxxxx> > Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx> > --- > .../boot/dts/freescale/imx8x-colibri.dtsi | 47 ++++++++++++++++++- > 1 file changed, 46 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi b/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi > index aa9c45c290b9..1d22002103c4 100644 > --- a/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi > @@ -38,6 +38,13 @@ reg_module_3v3: regulator-module-3v3 { > regulator-max-microvolt = <3300000>; > }; > > + reg_module_3v3_avdd: regulator-module-3v3-avdd { > + compatible = "regulator-fixed"; > + regulator-max-microvolt = <3300000>; > + regulator-min-microvolt = <3300000>; > + regulator-name = "+V3.3_AVDD_AUDIO"; > + }; > + > reg_module_vref_1v8: regulator-module-vref-1v8 { > compatible = "regulator-fixed"; > regulator-max-microvolt = <1800000>; > @@ -55,6 +62,23 @@ reg_usbh_vbus: regulator-usbh-vbus { > regulator-min-microvolt = <5000000>; > regulator-name = "usbh_vbus"; > }; > + > + sound-card { > + compatible = "simple-audio-card"; > + simple-audio-card,bitclock-master = <&dailink_master>; > + simple-audio-card,format = "i2s"; > + simple-audio-card,frame-master = <&dailink_master>; > + simple-audio-card,name = "colibri-imx8x"; > + > + dailink_master: simple-audio-card,codec { > + clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>; > + sound-dai = <&sgtl5000_a>; > + }; > + > + simple-audio-card,cpu { > + sound-dai = <&sai0>; > + }; > + }; > }; > > /* Colibri Analogue Inputs */ > @@ -109,6 +133,21 @@ touchscreen@2c { > status = "disabled"; > }; > > + sgtl5000_a: audio-codec@a { Please sort I2C device nodes in slave address. Shawn > + compatible = "fsl,sgtl5000"; > + reg = <0xa>; > + #sound-dai-cells = <0>; > + 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>, <12000000>, <12000000>; > + clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>; > + VDDA-supply = <®_module_3v3_avdd>; > + VDDD-supply = <®_module_vref_1v8>; > + VDDIO-supply = <®_module_3v3>; > + }; > + > gpio_expander_43: gpio@43 { > compatible = "fcs,fxl6408"; > reg = <0x43>; > @@ -373,7 +412,13 @@ &lsio_pwm2 { > > /* TODO on-module PCIe for Wi-Fi */ > > -/* TODO On-module i2s / Audio */ > +/* On-module I2S */ > +&sai0 { > + #sound-dai-cells = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai0>; > + status = "okay"; > +}; > > &usbotg1 { > adp-disable; > -- > 2.39.2 >