* [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* 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
* [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* 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
* [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* 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
* [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* 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
* [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* 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
* [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