1c66ec88fSEmmanuel VadotFreescale Enhanced Serial Audio Interface (ESAI) Controller 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotThe Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port 4c66ec88fSEmmanuel Vadotfor serial communication with a variety of serial devices, including industry 5c66ec88fSEmmanuel Vadotstandard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and 6c66ec88fSEmmanuel Vadotother DSPs. It has up to six transmitters and four receivers. 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel VadotRequired properties: 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot - compatible : Compatible list, should contain one of the following 11c66ec88fSEmmanuel Vadot compatibles: 12c66ec88fSEmmanuel Vadot "fsl,imx35-esai", 13c66ec88fSEmmanuel Vadot "fsl,vf610-esai", 14c66ec88fSEmmanuel Vadot "fsl,imx6ull-esai", 15c66ec88fSEmmanuel Vadot "fsl,imx8qm-esai", 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot - reg : Offset and length of the register set for the device. 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot - interrupts : Contains the spdif interrupt. 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot - dmas : Generic dma devicetree binding as described in 22c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/dma/dma.txt. 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadot - dma-names : Two dmas have to be defined, "tx" and "rx". 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot - clocks : Contains an entry for each entry in clock-names. 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot - clock-names : Includes the following entries: 29c66ec88fSEmmanuel Vadot "core" The core clock used to access registers 30c66ec88fSEmmanuel Vadot "extal" The esai baud clock for esai controller used to 31c66ec88fSEmmanuel Vadot derive HCK, SCK and FS. 32c66ec88fSEmmanuel Vadot "fsys" The system clock derived from ahb clock used to 33c66ec88fSEmmanuel Vadot derive HCK, SCK and FS. 34c66ec88fSEmmanuel Vadot "spba" The spba clock is required when ESAI is placed as a 35c66ec88fSEmmanuel Vadot bus slave of the Shared Peripheral Bus and when two 36c66ec88fSEmmanuel Vadot or more bus masters (CPU, DMA or DSP) try to access 37c66ec88fSEmmanuel Vadot it. This property is optional depending on the SoC 38c66ec88fSEmmanuel Vadot design. 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot - fsl,fifo-depth : The number of elements in the transmit and receive 41c66ec88fSEmmanuel Vadot FIFOs. This number is the maximum allowed value for 42c66ec88fSEmmanuel Vadot TFCR[TFWM] or RFCR[RFWM]. 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot - fsl,esai-synchronous: This is a boolean property. If present, indicating 45c66ec88fSEmmanuel Vadot that ESAI would work in the synchronous mode, which 46c66ec88fSEmmanuel Vadot means all the settings for Receiving would be 47*aa1a8ff2SEmmanuel Vadot duplicated from Transmission related registers. 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel VadotOptional properties: 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot - big-endian : If this property is absent, the native endian mode 52c66ec88fSEmmanuel Vadot will be in use as default, or the big endian mode 53c66ec88fSEmmanuel Vadot will be in use for all the device registers. 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel VadotExample: 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadotesai: esai@2024000 { 58c66ec88fSEmmanuel Vadot compatible = "fsl,imx35-esai"; 59c66ec88fSEmmanuel Vadot reg = <0x02024000 0x4000>; 60c66ec88fSEmmanuel Vadot interrupts = <0 51 0x04>; 61c66ec88fSEmmanuel Vadot clocks = <&clks 208>, <&clks 118>, <&clks 208>; 62c66ec88fSEmmanuel Vadot clock-names = "core", "extal", "fsys"; 63c66ec88fSEmmanuel Vadot dmas = <&sdma 23 21 0>, <&sdma 24 21 0>; 64c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 65c66ec88fSEmmanuel Vadot fsl,fifo-depth = <128>; 66c66ec88fSEmmanuel Vadot fsl,esai-synchronous; 67c66ec88fSEmmanuel Vadot big-endian; 68c66ec88fSEmmanuel Vadot}; 69