xref: /freebsd/sys/contrib/device-tree/Bindings/sound/fsl,esai.txt (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
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