xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/ulcb-kf-simple-audio-card.dtsi (revision 95eb4b873b6a8b527c5bd78d7191975dfca38998)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree for ULCB + Kingfisher + Simple Audio Card
4 *
5 * Copyright (C) 2022 Renesas Electronics Corp.
6 */
7
8/*
9 *	(A) CPU0 <----> ak4613
10 *	(B) CPU1  ----> HDMI
11 *	(C) CPU2  ----> PCM3168A-p
12 *	(D) CPU3 <----  PCM3168A-c
13 *
14 *	(A) aplay   -D plughw:0,0 xxx.wav
15 *	(B) aplay   -D plughw:0,1 xxx.wav
16 *	(C) aplay   -D plughw:1,0 xxx.wav
17 *
18 *	(A) arecord -D plughw:0,0 xxx.wav
19 *	(D) arecord -D plughw:1,1 xxx.wav
20 */
21
22/ {
23	sound_card_kf: expand-sound {
24		compatible = "simple-audio-card";
25		label = "snd-kf";
26
27		#address-cells = <1>;
28		#size-cells = <0>;
29
30		/*
31		 * (C) CPU2 -> PCM3168A-p
32		 */
33		simple-audio-card,dai-link@0 {
34			reg = <0>;
35			cpu {
36				bitclock-master;
37				frame-master;
38				dai-tdm-slot-num = <8>;
39				sound-dai = <&rcar_sound 2>;
40			};
41			codec {
42				mclk-fs = <512>;
43				sound-dai = <&pcm3168a 0>;
44			};
45		};
46		/*
47		 * (D) CPU3 <- PCM3168A-c
48		 */
49		simple-audio-card,dai-link@1 {
50			reg = <1>;
51			cpu {
52				bitclock-master;
53				frame-master;
54				dai-tdm-slot-num = <6>;
55				sound-dai = <&rcar_sound 3>;
56			};
57			codec {
58				mclk-fs = <512>;
59				sound-dai = <&pcm3168a 1>;
60			};
61		};
62	};
63};
64
65&pcm3168a {
66	/*
67	 * (C) CPU2 -> PCM3168A-p
68	 * (D) CPU3 <- PCM3168A-c
69	 */
70	#sound-dai-cells = <1>;
71};
72
73&rcar_sound {
74	rcar_sound,dai@1 {
75		reg = <1>;
76
77		/*
78		 * (C) CPU2 -> PCM3168A-p
79		 */
80		dai2 {
81			playback = <&ssi3>;
82		};
83		/*
84		 * (D) CPU3 <- PCM3168A-c
85		 */
86		dai3 {
87			capture = <&ssi4>;
88		};
89	};
90};
91