xref: /freebsd/sys/contrib/device-tree/Bindings/sound/img,i2s-out.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotImagination Technologies I2S Output Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired Properties:
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel Vadot  - compatible : Compatible list, must contain "img,i2s-out"
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadot  - #sound-dai-cells : Must be equal to 0
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot  - reg : Offset and length of the register set for the device
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot  - clocks : Contains an entry for each entry in clock-names
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot  - clock-names : Must include the following entries:
14*c66ec88fSEmmanuel Vadot	"sys"	The system clock
15*c66ec88fSEmmanuel Vadot	"ref"	The reference clock
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot  - dmas: Contains an entry for each entry in dma-names.
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel Vadot  - dma-names: Must include the following entry:
20*c66ec88fSEmmanuel Vadot	"tx"	Single DMA channel used by all active I2S channels
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot  - img,i2s-channels : Number of I2S channels instantiated in the I2S out block
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot  - resets: Contains a phandle to the I2S out reset signal
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot  - reset-names: Contains the reset signal name "rst"
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotOptional Properties:
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadot  - interrupts : Contains the I2S out interrupts. Depending on
31*c66ec88fSEmmanuel Vadot	the configuration, there may be no interrupts, one interrupt,
32*c66ec88fSEmmanuel Vadot	or an interrupt per I2S channel. For the case where there is
33*c66ec88fSEmmanuel Vadot	one interrupt per channel, the interrupts should be listed
34*c66ec88fSEmmanuel Vadot	in ascending channel order
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel VadotExample:
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel Vadoti2s_out: i2s-out@18100a00 {
39*c66ec88fSEmmanuel Vadot	compatible = "img,i2s-out";
40*c66ec88fSEmmanuel Vadot	reg = <0x18100A00 0x200>;
41*c66ec88fSEmmanuel Vadot	interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>;
42*c66ec88fSEmmanuel Vadot	dmas = <&mdc 23 0xffffffff 0>;
43*c66ec88fSEmmanuel Vadot	dma-names = "tx";
44*c66ec88fSEmmanuel Vadot	clocks = <&cr_periph SYS_CLK_I2S_OUT>,
45*c66ec88fSEmmanuel Vadot		 <&clk_core CLK_I2S>;
46*c66ec88fSEmmanuel Vadot	clock-names = "sys", "ref";
47*c66ec88fSEmmanuel Vadot	img,i2s-channels = <6>;
48*c66ec88fSEmmanuel Vadot	resets = <&pistachio_reset PISTACHIO_RESET_I2S_OUT>;
49*c66ec88fSEmmanuel Vadot	reset-names = "rst";
50*c66ec88fSEmmanuel Vadot	#sound-dai-cells = <0>;
51*c66ec88fSEmmanuel Vadot};
52