aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatsuhiro Suzuki <suzuki.katsuhiro@socionext.com>2018-02-13 08:01:54 -0500
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-03-15 10:17:39 -0400
commitfb21a0acaa2b7f6ac76d4b3b33aa6b0312a09a49 (patch)
treedc37506ac2484e8ea34cb6aadf5a43027ecabdb7
parent606c18372d539d194df2b2d181d3b1b790ad72f9 (diff)
arm64: dts: uniphier: add sound node
This patch adds audio controller, codec and simple card node of UniPhier AIO sound system for LD11/20 SoCs. Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts24
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi94
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts24
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi103
4 files changed, 245 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts b/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts
index 2452b2243f42..264aae10734b 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts
@@ -37,6 +37,26 @@
37 device_type = "memory"; 37 device_type = "memory";
38 reg = <0 0x80000000 0 0x40000000>; 38 reg = <0 0x80000000 0 0x40000000>;
39 }; 39 };
40
41 sound {
42 compatible = "audio-graph-card";
43 label = "UniPhier LD11";
44 widgets = "Headphone", "Headphone Jack";
45 dais = <&i2s_port2
46 &i2s_port4
47 &spdif_port0>;
48 };
49
50 spdif-out {
51 compatible = "linux,spdif-dit";
52 #sound-dai-cells = <0>;
53
54 port@0 {
55 spdif_tx: endpoint {
56 remote-endpoint = <&spdif_hiecout1>;
57 };
58 };
59 };
40}; 60};
41 61
42&serial0 { 62&serial0 {
@@ -47,6 +67,10 @@
47 status = "okay"; 67 status = "okay";
48}; 68};
49 69
70&spdif_hiecout1 {
71 remote-endpoint = <&spdif_tx>;
72};
73
50&i2c0 { 74&i2c0 {
51 status = "okay"; 75 status = "okay";
52 76
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
index cd7c2d0a1f64..7e568f5b5a80 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
@@ -187,6 +187,91 @@
187 <21 217 3>; 187 <21 217 3>;
188 }; 188 };
189 189
190 audio@56000000 {
191 compatible = "socionext,uniphier-ld11-aio";
192 reg = <0x56000000 0x80000>;
193 interrupts = <0 144 4>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&pinctrl_aout1>,
196 <&pinctrl_aoutiec1>;
197 clock-names = "aio";
198 clocks = <&sys_clk 40>;
199 reset-names = "aio";
200 resets = <&sys_rst 40>;
201 #sound-dai-cells = <1>;
202
203 i2s_port0: port@0 {
204 i2s_hdmi: endpoint {
205 };
206 };
207
208 i2s_port1: port@1 {
209 i2s_pcmin2: endpoint {
210 };
211 };
212
213 i2s_port2: port@2 {
214 i2s_line: endpoint {
215 dai-format = "i2s";
216 remote-endpoint = <&evea_line>;
217 };
218 };
219
220 i2s_port3: port@3 {
221 i2s_hpcmout1: endpoint {
222 };
223 };
224
225 i2s_port4: port@4 {
226 i2s_hp: endpoint {
227 dai-format = "i2s";
228 remote-endpoint = <&evea_hp>;
229 };
230 };
231
232 spdif_port0: port@5 {
233 spdif_hiecout1: endpoint {
234 };
235 };
236
237 src_port0: port@6 {
238 i2s_epcmout2: endpoint {
239 };
240 };
241
242 src_port1: port@7 {
243 i2s_epcmout3: endpoint {
244 };
245 };
246
247 comp_spdif_port0: port@8 {
248 comp_spdif_hiecout1: endpoint {
249 };
250 };
251 };
252
253 codec@57900000 {
254 compatible = "socionext,uniphier-evea";
255 reg = <0x57900000 0x1000>;
256 clock-names = "evea", "exiv";
257 clocks = <&sys_clk 41>, <&sys_clk 42>;
258 reset-names = "evea", "exiv", "adamv";
259 resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
260 #sound-dai-cells = <1>;
261
262 port@0 {
263 evea_line: endpoint {
264 remote-endpoint = <&i2s_line>;
265 };
266 };
267
268 port@1 {
269 evea_hp: endpoint {
270 remote-endpoint = <&i2s_hp>;
271 };
272 };
273 };
274
190 adamv@57920000 { 275 adamv@57920000 {
191 compatible = "socionext,uniphier-ld11-adamv", 276 compatible = "socionext,uniphier-ld11-adamv",
192 "simple-mfd", "syscon"; 277 "simple-mfd", "syscon";
@@ -475,3 +560,12 @@
475}; 560};
476 561
477#include "uniphier-pinctrl.dtsi" 562#include "uniphier-pinctrl.dtsi"
563
564&pinctrl_aoutiec1 {
565 drive-strength = <4>; /* default: 4mA */
566
567 ao1arc {
568 pins = "AO1ARC";
569 drive-strength = <8>; /* 8mA */
570 };
571};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts b/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts
index fc2bc9d75d35..93ae4c909783 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts
@@ -37,6 +37,26 @@
37 device_type = "memory"; 37 device_type = "memory";
38 reg = <0 0x80000000 0 0xc0000000>; 38 reg = <0 0x80000000 0 0xc0000000>;
39 }; 39 };
40
41 sound {
42 compatible = "audio-graph-card";
43 label = "UniPhier LD20";
44 widgets = "Headphone", "Headphone Jack";
45 dais = <&i2s_port2
46 &i2s_port4
47 &spdif_port0>;
48 };
49
50 spdif-out {
51 compatible = "linux,spdif-dit";
52 #sound-dai-cells = <0>;
53
54 port@0 {
55 spdif_tx: endpoint {
56 remote-endpoint = <&spdif_hiecout1>;
57 };
58 };
59 };
40}; 60};
41 61
42&serial0 { 62&serial0 {
@@ -47,6 +67,10 @@
47 status = "okay"; 67 status = "okay";
48}; 68};
49 69
70&spdif_hiecout1 {
71 remote-endpoint = <&spdif_tx>;
72};
73
50&i2c0 { 74&i2c0 {
51 status = "okay"; 75 status = "okay";
52}; 76};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
index 8a3276ba2da1..b17f2ec2e001 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
@@ -287,6 +287,91 @@
287 <21 217 3>; 287 <21 217 3>;
288 }; 288 };
289 289
290 audio@56000000 {
291 compatible = "socionext,uniphier-ld20-aio";
292 reg = <0x56000000 0x80000>;
293 interrupts = <0 144 4>;
294 pinctrl-names = "default";
295 pinctrl-0 = <&pinctrl_aout1>,
296 <&pinctrl_aoutiec1>;
297 clock-names = "aio";
298 clocks = <&sys_clk 40>;
299 reset-names = "aio";
300 resets = <&sys_rst 40>;
301 #sound-dai-cells = <1>;
302
303 i2s_port0: port@0 {
304 i2s_hdmi: endpoint {
305 };
306 };
307
308 i2s_port1: port@1 {
309 i2s_pcmin2: endpoint {
310 };
311 };
312
313 i2s_port2: port@2 {
314 i2s_line: endpoint {
315 dai-format = "i2s";
316 remote-endpoint = <&evea_line>;
317 };
318 };
319
320 i2s_port3: port@3 {
321 i2s_hpcmout1: endpoint {
322 };
323 };
324
325 i2s_port4: port@4 {
326 i2s_hp: endpoint {
327 dai-format = "i2s";
328 remote-endpoint = <&evea_hp>;
329 };
330 };
331
332 spdif_port0: port@5 {
333 spdif_hiecout1: endpoint {
334 };
335 };
336
337 src_port0: port@6 {
338 i2s_epcmout2: endpoint {
339 };
340 };
341
342 src_port1: port@7 {
343 i2s_epcmout3: endpoint {
344 };
345 };
346
347 comp_spdif_port0: port@8 {
348 comp_spdif_hiecout1: endpoint {
349 };
350 };
351 };
352
353 codec@57900000 {
354 compatible = "socionext,uniphier-evea";
355 reg = <0x57900000 0x1000>;
356 clock-names = "evea", "exiv";
357 clocks = <&sys_clk 41>, <&sys_clk 42>;
358 reset-names = "evea", "exiv", "adamv";
359 resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
360 #sound-dai-cells = <1>;
361
362 port@0 {
363 evea_line: endpoint {
364 remote-endpoint = <&i2s_line>;
365 };
366 };
367
368 port@1 {
369 evea_hp: endpoint {
370 remote-endpoint = <&i2s_hp>;
371 };
372 };
373 };
374
290 adamv@57920000 { 375 adamv@57920000 {
291 compatible = "socionext,uniphier-ld20-adamv", 376 compatible = "socionext,uniphier-ld20-adamv",
292 "simple-mfd", "syscon"; 377 "simple-mfd", "syscon";
@@ -528,3 +613,21 @@
528}; 613};
529 614
530#include "uniphier-pinctrl.dtsi" 615#include "uniphier-pinctrl.dtsi"
616
617&pinctrl_aout1 {
618 drive-strength = <4>; /* default: 3.5mA */
619
620 ao1dacck {
621 pins = "AO1DACCK";
622 drive-strength = <5>; /* 5mA */
623 };
624};
625
626&pinctrl_aoutiec1 {
627 drive-strength = <4>; /* default: 3.5mA */
628
629 ao1arc {
630 pins = "AO1ARC";
631 drive-strength = <11>; /* 11mA */
632 };
633};