xref: /freebsd/sys/contrib/device-tree/Bindings/sound/zte,zx-i2s.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotZTE ZX296702 I2S controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot - compatible : Must be one of:
5*c66ec88fSEmmanuel Vadot	"zte,zx296718-i2s", "zte,zx296702-i2s"
6*c66ec88fSEmmanuel Vadot	"zte,zx296702-i2s"
7*c66ec88fSEmmanuel Vadot - reg : Must contain I2S core's registers location and length
8*c66ec88fSEmmanuel Vadot - clocks : Pairs of phandle and specifier referencing the controller's clocks.
9*c66ec88fSEmmanuel Vadot - clock-names: "wclk" for the wclk, "pclk" for the pclk to the I2S interface.
10*c66ec88fSEmmanuel Vadot - dmas: Pairs of phandle and specifier for the DMA channel that is used by
11*c66ec88fSEmmanuel Vadot   the core. The core expects two dma channels for transmit.
12*c66ec88fSEmmanuel Vadot - dma-names : Must be "tx" and "rx"
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel VadotFor more details on the 'dma', 'dma-names', 'clock' and 'clock-names' properties
15*c66ec88fSEmmanuel Vadotplease check:
16*c66ec88fSEmmanuel Vadot	* resource-names.txt
17*c66ec88fSEmmanuel Vadot	* clock/clock-bindings.txt
18*c66ec88fSEmmanuel Vadot	* dma/dma.txt
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel VadotExample:
21*c66ec88fSEmmanuel Vadot	i2s0: i2s@b005000 {
22*c66ec88fSEmmanuel Vadot		#sound-dai-cells = <0>;
23*c66ec88fSEmmanuel Vadot		compatible = "zte,zx296718-i2s", "zte,zx296702-i2s";
24*c66ec88fSEmmanuel Vadot		reg = <0x0b005000 0x1000>;
25*c66ec88fSEmmanuel Vadot		clocks = <&audiocrm AUDIO_I2S0_WCLK>, <&audiocrm AUDIO_I2S0_PCLK>;
26*c66ec88fSEmmanuel Vadot		clock-names = "wclk", "pclk";
27*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
28*c66ec88fSEmmanuel Vadot		dmas = <&dma 5>, <&dma 6>;
29*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx";
30*c66ec88fSEmmanuel Vadot	};
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot	sound {
33*c66ec88fSEmmanuel Vadot		compatible = "simple-audio-card";
34*c66ec88fSEmmanuel Vadot		simple-audio-card,name = "zx296702_snd";
35*c66ec88fSEmmanuel Vadot		simple-audio-card,format = "left_j";
36*c66ec88fSEmmanuel Vadot		simple-audio-card,bitclock-master = <&sndcodec>;
37*c66ec88fSEmmanuel Vadot		simple-audio-card,frame-master = <&sndcodec>;
38*c66ec88fSEmmanuel Vadot		sndcpu: simple-audio-card,cpu {
39*c66ec88fSEmmanuel Vadot			sound-dai = <&i2s0>;
40*c66ec88fSEmmanuel Vadot		};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot		sndcodec: simple-audio-card,codec {
43*c66ec88fSEmmanuel Vadot			sound-dai = <&acodec>;
44*c66ec88fSEmmanuel Vadot		};
45*c66ec88fSEmmanuel Vadot	};
46