From nobody Mon Feb 9 04:44:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1646EB64DA for ; Wed, 19 Jul 2023 12:54:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230343AbjGSMyk (ORCPT ); Wed, 19 Jul 2023 08:54:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34056 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230061AbjGSMyi (ORCPT ); Wed, 19 Jul 2023 08:54:38 -0400 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8093B11C; Wed, 19 Jul 2023 05:54:37 -0700 (PDT) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 72127206BC; Wed, 19 Jul 2023 14:54:35 +0200 (CEST) From: Francesco Dolcini To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Francesco Dolcini , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Mark Brown Subject: [PATCH v1 1/2] arm64: dts: freescale: verdin-imx8mp: dahlia: add sound card Date: Wed, 19 Jul 2023 14:54:29 +0200 Message-Id: <20230719125430.249644-2-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230719125430.249644-1-francesco@dolcini.it> References: <20230719125430.249644-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Francesco Dolcini Add WM8904 based analog sound card to Dahlia carrier board. Signed-off-by: Francesco Dolcini Tested-by: Mark Brown --- .../dts/freescale/imx8mp-verdin-dahlia.dtsi | 56 ++++++++++++++++++- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi b/arch= /arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi index 56b0e4b865c9..7e9e4b13b5c5 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi @@ -3,7 +3,36 @@ * Copyright 2022 Toradex */ =20 -/* TODO: Audio Codec */ +/ { + sound { + compatible =3D "simple-audio-card"; + simple-audio-card,bitclock-master =3D <&codec_dai>; + simple-audio-card,format =3D "i2s"; + simple-audio-card,frame-master =3D <&codec_dai>; + simple-audio-card,mclk-fs =3D <256>; + simple-audio-card,name =3D "imx8mp-wm8904"; + simple-audio-card,routing =3D + "Headphone Jack", "HPOUTL", + "Headphone Jack", "HPOUTR", + "IN2L", "Line In Jack", + "IN2R", "Line In Jack", + "Headphone Jack", "MICBIAS", + "IN1L", "Headphone Jack"; + simple-audio-card,widgets =3D + "Microphone", "Headphone Jack", + "Headphone", "Headphone Jack", + "Line", "Line In Jack"; + + codec_dai: simple-audio-card,codec { + clocks =3D <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; + sound-dai =3D <&wm8904_1a>; + }; + + simple-audio-card,cpu { + sound-dai =3D <&sai1>; + }; + }; +}; =20 &backlight { power-supply =3D <®_3p3v>; @@ -64,7 +93,21 @@ &i2c3 { &i2c4 { status =3D "okay"; =20 - /* TODO: Audio Codec */ + /* Audio Codec */ + wm8904_1a: audio-codec@1a { + compatible =3D "wlf,wm8904"; + reg =3D <0x1a>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_sai1>; + #sound-dai-cells =3D <0>; + clocks =3D <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; + clock-names =3D "mclk"; + AVDD-supply =3D <®_1p8v>; + CPVDD-supply =3D <®_1p8v>; + DBVDD-supply =3D <®_1p8v>; + DCVDD-supply =3D <®_1p8v>; + MICVDD-supply =3D <®_1p8v>; + }; }; =20 /* Verdin PCIE_1 */ @@ -95,7 +138,14 @@ ®_usdhc2_vmmc { vin-supply =3D <®_3p3v>; }; =20 -/* TODO: Verdin I2S_1 */ +/* Verdin I2S_1 */ +&sai1 { + assigned-clocks =3D <&clk IMX8MP_CLK_SAI1>; + assigned-clock-parents =3D <&clk IMX8MP_AUDIO_PLL1_OUT>; + assigned-clock-rates =3D <24576000>; + fsl,sai-mclk-direction-output; + status =3D "okay"; +}; =20 /* Verdin UART_1 */ &uart1 { --=20 2.25.1 From nobody Mon Feb 9 04:44:42 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E23A2C0015E for ; Wed, 19 Jul 2023 12:54:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230356AbjGSMym (ORCPT ); Wed, 19 Jul 2023 08:54:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229535AbjGSMyj (ORCPT ); Wed, 19 Jul 2023 08:54:39 -0400 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 306C010B; Wed, 19 Jul 2023 05:54:38 -0700 (PDT) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 109AB209AC; Wed, 19 Jul 2023 14:54:36 +0200 (CEST) From: Francesco Dolcini To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Francesco Dolcini , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Mark Brown Subject: [PATCH v1 2/2] arm64: dts: freescale: verdin-imx8mp: dev: add sound card Date: Wed, 19 Jul 2023 14:54:30 +0200 Message-Id: <20230719125430.249644-3-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230719125430.249644-1-francesco@dolcini.it> References: <20230719125430.249644-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Francesco Dolcini Add NAU8822 based analog sound card to Development carrier board. Signed-off-by: Francesco Dolcini --- .../boot/dts/freescale/imx8mp-verdin-dev.dtsi | 55 +++++++++++++++++-- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi b/arch/ar= m64/boot/dts/freescale/imx8mp-verdin-dev.dtsi index bdfdd4c782f1..a509b2b7fa85 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi @@ -4,8 +4,6 @@ */ =20 / { - /* TODO: Audio Codec */ - reg_eth2phy: regulator-eth2phy { compatible =3D "regulator-fixed"; enable-active-high; @@ -17,6 +15,41 @@ reg_eth2phy: regulator-eth2phy { startup-delay-us =3D <200000>; vin-supply =3D <®_3p3v>; }; + + sound { + compatible =3D "simple-audio-card"; + simple-audio-card,bitclock-master =3D <&codec_dai>; + simple-audio-card,format =3D "i2s"; + simple-audio-card,frame-master =3D <&codec_dai>; + simple-audio-card,mclk-fs =3D <256>; + simple-audio-card,name =3D "imx8mp-nau8822"; + simple-audio-card,routing =3D + "Headphones", "LHP", + "Headphones", "RHP", + "Speaker", "LSPK", + "Speaker", "RSPK", + "Line Out", "AUXOUT1", + "Line Out", "AUXOUT2", + "LAUX", "Line In", + "RAUX", "Line In", + "LMICP", "Mic In", + "RMICP", "Mic In"; + simple-audio-card,widgets =3D + "Headphones", "Headphones", + "Line Out", "Line Out", + "Speaker", "Speaker", + "Microphone", "Mic In", + "Line", "Line In"; + + codec_dai: simple-audio-card,codec { + clocks =3D <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; + sound-dai =3D <&nau8822_1a>; + }; + + simple-audio-card,cpu { + sound-dai =3D <&sai1>; + }; + }; }; =20 &backlight { @@ -88,7 +121,14 @@ &i2c3 { &i2c4 { status =3D "okay"; =20 - /* TODO: Audio Codec */ + /* Audio Codec */ + nau8822_1a: audio-codec@1a { + compatible =3D "nuvoton,nau8822"; + reg =3D <0x1a>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_sai1>; + #sound-dai-cells =3D <0>; + }; }; =20 /* Verdin PCIE_1 */ @@ -119,7 +159,14 @@ ®_usdhc2_vmmc { vin-supply =3D <®_3p3v>; }; =20 -/* TODO: Verdin I2C_1 with Audio Codec */ +/* Verdin I2S_1 */ +&sai1 { + assigned-clocks =3D <&clk IMX8MP_CLK_SAI1>; + assigned-clock-parents =3D <&clk IMX8MP_AUDIO_PLL1_OUT>; + assigned-clock-rates =3D <24576000>; + fsl,sai-mclk-direction-output; + status =3D "okay"; +}; =20 /* Verdin UART_1, connector X50 through RS485 transceiver */ &uart1 { --=20 2.25.1