File Index
Files and directories
Sign in
FILE

st,sti-asoc-card.txt

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt PLAIN TEXT
  1STMicroelectronics sti ASoC cards
  2
  3The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
  4codec or external codecs.
  5
  6sti sound drivers allows to expose sti SoC audio interface through the
  7generic ASoC simple card. For details about sound card declaration please refer to
  8Documentation/devicetree/bindings/sound/simple-card.yaml.
  9
 101) sti-uniperiph-dai: audio dai device.
 11---------------------------------------
 12
 13Required properties:
 14  - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out",
 15		"st,stih407-uni-player-dac", "st,stih407-uni-player-spdif",
 16		"st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi",
 17
 18  - st,syscfg: phandle to boot-device system configuration registers
 19
 20  - clock-names: name of the clocks listed in clocks property in the same order
 21
 22  - reg: CPU DAI IP Base address and size entries, listed  in same
 23	 order than the CPU_DAI properties.
 24
 25  - reg-names: names of the mapped memory regions listed in regs property in
 26	       the same order.
 27
 28  - interrupts: CPU_DAI interrupt line, listed in the same order than the
 29		CPU_DAI properties.
 30
 31  - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same
 32	 order than the CPU_DAI properties.
 33
 34  - dma-names: identifier string for each DMA request line in the dmas property.
 35	"tx" for "st,sti-uni-player" compatibility
 36	"rx" for "st,sti-uni-reader" compatibility
 37
 38Required properties ("st,sti-uni-player" compatibility only):
 39  - clocks: CPU_DAI IP clock source, listed in the same order than the
 40	    CPU_DAI properties.
 41
 42Optional properties:
 43  - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
 44	       external codecs connection.
 45
 46  - pinctrl-names: should contain only one value - "default".
 47
 48  - st,tdm-mode: to declare to set TDM mode for unireader and uniplayer IPs.
 49	Only compartible with IPs in charge of the external I2S/TDM bus.
 50	Should be declared depending on associated codec.
 51
 52Example:
 53
 54	sti_uni_player1: sti-uni-player@8d81000 {
 55		compatible = "st,stih407-uni-player-hdmi";
 56		#sound-dai-cells = <0>;
 57		st,syscfg = <&syscfg_core>;
 58		clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
 59		reg = <0x8D81000 0x158>;
 60		interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
 61		dmas = <&fdma0 3 0 1>;
 62		dma-names = "tx";
 63		st,tdm-mode = <1>;
 64	};
 65
 66	sti_uni_player2: sti-uni-player@8d82000 {
 67		compatible = "st,stih407-uni-player-pcm-out";
 68		#sound-dai-cells = <0>;
 69		st,syscfg = <&syscfg_core>;
 70		clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
 71		reg = <0x8D82000 0x158>;
 72		interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
 73		dmas = <&fdma0 4 0 1>;
 74		dma-names = "tx";
 75	};
 76
 77	sti_uni_player3: sti-uni-player@8d85000 {
 78		compatible = "st,stih407-uni-player-spdif";
 79		#sound-dai-cells = <0>;
 80		st,syscfg = <&syscfg_core>;
 81		clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
 82		reg = <0x8D85000 0x158>;
 83		interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
 84		dmas = <&fdma0 7 0 1>;
 85		dma-names = "tx";
 86	};
 87
 88	sti_uni_reader1: sti-uni-reader@8d84000 {
 89		compatible = "st,stih407-uni-reader-hdmi";
 90		#sound-dai-cells = <0>;
 91		st,syscfg = <&syscfg_core>;
 92		reg = <0x8D84000 0x158>;
 93		interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;
 94		dmas = <&fdma0 6 0 1>;
 95		dma-names = "rx";
 96	};
 97
 982) sti-sas-codec: internal audio codec IPs driver
 99-------------------------------------------------
100
101Required properties:
102  - compatible: "st,sti<chip>-sas-codec" .
103	Should be chip "st,stih416-sas-codec" or "st,stih407-sas-codec"
104
105  - st,syscfg: phandle to boot-device system configuration registers.
106
107  - pinctrl-0: SPDIF PIO description.
108
109  - pinctrl-names: should contain only one value - "default".
110
111Example:
112	sti_sas_codec: sti-sas-codec {
113		compatible = "st,stih407-sas-codec";
114		#sound-dai-cells = <1>;
115		st,reg_audio = <&syscfg_core>;
116		pinctrl-names = "default";
117		pinctrl-0 = <&pinctrl_spdif_out >;
118	};
119
120Example of audio card declaration:
121	sound {
122		compatible = "simple-audio-card";
123		simple-audio-card,name = "sti audio card";
124
125		simple-audio-card,dai-link@0 {
126			/* DAC */
127			format = "i2s";
128			dai-tdm-slot-width = <32>;
129			cpu {
130				sound-dai = <&sti_uni_player2>;
131			};
132
133			codec {
134				sound-dai = <&sti_sasg_codec 1>;
135			};
136		};
137		simple-audio-card,dai-link@1 {
138			/* SPDIF */
139			format = "left_j";
140			cpu {
141				sound-dai = <&sti_uni_player3>;
142			};
143
144			codec {
145				sound-dai = <&sti_sasg_codec 0>;
146			};
147		};
148		simple-audio-card,dai-link@2 {
149			/* TDM playback  */
150			format = "left_j";
151			frame-inversion = <1>;
152			cpu {
153				sound-dai = <&sti_uni_player1>;
154				dai-tdm-slot-num = <16>;
155				dai-tdm-slot-width = <16>;
156				dai-tdm-slot-tx-mask =
157					<1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1>;
158			};
159
160			codec {
161				sound-dai = <&sti_sasg_codec 3>;
162			};
163		};
164	};
~/ Read-only file preview.