xref: /freebsd/sys/contrib/device-tree/Bindings/sound/fsl,mqs.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,mqs.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: NXP Medium Quality Sound (MQS)
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Shengjiu Wang <shengjiu.wang@nxp.com>
118d13bc63SEmmanuel Vadot  - Chancel Liu <chancel.liu@nxp.com>
128d13bc63SEmmanuel Vadot
138d13bc63SEmmanuel Vadotdescription: |
148d13bc63SEmmanuel Vadot  Medium quality sound (MQS) is used to generate medium quality audio
158d13bc63SEmmanuel Vadot  via a standard GPIO in the pinmux, allowing the user to connect
168d13bc63SEmmanuel Vadot  stereo speakers or headphones to a power amplifier without an
178d13bc63SEmmanuel Vadot  additional DAC chip.
188d13bc63SEmmanuel Vadot
198d13bc63SEmmanuel Vadotproperties:
208d13bc63SEmmanuel Vadot  compatible:
218d13bc63SEmmanuel Vadot    enum:
228d13bc63SEmmanuel Vadot      - fsl,imx6sx-mqs
238d13bc63SEmmanuel Vadot      - fsl,imx8qm-mqs
248d13bc63SEmmanuel Vadot      - fsl,imx8qxp-mqs
258d13bc63SEmmanuel Vadot      - fsl,imx93-mqs
26*0e8011faSEmmanuel Vadot      - fsl,imx95-aonmix-mqs
27*0e8011faSEmmanuel Vadot      - fsl,imx95-netcmix-mqs
288d13bc63SEmmanuel Vadot
298d13bc63SEmmanuel Vadot  clocks:
308d13bc63SEmmanuel Vadot    minItems: 1
318d13bc63SEmmanuel Vadot    maxItems: 2
328d13bc63SEmmanuel Vadot
338d13bc63SEmmanuel Vadot  clock-names:
348d13bc63SEmmanuel Vadot    minItems: 1
358d13bc63SEmmanuel Vadot    maxItems: 2
368d13bc63SEmmanuel Vadot
378d13bc63SEmmanuel Vadot  gpr:
388d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
398d13bc63SEmmanuel Vadot    description: The phandle to the General Purpose Register (GPR) node
408d13bc63SEmmanuel Vadot
418d13bc63SEmmanuel Vadot  reg:
428d13bc63SEmmanuel Vadot    maxItems: 1
438d13bc63SEmmanuel Vadot
448d13bc63SEmmanuel Vadot  power-domains:
458d13bc63SEmmanuel Vadot    maxItems: 1
468d13bc63SEmmanuel Vadot
478d13bc63SEmmanuel Vadot  resets:
488d13bc63SEmmanuel Vadot    maxItems: 1
498d13bc63SEmmanuel Vadot
508d13bc63SEmmanuel Vadotrequired:
518d13bc63SEmmanuel Vadot  - compatible
528d13bc63SEmmanuel Vadot  - clocks
538d13bc63SEmmanuel Vadot  - clock-names
548d13bc63SEmmanuel Vadot
558d13bc63SEmmanuel VadotallOf:
568d13bc63SEmmanuel Vadot  - if:
578d13bc63SEmmanuel Vadot      properties:
588d13bc63SEmmanuel Vadot        compatible:
598d13bc63SEmmanuel Vadot          contains:
608d13bc63SEmmanuel Vadot            enum:
618d13bc63SEmmanuel Vadot              - fsl,imx8qm-mqs
628d13bc63SEmmanuel Vadot              - fsl,imx8qxp-mqs
638d13bc63SEmmanuel Vadot    then:
648d13bc63SEmmanuel Vadot      properties:
658d13bc63SEmmanuel Vadot        clocks:
668d13bc63SEmmanuel Vadot          items:
678d13bc63SEmmanuel Vadot            - description: Master clock
688d13bc63SEmmanuel Vadot            - description: Clock for register access
698d13bc63SEmmanuel Vadot        clock-names:
708d13bc63SEmmanuel Vadot          items:
718d13bc63SEmmanuel Vadot            - const: mclk
728d13bc63SEmmanuel Vadot            - const: core
738d13bc63SEmmanuel Vadot      required:
748d13bc63SEmmanuel Vadot        - reg
758d13bc63SEmmanuel Vadot        - power-domains
768d13bc63SEmmanuel Vadot    else:
778d13bc63SEmmanuel Vadot      properties:
788d13bc63SEmmanuel Vadot        clocks:
798d13bc63SEmmanuel Vadot          items:
808d13bc63SEmmanuel Vadot            - description: Master clock
818d13bc63SEmmanuel Vadot        clock-names:
828d13bc63SEmmanuel Vadot          items:
838d13bc63SEmmanuel Vadot            - const: mclk
848d13bc63SEmmanuel Vadot      required:
858d13bc63SEmmanuel Vadot        - gpr
868d13bc63SEmmanuel Vadot
878d13bc63SEmmanuel VadotadditionalProperties: false
888d13bc63SEmmanuel Vadot
898d13bc63SEmmanuel Vadotexamples:
908d13bc63SEmmanuel Vadot  - |
918d13bc63SEmmanuel Vadot    #include <dt-bindings/clock/imx6sx-clock.h>
928d13bc63SEmmanuel Vadot    mqs0: mqs {
938d13bc63SEmmanuel Vadot        compatible = "fsl,imx6sx-mqs";
948d13bc63SEmmanuel Vadot        gpr = <&gpr>;
958d13bc63SEmmanuel Vadot        clocks = <&clks IMX6SX_CLK_SAI1>;
968d13bc63SEmmanuel Vadot        clock-names = "mclk";
978d13bc63SEmmanuel Vadot    };
988d13bc63SEmmanuel Vadot
998d13bc63SEmmanuel Vadot  - |
1008d13bc63SEmmanuel Vadot    #include <dt-bindings/firmware/imx/rsrc.h>
1018d13bc63SEmmanuel Vadot    mqs1: mqs@59850000 {
1028d13bc63SEmmanuel Vadot        compatible = "fsl,imx8qm-mqs";
1038d13bc63SEmmanuel Vadot        reg = <0x59850000 0x10000>;
1048d13bc63SEmmanuel Vadot        clocks = <&mqs0_lpcg 0>, <&mqs0_lpcg 1>;
1058d13bc63SEmmanuel Vadot        clock-names = "mclk", "core";
1068d13bc63SEmmanuel Vadot        power-domains = <&pd IMX_SC_R_MQS_0>;
1078d13bc63SEmmanuel Vadot    };
108