# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/imx-audmux.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale Digital Audio Mux device

maintainers:
  - Oleksij Rempel <o.rempel@pengutronix.de>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - fsl,imx27-audmux
          - const: fsl,imx21-audmux
      - items:
          - enum:
              - fsl,imx25-audmux
              - fsl,imx35-audmux
              - fsl,imx50-audmux
              - fsl,imx51-audmux
              - fsl,imx53-audmux
              - fsl,imx6q-audmux
              - fsl,imx6sl-audmux
              - fsl,imx6sll-audmux
              - fsl,imx6sx-audmux
          - const: fsl,imx31-audmux

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: audmux

patternProperties:
  "^mux-[0-9a-z]*$":
    type: object
    properties:
      fsl,audmux-port:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: |
          Integer of the audmux port that is configured by this child node

      fsl,port-config:
        $ref: /schemas/types.yaml#/definitions/uint32-array
        description: |
          List of configuration options for the specific port.
          For imx31-audmux and above, it is a list of tuples ptcr pdcr.
          For imx21-audmux it is a list of pcr values.

    required:
      - fsl,audmux-port
      - fsl,port-config

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    audmux@21d8000 {
        compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
        reg = <0x021d8000 0x4000>;
    };
  - |
    audmux@10016000 {
        compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
        reg = <0x10016000 0x1000>;
        clocks = <&clks 1>;
        clock-names = "audmux";

        mux-ssi0 {
            fsl,audmux-port = <0>;
            fsl,port-config = <0xcb205000>;
        };

        mux-pins4 {
            fsl,audmux-port = <2>;
            fsl,port-config = <0x00001000>;
        };
    };
  - |
    #include <dt-bindings/sound/fsl-imx-audmux.h>
    audmux@21d8000 {
        compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
        reg = <0x021d8000 0x4000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_audmux>;

        mux-ssi1 {
            fsl,audmux-port = <0>;
            fsl,port-config = <
                IMX_AUDMUX_V2_PTCR_SYN		0
                IMX_AUDMUX_V2_PTCR_TFSEL(2)	0
                IMX_AUDMUX_V2_PTCR_TCSEL(2)	0
                IMX_AUDMUX_V2_PTCR_TFSDIR	0
                IMX_AUDMUX_V2_PTCR_TCLKDIR      IMX_AUDMUX_V2_PDCR_RXDSEL(2)
              >;
        };

        mux-pins3 {
            fsl,audmux-port = <2>;
            fsl,port-config = <
                IMX_AUDMUX_V2_PTCR_SYN          IMX_AUDMUX_V2_PDCR_RXDSEL(0)
                0                               IMX_AUDMUX_V2_PDCR_TXRXEN
              >;
        };
    };
