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