Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Add audio support on i.MX91 9x9 QSB
@ 2026-07-07  6:57 chancel.liu
  2026-07-07  6:57 ` [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support chancel.liu
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

The board routes audio related signals through on-board muxes controlled
by a GPIO expander. Add the mux states required by SAI1 playback and PDM
capture. Add support for WM8524 and PDM microphone sound cards in DT.

Chancel Liu (6):
  ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support
  ASoC: dt-bindings: fsl,micfil: Add audio-graph port support
  ASoC: dt-bindings: dmic-codec: Add audio-graph port support
  arm64: dts: imx91-9x9-qsb: Add audio-related board muxes
  arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support
  arm64: dts: imx91-9x9-qsb: Add PDM microphone sound card support

 .../devicetree/bindings/sound/dmic-codec.yaml |   4 +
 .../devicetree/bindings/sound/fsl,micfil.yaml |   4 +
 .../devicetree/bindings/sound/wlf,wm8524.yaml |   4 +
 .../boot/dts/freescale/imx91-9x9-qsb.dts      | 160 ++++++++++++++++++
 4 files changed, 172 insertions(+)

--
2.50.1



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

* [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
@ 2026-07-07  6:57 ` chancel.liu
  2026-07-08 20:43   ` Frank Li
  2026-07-07  6:57 ` [PATCH 2/6] ASoC: dt-bindings: fsl,micfil: " chancel.liu
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

Add port property referencing audio-graph-port.yaml to allow WM8524 to
be used with audio-graph-card and audio-graph-card2.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
---
 Documentation/devicetree/bindings/sound/wlf,wm8524.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml
index 4d951ece394e..dffc41d5f7de 100644
--- a/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml
+++ b/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml
@@ -24,6 +24,10 @@ properties:
     description:
       a GPIO spec for the MUTE pin.
 
+  port:
+    $ref: audio-graph-port.yaml#
+    unevaluatedProperties: false
+
 required:
   - compatible
   - wlf,mute-gpios
-- 
2.50.1



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

* [PATCH 2/6] ASoC: dt-bindings: fsl,micfil: Add audio-graph port support
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
  2026-07-07  6:57 ` [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support chancel.liu
@ 2026-07-07  6:57 ` chancel.liu
  2026-07-08 20:45   ` Frank Li
  2026-07-07  6:57 ` [PATCH 3/6] ASoC: dt-bindings: dmic-codec: " chancel.liu
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

Add port property referencing audio-graph-port.yaml to allow MICFIL to
be used with audio-graph-card and audio-graph-card2.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
---
 Documentation/devicetree/bindings/sound/fsl,micfil.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/fsl,micfil.yaml b/Documentation/devicetree/bindings/sound/fsl,micfil.yaml
index c47b7a097490..4c7dadb310de 100644
--- a/Documentation/devicetree/bindings/sound/fsl,micfil.yaml
+++ b/Documentation/devicetree/bindings/sound/fsl,micfil.yaml
@@ -66,6 +66,10 @@ properties:
   "#sound-dai-cells":
     const: 0
 
+  port:
+    $ref: audio-graph-port.yaml#
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
-- 
2.50.1



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

* [PATCH 3/6] ASoC: dt-bindings: dmic-codec: Add audio-graph port support
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
  2026-07-07  6:57 ` [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support chancel.liu
  2026-07-07  6:57 ` [PATCH 2/6] ASoC: dt-bindings: fsl,micfil: " chancel.liu
@ 2026-07-07  6:57 ` chancel.liu
  2026-07-08 20:44   ` Frank Li
  2026-07-07  6:57 ` [PATCH 4/6] arm64: dts: imx91-9x9-qsb: Add audio-related board muxes chancel.liu
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

Add port property referencing audio-graph-port.yaml to allow DMIC to be
used with audio-graph-card and audio-graph-card2.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
---
 Documentation/devicetree/bindings/sound/dmic-codec.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/dmic-codec.yaml b/Documentation/devicetree/bindings/sound/dmic-codec.yaml
index cc3c84dd4c26..83c23e029ea4 100644
--- a/Documentation/devicetree/bindings/sound/dmic-codec.yaml
+++ b/Documentation/devicetree/bindings/sound/dmic-codec.yaml
@@ -39,6 +39,10 @@ properties:
   wakeup-delay-ms:
     description: Delay (in ms) after enabling the DMIC
 
+  port:
+    $ref: audio-graph-port.yaml#
+    unevaluatedProperties: false
+
 required:
   - compatible
 
-- 
2.50.1



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

* [PATCH 4/6] arm64: dts: imx91-9x9-qsb: Add audio-related board muxes
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
                   ` (2 preceding siblings ...)
  2026-07-07  6:57 ` [PATCH 3/6] ASoC: dt-bindings: dmic-codec: " chancel.liu
@ 2026-07-07  6:57 ` chancel.liu
  2026-07-08 20:40   ` Frank Li
  2026-07-07  6:57 ` [PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support chancel.liu
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

The board uses GPIO-controlled muxes to route shared signals between
different functions.

Add the audio-related mux states for:
- selecting PDM or CAN1
- selecting SAI1 or M.2
- enabling the SAI1 audio path or not

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
---
 .../boot/dts/freescale/imx91-9x9-qsb.dts      | 49 +++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index ea8cf14e0bc6..1f2d8082d255 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -30,6 +30,55 @@ chosen {
 		stdout-path = &lpuart1;
 	};
 
+	can_mux: mux-controller-0 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pcal6524 17 GPIO_ACTIVE_HIGH>;
+	};
+
+	sai1_mux: mux-controller-1 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pcal6524 18 GPIO_ACTIVE_HIGH>;
+	};
+
+	sai1_en_mux: mux-controller-2 {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		#mux-state-cells = <1>;
+		mux-gpios = <&pcal6524 9 GPIO_ACTIVE_HIGH>;
+	};
+
+	pinctrl-gpiomux {
+		compatible = "pinctrl-multiplexer";
+
+		can_fun: can-grp {
+			mux-states = <&can_mux 1>;
+		};
+
+		pdm_fun: pdm-grp {
+			mux-states = <&can_mux 0>;
+		};
+
+		m2_fun: m2-grp {
+			mux-states = <&sai1_mux 1>;
+		};
+
+		sai1_fun: sai1-grp {
+			mux-states = <&sai1_mux 0>;
+		};
+
+		sai1_disable: sai1-disable-grp {
+			mux-states = <&sai1_en_mux 1>;
+		};
+
+		sai1_enable: sai1-enable-grp {
+			mux-states = <&sai1_en_mux 0>;
+		};
+	};
+
 	reg_vref_1v8: regulator-adc-vref {
 		compatible = "regulator-fixed";
 		regulator-name = "vref_1v8";
-- 
2.50.1



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

* [PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
                   ` (3 preceding siblings ...)
  2026-07-07  6:57 ` [PATCH 4/6] arm64: dts: imx91-9x9-qsb: Add audio-related board muxes chancel.liu
@ 2026-07-07  6:57 ` chancel.liu
  2026-07-08 20:37   ` Frank Li
  2026-07-07  6:57 ` [PATCH 6/6] arm64: dts: imx91-9x9-qsb: Add PDM microphone " chancel.liu
  2026-07-08 17:08 ` (subset) [PATCH 0/6] Add audio support on i.MX91 9x9 QSB Mark Brown
  6 siblings, 1 reply; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

Add WM8524 sound card support which connects to SAI1.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
---
 .../boot/dts/freescale/imx91-9x9-qsb.dts      | 67 +++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index 1f2d8082d255..c5b9dfee95eb 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -110,6 +110,28 @@ linux,cma {
 			linux,cma-default;
 		};
 	};
+
+	sound-wm8524 {
+		compatible = "audio-graph-card2";
+		label = "wm8524-audio";
+		links = <&sai1_port1>;
+		widgets = "Line", "Line Out Jack";
+		routing =
+			"Line Out Jack", "LINEVOUTL",
+			"Line Out Jack", "LINEVOUTR";
+	};
+
+	wm8524: audio-codec {
+		#sound-dai-cells = <0>;
+		compatible = "wlf,wm8524";
+		wlf,mute-gpios = <&pcal6524 2 GPIO_ACTIVE_LOW>;
+
+		port {
+			codec_ep: endpoint {
+				remote-endpoint = <&sai1_ep1>;
+			};
+		};
+	};
 };
 
 &adc1 {
@@ -186,6 +208,15 @@ MX91_PAD_SD2_RESET_B__GPIO3_IO7                         0x31e
 		>;
 	};
 
+	pinctrl_sai1: sai1grp {
+		fsl,pins = <
+			MX91_PAD_SAI1_TXC__SAI1_TX_BCLK				0x31e
+			MX91_PAD_SAI1_TXFS__SAI1_TX_SYNC			0x31e
+			MX91_PAD_SAI1_TXD0__SAI1_TX_DATA0			0x31e
+			MX91_PAD_SAI1_RXD0__SAI1_MCLK				0x31e
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX91_PAD_UART1_RXD__LPUART1_RX                          0x31e
@@ -433,6 +464,42 @@ &lpuart1 {
 	status = "okay";
 };
 
+&sai1 {
+	#sound-dai-cells = <0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sai1>, <&sai1_fun>, <&sai1_enable>;
+	assigned-clocks = <&clk IMX93_CLK_SAI1>;
+	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+	assigned-clock-rates = <24576000>;
+	fsl,sai-mclk-direction-output;
+	clocks = <&clk IMX93_CLK_SAI1_IPG>, <&clk IMX93_CLK_DUMMY>,
+		 <&clk IMX93_CLK_SAI1_GATE>, <&clk IMX93_CLK_DUMMY>,
+		 <&clk IMX93_CLK_DUMMY>, <&clk IMX93_CLK_AUDIO_PLL>;
+	clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k";
+	status = "okay";
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		sai1_port1: port@1 {
+			reg = <1>;
+			playback-only;
+
+			sai1_ep1: endpoint {
+				dai-format = "i2s";
+				dai-tdm-slot-num = <2>;
+				dai-tdm-slot-width = <32>;
+				bitclock-master;
+				frame-master;
+				mclk-fs = <256>;
+				system-clock-direction-out;
+				remote-endpoint = <&codec_ep>;
+			};
+		};
+	};
+};
+
 &usbotg1 {
 	adp-disable;
 	disable-over-current;
-- 
2.50.1



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

* [PATCH 6/6] arm64: dts: imx91-9x9-qsb: Add PDM microphone sound card support
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
                   ` (4 preceding siblings ...)
  2026-07-07  6:57 ` [PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support chancel.liu
@ 2026-07-07  6:57 ` chancel.liu
  2026-07-08 17:08 ` (subset) [PATCH 0/6] Add audio support on i.MX91 9x9 QSB Mark Brown
  6 siblings, 0 replies; 13+ messages in thread
From: chancel.liu @ 2026-07-07  6:57 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

From: Chancel Liu <chancel.liu@nxp.com>

Add PDM microphone 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: Chancel Liu <chancel.liu@nxp.com>
---
 .../boot/dts/freescale/imx91-9x9-qsb.dts      | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index c5b9dfee95eb..22114166df8c 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -79,6 +79,18 @@ sai1_enable: sai1-enable-grp {
 		};
 	};
 
+	dmic: dmic {
+		compatible = "dmic-codec";
+		#sound-dai-cells = <0>;
+		num-channels = <4>;
+
+		port {
+			dmic_ep: endpoint {
+				remote-endpoint = <&micfil_ep>;
+			};
+		};
+	};
+
 	reg_vref_1v8: regulator-adc-vref {
 		compatible = "regulator-fixed";
 		regulator-name = "vref_1v8";
@@ -111,6 +123,12 @@ linux,cma {
 		};
 	};
 
+	sound-micfil {
+		compatible = "audio-graph-card2";
+		label = "micfil-audio";
+		links = <&micfil_port>;
+	};
+
 	sound-wm8524 {
 		compatible = "audio-graph-card2";
 		label = "wm8524-audio";
@@ -202,6 +220,14 @@ MX91_PAD_CCM_CLKO1__GPIO3_IO26                          0x31e
 		>;
 	};
 
+	pinctrl_pdm: pdmgrp {
+		fsl,pins = <
+			MX91_PAD_PDM_CLK__PDM_CLK				0x31e
+			MX91_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM0		0x31e
+			MX91_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM1		0x31e
+		>;
+	};
+
 	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
 		fsl,pins = <
 			MX91_PAD_SD2_RESET_B__GPIO3_IO7                         0x31e
@@ -464,6 +490,24 @@ &lpuart1 {
 	status = "okay";
 };
 
+&micfil {
+	#sound-dai-cells = <0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pdm>, <&pdm_fun>;
+	assigned-clocks = <&clk IMX93_CLK_PDM>;
+	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+	assigned-clock-rates = <49152000>;
+	status = "okay";
+
+	micfil_port: port {
+		capture-only;
+
+		micfil_ep: endpoint {
+			remote-endpoint = <&dmic_ep>;
+		};
+	};
+};
+
 &sai1 {
 	#sound-dai-cells = <0>;
 	pinctrl-names = "default";
-- 
2.50.1



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

* Re: (subset) [PATCH 0/6] Add audio support on i.MX91 9x9 QSB
  2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
                   ` (5 preceding siblings ...)
  2026-07-07  6:57 ` [PATCH 6/6] arm64: dts: imx91-9x9-qsb: Add PDM microphone " chancel.liu
@ 2026-07-08 17:08 ` Mark Brown
  6 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2026-07-08 17:08 UTC (permalink / raw)
  To: lgirdwood, robh, krzk+dt, conor+dt, Frank.Li, s.hauer,
	chancel.liu
  Cc: kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

On Tue, 07 Jul 2026 15:57:19 +0900, chancel.liu@oss.nxp.com wrote:
> Add audio support on i.MX91 9x9 QSB
> 
> From: Chancel Liu <chancel.liu@nxp.com>
> 
> The board routes audio related signals through on-board muxes controlled
> by a GPIO expander. Add the mux states required by SAI1 playback and PDM
> capture. Add support for WM8524 and PDM microphone sound cards in DT.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.3

Thanks!

[1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support
      https://git.kernel.org/broonie/sound/c/7ccad5668957
[2/6] ASoC: dt-bindings: fsl,micfil: Add audio-graph port support
      https://git.kernel.org/broonie/sound/c/28017bf7f762
[3/6] ASoC: dt-bindings: dmic-codec: Add audio-graph port support
      https://git.kernel.org/broonie/sound/c/cf3bd20c43f7

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark



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

* Re: [PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support
  2026-07-07  6:57 ` [PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support chancel.liu
@ 2026-07-08 20:37   ` Frank Li
  0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-07-08 20:37 UTC (permalink / raw)
  To: chancel.liu
  Cc: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer,
	kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

On Tue, Jul 07, 2026 at 03:57:24PM +0900, chancel.liu@oss.nxp.com wrote:
> From: Chancel Liu <chancel.liu@nxp.com>
>
> Add WM8524 sound card support which connects to SAI1.
>
> Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
> ---
>  .../boot/dts/freescale/imx91-9x9-qsb.dts      | 67 +++++++++++++++++++
>  1 file changed, 67 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> index 1f2d8082d255..c5b9dfee95eb 100644
> --- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> @@ -110,6 +110,28 @@ linux,cma {
>  			linux,cma-default;
>  		};
>  	};
> +
> +	sound-wm8524 {
> +		compatible = "audio-graph-card2";
> +		label = "wm8524-audio";
> +		links = <&sai1_port1>;
> +		widgets = "Line", "Line Out Jack";
> +		routing =
> +			"Line Out Jack", "LINEVOUTL",
> +			"Line Out Jack", "LINEVOUTR";
> +	};
> +
> +	wm8524: audio-codec {
> +		#sound-dai-cells = <0>;
> +		compatible = "wlf,wm8524";

compatible should first property

> +		wlf,mute-gpios = <&pcal6524 2 GPIO_ACTIVE_LOW>;
> +
> +		port {
> +			codec_ep: endpoint {
> +				remote-endpoint = <&sai1_ep1>;
> +			};
> +		};
> +	};
>  };
>
>  &adc1 {
> @@ -186,6 +208,15 @@ MX91_PAD_SD2_RESET_B__GPIO3_IO7                         0x31e
>  		>;
>  	};
>
> +	pinctrl_sai1: sai1grp {
> +		fsl,pins = <
> +			MX91_PAD_SAI1_TXC__SAI1_TX_BCLK				0x31e
> +			MX91_PAD_SAI1_TXFS__SAI1_TX_SYNC			0x31e
> +			MX91_PAD_SAI1_TXD0__SAI1_TX_DATA0			0x31e
> +			MX91_PAD_SAI1_RXD0__SAI1_MCLK				0x31e
> +		>;
> +	};
> +
>  	pinctrl_uart1: uart1grp {
>  		fsl,pins = <
>  			MX91_PAD_UART1_RXD__LPUART1_RX                          0x31e
> @@ -433,6 +464,42 @@ &lpuart1 {
>  	status = "okay";
>  };
>
> +&sai1 {
> +	#sound-dai-cells = <0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sai1>, <&sai1_fun>, <&sai1_enable>;
> +	assigned-clocks = <&clk IMX93_CLK_SAI1>;
> +	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> +	assigned-clock-rates = <24576000>;
> +	fsl,sai-mclk-direction-output;

vendor property should be last but before status

Frank
> +	clocks = <&clk IMX93_CLK_SAI1_IPG>, <&clk IMX93_CLK_DUMMY>,
> +		 <&clk IMX93_CLK_SAI1_GATE>, <&clk IMX93_CLK_DUMMY>,
> +		 <&clk IMX93_CLK_DUMMY>, <&clk IMX93_CLK_AUDIO_PLL>;
> +	clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k";
> +	status = "okay";
> +
> +	ports {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		sai1_port1: port@1 {
> +			reg = <1>;
> +			playback-only;
> +
> +			sai1_ep1: endpoint {
> +				dai-format = "i2s";
> +				dai-tdm-slot-num = <2>;
> +				dai-tdm-slot-width = <32>;
> +				bitclock-master;
> +				frame-master;
> +				mclk-fs = <256>;
> +				system-clock-direction-out;
> +				remote-endpoint = <&codec_ep>;
> +			};
> +		};
> +	};
> +};
> +
>  &usbotg1 {
>  	adp-disable;
>  	disable-over-current;
> --
> 2.50.1
>
>


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

* Re: [PATCH 4/6] arm64: dts: imx91-9x9-qsb: Add audio-related board muxes
  2026-07-07  6:57 ` [PATCH 4/6] arm64: dts: imx91-9x9-qsb: Add audio-related board muxes chancel.liu
@ 2026-07-08 20:40   ` Frank Li
  0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-07-08 20:40 UTC (permalink / raw)
  To: chancel.liu
  Cc: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer,
	kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

On Tue, Jul 07, 2026 at 03:57:23PM +0900, chancel.liu@oss.nxp.com wrote:
> From: Chancel Liu <chancel.liu@nxp.com>
>
> The board uses GPIO-controlled muxes to route shared signals between
> different functions.
>
> Add the audio-related mux states for:
> - selecting PDM or CAN1
> - selecting SAI1 or M.2
> - enabling the SAI1 audio path or not
>
> Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
> ---
>  .../boot/dts/freescale/imx91-9x9-qsb.dts      | 49 +++++++++++++++++++
>  1 file changed, 49 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> index ea8cf14e0bc6..1f2d8082d255 100644
> --- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> @@ -30,6 +30,55 @@ chosen {
>  		stdout-path = &lpuart1;
>  	};
>
> +	can_mux: mux-controller-0 {
> +		compatible = "gpio-mux";
> +		#mux-control-cells = <0>;
> +		#mux-state-cells = <1>;
> +		mux-gpios = <&pcal6524 17 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	sai1_mux: mux-controller-1 {
> +		compatible = "gpio-mux";
> +		#mux-control-cells = <0>;
> +		#mux-state-cells = <1>;
> +		mux-gpios = <&pcal6524 18 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	sai1_en_mux: mux-controller-2 {
> +		compatible = "gpio-mux";
> +		#mux-control-cells = <0>;
> +		#mux-state-cells = <1>;
> +		mux-gpios = <&pcal6524 9 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	pinctrl-gpiomux {
> +		compatible = "pinctrl-multiplexer";
> +
> +		can_fun: can-grp {
> +			mux-states = <&can_mux 1>;
> +		};
> +
> +		pdm_fun: pdm-grp {
> +			mux-states = <&can_mux 0>;
> +		};
> +
> +		m2_fun: m2-grp {
> +			mux-states = <&sai1_mux 1>;
> +		};

thank you use onboard gpio mux.

please keep order by node name

Move m2-grp before  pdm-grp

Frank
> +
> +		sai1_fun: sai1-grp {
> +			mux-states = <&sai1_mux 0>;
> +		};
> +
> +		sai1_disable: sai1-disable-grp {
> +			mux-states = <&sai1_en_mux 1>;
> +		};
> +
> +		sai1_enable: sai1-enable-grp {
> +			mux-states = <&sai1_en_mux 0>;
> +		};
> +	};
> +
>  	reg_vref_1v8: regulator-adc-vref {
>  		compatible = "regulator-fixed";
>  		regulator-name = "vref_1v8";
> --
> 2.50.1
>
>


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

* Re: [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support
  2026-07-07  6:57 ` [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support chancel.liu
@ 2026-07-08 20:43   ` Frank Li
  0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-07-08 20:43 UTC (permalink / raw)
  To: chancel.liu
  Cc: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer,
	kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

On Tue, Jul 07, 2026 at 03:57:20PM +0900, chancel.liu@oss.nxp.com wrote:
> From: Chancel Liu <chancel.liu@nxp.com>
>
> Add port property referencing audio-graph-port.yaml to allow WM8524 to
> be used with audio-graph-card and audio-graph-card2.
>
> Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  Documentation/devicetree/bindings/sound/wlf,wm8524.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml
> index 4d951ece394e..dffc41d5f7de 100644
> --- a/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml
> +++ b/Documentation/devicetree/bindings/sound/wlf,wm8524.yaml
> @@ -24,6 +24,10 @@ properties:
>      description:
>        a GPIO spec for the MUTE pin.
>
> +  port:
> +    $ref: audio-graph-port.yaml#
> +    unevaluatedProperties: false
> +
>  required:
>    - compatible
>    - wlf,mute-gpios
> --
> 2.50.1
>
>


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

* Re: [PATCH 3/6] ASoC: dt-bindings: dmic-codec: Add audio-graph port support
  2026-07-07  6:57 ` [PATCH 3/6] ASoC: dt-bindings: dmic-codec: " chancel.liu
@ 2026-07-08 20:44   ` Frank Li
  0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-07-08 20:44 UTC (permalink / raw)
  To: chancel.liu
  Cc: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer,
	kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

On Tue, Jul 07, 2026 at 03:57:22PM +0900, chancel.liu@oss.nxp.com wrote:
> From: Chancel Liu <chancel.liu@nxp.com>
>
> Add port property referencing audio-graph-port.yaml to allow DMIC to be
> used with audio-graph-card and audio-graph-card2.
>
> Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  Documentation/devicetree/bindings/sound/dmic-codec.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/dmic-codec.yaml b/Documentation/devicetree/bindings/sound/dmic-codec.yaml
> index cc3c84dd4c26..83c23e029ea4 100644
> --- a/Documentation/devicetree/bindings/sound/dmic-codec.yaml
> +++ b/Documentation/devicetree/bindings/sound/dmic-codec.yaml
> @@ -39,6 +39,10 @@ properties:
>    wakeup-delay-ms:
>      description: Delay (in ms) after enabling the DMIC
>
> +  port:
> +    $ref: audio-graph-port.yaml#
> +    unevaluatedProperties: false
> +
>  required:
>    - compatible
>
> --
> 2.50.1
>
>


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

* Re: [PATCH 2/6] ASoC: dt-bindings: fsl,micfil: Add audio-graph port support
  2026-07-07  6:57 ` [PATCH 2/6] ASoC: dt-bindings: fsl,micfil: " chancel.liu
@ 2026-07-08 20:45   ` Frank Li
  0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-07-08 20:45 UTC (permalink / raw)
  To: chancel.liu
  Cc: lgirdwood, broonie, robh, krzk+dt, conor+dt, Frank.Li, s.hauer,
	kernel, festevam, linux-sound, devicetree, linux-kernel, imx,
	linux-arm-kernel

On Tue, Jul 07, 2026 at 03:57:21PM +0900, chancel.liu@oss.nxp.com wrote:
> From: Chancel Liu <chancel.liu@nxp.com>
>
> Add port property referencing audio-graph-port.yaml to allow MICFIL to
> be used with audio-graph-card and audio-graph-card2.
>
> Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  Documentation/devicetree/bindings/sound/fsl,micfil.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/fsl,micfil.yaml b/Documentation/devicetree/bindings/sound/fsl,micfil.yaml
> index c47b7a097490..4c7dadb310de 100644
> --- a/Documentation/devicetree/bindings/sound/fsl,micfil.yaml
> +++ b/Documentation/devicetree/bindings/sound/fsl,micfil.yaml
> @@ -66,6 +66,10 @@ properties:
>    "#sound-dai-cells":
>      const: 0
>
> +  port:
> +    $ref: audio-graph-port.yaml#
> +    unevaluatedProperties: false
> +
>  required:
>    - compatible
>    - reg
> --
> 2.50.1
>
>


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

end of thread, other threads:[~2026-07-09 12:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07  6:57 [PATCH 0/6] Add audio support on i.MX91 9x9 QSB chancel.liu
2026-07-07  6:57 ` [PATCH 1/6] ASoC: dt-bindings: wlf,wm8524: Add audio-graph port support chancel.liu
2026-07-08 20:43   ` Frank Li
2026-07-07  6:57 ` [PATCH 2/6] ASoC: dt-bindings: fsl,micfil: " chancel.liu
2026-07-08 20:45   ` Frank Li
2026-07-07  6:57 ` [PATCH 3/6] ASoC: dt-bindings: dmic-codec: " chancel.liu
2026-07-08 20:44   ` Frank Li
2026-07-07  6:57 ` [PATCH 4/6] arm64: dts: imx91-9x9-qsb: Add audio-related board muxes chancel.liu
2026-07-08 20:40   ` Frank Li
2026-07-07  6:57 ` [PATCH 5/6] arm64: dts: imx91-9x9-qsb: Add WM8524 sound card support chancel.liu
2026-07-08 20:37   ` Frank Li
2026-07-07  6:57 ` [PATCH 6/6] arm64: dts: imx91-9x9-qsb: Add PDM microphone " chancel.liu
2026-07-08 17:08 ` (subset) [PATCH 0/6] Add audio support on i.MX91 9x9 QSB Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox