1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Device Tree for ULCB + Kingfisher + Audio G 3 * Device Tree for ULCB + Kingfisher + Audio Graph Card 4 * 4 * 5 * Copyright (C) 2022 Renesas Electronics Corp 5 * Copyright (C) 2022 Renesas Electronics Corp. 6 */ 6 */ 7 7 8 /* 8 /* 9 * (A) CPU0 <----> ak4613 9 * (A) CPU0 <----> ak4613 10 * (B) CPU1 ----> HDMI 10 * (B) CPU1 ----> HDMI 11 * (C) CPU2 ----> PCM3168A-p (8ch) 11 * (C) CPU2 ----> PCM3168A-p (8ch) 12 * (D) CPU3 <---- PCM3168A-c (6ch) 12 * (D) CPU3 <---- PCM3168A-c (6ch) 13 * 13 * 14 * (A) aplay -D plughw:0,0 xxx.wav 14 * (A) aplay -D plughw:0,0 xxx.wav 15 * (B) aplay -D plughw:0,1 xxx.wav 15 * (B) aplay -D plughw:0,1 xxx.wav 16 * (C) aplay -D plughw:1,0 xxx.wav !! 16 * (C) aplay -D plughw:0,2 xxx.wav 17 * 17 * 18 * (A) arecord -D plughw:0,0 xxx.wav 18 * (A) arecord -D plughw:0,0 xxx.wav 19 * (D) arecord -D plughw:1,1 xxx.wav !! 19 * (D) arecord -D plughw:0,3 xxx.wav 20 */ 20 */ 21 / { << 22 sound_card_kf: expand-sound { << 23 compatible = "audio-graph-card << 24 label = "snd-kf"; << 25 21 26 dais = <&snd_kf1 /* (C) CPU2 !! 22 &sound_card { 27 &snd_kf2 /* (D) CPU3 < !! 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 */ 28 >; 27 >; 29 }; << 30 }; 28 }; 31 29 32 &pcm3168a { 30 &pcm3168a { 33 ports { 31 ports { 34 #address-cells = <1>; 32 #address-cells = <1>; 35 #size-cells = <0>; 33 #size-cells = <0>; 36 mclk-fs = <512>; 34 mclk-fs = <512>; 37 /* 35 /* 38 * (C) CPU2 -> PCM3168A-p 36 * (C) CPU2 -> PCM3168A-p 39 */ 37 */ 40 port@0 { 38 port@0 { 41 reg = <0>; 39 reg = <0>; 42 pcm3168a_endpoint_p: e 40 pcm3168a_endpoint_p: endpoint { 43 remote-endpoin 41 remote-endpoint = <&rsnd_for_pcm3168a_play>; 44 clocks = <&clk 42 clocks = <&clksndsel>; 45 }; 43 }; 46 }; 44 }; 47 /* 45 /* 48 * (D) CPU3 <- PCM3168A-c 46 * (D) CPU3 <- PCM3168A-c 49 */ 47 */ 50 port@1 { 48 port@1 { 51 reg = <1>; 49 reg = <1>; 52 pcm3168a_endpoint_c: e 50 pcm3168a_endpoint_c: endpoint { 53 remote-endpoin 51 remote-endpoint = <&rsnd_for_pcm3168a_capture>; 54 clocks = <&clk 52 clocks = <&clksndsel>; 55 }; 53 }; 56 }; 54 }; 57 }; 55 }; 58 }; 56 }; 59 57 60 &rcar_sound { 58 &rcar_sound { 61 ports@1 { !! 59 ports { 62 #address-cells = <1>; !! 60 /* rsnd_port0/1 are defined in ulcb.dtsi */ 63 #size-cells = <0>; << 64 reg = <1>; << 65 << 66 /* 61 /* 67 * (C) CPU2 -> PCM3168A-p 62 * (C) CPU2 -> PCM3168A-p 68 */ 63 */ 69 snd_kf1: port@2 { !! 64 rsnd_port2: port@2 { 70 reg = <2>; 65 reg = <2>; 71 rsnd_for_pcm3168a_play 66 rsnd_for_pcm3168a_play: endpoint { 72 remote-endpoin 67 remote-endpoint = <&pcm3168a_endpoint_p>; 73 bitclock-maste 68 bitclock-master; 74 frame-master; 69 frame-master; 75 dai-tdm-slot-n 70 dai-tdm-slot-num = <8>; 76 playback = <&s 71 playback = <&ssi3>; 77 }; 72 }; 78 }; 73 }; 79 /* 74 /* 80 * (D) CPU3 <- PCM3168A-c 75 * (D) CPU3 <- PCM3168A-c 81 */ 76 */ 82 snd_kf2: port@3 { !! 77 rsnd_port3: port@3 { 83 reg = <3>; 78 reg = <3>; 84 rsnd_for_pcm3168a_capt 79 rsnd_for_pcm3168a_capture: endpoint { 85 remote-endpoin 80 remote-endpoint = <&pcm3168a_endpoint_c>; 86 bitclock-maste 81 bitclock-master; 87 frame-master; 82 frame-master; 88 dai-tdm-slot-n 83 dai-tdm-slot-num = <6>; 89 capture = <&ss 84 capture = <&ssi4>; 90 }; 85 }; 91 }; 86 }; 92 }; 87 }; 93 }; 88 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.