blob: 5fbd4ca83e20d1eb08611543db437d15a087ddd2 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree for ULCB + Kingfisher + Audio Graph 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 (8ch)
12 * (D) CPU3 <---- PCM3168A-c (6ch)
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 sound_card_kf: expand-sound {
23 compatible = "audio-graph-card";
24 label = "snd-kf";
25
26 dais = <&snd_kf1 /* (C) CPU2 -> PCM3168A-p */
27 &snd_kf2 /* (D) CPU3 <- PCM3168A-c */
28 >;
29 };
30};
31
32&pcm3168a {
33 ports {
34 #address-cells = <1>;
35 #size-cells = <0>;
36 mclk-fs = <512>;
37 /*
38 * (C) CPU2 -> PCM3168A-p
39 */
40 port@0 {
41 reg = <0>;
42 pcm3168a_endpoint_p: endpoint {
43 remote-endpoint = <&rsnd_for_pcm3168a_play>;
44 clocks = <&clksndsel>;
45 };
46 };
47 /*
48 * (D) CPU3 <- PCM3168A-c
49 */
50 port@1 {
51 reg = <1>;
52 pcm3168a_endpoint_c: endpoint {
53 remote-endpoint = <&rsnd_for_pcm3168a_capture>;
54 clocks = <&clksndsel>;
55 };
56 };
57 };
58};
59
60&rcar_sound {
61 ports@1 {
62 #address-cells = <1>;
63 #size-cells = <0>;
64 reg = <1>;
65
66 /*
67 * (C) CPU2 -> PCM3168A-p
68 */
69 snd_kf1: port@2 {
70 reg = <2>;
71 rsnd_for_pcm3168a_play: endpoint {
72 remote-endpoint = <&pcm3168a_endpoint_p>;
73 bitclock-master;
74 frame-master;
75 dai-tdm-slot-num = <8>;
76 playback = <&ssi3>;
77 };
78 };
79 /*
80 * (D) CPU3 <- PCM3168A-c
81 */
82 snd_kf2: port@3 {
83 reg = <3>;
84 rsnd_for_pcm3168a_capture: endpoint {
85 remote-endpoint = <&pcm3168a_endpoint_c>;
86 bitclock-master;
87 frame-master;
88 dai-tdm-slot-num = <6>;
89 capture = <&ssi4>;
90 };
91 };
92 };
93};