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:0,2 xxx.wav 17 * 18 * (A) arecord -D plughw:0,0 xxx.wav 19 * (D) arecord -D plughw:0,3 xxx.wav 20 */ 21 22&sound_card { 23 dais = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */ 24 &rsnd_port1 /* (B) CPU1 -> HDMI */ 25 &rsnd_port2 /* (C) CPU2 -> PCM3168A-p */ 26 &rsnd_port3 /* (D) CPU3 <- PCM3168A-c */ 27 >; 28}; 29 30&pcm3168a { 31 ports { 32 #address-cells = <1>; 33 #size-cells = <0>; 34 mclk-fs = <512>; 35 /* 36 * (C) CPU2 -> PCM3168A-p 37 */ 38 port@0 { 39 reg = <0>; 40 pcm3168a_endpoint_p: endpoint { 41 remote-endpoint = <&rsnd_for_pcm3168a_play>; 42 clocks = <&clksndsel>; 43 }; 44 }; 45 /* 46 * (D) CPU3 <- PCM3168A-c 47 */ 48 port@1 { 49 reg = <1>; 50 pcm3168a_endpoint_c: endpoint { 51 remote-endpoint = <&rsnd_for_pcm3168a_capture>; 52 clocks = <&clksndsel>; 53 }; 54 }; 55 }; 56}; 57 58&rcar_sound { 59 ports { 60 /* rsnd_port0/1 are defined in ulcb.dtsi */ 61 /* 62 * (C) CPU2 -> PCM3168A-p 63 */ 64 rsnd_port2: port@2 { 65 reg = <2>; 66 rsnd_for_pcm3168a_play: endpoint { 67 remote-endpoint = <&pcm3168a_endpoint_p>; 68 bitclock-master; 69 frame-master; 70 dai-tdm-slot-num = <8>; 71 playback = <&ssi3>; 72 }; 73 }; 74 /* 75 * (D) CPU3 <- PCM3168A-c 76 */ 77 rsnd_port3: port@3 { 78 reg = <3>; 79 rsnd_for_pcm3168a_capture: endpoint { 80 remote-endpoint = <&pcm3168a_endpoint_c>; 81 bitclock-master; 82 frame-master; 83 dai-tdm-slot-num = <6>; 84 capture = <&ssi4>; 85 }; 86 }; 87 }; 88}; 89