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