From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 06632C4345F for ; Mon, 22 Apr 2024 03:42:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=t5ye9G9nw3yoZpbpv+tUsGL489cf75ApnVUqu9VSHNs=; b=fQQLOwZsknIaG2 XtHpecJU1KgKKx85B1K8Ai9/mTrncanwMoabCU0gcZK5a1nEAuDoIO3Eeu/bhxFaJuxya+zDqN5v2 LTgqtKhhoxl8vbgwaSDJTw70YLkHtjuKX7c73xC5Gz621Gj7yBOm/MqzhhOWIwOopOfLwvH89edXt h6NQ2w1FczGfe3GCQkR2d/E8ztsGFSu86eomBl2Hlw97J5X4Otk3JX6FRLnoRPHc1zZ2T7H8tn22S CYEy/Cs2yVWDQM3sVejw6ajV5Yp8SAcklfMOcOzHHh5fgr6R4CeTa+iTqTPMpJR87FcyDwmb2g2R5 60iU2ZPzERFbILV3j2YA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rykZg-0000000BsuW-4Btj; Mon, 22 Apr 2024 03:42:37 +0000 Received: from mail-177131.yeah.net ([123.58.177.131]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rykZd-0000000Bstf-2jlA for linux-arm-kernel@lists.infradead.org; Mon, 22 Apr 2024 03:42:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yeah.net; s=s110527; h=Date:From:Subject:Message-ID:MIME-Version: Content-Type; bh=fdtfV44v236cnntRxp4mWjiFvJnQMsU2XRd04B3OZtU=; b=D2XIfPDHcemjQdSHqEIZ+OhSCgcL+pxj06woy6S/42b6GchvQIcsraC7H4vDtX hOfphOEb5cVSpJiLC98tm9iBLB+jCT9QBQfdxpAFpnFd0m7rsYH8ekclAoESVd0x 23OlQTKNP8VxzfXGeOfzOrZM+XF4CbiSL1BWs49WuJXE4= Received: from dragon (unknown [223.68.79.243]) by smtp1 (Coremail) with SMTP id ClUQrADXXw+c3CVmanorAw--.29283S3; Mon, 22 Apr 2024 11:42:22 +0800 (CST) Date: Mon, 22 Apr 2024 11:42:20 +0800 From: Shawn Guo To: Frank Li Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/3] arm64: dts: imx8dxl-evk: add audio nodes Message-ID: References: <20240402-b4-dts_dxl_audio-v1-0-d26d25b84a08@nxp.com> <20240402-b4-dts_dxl_audio-v1-3-d26d25b84a08@nxp.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240402-b4-dts_dxl_audio-v1-3-d26d25b84a08@nxp.com> X-CM-TRANSID: ClUQrADXXw+c3CVmanorAw--.29283S3 X-Coremail-Antispam: 1Uf129KBjvJXoW3Gw4kWr4xWFW8XF4DWF45ZFb_yoW3tw17p3 s2ka1fKr4IyasFy34rt34DGrnY9wn5KF4j9a43Kry0yF9IqrZrXr1jkwnxCFWDtrs8Xw1q qF98ZrW8KrsIqaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07j55rcUUUUU= X-Originating-IP: [223.68.79.243] X-CM-SenderInfo: pvkd40hjxrjqh1hdxhhqhw/1tbiDR-IZVszXbcLNAAAsC X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240421_204234_429598_2E912E49 X-CRM114-Status: GOOD ( 15.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Apr 02, 2024 at 05:02:30PM -0400, Frank Li wrote: > Add audio nodes for imx8dxl-evk boards. > > Signed-off-by: Frank Li > --- > arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 234 ++++++++++++++++++++++++++ > 1 file changed, 234 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts > index 2123d431e0613..ba4cdc3534362 100644 > --- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts > +++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts > @@ -125,6 +125,81 @@ mii_select: regulator-4 { > enable-active-high; > regulator-always-on; > }; > + > + bt_sco_codec: bt_sco_codec { Hyphen is recommended for node name. > + #sound-dai-cells = <1>; > + compatible = "linux,bt-sco"; We usually have 'compatible' go first. > + }; > + > + sound-bt-sco { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "bt-sco-audio"; > + simple-audio-card,format = "dsp_a"; > + simple-audio-card,bitclock-inversion; > + simple-audio-card,frame-master = <&btcpu>; > + simple-audio-card,bitclock-master = <&btcpu>; > + > + btcpu: simple-audio-card,cpu { > + sound-dai = <&sai0>; > + dai-tdm-slot-num = <2>; > + dai-tdm-slot-width = <16>; > + }; > + > + simple-audio-card,codec { > + sound-dai = <&bt_sco_codec 1>; > + }; > + }; > + > + sound-wm8960-1 { > + compatible = "fsl,imx7d-evk-wm8960", "fsl,imx-audio-wm8960"; > + model = "wm8960-audio"; > + audio-cpu = <&sai1>; > + audio-codec = <&wm8960_1>; > + audio-asrc = <&asrc0>; > + audio-routing = > + "Headphone Jack", "HP_L", > + "Headphone Jack", "HP_R", > + "Ext Spk", "SPK_LP", > + "Ext Spk", "SPK_LN", > + "Ext Spk", "SPK_RP", > + "Ext Spk", "SPK_RN", > + "LINPUT1", "Mic Jack", > + "Mic Jack", "MICB"; Nit: can we do this? audio-routing = "Headphone Jack", "HP_L", "Headphone Jack", "HP_R", ... > + }; > + > + sound-wm8960-2 { > + compatible = "fsl,imx7d-evk-wm8960", "fsl,imx-audio-wm8960"; > + model = "wm8960-audio-2"; > + audio-cpu = <&sai2>; > + audio-codec = <&wm8960_2>; > + capture-only; > + audio-routing = > + "Headphone Jack", "HP_L", > + "Headphone Jack", "HP_R", > + "Ext Spk", "SPK_LP", > + "Ext Spk", "SPK_LN", > + "Ext Spk", "SPK_RP", > + "Ext Spk", "SPK_RN", > + "LINPUT1", "Mic Jack", > + "Mic Jack", "MICB"; > + }; > + > + sound-wm8960-3 { > + compatible = "fsl,imx7d-evk-wm8960", "fsl,imx-audio-wm8960"; > + model = "wm8960-audio-3"; > + audio-cpu = <&sai3>; > + audio-codec = <&wm8960_3>; > + capture-only; > + audio-routing = > + "Headphone Jack", "HP_L", > + "Headphone Jack", "HP_R", > + "Ext Spk", "SPK_LP", > + "Ext Spk", "SPK_LN", > + "Ext Spk", "SPK_RP", > + "Ext Spk", "SPK_RN", > + "LINPUT1", "Mic Jack", > + "Mic Jack", "MICB"; > + }; > }; > > &adc0 { > @@ -132,6 +207,11 @@ &adc0 { > status = "okay"; > }; > > +&asrc0 { > + fsl,asrc-rate = <48000>; One space around = > + status = "okay"; > +}; > + > &eqos { > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_eqos>; > @@ -259,6 +339,78 @@ max7322: gpio@68 { > }; > }; > > + i2c@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x1>; > + > + wm8960_1: wm8960@1a { > + compatible = "wlf,wm8960"; > + reg = <0x1a>; > + clocks = <&mclkout1_lpcg IMX_LPCG_CLK_0>; > + clock-names = "mclk"; > + wlf,shared-lrclk; > + wlf,hp-cfg = <2 2 3>; > + wlf,gpio-cfg = <1 3>; > + 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>, > + <&mclkout1_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, > + <49152000>, > + <12288000>, > + <12288000>; > + }; > + }; > + > + i2c@2 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x2>; > + > + wm8960_2: wm8960@1a { > + compatible = "wlf,wm8960"; > + reg = <0x1a>; > + clocks = <&mclkout1_lpcg IMX_LPCG_CLK_0>; > + clock-names = "mclk"; > + wlf,shared-lrclk; > + wlf,hp-cfg = <2 2 3>; > + wlf,gpio-cfg = <1 3>; > + 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>, > + <&mclkout1_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, > + <49152000>, > + <12288000>, > + <12288000>; > + }; > + }; > + > + i2c@3 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x3>; > + > + wm8960_3: wm8960@1a { audio-codec for node name. > + compatible = "wlf,wm8960"; > + reg = <0x1a>; > + clocks = <&mclkout1_lpcg IMX_LPCG_CLK_0>; > + clock-names = "mclk"; > + wlf,shared-lrclk; > + wlf,hp-cfg = <2 2 3>; > + wlf,gpio-cfg = <1 3>; > + 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>, > + <&mclkout1_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, > + <49152000>, > + <12288000>, > + <12288000>; > + }; > + }; > + > i2c@4 { > #address-cells = <1>; > #size-cells = <0>; > @@ -362,6 +514,53 @@ &lsio_gpio5 { > status = "okay"; > }; > > +&sai0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai0>; > + #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>, > + <&sai0_lpcg IMX_LPCG_CLK_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>, ... > + assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>; > + status = "okay"; > +}; > + > +&sai1 { > + 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>, > + <&sai1_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai1>; > + status = "okay"; > +}; > + > +&sai2 { > + 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>, > + <&sai2_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai2>; > + fsl,sai-asynchronous; > + status = "okay"; > +}; > + > +&sai3 { > + 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>, > + <&sai3_lpcg IMX_LPCG_CLK_0>; > + assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai3>; > + fsl,sai-asynchronous; > + status = "okay"; > +}; > + > &thermal_zones { > pmic-thermal { > polling-delay-passive = <250>; > @@ -595,6 +794,41 @@ IMX8DXL_UART0_TX_ADMA_UART0_TX 0x06000020 > >; > }; > > + pinctrl_sai0: sai0grp { > + fsl,pins = < > + IMX8DXL_SPI0_CS0_ADMA_SAI0_RXD 0x06000060 > + IMX8DXL_SPI0_CS1_ADMA_SAI0_RXC 0x06000040 > + IMX8DXL_SPI0_SCK_ADMA_SAI0_TXC 0x06000060 > + IMX8DXL_SPI0_SDI_ADMA_SAI0_TXD 0x06000060 > + IMX8DXL_SPI0_SDO_ADMA_SAI0_TXFS 0x06000040 > + >; > + }; > + > + pinctrl_sai1: sai1grp { > + fsl,pins = < > + IMX8DXL_FLEXCAN0_RX_ADMA_SAI1_TXC 0x06000040 Can the indent between pin constant and value be tabs instead of spaces? Shawn > + IMX8DXL_FLEXCAN0_TX_ADMA_SAI1_TXFS 0x06000040 > + IMX8DXL_FLEXCAN1_RX_ADMA_SAI1_TXD 0x06000060 > + IMX8DXL_FLEXCAN1_TX_ADMA_SAI1_RXD 0x06000060 > + >; > + }; > + > + pinctrl_sai2: sai2grp { > + fsl,pins = < > + IMX8DXL_SNVS_TAMPER_OUT3_ADMA_SAI2_RXC 0x06000040 > + IMX8DXL_SNVS_TAMPER_IN0_ADMA_SAI2_RXFS 0x06000040 > + IMX8DXL_SNVS_TAMPER_OUT4_ADMA_SAI2_RXD 0x06000060 > + >; > + }; > + > + pinctrl_sai3: sai3grp { > + fsl,pins = < > + IMX8DXL_SNVS_TAMPER_IN1_ADMA_SAI3_RXC 0x06000040 > + IMX8DXL_SNVS_TAMPER_IN3_ADMA_SAI3_RXFS 0x06000040 > + IMX8DXL_SNVS_TAMPER_IN2_ADMA_SAI3_RXD 0x06000060 > + >; > + }; > + > pinctrl_usdhc1: usdhc1grp { > fsl,pins = < > IMX8DXL_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041 > > -- > 2.34.1 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel