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