xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/ulcb-simple-audio-card-mix+split.dtsi (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
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 = "rcar-sound";
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	#sound-dai-cells = <1>;
76
77	rcar_sound,dai {
78		/*
79		 * (A) CPU0
80		 */
81		dai0 {
82			playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
83			capture  = <&ssi1 &src0 &dvc1>;
84		};
85		/*
86		 * (B) CPU1
87		 */
88		dai1 {
89			playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
90		};
91	};
92};
93