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