2014-01-10 17:54:06 +08:00
|
|
|
Freescale Enhanced Serial Audio Interface (ESAI) Controller
|
|
|
|
|
|
|
|
The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port
|
|
|
|
for serial communication with a variety of serial devices, including industry
|
|
|
|
standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and
|
|
|
|
other DSPs. It has up to six transmitters and four receivers.
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- compatible : Compatible list, must contain "fsl,imx35-esai" or
|
|
|
|
"fsl,vf610-esai"
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- reg : Offset and length of the register set for the device.
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- interrupts : Contains the spdif interrupt.
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- dmas : Generic dma devicetree binding as described in
|
|
|
|
Documentation/devicetree/bindings/dma/dma.txt.
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- dma-names : Two dmas have to be defined, "tx" and "rx".
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- clocks : Contains an entry for each entry in clock-names.
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- clock-names : Includes the following entries:
|
|
|
|
"core" The core clock used to access registers
|
|
|
|
"extal" The esai baud clock for esai controller used to
|
|
|
|
derive HCK, SCK and FS.
|
|
|
|
"fsys" The system clock derived from ahb clock used to
|
|
|
|
derive HCK, SCK and FS.
|
2015-11-24 17:19:32 +08:00
|
|
|
"spba" The spba clock is required when ESAI is placed as a
|
|
|
|
bus slave of the Shared Peripheral Bus and when two
|
|
|
|
or more bus masters (CPU, DMA or DSP) try to access
|
|
|
|
it. This property is optional depending on the SoC
|
|
|
|
design.
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- fsl,fifo-depth : The number of elements in the transmit and receive
|
|
|
|
FIFOs. This number is the maximum allowed value for
|
|
|
|
TFCR[TFWM] or RFCR[RFWM].
|
2014-01-10 17:54:06 +08:00
|
|
|
|
|
|
|
- fsl,esai-synchronous: This is a boolean property. If present, indicating
|
2014-10-08 03:29:04 +08:00
|
|
|
that ESAI would work in the synchronous mode, which
|
|
|
|
means all the settings for Receiving would be
|
|
|
|
duplicated from Transmition related registers.
|
2014-01-10 17:54:06 +08:00
|
|
|
|
2014-10-08 03:29:04 +08:00
|
|
|
- big-endian : If this property is absent, the native endian mode
|
|
|
|
will be in use as default, or the big endian mode
|
|
|
|
will be in use for all the device registers.
|
2014-02-11 15:42:49 +08:00
|
|
|
|
2014-01-10 17:54:06 +08:00
|
|
|
Example:
|
|
|
|
|
2017-11-09 00:27:48 +08:00
|
|
|
esai: esai@2024000 {
|
2014-01-10 17:54:06 +08:00
|
|
|
compatible = "fsl,imx35-esai";
|
|
|
|
reg = <0x02024000 0x4000>;
|
|
|
|
interrupts = <0 51 0x04>;
|
|
|
|
clocks = <&clks 208>, <&clks 118>, <&clks 208>;
|
|
|
|
clock-names = "core", "extal", "fsys";
|
|
|
|
dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
|
|
|
|
dma-names = "rx", "tx";
|
|
|
|
fsl,fifo-depth = <128>;
|
|
|
|
fsl,esai-synchronous;
|
2014-02-11 15:42:49 +08:00
|
|
|
big-endian;
|
2014-01-10 17:54:06 +08:00
|
|
|
};
|