xref: /linux/arch/arm64/boot/dts/renesas/ulcb-simple-audio-card-mix+split.dtsi (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree for ULCB + Simple Audio Card (MIXer)
4 *
5 * Copyright (C) 2022 Renesas Electronics Corp.
6 */
7
8/*
9 * Note:
10 * The HDMI output is ignored due to the limited number of subdevices
11 *
12 *	(A) CPU0 (2ch) <----> (2ch) (X) ak4613	(MIX-0)
13 *	(B) CPU1 (2ch)  --/			(MIX-1)
14 *
15 *	(A) aplay   -D plughw:0,0 xxx.wav
16 *	(B) aplay   -D plughw:0,1 xxx.wav
17 *
18 *	(A) arecord -D plughw:0,0 xxx.wav
19 */
20
21/ {
22	sound_card: sound {
23		#address-cells = <1>;
24		#size-cells = <0>;
25
26		compatible = "simple-scu-audio-card";
27		label = "snd-ulcb-mix";
28
29		simple-audio-card,prefix  = "ak4613";
30		simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback",
31					    "ak4613 Playback", "DAI1 Playback",
32					    "DAI0 Capture",    "ak4613 Capture";
33
34		simple-audio-card,dai-link@0 {
35			#address-cells = <1>;
36			#size-cells = <0>;
37			reg = <0>;
38			convert-rate = <48000>;
39
40			/*
41			 * (A) CPU0
42			 */
43			cpu@0 {
44				reg = <0>;
45				bitclock-master;
46				frame-master;
47				sound-dai = <&rcar_sound 0>;
48			};
49			/*
50			 * (B) CPU1
51			 */
52			cpu@1 {
53				reg = <1>;
54				sound-dai = <&rcar_sound 1>;
55			};
56			/*
57			 * (X) ak4613
58			 */
59			codec {
60				prefix = "ak4613";
61				sound-dai = <&ak4613>;
62			};
63		};
64	};
65};
66
67&ak4613 {
68	/*
69	 * (X) ak4613
70	 */
71	#sound-dai-cells = <0>;
72};
73
74&rcar_sound {
75	#address-cells = <1>;
76	#size-cells = <0>;
77	#sound-dai-cells = <1>;
78
79	rcar_sound,dai@0 {
80		reg = <0>;
81
82		/*
83		 * (A) CPU0
84		 */
85		dai0 {
86			playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
87			capture  = <&ssi1 &src0 &dvc1>;
88		};
89		/*
90		 * (B) CPU1
91		 */
92		dai1 {
93			playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
94		};
95	};
96};
97