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