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

Chancel Liu posted 17 patches 1 month ago
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
[PATCH v3 00/17] arm64: dts: Add MQS1 sound card support for i.MX9 EVK platforms
Posted by Chancel Liu 1 month ago
From: Chancel Liu <chancel.liu@nxp.com>

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@oss.nxp.com/
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@oss.nxp.com/

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@oss.nxp.com/

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
Re: [PATCH v3 00/17] arm64: dts: Add MQS1 sound card support for i.MX9 EVK platforms
Posted by Frank.Li@oss.nxp.com 3 weeks, 3 days ago
From: Frank Li <Frank.Li@nxp.com>


On Mon, 24 Aug 2026 11:20:03 +0900, Chancel Liu wrote:
> From: Chancel Liu <chancel.liu@nxp.com>
> 
> 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.
> 
> [...]

Applied, thanks!

[01/17] arm64: dts: imx91_93_common: Add clock and sound-dai-cells properties for MQS
        commit: 1e2a3d4a57fda613cd5127da8286183115a6b2d6
[02/17] arm64: dts: imx91-11x11-evk: Add board muxes to select between PDM and MQS1
        commit: 3d25b0671b1b6395d3f64f2895ddcd72d04a9275
[03/17] arm64: dts: imx91-11x11-evk: Add MQS1 pinmux, clocks and mark conflicting devices
        commit: fb33393964e4fbc4e3da2e0543830a17e2519d02
[04/17] arm64: dts: imx93-11x11-evk: Add board muxes to select between PDM and MQS1
        commit: 88f5a21dfd1ccbfdb1ac9bbea8e6603013e813eb
[05/17] arm64: dts: imx93-11x11-evk: Add MQS1 pinmux, clocks and mark conflicting devices
        commit: 3feae53c3fdd3f0860e63e511b8c1e8d3d58a0a3
[06/17] arm64: dts: imx93-14x14-evk: Add board muxes to select between FlexCAN1 and MQS1
        commit: ef9889f3421da84b46dddbfd93f05574390f8c2c
[07/17] arm64: dts: imx93-14x14-evk: Add MQS1 pinmux, clocks and mark conflicting devices
        commit: e3503236b06af1ee92d5bbc298c6450aed4e06e3
[08/17] arm64: dts: imx94: Add clock and sound-dai-cells properties for MQS1
        commit: f33c249355b29b6f9582ef41b69093294b3d63cd
[09/17] arm64: dts: imx943-evk: Add board muxes to select between CAN1/PDM and MQS1/MIC
        commit: 9e1ae128366b6f6b2aa4e13b2f7b62c6744ccfa5
[10/17] arm64: dts: imx943-evk: Add MQS1 pinmux, clocks and mark conflicting devices
        commit: f3a2aaa1dcbf46aa22a05f7d8ea823e2942b66b5
[11/17] arm64: dts: imx95: Add clock and sound-dai-cells properties for MQS1
        commit: 117f69ab74f5b95206251fa50eb3779e4b254a18
[12/17] arm64: dts: imx95-15x15-evk: Add board muxes to select between PDM and MQS1
        commit: 810b7a200ce88136fa822c8e7258e0a4fe481a9e
[13/17] arm64: dts: imx95-15x15-evk: Add MQS1 pinmux, clocks and mark conflicting devices
        commit: 7956a20c9fbca9036f417fbc50e8e17ed92d09b4
[14/17] arm64: dts: imx952: Add AONMIX MQS device node
        commit: 2fa5c26d926322c7aed9c59740eb693da2335971
[15/17] arm64: dts: imx952-evk: Add board muxes to select between CAN1/PDM
        commit: 3bedcc4871b1e1e68ad755bae40567aa39183d50
[16/17] arm64: dts: imx952-evk: Add MQS1 pinmux, clocks and mark conflicting devices
        commit: 8b6cf4986aa5436f3aa7f4ade6cd353e521669c6
[17/17] arm64: dts: fsl: Add DT overlay to build MQS1 sound cards on i.MX9 platforms
        commit: 153a8f4b71cee0e6ade27d7765de730af530653b

Best regards,
-- 
Frank Li <Frank.Li@nxp.com>