1 STMicroelectronics sti ASoC cards
3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
4 codec or external codecs.
6 sti sound drivers allows to expose sti SoC audio interface through the
7 generic ASoC simple card. For details about sound card declaration please refer to
8 Documentation/devicetree/bindings/sound/simple-card.yaml.
10 1) sti-uniperiph-dai: audio dai device.
11 ---------------------------------------
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",
18 - st,syscfg: phandle to boot-device system configuration registers
20 - clock-names: name of the clocks listed in clocks property in the same order
22 - reg: CPU DAI IP Base address and size entries, listed in same
23 order than the CPU_DAI properties.
25 - reg-names: names of the mapped memory regions listed in regs property in
28 - interrupts: CPU_DAI interrupt line, listed in the same order than the
31 - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same
32 order than the CPU_DAI properties.
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
38 Required properties ("st,sti-uni-player" compatibility only):
39 - clocks: CPU_DAI IP clock source, listed in the same order than the
43 - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
44 external codecs connection.
46 - pinctrl-names: should contain only one value - "default".
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.
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>;
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>;
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>;
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>;
98 2) sti-sas-codec: internal audio codec IPs driver
99 -------------------------------------------------
102 - compatible: "st,sti<chip>-sas-codec" .
103 Should be chip "st,stih416-sas-codec" or "st,stih407-sas-codec"
105 - st,syscfg: phandle to boot-device system configuration registers.
107 - pinctrl-0: SPDIF PIO description.
109 - pinctrl-names: should contain only one value - "default".
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 >;
120 Example of audio card declaration:
122 compatible = "simple-audio-card";
123 simple-audio-card,name = "sti audio card";
125 simple-audio-card,dai-link@0 {
128 dai-tdm-slot-width = <32>;
130 sound-dai = <&sti_uni_player2>;
134 sound-dai = <&sti_sasg_codec 1>;
137 simple-audio-card,dai-link@1 {
141 sound-dai = <&sti_uni_player3>;
145 sound-dai = <&sti_sasg_codec 0>;
148 simple-audio-card,dai-link@2 {
151 frame-inversion = <1>;
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>;
161 sound-dai = <&sti_sasg_codec 3>;