xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/ulcb-audio-graph-card.dtsi (revision baa19ec4c6311ce2573d5eb198d7a24788636cb9)
1*baa19ec4SKuninori Morimoto// SPDX-License-Identifier: GPL-2.0
2*baa19ec4SKuninori Morimoto/*
3*baa19ec4SKuninori Morimoto * Device Tree for ULCB + 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 *
12*baa19ec4SKuninori Morimoto *	(A) aplay   -D plughw:0,0 xxx.wav
13*baa19ec4SKuninori Morimoto *	(B) aplay   -D plughw:0,1 xxx.wav
14*baa19ec4SKuninori Morimoto *
15*baa19ec4SKuninori Morimoto *	(A) arecord -D plughw:0,0 xxx.wav
16*baa19ec4SKuninori Morimoto */
17*baa19ec4SKuninori Morimoto
18*baa19ec4SKuninori Morimoto/ {
19*baa19ec4SKuninori Morimoto	sound_card: sound {
20*baa19ec4SKuninori Morimoto		compatible = "audio-graph-card";
21*baa19ec4SKuninori Morimoto		label = "rcar-sound";
22*baa19ec4SKuninori Morimoto
23*baa19ec4SKuninori Morimoto		dais = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
24*baa19ec4SKuninori Morimoto			&rsnd_port1 /* (B) CPU1  -> HDMI   */
25*baa19ec4SKuninori Morimoto		>;
26*baa19ec4SKuninori Morimoto	};
27*baa19ec4SKuninori Morimoto};
28*baa19ec4SKuninori Morimoto
29*baa19ec4SKuninori Morimoto&ak4613 {
30*baa19ec4SKuninori Morimoto	#sound-dai-cells = <0>;
31*baa19ec4SKuninori Morimoto
32*baa19ec4SKuninori Morimoto	port {
33*baa19ec4SKuninori Morimoto		/*
34*baa19ec4SKuninori Morimoto		 * (A) CPU0 <-> ak4613
35*baa19ec4SKuninori Morimoto		 */
36*baa19ec4SKuninori Morimoto		ak4613_endpoint: endpoint {
37*baa19ec4SKuninori Morimoto			remote-endpoint = <&rsnd_for_ak4613>;
38*baa19ec4SKuninori Morimoto		};
39*baa19ec4SKuninori Morimoto	};
40*baa19ec4SKuninori Morimoto};
41*baa19ec4SKuninori Morimoto
42*baa19ec4SKuninori Morimoto&hdmi0 {
43*baa19ec4SKuninori Morimoto	ports {
44*baa19ec4SKuninori Morimoto		port@2 {
45*baa19ec4SKuninori Morimoto			/*
46*baa19ec4SKuninori Morimoto			 * (B) CPU1 -> HDMI
47*baa19ec4SKuninori Morimoto			 */
48*baa19ec4SKuninori Morimoto			dw_hdmi0_snd_in: endpoint {
49*baa19ec4SKuninori Morimoto				remote-endpoint = <&rsnd_for_hdmi>;
50*baa19ec4SKuninori Morimoto			};
51*baa19ec4SKuninori Morimoto		};
52*baa19ec4SKuninori Morimoto	};
53*baa19ec4SKuninori Morimoto};
54*baa19ec4SKuninori Morimoto
55*baa19ec4SKuninori Morimoto&rcar_sound {
56*baa19ec4SKuninori Morimoto	ports {
57*baa19ec4SKuninori Morimoto		#address-cells = <1>;
58*baa19ec4SKuninori Morimoto		#size-cells = <0>;
59*baa19ec4SKuninori Morimoto		rsnd_port0: port@0 {
60*baa19ec4SKuninori Morimoto			/*
61*baa19ec4SKuninori Morimoto			 * (A) CPU0 <-> ak4613
62*baa19ec4SKuninori Morimoto			 */
63*baa19ec4SKuninori Morimoto			reg = <0>;
64*baa19ec4SKuninori Morimoto			rsnd_for_ak4613: endpoint {
65*baa19ec4SKuninori Morimoto				remote-endpoint = <&ak4613_endpoint>;
66*baa19ec4SKuninori Morimoto				bitclock-master;
67*baa19ec4SKuninori Morimoto				frame-master;
68*baa19ec4SKuninori Morimoto				playback = <&ssi0>, <&src0>, <&dvc0>;
69*baa19ec4SKuninori Morimoto				capture  = <&ssi1>, <&src1>, <&dvc1>;
70*baa19ec4SKuninori Morimoto			};
71*baa19ec4SKuninori Morimoto		};
72*baa19ec4SKuninori Morimoto		rsnd_port1: port@1 {
73*baa19ec4SKuninori Morimoto			/*
74*baa19ec4SKuninori Morimoto			 * (B) CPU1 -> HDMI
75*baa19ec4SKuninori Morimoto			 */
76*baa19ec4SKuninori Morimoto			reg = <1>;
77*baa19ec4SKuninori Morimoto			rsnd_for_hdmi: endpoint {
78*baa19ec4SKuninori Morimoto				remote-endpoint = <&dw_hdmi0_snd_in>;
79*baa19ec4SKuninori Morimoto				bitclock-master;
80*baa19ec4SKuninori Morimoto				frame-master;
81*baa19ec4SKuninori Morimoto				playback = <&ssi2>;
82*baa19ec4SKuninori Morimoto			};
83*baa19ec4SKuninori Morimoto		};
84*baa19ec4SKuninori Morimoto	};
85*baa19ec4SKuninori Morimoto};
86