xref: /linux/Documentation/devicetree/bindings/sound/imx-audmux.yaml (revision 762f99f4f3cb41a775b5157dd761217beba65873)
114aa731dSOleksij Rempel# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
214aa731dSOleksij Rempel%YAML 1.2
314aa731dSOleksij Rempel---
414aa731dSOleksij Rempel$id: http://devicetree.org/schemas/sound/imx-audmux.yaml#
514aa731dSOleksij Rempel$schema: http://devicetree.org/meta-schemas/core.yaml#
614aa731dSOleksij Rempel
714aa731dSOleksij Rempeltitle: Freescale Digital Audio Mux device
814aa731dSOleksij Rempel
914aa731dSOleksij Rempelmaintainers:
1014aa731dSOleksij Rempel  - Oleksij Rempel <o.rempel@pengutronix.de>
1114aa731dSOleksij Rempel
1214aa731dSOleksij Rempelproperties:
1314aa731dSOleksij Rempel  compatible:
1414aa731dSOleksij Rempel    oneOf:
1514aa731dSOleksij Rempel      - items:
1614aa731dSOleksij Rempel          - enum:
1714aa731dSOleksij Rempel              - fsl,imx27-audmux
1814aa731dSOleksij Rempel          - const: fsl,imx21-audmux
1914aa731dSOleksij Rempel      - items:
2014aa731dSOleksij Rempel          - enum:
2114aa731dSOleksij Rempel              - fsl,imx25-audmux
2214aa731dSOleksij Rempel              - fsl,imx35-audmux
2314aa731dSOleksij Rempel              - fsl,imx50-audmux
2414aa731dSOleksij Rempel              - fsl,imx51-audmux
2514aa731dSOleksij Rempel              - fsl,imx53-audmux
2614aa731dSOleksij Rempel              - fsl,imx6q-audmux
2714aa731dSOleksij Rempel              - fsl,imx6sl-audmux
2814aa731dSOleksij Rempel              - fsl,imx6sll-audmux
2914aa731dSOleksij Rempel              - fsl,imx6sx-audmux
3014aa731dSOleksij Rempel          - const: fsl,imx31-audmux
3114aa731dSOleksij Rempel
3214aa731dSOleksij Rempel  reg:
3314aa731dSOleksij Rempel    maxItems: 1
3414aa731dSOleksij Rempel
3514aa731dSOleksij Rempel  clocks:
3614aa731dSOleksij Rempel    maxItems: 1
3714aa731dSOleksij Rempel
3814aa731dSOleksij Rempel  clock-names:
3914aa731dSOleksij Rempel    items:
4014aa731dSOleksij Rempel      - const: audmux
4114aa731dSOleksij Rempel
4214aa731dSOleksij RempelpatternProperties:
4314aa731dSOleksij Rempel  "^mux-[0-9a-z]*$":
4414aa731dSOleksij Rempel    type: object
4514aa731dSOleksij Rempel    properties:
4614aa731dSOleksij Rempel      fsl,audmux-port:
4714aa731dSOleksij Rempel        $ref: /schemas/types.yaml#/definitions/uint32
4814aa731dSOleksij Rempel        description: |
4914aa731dSOleksij Rempel          Integer of the audmux port that is configured by this child node
5014aa731dSOleksij Rempel
5114aa731dSOleksij Rempel      fsl,port-config:
5214aa731dSOleksij Rempel        $ref: /schemas/types.yaml#/definitions/uint32-array
5314aa731dSOleksij Rempel        description: |
5414aa731dSOleksij Rempel          List of configuration options for the specific port.
5514aa731dSOleksij Rempel          For imx31-audmux and above, it is a list of tuples ptcr pdcr.
5614aa731dSOleksij Rempel          For imx21-audmux it is a list of pcr values.
5714aa731dSOleksij Rempel
5814aa731dSOleksij Rempel    required:
5914aa731dSOleksij Rempel      - fsl,audmux-port
6014aa731dSOleksij Rempel      - fsl,port-config
6114aa731dSOleksij Rempel
6214aa731dSOleksij Rempel    additionalProperties: false
6314aa731dSOleksij Rempel
6414aa731dSOleksij Rempelrequired:
6514aa731dSOleksij Rempel  - compatible
6614aa731dSOleksij Rempel  - reg
6714aa731dSOleksij Rempel
6814aa731dSOleksij RempeladditionalProperties: false
6914aa731dSOleksij Rempel
7014aa731dSOleksij Rempelexamples:
7114aa731dSOleksij Rempel  - |
7214aa731dSOleksij Rempel    audmux@21d8000 {
7314aa731dSOleksij Rempel        compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
7414aa731dSOleksij Rempel        reg = <0x021d8000 0x4000>;
7514aa731dSOleksij Rempel    };
7614aa731dSOleksij Rempel  - |
7714aa731dSOleksij Rempel    audmux@10016000 {
7814aa731dSOleksij Rempel        compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
7914aa731dSOleksij Rempel        reg = <0x10016000 0x1000>;
8014aa731dSOleksij Rempel        clocks = <&clks 1>;
8114aa731dSOleksij Rempel        clock-names = "audmux";
8214aa731dSOleksij Rempel
8314aa731dSOleksij Rempel        mux-ssi0 {
8414aa731dSOleksij Rempel            fsl,audmux-port = <0>;
8514aa731dSOleksij Rempel            fsl,port-config = <0xcb205000>;
8614aa731dSOleksij Rempel        };
8714aa731dSOleksij Rempel
8814aa731dSOleksij Rempel        mux-pins4 {
8914aa731dSOleksij Rempel            fsl,audmux-port = <2>;
9014aa731dSOleksij Rempel            fsl,port-config = <0x00001000>;
9114aa731dSOleksij Rempel        };
9214aa731dSOleksij Rempel    };
9314aa731dSOleksij Rempel  - |
9414aa731dSOleksij Rempel    #include <dt-bindings/sound/fsl-imx-audmux.h>
9514aa731dSOleksij Rempel    audmux@21d8000 {
9614aa731dSOleksij Rempel        compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
9714aa731dSOleksij Rempel        reg = <0x021d8000 0x4000>;
9814aa731dSOleksij Rempel        pinctrl-names = "default";
9914aa731dSOleksij Rempel        pinctrl-0 = <&pinctrl_audmux>;
10014aa731dSOleksij Rempel
10114aa731dSOleksij Rempel        mux-ssi1 {
10214aa731dSOleksij Rempel            fsl,audmux-port = <0>;
10314aa731dSOleksij Rempel            fsl,port-config = <
10414aa731dSOleksij Rempel                IMX_AUDMUX_V2_PTCR_SYN		0
10514aa731dSOleksij Rempel                IMX_AUDMUX_V2_PTCR_TFSEL(2)	0
10614aa731dSOleksij Rempel                IMX_AUDMUX_V2_PTCR_TCSEL(2)	0
10714aa731dSOleksij Rempel                IMX_AUDMUX_V2_PTCR_TFSDIR	0
10814aa731dSOleksij Rempel                IMX_AUDMUX_V2_PTCR_TCLKDIR      IMX_AUDMUX_V2_PDCR_RXDSEL(2)
10914aa731dSOleksij Rempel              >;
11014aa731dSOleksij Rempel        };
11114aa731dSOleksij Rempel
11214aa731dSOleksij Rempel        mux-pins3 {
11314aa731dSOleksij Rempel            fsl,audmux-port = <2>;
11414aa731dSOleksij Rempel            fsl,port-config = <
11514aa731dSOleksij Rempel                IMX_AUDMUX_V2_PTCR_SYN          IMX_AUDMUX_V2_PDCR_RXDSEL(0)
11614aa731dSOleksij Rempel                0                               IMX_AUDMUX_V2_PDCR_TXRXEN
11714aa731dSOleksij Rempel              >;
11814aa731dSOleksij Rempel        };
11914aa731dSOleksij Rempel    };
120