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