1// 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}; 94