1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7d0873ebSEmmanuel Vadot%YAML 1.2 3*7d0873ebSEmmanuel Vadot--- 4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,esai.yaml# 5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7d0873ebSEmmanuel Vadot 7*7d0873ebSEmmanuel Vadottitle: Freescale Enhanced Serial Audio Interface (ESAI) Controller 8*7d0873ebSEmmanuel Vadot 9*7d0873ebSEmmanuel Vadotmaintainers: 10*7d0873ebSEmmanuel Vadot - Shengjiu Wang <shengjiu.wang@nxp.com> 11*7d0873ebSEmmanuel Vadot - Frank Li <Frank.Li@nxp.com> 12*7d0873ebSEmmanuel Vadot 13*7d0873ebSEmmanuel Vadotdescription: 14*7d0873ebSEmmanuel Vadot The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port 15*7d0873ebSEmmanuel Vadot for serial communication with a variety of serial devices, including industry 16*7d0873ebSEmmanuel Vadot standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and 17*7d0873ebSEmmanuel Vadot other DSPs. It has up to six transmitters and four receivers. 18*7d0873ebSEmmanuel Vadot 19*7d0873ebSEmmanuel Vadotproperties: 20*7d0873ebSEmmanuel Vadot compatible: 21*7d0873ebSEmmanuel Vadot enum: 22*7d0873ebSEmmanuel Vadot - fsl,imx35-esai 23*7d0873ebSEmmanuel Vadot - fsl,imx6ull-esai 24*7d0873ebSEmmanuel Vadot - fsl,imx8qm-esai 25*7d0873ebSEmmanuel Vadot - fsl,vf610-esai 26*7d0873ebSEmmanuel Vadot 27*7d0873ebSEmmanuel Vadot reg: 28*7d0873ebSEmmanuel Vadot maxItems: 1 29*7d0873ebSEmmanuel Vadot 30*7d0873ebSEmmanuel Vadot interrupts: 31*7d0873ebSEmmanuel Vadot maxItems: 1 32*7d0873ebSEmmanuel Vadot 33*7d0873ebSEmmanuel Vadot clocks: 34*7d0873ebSEmmanuel Vadot minItems: 3 35*7d0873ebSEmmanuel Vadot items: 36*7d0873ebSEmmanuel Vadot - description: 37*7d0873ebSEmmanuel Vadot The core clock used to access registers. 38*7d0873ebSEmmanuel Vadot - description: 39*7d0873ebSEmmanuel Vadot The esai baud clock for esai controller used to 40*7d0873ebSEmmanuel Vadot derive HCK, SCK and FS. 41*7d0873ebSEmmanuel Vadot - description: 42*7d0873ebSEmmanuel Vadot The system clock derived from ahb clock used to 43*7d0873ebSEmmanuel Vadot derive HCK, SCK and FS. 44*7d0873ebSEmmanuel Vadot - description: 45*7d0873ebSEmmanuel Vadot The spba clock is required when ESAI is placed as a 46*7d0873ebSEmmanuel Vadot bus slave of the Shared Peripheral Bus and when two 47*7d0873ebSEmmanuel Vadot or more bus masters (CPU, DMA or DSP) try to access 48*7d0873ebSEmmanuel Vadot it. This property is optional depending on the SoC 49*7d0873ebSEmmanuel Vadot design. 50*7d0873ebSEmmanuel Vadot 51*7d0873ebSEmmanuel Vadot clock-names: 52*7d0873ebSEmmanuel Vadot minItems: 3 53*7d0873ebSEmmanuel Vadot items: 54*7d0873ebSEmmanuel Vadot - const: core 55*7d0873ebSEmmanuel Vadot - const: extal 56*7d0873ebSEmmanuel Vadot - const: fsys 57*7d0873ebSEmmanuel Vadot - const: spba 58*7d0873ebSEmmanuel Vadot 59*7d0873ebSEmmanuel Vadot dmas: 60*7d0873ebSEmmanuel Vadot minItems: 2 61*7d0873ebSEmmanuel Vadot maxItems: 2 62*7d0873ebSEmmanuel Vadot 63*7d0873ebSEmmanuel Vadot dma-names: 64*7d0873ebSEmmanuel Vadot items: 65*7d0873ebSEmmanuel Vadot - const: rx 66*7d0873ebSEmmanuel Vadot - const: tx 67*7d0873ebSEmmanuel Vadot 68*7d0873ebSEmmanuel Vadot fsl,fifo-depth: 69*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 70*7d0873ebSEmmanuel Vadot default: 64 71*7d0873ebSEmmanuel Vadot description: 72*7d0873ebSEmmanuel Vadot The number of elements in the transmit and receive 73*7d0873ebSEmmanuel Vadot FIFOs. This number is the maximum allowed value for 74*7d0873ebSEmmanuel Vadot TFCR[TFWM] or RFCR[RFWM]. 75*7d0873ebSEmmanuel Vadot 76*7d0873ebSEmmanuel Vadot fsl,esai-synchronous: 77*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 78*7d0873ebSEmmanuel Vadot description: 79*7d0873ebSEmmanuel Vadot This is a boolean property. If present, indicating 80*7d0873ebSEmmanuel Vadot that ESAI would work in the synchronous mode, which 81*7d0873ebSEmmanuel Vadot means all the settings for Receiving would be 82*7d0873ebSEmmanuel Vadot duplicated from Transmission related registers. 83*7d0873ebSEmmanuel Vadot 84*7d0873ebSEmmanuel Vadot big-endian: 85*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 86*7d0873ebSEmmanuel Vadot description: 87*7d0873ebSEmmanuel Vadot If this property is absent, the native endian mode 88*7d0873ebSEmmanuel Vadot will be in use as default, or the big endian mode 89*7d0873ebSEmmanuel Vadot will be in use for all the device registers. 90*7d0873ebSEmmanuel Vadot 91*7d0873ebSEmmanuel Vadotrequired: 92*7d0873ebSEmmanuel Vadot - compatible 93*7d0873ebSEmmanuel Vadot - reg 94*7d0873ebSEmmanuel Vadot - interrupts 95*7d0873ebSEmmanuel Vadot - clocks 96*7d0873ebSEmmanuel Vadot - clock-names 97*7d0873ebSEmmanuel Vadot - dmas 98*7d0873ebSEmmanuel Vadot - dma-names 99*7d0873ebSEmmanuel Vadot 100*7d0873ebSEmmanuel VadotunevaluatedProperties: false 101*7d0873ebSEmmanuel Vadot 102*7d0873ebSEmmanuel VadotallOf: 103*7d0873ebSEmmanuel Vadot - $ref: dai-common.yaml# 104*7d0873ebSEmmanuel Vadot 105*7d0873ebSEmmanuel Vadotexamples: 106*7d0873ebSEmmanuel Vadot - | 107*7d0873ebSEmmanuel Vadot esai@2024000 { 108*7d0873ebSEmmanuel Vadot compatible = "fsl,imx35-esai"; 109*7d0873ebSEmmanuel Vadot reg = <0x02024000 0x4000>; 110*7d0873ebSEmmanuel Vadot interrupts = <0 51 0x04>; 111*7d0873ebSEmmanuel Vadot clocks = <&clks 208>, <&clks 118>, <&clks 208>; 112*7d0873ebSEmmanuel Vadot clock-names = "core", "extal", "fsys"; 113*7d0873ebSEmmanuel Vadot dmas = <&sdma 23 21 0>, <&sdma 24 21 0>; 114*7d0873ebSEmmanuel Vadot dma-names = "rx", "tx"; 115*7d0873ebSEmmanuel Vadot fsl,fifo-depth = <128>; 116*7d0873ebSEmmanuel Vadot fsl,esai-synchronous; 117*7d0873ebSEmmanuel Vadot big-endian; 118*7d0873ebSEmmanuel Vadot }; 119