Files
linux-net/Documentation/devicetree/bindings/sound/fsl,mqs.yaml
Laurentiu Mihalcea f80bee70b1 ASoC: dt-bindings: fsl,mqs: make gpr optional for SM-based SoCs
For SM-based SoCs (i.e. MX95, MX943), GPR configuration is performed by
the SM coprocessor. Thus, GPR is transparent to the software and does not
need to be described in the devicetree. Make it optional.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Link: https://patch.msgid.link/20260126145537.2301-2-laurentiumihalcea111@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2026-01-26 21:22:49 +00:00

126 lines
2.6 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/fsl,mqs.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP Medium Quality Sound (MQS)
maintainers:
- Shengjiu Wang <shengjiu.wang@nxp.com>
- Chancel Liu <chancel.liu@nxp.com>
description: |
Medium quality sound (MQS) is used to generate medium quality audio
via a standard GPIO in the pinmux, allowing the user to connect
stereo speakers or headphones to a power amplifier without an
additional DAC chip.
properties:
compatible:
enum:
- fsl,imx6sx-mqs
- fsl,imx8qm-mqs
- fsl,imx8qxp-mqs
- fsl,imx93-mqs
- fsl,imx943-aonmix-mqs
- fsl,imx943-wakeupmix-mqs
- fsl,imx95-aonmix-mqs
- fsl,imx95-netcmix-mqs
"#sound-dai-cells":
const: 0
clocks:
minItems: 1
maxItems: 2
clock-names:
minItems: 1
maxItems: 2
gpr:
$ref: /schemas/types.yaml#/definitions/phandle
description: The phandle to the General Purpose Register (GPR) node
reg:
maxItems: 1
power-domains:
maxItems: 1
resets:
maxItems: 1
port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
required:
- compatible
- clocks
- clock-names
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- fsl,imx6sx-mqs
- fsl,imx93-mqs
then:
required:
- gpr
- if:
properties:
compatible:
contains:
enum:
- fsl,imx8qm-mqs
- fsl,imx8qxp-mqs
then:
properties:
clocks:
items:
- description: Master clock
- description: Clock for register access
clock-names:
items:
- const: mclk
- const: core
required:
- reg
- power-domains
else:
properties:
clocks:
items:
- description: Master clock
clock-names:
items:
- const: mclk
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/imx6sx-clock.h>
mqs0: mqs {
compatible = "fsl,imx6sx-mqs";
gpr = <&gpr>;
clocks = <&clks IMX6SX_CLK_SAI1>;
clock-names = "mclk";
};
- |
#include <dt-bindings/firmware/imx/rsrc.h>
mqs1: mqs@59850000 {
compatible = "fsl,imx8qm-mqs";
reg = <0x59850000 0x10000>;
clocks = <&mqs0_lpcg 0>, <&mqs0_lpcg 1>;
clock-names = "mclk", "core";
power-domains = <&pd IMX_SC_R_MQS_0>;
};