Commit | Line | Data |
---|---|---|
05e85d4e AP |
1 | STMicroelectronics sti ASoC cards |
2 | ||
3 | The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas | |
4 | codec or external codecs. | |
5 | ||
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.txt. | |
9 | ||
10 | 1) sti-uniperiph-dai: audio dai device. | |
11 | --------------------------------------- | |
12 | ||
13 | Required properties: | |
04adc084 AP |
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", | |
05e85d4e AP |
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 | ||
05e85d4e AP |
38 | Required 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 | ||
05e85d4e AP |
42 | Optional 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 | ||
04adc084 AP |
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 | ||
05e85d4e AP |
52 | Example: |
53 | ||
04adc084 AP |
54 | sti_uni_player1: sti-uni-player@0x8D81000 { |
55 | compatible = "st,stih407-uni-player-hdmi"; | |
ee4c879b MG |
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>; | |
ee4c879b | 62 | dma-names = "tx"; |
04adc084 | 63 | st,tdm-mode = <1>; |
ee4c879b MG |
64 | }; |
65 | ||
04adc084 AP |
66 | sti_uni_player2: sti-uni-player@0x8D82000 { |
67 | compatible = "st,stih407-uni-player-pcm-out"; | |
05e85d4e AP |
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>; | |
05e85d4e | 74 | dma-names = "tx"; |
05e85d4e AP |
75 | }; |
76 | ||
04adc084 AP |
77 | sti_uni_player3: sti-uni-player@0x8D85000 { |
78 | compatible = "st,stih407-uni-player-spdif"; | |
05e85d4e AP |
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"; | |
05e85d4e AP |
86 | }; |
87 | ||
04adc084 AP |
88 | sti_uni_reader1: sti-uni-reader@0x8D84000 { |
89 | compatible = "st,stih407-uni-reader-hdmi"; | |
05e85d4e AP |
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"; | |
05e85d4e AP |
96 | }; |
97 | ||
98 | 2) sti-sas-codec: internal audio codec IPs driver | |
99 | ------------------------------------------------- | |
100 | ||
101 | Required 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 | ||
111 | Example: | |
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 | ||
120 | Example of audio card declaration: | |
121 | sound { | |
122 | compatible = "simple-audio-card"; | |
123 | simple-audio-card,name = "sti audio card"; | |
05e85d4e AP |
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 | }; | |
ee4c879b MG |
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 | }; | |
05e85d4e | 164 | }; |