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