1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/imx-audmux.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Freescale Digital Audio Mux device 8 9maintainers: 10 - Oleksij Rempel <o.rempel@pengutronix.de> 11 12properties: 13 compatible: 14 oneOf: 15 - items: 16 - enum: 17 - fsl,imx27-audmux 18 - const: fsl,imx21-audmux 19 - items: 20 - enum: 21 - fsl,imx25-audmux 22 - fsl,imx35-audmux 23 - fsl,imx50-audmux 24 - fsl,imx51-audmux 25 - fsl,imx53-audmux 26 - fsl,imx6q-audmux 27 - fsl,imx6sl-audmux 28 - fsl,imx6sll-audmux 29 - fsl,imx6sx-audmux 30 - const: fsl,imx31-audmux 31 32 reg: 33 maxItems: 1 34 35 clocks: 36 maxItems: 1 37 38 clock-names: 39 items: 40 - const: audmux 41 42patternProperties: 43 "^mux-[0-9a-z]*$": 44 type: object 45 properties: 46 fsl,audmux-port: 47 $ref: /schemas/types.yaml#/definitions/uint32 48 description: | 49 Integer of the audmux port that is configured by this child node 50 51 fsl,port-config: 52 $ref: /schemas/types.yaml#/definitions/uint32-array 53 description: | 54 List of configuration options for the specific port. 55 For imx31-audmux and above, it is a list of tuples ptcr pdcr. 56 For imx21-audmux it is a list of pcr values. 57 58 required: 59 - fsl,audmux-port 60 - fsl,port-config 61 62 additionalProperties: false 63 64required: 65 - compatible 66 - reg 67 68additionalProperties: false 69 70examples: 71 - | 72 audmux@21d8000 { 73 compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux"; 74 reg = <0x021d8000 0x4000>; 75 }; 76 - | 77 audmux@10016000 { 78 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux"; 79 reg = <0x10016000 0x1000>; 80 clocks = <&clks 1>; 81 clock-names = "audmux"; 82 83 mux-ssi0 { 84 fsl,audmux-port = <0>; 85 fsl,port-config = <0xcb205000>; 86 }; 87 88 mux-pins4 { 89 fsl,audmux-port = <2>; 90 fsl,port-config = <0x00001000>; 91 }; 92 }; 93 - | 94 #include <dt-bindings/sound/fsl-imx-audmux.h> 95 audmux@21d8000 { 96 compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux"; 97 reg = <0x021d8000 0x4000>; 98 pinctrl-names = "default"; 99 pinctrl-0 = <&pinctrl_audmux>; 100 101 mux-ssi1 { 102 fsl,audmux-port = <0>; 103 fsl,port-config = < 104 IMX_AUDMUX_V2_PTCR_SYN 0 105 IMX_AUDMUX_V2_PTCR_TFSEL(2) 0 106 IMX_AUDMUX_V2_PTCR_TCSEL(2) 0 107 IMX_AUDMUX_V2_PTCR_TFSDIR 0 108 IMX_AUDMUX_V2_PTCR_TCLKDIR IMX_AUDMUX_V2_PDCR_RXDSEL(2) 109 >; 110 }; 111 112 mux-pins3 { 113 fsl,audmux-port = <2>; 114 fsl,port-config = < 115 IMX_AUDMUX_V2_PTCR_SYN IMX_AUDMUX_V2_PDCR_RXDSEL(0) 116 0 IMX_AUDMUX_V2_PDCR_TXRXEN 117 >; 118 }; 119 }; 120