1*baa19ec4SKuninori Morimoto// SPDX-License-Identifier: GPL-2.0
2*baa19ec4SKuninori Morimoto/*
3*baa19ec4SKuninori Morimoto * Device Tree for ULCB + Kingfisher + Audio Graph Card
4*baa19ec4SKuninori Morimoto *
5*baa19ec4SKuninori Morimoto * Copyright (C) 2022 Renesas Electronics Corp.
6*baa19ec4SKuninori Morimoto */
7*baa19ec4SKuninori Morimoto
8*baa19ec4SKuninori Morimoto/*
9*baa19ec4SKuninori Morimoto *	(A) CPU0 <----> ak4613
10*baa19ec4SKuninori Morimoto *	(B) CPU1  ----> HDMI
11*baa19ec4SKuninori Morimoto *	(C) CPU2  ----> PCM3168A-p (8ch)
12*baa19ec4SKuninori Morimoto *	(D) CPU3 <----  PCM3168A-c (6ch)
13*baa19ec4SKuninori Morimoto *
14*baa19ec4SKuninori Morimoto *	(A) aplay   -D plughw:0,0 xxx.wav
15*baa19ec4SKuninori Morimoto *	(B) aplay   -D plughw:0,1 xxx.wav
16*baa19ec4SKuninori Morimoto *	(C) aplay   -D plughw:0,2 xxx.wav
17*baa19ec4SKuninori Morimoto *
18*baa19ec4SKuninori Morimoto *	(A) arecord -D plughw:0,0 xxx.wav
19*baa19ec4SKuninori Morimoto *	(D) arecord -D plughw:0,3 xxx.wav
20*baa19ec4SKuninori Morimoto */
21*baa19ec4SKuninori Morimoto
22*baa19ec4SKuninori Morimoto&sound_card {
23*baa19ec4SKuninori Morimoto	dais = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
24*baa19ec4SKuninori Morimoto		&rsnd_port1 /* (B) CPU1  -> HDMI   */
25*baa19ec4SKuninori Morimoto		&rsnd_port2 /* (C) CPU2  -> PCM3168A-p */
26*baa19ec4SKuninori Morimoto		&rsnd_port3 /* (D) CPU3 <-  PCM3168A-c */
27*baa19ec4SKuninori Morimoto		>;
28*baa19ec4SKuninori Morimoto};
29*baa19ec4SKuninori Morimoto
30*baa19ec4SKuninori Morimoto&pcm3168a {
31*baa19ec4SKuninori Morimoto	ports {
32*baa19ec4SKuninori Morimoto		#address-cells = <1>;
33*baa19ec4SKuninori Morimoto		#size-cells = <0>;
34*baa19ec4SKuninori Morimoto		mclk-fs = <512>;
35*baa19ec4SKuninori Morimoto		/*
36*baa19ec4SKuninori Morimoto		 * (C) CPU2 -> PCM3168A-p
37*baa19ec4SKuninori Morimoto		 */
38*baa19ec4SKuninori Morimoto		port@0 {
39*baa19ec4SKuninori Morimoto			reg = <0>;
40*baa19ec4SKuninori Morimoto			pcm3168a_endpoint_p: endpoint {
41*baa19ec4SKuninori Morimoto				remote-endpoint = <&rsnd_for_pcm3168a_play>;
42*baa19ec4SKuninori Morimoto				clocks = <&clksndsel>;
43*baa19ec4SKuninori Morimoto			};
44*baa19ec4SKuninori Morimoto		};
45*baa19ec4SKuninori Morimoto		/*
46*baa19ec4SKuninori Morimoto		 * (D) CPU3 <- PCM3168A-c
47*baa19ec4SKuninori Morimoto		 */
48*baa19ec4SKuninori Morimoto		port@1 {
49*baa19ec4SKuninori Morimoto			reg = <1>;
50*baa19ec4SKuninori Morimoto			pcm3168a_endpoint_c: endpoint {
51*baa19ec4SKuninori Morimoto				remote-endpoint = <&rsnd_for_pcm3168a_capture>;
52*baa19ec4SKuninori Morimoto				clocks = <&clksndsel>;
53*baa19ec4SKuninori Morimoto			};
54*baa19ec4SKuninori Morimoto		};
55*baa19ec4SKuninori Morimoto	};
56*baa19ec4SKuninori Morimoto};
57*baa19ec4SKuninori Morimoto
58*baa19ec4SKuninori Morimoto&rcar_sound {
59*baa19ec4SKuninori Morimoto	ports {
60*baa19ec4SKuninori Morimoto		/* rsnd_port0/1 are defined in ulcb.dtsi */
61*baa19ec4SKuninori Morimoto		/*
62*baa19ec4SKuninori Morimoto		 * (C) CPU2 -> PCM3168A-p
63*baa19ec4SKuninori Morimoto		 */
64*baa19ec4SKuninori Morimoto		rsnd_port2: port@2 {
65*baa19ec4SKuninori Morimoto			reg = <2>;
66*baa19ec4SKuninori Morimoto			rsnd_for_pcm3168a_play: endpoint {
67*baa19ec4SKuninori Morimoto				remote-endpoint = <&pcm3168a_endpoint_p>;
68*baa19ec4SKuninori Morimoto				bitclock-master;
69*baa19ec4SKuninori Morimoto				frame-master;
70*baa19ec4SKuninori Morimoto				dai-tdm-slot-num = <8>;
71*baa19ec4SKuninori Morimoto				playback = <&ssi3>;
72*baa19ec4SKuninori Morimoto			};
73*baa19ec4SKuninori Morimoto		};
74*baa19ec4SKuninori Morimoto		/*
75*baa19ec4SKuninori Morimoto		 * (D) CPU3 <- PCM3168A-c
76*baa19ec4SKuninori Morimoto		 */
77*baa19ec4SKuninori Morimoto		rsnd_port3: port@3 {
78*baa19ec4SKuninori Morimoto			reg = <3>;
79*baa19ec4SKuninori Morimoto			rsnd_for_pcm3168a_capture: endpoint {
80*baa19ec4SKuninori Morimoto				remote-endpoint = <&pcm3168a_endpoint_c>;
81*baa19ec4SKuninori Morimoto				bitclock-master;
82*baa19ec4SKuninori Morimoto				frame-master;
83*baa19ec4SKuninori Morimoto				dai-tdm-slot-num = <6>;
84*baa19ec4SKuninori Morimoto				capture = <&ssi4>;
85*baa19ec4SKuninori Morimoto			};
86*baa19ec4SKuninori Morimoto		};
87*baa19ec4SKuninori Morimoto	};
88*baa19ec4SKuninori Morimoto};
89