# 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 >; }; };