summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/sound/fsl,esai.txt
blob: 52f5b6bf3e8ed7323e7c5da7998731a0ae1c495c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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:

  - compatible : Compatible list, must contain "fsl,imx35-esai" or
		 "fsl,vf610-esai"

  - reg : Offset and length of the register set for the device.

  - interrupts : Contains the spdif interrupt.

  - dmas : Generic dma devicetree binding as described in
  Documentation/devicetree/bindings/dma/dma.txt.

  - dma-names : Two dmas have to be defined, "tx" and "rx".

  - clocks: Contains an entry for each entry in clock-names.

  - 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.

  - 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].

  - fsl,esai-synchronous: This is a boolean property. If present, indicating
    that ESAI would work in the synchronous mode, which means all the settings
    for Receiving would be duplicated from Transmition related registers.

  - 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.

Example:

esai: esai@02024000 {
	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;
	big-endian;
	status = "disabled";
};