devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards
@ 2024-07-29  1:39 Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 1/4] arm64: dts: imx93: Add #sound-dai-cells property Shengjiu Wang
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Shengjiu Wang @ 2024-07-29  1:39 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	devicetree, linux-arm-kernel, linux-kernel
  Cc: shengjiu.wang

Add bt-sco, PDM microphone, XCVR sound card support.

changes in v2:
- move #sound-dai-cells to i.mx93.dtsi
- fix some coding style issue
- fix CHECK_DTBS issue

Shengjiu Wang (4):
  arm64: dts: imx93: Add #sound-dai-cells property
  arm64: dts: imx93-11x11-evk: add bt-sco sound card support
  arm64: dts: imx93-11x11-evk: Add PDM microphone sound card support
  arm64: dts: imx93-11x11-evk: Add audio XCVR sound card

 .../boot/dts/freescale/imx93-11x11-evk.dts    | 132 ++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx93.dtsi      |   5 +
 2 files changed, 137 insertions(+)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/4] arm64: dts: imx93: Add #sound-dai-cells property
  2024-07-29  1:39 [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shengjiu Wang
@ 2024-07-29  1:39 ` Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 2/4] arm64: dts: imx93-11x11-evk: add bt-sco sound card support Shengjiu Wang
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Shengjiu Wang @ 2024-07-29  1:39 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	devicetree, linux-arm-kernel, linux-kernel
  Cc: shengjiu.wang

Add #sound-dai-cells property for audio cpu dai modules
'#sound-dai-cells' is required to properly interpret
the list of DAI specified in the 'sound-dai' property,

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx93.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index 4a3f42355cb8..e8fd008d6333 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -425,6 +425,7 @@ sai1: sai@443b0000 {
 				clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
 				dmas = <&edma1 22 0 FSL_EDMA_RX>, <&edma1 21 0 0>;
 				dma-names = "rx", "tx";
+				#sound-dai-cells = <0>;
 				status = "disabled";
 			};
 
@@ -524,6 +525,7 @@ micfil: micfil@44520000 {
 				clock-names = "ipg_clk", "ipg_clk_app", "pll8k";
 				dmas = <&edma1 29 0 5>;
 				dma-names = "rx";
+				#sound-dai-cells = <0>;
 				status = "disabled";
 			};
 
@@ -846,6 +848,7 @@ sai2: sai@42650000 {
 				clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
 				dmas = <&edma2 59 0 FSL_EDMA_RX>, <&edma2 58 0 0>;
 				dma-names = "rx", "tx";
+				#sound-dai-cells = <0>;
 				status = "disabled";
 			};
 
@@ -859,6 +862,7 @@ sai3: sai@42660000 {
 				clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
 				dmas = <&edma2 61 0 FSL_EDMA_RX>, <&edma2 60 0 0>;
 				dma-names = "rx", "tx";
+				#sound-dai-cells = <0>;
 				status = "disabled";
 			};
 
@@ -878,6 +882,7 @@ xcvr: xcvr@42680000 {
 				clock-names = "ipg", "phy", "spba", "pll_ipg";
 				dmas = <&edma2 65 0 FSL_EDMA_RX>, <&edma2 66 0 0>;
 				dma-names = "rx", "tx";
+				#sound-dai-cells = <0>;
 				status = "disabled";
 			};
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/4] arm64: dts: imx93-11x11-evk: add bt-sco sound card support
  2024-07-29  1:39 [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 1/4] arm64: dts: imx93: Add #sound-dai-cells property Shengjiu Wang
@ 2024-07-29  1:39 ` Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 3/4] arm64: dts: imx93-11x11-evk: Add PDM microphone " Shengjiu Wang
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Shengjiu Wang @ 2024-07-29  1:39 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	devicetree, linux-arm-kernel, linux-kernel
  Cc: shengjiu.wang

Add bt-sco sound card, which is used by BT HFP case.
It supports wb profile as default

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 .../boot/dts/freescale/imx93-11x11-evk.dts    | 53 +++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index a15987f49e8d..5ebf25726c33 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -80,6 +80,30 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
 		off-on-delay-us = <12000>;
 		enable-active-high;
 	};
+
+	bt_sco_codec: bt-sco-codec {
+		compatible = "linux,bt-sco";
+		#sound-dai-cells = <1>;
+	};
+
+	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 = <&sai1>;
+			dai-tdm-slot-num = <2>;
+			dai-tdm-slot-width = <16>;
+		};
+
+		simple-audio-card,codec {
+			sound-dai = <&bt_sco_codec 1>;
+		};
+	};
 };
 
 &adc1 {
@@ -345,6 +369,17 @@ &mu2 {
 	status = "okay";
 };
 
+&sai1 {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&pinctrl_sai1>;
+	pinctrl-1 = <&pinctrl_sai1_sleep>;
+	assigned-clocks = <&clk IMX93_CLK_SAI1>;
+	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+	assigned-clock-rates = <12288000>;
+	fsl,sai-mclk-direction-output;
+	status = "okay";
+};
+
 &usbotg1 {
 	dr_mode = "otg";
 	hnp-disable;
@@ -528,6 +563,24 @@ MX93_PAD_CCM_CLKO2__GPIO3_IO27			0x31e
 		>;
 	};
 
+	pinctrl_sai1: sai1grp {
+		fsl,pins = <
+			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_sai1_sleep: sai1sleepgrp {
+		fsl,pins = <
+			MX93_PAD_SAI1_TXC__GPIO1_IO12                   0x51e
+			MX93_PAD_SAI1_TXFS__GPIO1_IO11			0x51e
+			MX93_PAD_SAI1_TXD0__GPIO1_IO13			0x51e
+			MX93_PAD_SAI1_RXD0__GPIO1_IO14			0x51e
+		>;
+	};
+
 	/* need to config the SION for data and cmd pad, refer to ERR052021 */
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/4] arm64: dts: imx93-11x11-evk: Add PDM microphone sound card support
  2024-07-29  1:39 [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 1/4] arm64: dts: imx93: Add #sound-dai-cells property Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 2/4] arm64: dts: imx93-11x11-evk: add bt-sco sound card support Shengjiu Wang
@ 2024-07-29  1:39 ` Shengjiu Wang
  2024-07-29  1:39 ` [PATCH v2 4/4] arm64: dts: imx93-11x11-evk: Add audio XCVR sound card Shengjiu Wang
  2024-08-13  2:48 ` [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shawn Guo
  4 siblings, 0 replies; 6+ messages in thread
From: Shengjiu Wang @ 2024-07-29  1:39 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	devicetree, linux-arm-kernel, linux-kernel
  Cc: shengjiu.wang

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 <shengjiu.wang@nxp.com>
---
 .../boot/dts/freescale/imx93-11x11-evk.dts    | 40 +++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index 5ebf25726c33..5e4c162e0355 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -104,6 +104,20 @@ simple-audio-card,codec {
 			sound-dai = <&bt_sco_codec 1>;
 		};
 	};
+
+	sound-micfil {
+		compatible = "fsl,imx-audio-card";
+		model = "micfil-audio";
+
+		pri-dai-link {
+			link-name = "micfil hifi";
+			format = "i2s";
+
+			cpu {
+				sound-dai = <&micfil>;
+			};
+		};
+	};
 };
 
 &adc1 {
@@ -361,6 +375,16 @@ &lpuart5 {
 	status = "okay";
 };
 
+&micfil {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&pinctrl_pdm>;
+	pinctrl-1 = <&pinctrl_pdm_sleep>;
+	assigned-clocks = <&clk IMX93_CLK_PDM>;
+	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+	assigned-clock-rates = <49152000>;
+	status = "okay";
+};
+
 &mu1 {
 	status = "okay";
 };
@@ -563,6 +587,22 @@ MX93_PAD_CCM_CLKO2__GPIO3_IO27			0x31e
 		>;
 	};
 
+	pinctrl_pdm: pdmgrp {
+		fsl,pins = <
+			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_pdm_sleep: pdmsleepgrp {
+		fsl,pins = <
+			MX93_PAD_PDM_CLK__GPIO1_IO08			0x31e
+			MX93_PAD_PDM_BIT_STREAM0__GPIO1_IO09		0x31e
+			MX93_PAD_PDM_BIT_STREAM1__GPIO1_IO10		0x31e
+		>;
+	};
+
 	pinctrl_sai1: sai1grp {
 		fsl,pins = <
 			MX93_PAD_SAI1_TXC__SAI1_TX_BCLK			0x31e
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 4/4] arm64: dts: imx93-11x11-evk: Add audio XCVR sound card
  2024-07-29  1:39 [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shengjiu Wang
                   ` (2 preceding siblings ...)
  2024-07-29  1:39 ` [PATCH v2 3/4] arm64: dts: imx93-11x11-evk: Add PDM microphone " Shengjiu Wang
@ 2024-07-29  1:39 ` Shengjiu Wang
  2024-08-13  2:48 ` [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shawn Guo
  4 siblings, 0 replies; 6+ messages in thread
From: Shengjiu Wang @ 2024-07-29  1:39 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	devicetree, linux-arm-kernel, linux-kernel
  Cc: shengjiu.wang

Add audio XCVR sound card, which supports SPDIF TX & RX only,
eARC RX, ARC RX are not supported.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 .../boot/dts/freescale/imx93-11x11-evk.dts    | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index 5e4c162e0355..0bb39eda39c1 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -118,6 +118,19 @@ cpu {
 			};
 		};
 	};
+
+	sound-xcvr {
+		compatible = "fsl,imx-audio-card";
+		model = "imx-audio-xcvr";
+
+		pri-dai-link {
+			link-name = "XCVR PCM";
+
+			cpu {
+				sound-dai = <&xcvr>;
+			};
+		};
+	};
 };
 
 &adc1 {
@@ -467,6 +480,18 @@ &wdog3 {
 	status = "okay";
 };
 
+&xcvr {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&pinctrl_spdif>;
+	pinctrl-1 = <&pinctrl_spdif_sleep>;
+	assigned-clocks = <&clk IMX93_CLK_SPDIF>,
+			 <&clk IMX93_CLK_AUDIO_XCVR>;
+	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>,
+			 <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
+	assigned-clock-rates = <12288000>, <200000000>;
+	status = "okay";
+};
+
 &iomuxc {
 	pinctrl_eqos: eqosgrp {
 		fsl,pins = <
@@ -678,6 +703,20 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07	0x31e
 		>;
 	};
 
+	pinctrl_spdif: spdifgrp {
+		fsl,pins = <
+			MX93_PAD_GPIO_IO22__SPDIF_IN		0x31e
+			MX93_PAD_GPIO_IO23__SPDIF_OUT		0x31e
+		>;
+	};
+
+	pinctrl_spdif_sleep: spdifsleepgrp {
+		fsl,pins = <
+			MX93_PAD_GPIO_IO22__GPIO2_IO22		0x31e
+			MX93_PAD_GPIO_IO23__GPIO2_IO23		0x31e
+		>;
+	};
+
 	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
 		fsl,pins = <
 			MX93_PAD_SD2_CD_B__GPIO3_IO00		0x31e
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards
  2024-07-29  1:39 [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shengjiu Wang
                   ` (3 preceding siblings ...)
  2024-07-29  1:39 ` [PATCH v2 4/4] arm64: dts: imx93-11x11-evk: Add audio XCVR sound card Shengjiu Wang
@ 2024-08-13  2:48 ` Shawn Guo
  4 siblings, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2024-08-13  2:48 UTC (permalink / raw)
  To: Shengjiu Wang
  Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	devicetree, linux-arm-kernel, linux-kernel, shengjiu.wang

On Mon, Jul 29, 2024 at 09:39:55AM +0800, Shengjiu Wang wrote:
> Add bt-sco, PDM microphone, XCVR sound card support.
> 
> changes in v2:
> - move #sound-dai-cells to i.mx93.dtsi
> - fix some coding style issue
> - fix CHECK_DTBS issue
> 
> Shengjiu Wang (4):
>   arm64: dts: imx93: Add #sound-dai-cells property
>   arm64: dts: imx93-11x11-evk: add bt-sco sound card support
>   arm64: dts: imx93-11x11-evk: Add PDM microphone sound card support
>   arm64: dts: imx93-11x11-evk: Add audio XCVR sound card

Applied all, thanks!


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-08-13  2:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29  1:39 [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shengjiu Wang
2024-07-29  1:39 ` [PATCH v2 1/4] arm64: dts: imx93: Add #sound-dai-cells property Shengjiu Wang
2024-07-29  1:39 ` [PATCH v2 2/4] arm64: dts: imx93-11x11-evk: add bt-sco sound card support Shengjiu Wang
2024-07-29  1:39 ` [PATCH v2 3/4] arm64: dts: imx93-11x11-evk: Add PDM microphone " Shengjiu Wang
2024-07-29  1:39 ` [PATCH v2 4/4] arm64: dts: imx93-11x11-evk: Add audio XCVR sound card Shengjiu Wang
2024-08-13  2:48 ` [PATCH v2 0/4] arm64: dts: imx93-11x11-evk: Add several sound cards Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).