[PATCH v2] arm64: dts: imx93-11x11-frdm: Add MQS audio support

Daniel Baluta posted 1 patch 3 weeks, 5 days ago
There is a newer version of this series
.../boot/dts/freescale/imx93-11x11-frdm.dts   | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
[PATCH v2] arm64: dts: imx93-11x11-frdm: Add MQS audio support
Posted by Daniel Baluta 3 weeks, 5 days ago
Enable Medium Quality Sound (MQS) output on the i.MX93 FRDM 11x11 board
by adding sound card description and enabling sai1 and mqs1 dts nodes,
together with necessary clocks and pinmux.

This supports audio playback via SAI1 DAI which is connected to the MQS1
block.

Co-developed-by: Tom Zheng <haidong.zheng@nxp.com>
Signed-off-by: Tom Zheng <haidong.zheng@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
Changes since v1:
 - small typos in the commit message
 - added Tom with C-d-B and S-o-B tags.

 .../boot/dts/freescale/imx93-11x11-frdm.dts   | 36 +++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts
index 066c5139842b..a4784c993aeb 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts
@@ -81,6 +81,14 @@ vdevbuffer: vdevbuffer@a4020000 {
 			no-map;
 		};
 	};
+
+	sound-mqs {
+		compatible = "fsl,imx6sx-sdb-mqs",
+			     "fsl,imx-audio-mqs";
+		model = "mqs-audio";
+		audio-cpu = <&sai1>;
+		audio-codec = <&mqs1>;
+	};
 };
 
 &adc1 {
@@ -315,6 +323,27 @@ &lpuart1 { /* console */
 	status = "okay";
 };
 
+&mqs1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_mqs1>;
+	clocks = <&clk IMX93_CLK_MQS1_GATE>;
+	clock-names = "mclk";
+	status = "okay";
+};
+
+&sai1 {
+	#sound-dai-cells = <0>;
+	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";
+	assigned-clocks = <&clk IMX93_CLK_SAI1>;
+	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+	assigned-clock-rates = <24576000>;
+	fsl,sai-mclk-direction-output;
+	status = "okay";
+};
+
 &usbotg1 {
 	adp-disable;
 	disable-over-current;
@@ -479,6 +508,13 @@ MX93_PAD_GPIO_IO29__LPI2C3_SCL			0x40000b9e
 		>;
 	};
 
+	pinctrl_mqs1: mqs1grp {
+		fsl,pins = <
+			MX93_PAD_PDM_CLK__MQS1_LEFT		0x31e
+			MX93_PAD_PDM_BIT_STREAM0__MQS1_RIGHT	0x31e
+		>;
+	};
+
 	pinctrl_pcal6524: pcal6524grp {
 		fsl,pins = <
 			MX93_PAD_CCM_CLKO2__GPIO3_IO27			0x31e
-- 
2.45.2
Re: [PATCH v2] arm64: dts: imx93-11x11-frdm: Add MQS audio support
Posted by Fabio Estevam 3 weeks, 5 days ago
On Mon, Jan 12, 2026 at 10:53 AM Daniel Baluta <daniel.baluta@nxp.com> wrote:

> +
> +       sound-mqs {
> +               compatible = "fsl,imx6sx-sdb-mqs",
> +                            "fsl,imx-audio-mqs";

Wouldn't it make more sense to use compatible = "fsl,imx-audio-mqs" instead?
Re: [PATCH v2] arm64: dts: imx93-11x11-frdm: Add MQS audio support
Posted by Daniel Baluta 3 weeks, 5 days ago
On Mon, Jan 12, 2026 at 4:38 PM Fabio Estevam <festevam@gmail.com> wrote:
>
> On Mon, Jan 12, 2026 at 10:53 AM Daniel Baluta <daniel.baluta@nxp.com> wrote:
>
> > +
> > +       sound-mqs {
> > +               compatible = "fsl,imx6sx-sdb-mqs",
> > +                            "fsl,imx-audio-mqs";
>
> Wouldn't it make more sense to use compatible = "fsl,imx-audio-mqs" instead?

Yes, this is a good catch. Will fix it in v3.

Discussion for future patches:

1) is it common practice to always have a more specific compatible
even if not used now.

e.g Use

compatible = "fsl,imx93-audio-frdm-mqs", "fsl,imx-audio-mqs";?

2) The current compatible:

compatible = "fsl,imx6sx-sdb-mqs",
            "fsl,imx-audio-mqs";

is already used for imx91-11x11-frdm.dts so I guess we should keep it like this
as this is already ABI right?