162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree for ULCB + Kingfisher + Audio Graph Card
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2022 Renesas Electronics Corp.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/*
962306a36Sopenharmony_ci *	(A) CPU0 <----> ak4613
1062306a36Sopenharmony_ci *	(B) CPU1  ----> HDMI
1162306a36Sopenharmony_ci *	(C) CPU2  ----> PCM3168A-p (8ch)
1262306a36Sopenharmony_ci *	(D) CPU3 <----  PCM3168A-c (6ch)
1362306a36Sopenharmony_ci *
1462306a36Sopenharmony_ci *	(A) aplay   -D plughw:0,0 xxx.wav
1562306a36Sopenharmony_ci *	(B) aplay   -D plughw:0,1 xxx.wav
1662306a36Sopenharmony_ci *	(C) aplay   -D plughw:0,2 xxx.wav
1762306a36Sopenharmony_ci *
1862306a36Sopenharmony_ci *	(A) arecord -D plughw:0,0 xxx.wav
1962306a36Sopenharmony_ci *	(D) arecord -D plughw:0,3 xxx.wav
2062306a36Sopenharmony_ci */
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci&sound_card {
2362306a36Sopenharmony_ci	dais = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
2462306a36Sopenharmony_ci		&rsnd_port1 /* (B) CPU1  -> HDMI   */
2562306a36Sopenharmony_ci		&rsnd_port2 /* (C) CPU2  -> PCM3168A-p */
2662306a36Sopenharmony_ci		&rsnd_port3 /* (D) CPU3 <-  PCM3168A-c */
2762306a36Sopenharmony_ci		>;
2862306a36Sopenharmony_ci};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci&pcm3168a {
3162306a36Sopenharmony_ci	ports {
3262306a36Sopenharmony_ci		#address-cells = <1>;
3362306a36Sopenharmony_ci		#size-cells = <0>;
3462306a36Sopenharmony_ci		mclk-fs = <512>;
3562306a36Sopenharmony_ci		/*
3662306a36Sopenharmony_ci		 * (C) CPU2 -> PCM3168A-p
3762306a36Sopenharmony_ci		 */
3862306a36Sopenharmony_ci		port@0 {
3962306a36Sopenharmony_ci			reg = <0>;
4062306a36Sopenharmony_ci			pcm3168a_endpoint_p: endpoint {
4162306a36Sopenharmony_ci				remote-endpoint = <&rsnd_for_pcm3168a_play>;
4262306a36Sopenharmony_ci				clocks = <&clksndsel>;
4362306a36Sopenharmony_ci			};
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci		/*
4662306a36Sopenharmony_ci		 * (D) CPU3 <- PCM3168A-c
4762306a36Sopenharmony_ci		 */
4862306a36Sopenharmony_ci		port@1 {
4962306a36Sopenharmony_ci			reg = <1>;
5062306a36Sopenharmony_ci			pcm3168a_endpoint_c: endpoint {
5162306a36Sopenharmony_ci				remote-endpoint = <&rsnd_for_pcm3168a_capture>;
5262306a36Sopenharmony_ci				clocks = <&clksndsel>;
5362306a36Sopenharmony_ci			};
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci&rcar_sound {
5962306a36Sopenharmony_ci	ports {
6062306a36Sopenharmony_ci		/* rsnd_port0/1 are defined in ulcb.dtsi */
6162306a36Sopenharmony_ci		/*
6262306a36Sopenharmony_ci		 * (C) CPU2 -> PCM3168A-p
6362306a36Sopenharmony_ci		 */
6462306a36Sopenharmony_ci		rsnd_port2: port@2 {
6562306a36Sopenharmony_ci			reg = <2>;
6662306a36Sopenharmony_ci			rsnd_for_pcm3168a_play: endpoint {
6762306a36Sopenharmony_ci				remote-endpoint = <&pcm3168a_endpoint_p>;
6862306a36Sopenharmony_ci				bitclock-master;
6962306a36Sopenharmony_ci				frame-master;
7062306a36Sopenharmony_ci				dai-tdm-slot-num = <8>;
7162306a36Sopenharmony_ci				playback = <&ssi3>;
7262306a36Sopenharmony_ci			};
7362306a36Sopenharmony_ci		};
7462306a36Sopenharmony_ci		/*
7562306a36Sopenharmony_ci		 * (D) CPU3 <- PCM3168A-c
7662306a36Sopenharmony_ci		 */
7762306a36Sopenharmony_ci		rsnd_port3: port@3 {
7862306a36Sopenharmony_ci			reg = <3>;
7962306a36Sopenharmony_ci			rsnd_for_pcm3168a_capture: endpoint {
8062306a36Sopenharmony_ci				remote-endpoint = <&pcm3168a_endpoint_c>;
8162306a36Sopenharmony_ci				bitclock-master;
8262306a36Sopenharmony_ci				frame-master;
8362306a36Sopenharmony_ci				dai-tdm-slot-num = <6>;
8462306a36Sopenharmony_ci				capture = <&ssi4>;
8562306a36Sopenharmony_ci			};
8662306a36Sopenharmony_ci		};
8762306a36Sopenharmony_ci	};
8862306a36Sopenharmony_ci};
89