[PATCH v3 00/17] arm64: dts: Add MQS1 sound card support for i.MX9 EVK platforms

From: Chancel Liu

Date: Sun Aug 23 2026 - 22:21:17 EST


From: Chancel Liu <chancel.liu@xxxxxxx>

MQS (Medium Quality Sound) is an internal audio DAC available on multiple
NXP i.MX9 SoCs. On EVK boards, the MQS output pins are typically shared
with other peripherals (CAN, PDM microphone, etc.), so enabling MQS
requires switching board-level pin muxes and disabling the conflicting
device.

This series adds MQS1 sound card support across the following platforms:
- i.MX91 11x11 EVK
- i.MX93 11x11 EVK
- i.MX93 14x14 EVK
- i.MX943 EVK
- i.MX95 15x15 EVK
- i.MX952 EVK

Note: This series depends on a patch for MQS driver:
https://lore.kernel.org/linux-sound/20260820021454.2229094-1-chancel.liu@xxxxxxxxxxx/
In which, MQS_L/MQS_R pins are defined as DAPM output widgets.

Changes in v3:
- Describe the on-board MQS output amplifier via the simple-audio-amplifier
- Attach the amplifier as an aux device to MQS sound card

v2: https://lore.kernel.org/imx/20260818030211.3141710-1-chancel.liu@xxxxxxxxxxx/

Changes in v2:
- Amend commit message to describe SAI1 clocks assignments
- Remove redundant clocks/clock-names for MQS on the frdm boards
- Add the missing <&can1_fun> mux state to FlexCAN on imx93-14x14-evk

v1: https://lore.kernel.org/imx/20260814072022.4064009-1-chancel.liu@xxxxxxxxxxx/

Chancel Liu (17):
arm64: dts: imx91_93_common: Add clock and sound-dai-cells properties
for MQS
arm64: dts: imx91-11x11-evk: Add board muxes to select between PDM and
MQS1
arm64: dts: imx91-11x11-evk: Add MQS1 pinmux, clocks and mark
conflicting devices
arm64: dts: imx93-11x11-evk: Add board muxes to select between PDM and
MQS1
arm64: dts: imx93-11x11-evk: Add MQS1 pinmux, clocks and mark
conflicting devices
arm64: dts: imx93-14x14-evk: Add board muxes to select between
FlexCAN1 and MQS1
arm64: dts: imx93-14x14-evk: Add MQS1 pinmux, clocks and mark
conflicting devices
arm64: dts: imx94: Add clock and sound-dai-cells properties for MQS1
arm64: dts: imx943-evk: Add board muxes to select between CAN1/PDM and
MQS1/MIC
arm64: dts: imx943-evk: Add MQS1 pinmux, clocks and mark conflicting
devices
arm64: dts: imx95: Add clock and sound-dai-cells properties for MQS1
arm64: dts: imx95-15x15-evk: Add board muxes to select between PDM and
MQS1
arm64: dts: imx95-15x15-evk: Add MQS1 pinmux, clocks and mark
conflicting devices
arm64: dts: imx952: Add AONMIX MQS device node
arm64: dts: imx952-evk: Add board muxes to select between CAN1/PDM
arm64: dts: imx952-evk: Add MQS1 pinmux, clocks and mark conflicting
devices
arm64: dts: fsl: Add DT overlay to build MQS1 sound cards on i.MX9
platforms

arch/arm64/boot/dts/freescale/Makefile | 12 +++
arch/arm64/boot/dts/freescale/imx9-mqs.dtso | 57 +++++++++++++
.../boot/dts/freescale/imx91-11x11-evk.dts | 54 +++++++++++-
.../boot/dts/freescale/imx91-11x11-frdm-s.dts | 2 -
.../boot/dts/freescale/imx91-11x11-frdm.dts | 2 -
.../boot/dts/freescale/imx91_93_common.dtsi | 6 ++
.../boot/dts/freescale/imx93-11x11-evk.dts | 54 +++++++++++-
.../boot/dts/freescale/imx93-11x11-frdm.dts | 2 -
.../boot/dts/freescale/imx93-14x14-evk.dts | 55 +++++++++++-
arch/arm64/boot/dts/freescale/imx94.dtsi | 3 +
arch/arm64/boot/dts/freescale/imx943-evk.dts | 83 +++++++++++++++----
.../boot/dts/freescale/imx95-15x15-evk.dts | 48 ++++++++++-
.../boot/dts/freescale/imx95-15x15-frdm.dts | 2 -
.../dts/freescale/imx95-19x19-frdm-pro.dts | 2 -
arch/arm64/boot/dts/freescale/imx95.dtsi | 3 +
arch/arm64/boot/dts/freescale/imx952-evk.dts | 77 +++++++++++++----
arch/arm64/boot/dts/freescale/imx952.dtsi | 8 ++
17 files changed, 416 insertions(+), 54 deletions(-)
create mode 100644 arch/arm64/boot/dts/freescale/imx9-mqs.dtso

--
2.50.1