From nobody Sat Nov 30 03:27:18 2024 Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31AB82BD1D; Thu, 12 Sep 2024 02:21:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=92.121.34.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726107695; cv=none; b=GUyDEaT4aToNNRxkUnYTsL9Eb/RqWTJUtPcHZzyWdnqunnNBmnTO8+YTEk8NdBu1kK2fCCSQUwHo5Moj5LH/3tlf5ccslzqWCelVsTCQ/cWVd6jd/rqImef4j2oj/PWgvA2Nt/5SaQZy3ZSskkwO+GRycIKLmY1DgbM4Hc6KnCA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726107695; c=relaxed/simple; bh=HCDVzZH+XzIK21Rrbzx/43Sg7jedfgk1vPj6W7s74mM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References; b=FrqusbWgJvdjyP+xJHnWuYIRkyhobrlmPWld39omMTIc6D9vLZqzVkfEy2TBxqyKHmxlVV/y3vZwb/r73jR9BkP22KeI4lqH6jfcrw8kXF47ffHNztINUrFE7swluz7FCoegrK1HQVJvooEQvx7A0CB0tIIVQoxQxILpFYNSXYc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; arc=none smtp.client-ip=92.121.34.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 9E4761A0A6D; Thu, 12 Sep 2024 04:21:27 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 640311A01C1; Thu, 12 Sep 2024 04:21:27 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 2969C1840306; Thu, 12 Sep 2024 10:21:26 +0800 (+08) From: Shengjiu Wang To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com Subject: [PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card Date: Thu, 12 Sep 2024 09:59:39 +0800 Message-Id: <1726106381-1138-2-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1726106381-1138-1-git-send-email-shengjiu.wang@nxp.com> References: <1726106381-1138-1-git-send-email-shengjiu.wang@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add wm8962 sound card which connects to sai3. The connection of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add gpio-hog for it. Signed-off-by: Shengjiu Wang Reviewed-by: Frank Li --- .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/b= oot/dts/freescale/imx93-9x9-qsb.dts index f8a73612fa05..10f3366b8253 100644 --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref { regulator-max-microvolt =3D <1800000>; }; =20 + reg_audio_pwr: regulator-audio-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "audio-pwr"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + gpio =3D <&pcal6524 16 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + reg_rpi_3v3: regulator-rpi { compatible =3D "regulator-fixed"; regulator-name =3D "VDD_RPI_3V3"; @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 { enable-active-high; off-on-delay-us =3D <12000>; }; + + sound-wm8962 { + compatible =3D "fsl,imx-audio-wm8962"; + model =3D "wm8962-audio"; + audio-cpu =3D <&sai3>; + audio-codec =3D <&wm8962>; + hp-det-gpio =3D <&pcal6524 4 GPIO_ACTIVE_HIGH>; + audio-routing =3D + "Headphone Jack", "HPOUTL", + "Headphone Jack", "HPOUTR", + "Ext Spk", "SPKOUTL", + "Ext Spk", "SPKOUTR", + "AMIC", "MICBIAS", + "IN3R", "AMIC", + "IN1R", "AMIC"; + }; }; =20 &adc1 { @@ -136,6 +161,28 @@ &lpi2c1 { pinctrl-0 =3D <&pinctrl_lpi2c1>; status =3D "okay"; =20 + wm8962: codec@1a { + compatible =3D "wlf,wm8962"; + reg =3D <0x1a>; + clocks =3D <&clk IMX93_CLK_SAI3_GATE>; + DCVDD-supply =3D <®_audio_pwr>; + DBVDD-supply =3D <®_audio_pwr>; + AVDD-supply =3D <®_audio_pwr>; + CPVDD-supply =3D <®_audio_pwr>; + MICVDD-supply =3D <®_audio_pwr>; + PLLVDD-supply =3D <®_audio_pwr>; + SPKVDD1-supply =3D <®_audio_pwr>; + SPKVDD2-supply =3D <®_audio_pwr>; + gpio-cfg =3D < + 0x0000 /* 0:Default */ + 0x0000 /* 1:Default */ + 0x0000 /* 2:FN_DMICCLK */ + 0x0000 /* 3:Default */ + 0x0000 /* 4:FN_DMICCDAT */ + 0x0000 /* 5:Default */ + >; + }; + ptn5110: tcpc@50 { compatible =3D "nxp,ptn5110", "tcpci"; reg =3D <0x50>; @@ -194,6 +241,12 @@ pcal6524: gpio@22 { interrupts =3D <26 IRQ_TYPE_LEVEL_LOW>; pinctrl-names =3D "default"; pinctrl-0 =3D <&pinctrl_pcal6524>; + + exp-sel-hog { + gpio-hog; + gpios =3D <22 GPIO_ACTIVE_HIGH>; + output-low; + }; }; =20 pmic@25 { @@ -286,6 +339,17 @@ &mu2 { status =3D "okay"; }; =20 +&sai3 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_sai3>; + assigned-clocks =3D <&clk IMX93_CLK_SAI3>; + assigned-clock-parents =3D <&clk IMX93_CLK_AUDIO_PLL>; + assigned-clock-rates =3D <12288000>; + fsl,sai-mclk-direction-output; + fsl,sai-synchronous-rx; + status =3D "okay"; +}; + &usbotg1 { dr_mode =3D "otg"; hnp-disable; @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e >; }; =20 + pinctrl_sai3: sai3grp { + fsl,pins =3D < + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e + >; + }; + pinctrl_usdhc2_gpio: usdhc2gpiogrp { fsl,pins =3D < MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e --=20 2.34.1 From nobody Sat Nov 30 03:27:18 2024 Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BDB278C60; Thu, 12 Sep 2024 02:21:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=92.121.34.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726107697; cv=none; b=PpSVaHKtUnN2LAUzKYLUXwxUZ8U+XBhyj1DCqUAFRzjwTOc67IeUMSShwVrrB7sil+dBTtHzu15L3BCPlHGa/3htcnbduHwixodSgKXXdrWoFprpiGyb1a4kcjYIOjYbkH1pG1QxTXB/BRwohUEvqNhUCObSUl6KDaoSc661Ack= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726107697; c=relaxed/simple; bh=KDmxcKwGwGQ3nj3fgrmRiyM3MVNRhWhZIYTIX7h8S+Q=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References; b=OVe+xOOBzxJyVzmK6djLV5hYWU4MX/HAmAvWGnkfXt2NMN8xbjvOzmKdiUlHTiZxN0VWwvJwNYVe3CG90B2EZNMNcewkJ30nLTgmcHCwAhciuh+sg+k/bhR6N+wFTlf6DNXSAt2r3PgNcPK007yqgMf8O8Im8sgPajN6eQJywtA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; arc=none smtp.client-ip=92.121.34.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 1D97A1A065A; Thu, 12 Sep 2024 04:21:29 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id D6B0D1A1B14; Thu, 12 Sep 2024 04:21:28 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 44C9D1840303; Thu, 12 Sep 2024 10:21:27 +0800 (+08) From: Shengjiu Wang To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com Subject: [PATCH v2 2/3] arm64: dts: imx93-9x9-qsb: add bt-sco sound card support Date: Thu, 12 Sep 2024 09:59:40 +0800 Message-Id: <1726106381-1138-3-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1726106381-1138-1-git-send-email-shengjiu.wang@nxp.com> References: <1726106381-1138-1-git-send-email-shengjiu.wang@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add bt-sco sound card, which is used by BT HFP case. It supports wb profile as default Signed-off-by: Shengjiu Wang Reviewed-by: Frank Li --- .../boot/dts/freescale/imx93-9x9-qsb.dts | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/b= oot/dts/freescale/imx93-9x9-qsb.dts index 10f3366b8253..f44300225656 100644 --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts @@ -12,6 +12,11 @@ / { model =3D "NXP i.MX93 9x9 Quick Start Board"; compatible =3D "fsl,imx93-9x9-qsb", "fsl,imx93"; =20 + bt_sco_codec: bt-sco-codec { + #sound-dai-cells =3D <1>; + compatible =3D "linux,bt-sco"; + }; + chosen { stdout-path =3D &lpuart1; }; @@ -98,6 +103,25 @@ reg_usdhc2_vmmc: regulator-usdhc2 { off-on-delay-us =3D <12000>; }; =20 + sound-bt-sco { + compatible =3D "simple-audio-card"; + simple-audio-card,name =3D "bt-sco-audio"; + simple-audio-card,format =3D "dsp_a"; + simple-audio-card,bitclock-inversion; + simple-audio-card,frame-master =3D <&btcpu>; + simple-audio-card,bitclock-master =3D <&btcpu>; + + btcpu: simple-audio-card,cpu { + sound-dai =3D <&sai1>; + dai-tdm-slot-num =3D <2>; + dai-tdm-slot-width =3D <16>; + }; + + simple-audio-card,codec { + sound-dai =3D <&bt_sco_codec 1>; + }; + }; + sound-wm8962 { compatible =3D "fsl,imx-audio-wm8962"; model =3D "wm8962-audio"; @@ -339,6 +363,16 @@ &mu2 { status =3D "okay"; }; =20 +&sai1 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_sai1>; + assigned-clocks =3D <&clk IMX93_CLK_SAI1>; + assigned-clock-parents =3D <&clk IMX93_CLK_AUDIO_PLL>; + assigned-clock-rates =3D <12288000>; + fsl,sai-mclk-direction-output; + status =3D "okay"; +}; + &sai3 { pinctrl-names =3D "default"; pinctrl-0 =3D <&pinctrl_sai3>; @@ -507,6 +541,15 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e >; }; =20 + pinctrl_sai1: sai1grp { + fsl,pins =3D < + MX93_PAD_SAI1_TXC__SAI1_TX_BCLK 0x31e + MX93_PAD_SAI1_TXFS__SAI1_TX_SYNC 0x31e + MX93_PAD_SAI1_TXD0__SAI1_TX_DATA00 0x31e + MX93_PAD_SAI1_RXD0__SAI1_RX_DATA00 0x31e + >; + }; + pinctrl_sai3: sai3grp { fsl,pins =3D < MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e --=20 2.34.1 From nobody Sat Nov 30 03:27:18 2024 Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F095126BF4; Thu, 12 Sep 2024 02:21:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=92.121.34.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726107698; cv=none; b=h+7rRTVfi8Uf4sTz6KXoL0wQVkLv20CP1j7UvwBrhXt0npSR3Oh6RXCCuGQDyllYl7RJnHpfkH+64g9vI1LqB9GvhMquj3GWOa2D6FetkQrF5fJ4IffoA0cc6XqgwBJWp5GVoDACQ2Hfq7YP0CnB29QUBSpD/jAkWT7SWFBpqwM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726107698; c=relaxed/simple; bh=X5l+R2RLeYKNJoTh8PxTT2Rzk/VGB2PYSgqfwxHwcYs=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References; b=sCGvGVY0nKgz7JoBLxb1eZxS7vwIKtYqkQ4QAmT+QIhsi4rAx7mtstNwYkM/aQ/LSr6efrBbSNKLJWcgqgrn+2B/ivpUAAKilKBMdQvudFcVUIdYv4liNZ8HXSVmwpEEICNUc53DL2v+FVRK6oLbaqo+D75yk7EuPMjFeWl5qWA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; arc=none smtp.client-ip=92.121.34.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id D52671A0047; Thu, 12 Sep 2024 04:21:29 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 9AC561A01C1; Thu, 12 Sep 2024 04:21:29 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 604451840305; Thu, 12 Sep 2024 10:21:28 +0800 (+08) From: Shengjiu Wang To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com Subject: [PATCH v2 3/3] arm64: dts: imx93-9x9-qsb: Add PDM microphone sound card support Date: Thu, 12 Sep 2024 09:59:41 +0800 Message-Id: <1726106381-1138-4-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1726106381-1138-1-git-send-email-shengjiu.wang@nxp.com> References: <1726106381-1138-1-git-send-email-shengjiu.wang@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add PDM micphone sound card support, configure the pinmux. This sound card supports recording sound from PDM microphone and convert the PDM format data to PCM data. Signed-off-by: Shengjiu Wang Reviewed-by: Frank Li --- .../boot/dts/freescale/imx93-9x9-qsb.dts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/b= oot/dts/freescale/imx93-9x9-qsb.dts index f44300225656..72a0e0290a84 100644 --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts @@ -122,6 +122,20 @@ simple-audio-card,codec { }; }; =20 + sound-micfil { + compatible =3D "fsl,imx-audio-card"; + model =3D "micfil-audio"; + + pri-dai-link { + link-name =3D "micfil hifi"; + format =3D "i2s"; + + cpu { + sound-dai =3D <&micfil>; + }; + }; + }; + sound-wm8962 { compatible =3D "fsl,imx-audio-wm8962"; model =3D "wm8962-audio"; @@ -271,6 +285,12 @@ exp-sel-hog { gpios =3D <22 GPIO_ACTIVE_HIGH>; output-low; }; + + mic-can-sel-hog { + gpio-hog; + gpios =3D <17 GPIO_ACTIVE_HIGH>; + output-low; + }; }; =20 pmic@25 { @@ -355,6 +375,15 @@ &lpuart1 { /* console */ status =3D "okay"; }; =20 +&micfil { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_pdm>; + assigned-clocks =3D <&clk IMX93_CLK_PDM>; + assigned-clock-parents =3D <&clk IMX93_CLK_AUDIO_PLL>; + assigned-clock-rates =3D <49152000>; + status =3D "okay"; +}; + &mu1 { status =3D "okay"; }; @@ -468,6 +497,14 @@ MX93_PAD_CCM_CLKO1__GPIO3_IO26 0x31e >; }; =20 + pinctrl_pdm: pdmgrp { + fsl,pins =3D < + MX93_PAD_PDM_CLK__PDM_CLK 0x31e + MX93_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM00 0x31e + MX93_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM01 0x31e + >; + }; + pinctrl_uart1: uart1grp { fsl,pins =3D < MX93_PAD_UART1_RXD__LPUART1_RX 0x31e --=20 2.34.1