1baa19ec4SKuninori Morimoto// SPDX-License-Identifier: GPL-2.0 2baa19ec4SKuninori Morimoto/* 3baa19ec4SKuninori Morimoto * Device Tree for ULCB + Audio Graph Card 4baa19ec4SKuninori Morimoto * 5baa19ec4SKuninori Morimoto * Copyright (C) 2022 Renesas Electronics Corp. 6baa19ec4SKuninori Morimoto */ 7baa19ec4SKuninori Morimoto 8baa19ec4SKuninori Morimoto/* 9baa19ec4SKuninori Morimoto * (A) CPU0 <-----> ak4613 10baa19ec4SKuninori Morimoto * (B) CPU1 -----> HDMI 11baa19ec4SKuninori Morimoto * 12baa19ec4SKuninori Morimoto * (A) aplay -D plughw:0,0 xxx.wav 13baa19ec4SKuninori Morimoto * (B) aplay -D plughw:0,1 xxx.wav 14baa19ec4SKuninori Morimoto * 15baa19ec4SKuninori Morimoto * (A) arecord -D plughw:0,0 xxx.wav 16baa19ec4SKuninori Morimoto */ 17baa19ec4SKuninori Morimoto 18baa19ec4SKuninori Morimoto/ { 19baa19ec4SKuninori Morimoto sound_card: sound { 20baa19ec4SKuninori Morimoto compatible = "audio-graph-card"; 21*d70be079SKuninori Morimoto label = "snd-ulcb"; 22baa19ec4SKuninori Morimoto 23*d70be079SKuninori Morimoto dais = <&snd_ulcb1 /* (A) CPU0 <-> ak4613 */ 24*d70be079SKuninori Morimoto &snd_ulcb2 /* (B) CPU1 -> HDMI */ 25baa19ec4SKuninori Morimoto >; 26baa19ec4SKuninori Morimoto }; 27baa19ec4SKuninori Morimoto}; 28baa19ec4SKuninori Morimoto 29baa19ec4SKuninori Morimoto&ak4613 { 30baa19ec4SKuninori Morimoto #sound-dai-cells = <0>; 31baa19ec4SKuninori Morimoto 32baa19ec4SKuninori Morimoto port { 33baa19ec4SKuninori Morimoto /* 34baa19ec4SKuninori Morimoto * (A) CPU0 <-> ak4613 35baa19ec4SKuninori Morimoto */ 36baa19ec4SKuninori Morimoto ak4613_endpoint: endpoint { 37baa19ec4SKuninori Morimoto remote-endpoint = <&rsnd_for_ak4613>; 38baa19ec4SKuninori Morimoto }; 39baa19ec4SKuninori Morimoto }; 40baa19ec4SKuninori Morimoto}; 41baa19ec4SKuninori Morimoto 42baa19ec4SKuninori Morimoto&hdmi0 { 43baa19ec4SKuninori Morimoto ports { 44baa19ec4SKuninori Morimoto port@2 { 45baa19ec4SKuninori Morimoto /* 46baa19ec4SKuninori Morimoto * (B) CPU1 -> HDMI 47baa19ec4SKuninori Morimoto */ 48baa19ec4SKuninori Morimoto dw_hdmi0_snd_in: endpoint { 49baa19ec4SKuninori Morimoto remote-endpoint = <&rsnd_for_hdmi>; 50baa19ec4SKuninori Morimoto }; 51baa19ec4SKuninori Morimoto }; 52baa19ec4SKuninori Morimoto }; 53baa19ec4SKuninori Morimoto}; 54baa19ec4SKuninori Morimoto 55baa19ec4SKuninori Morimoto&rcar_sound { 56baa19ec4SKuninori Morimoto #address-cells = <1>; 57baa19ec4SKuninori Morimoto #size-cells = <0>; 58*d70be079SKuninori Morimoto 59*d70be079SKuninori Morimoto ports@0 { 60*d70be079SKuninori Morimoto #address-cells = <1>; 61*d70be079SKuninori Morimoto #size-cells = <0>; 62*d70be079SKuninori Morimoto reg = <0>; 63*d70be079SKuninori Morimoto 64*d70be079SKuninori Morimoto snd_ulcb1: port@0 { 65baa19ec4SKuninori Morimoto /* 66baa19ec4SKuninori Morimoto * (A) CPU0 <-> ak4613 67baa19ec4SKuninori Morimoto */ 68baa19ec4SKuninori Morimoto reg = <0>; 69baa19ec4SKuninori Morimoto rsnd_for_ak4613: endpoint { 70baa19ec4SKuninori Morimoto remote-endpoint = <&ak4613_endpoint>; 71baa19ec4SKuninori Morimoto bitclock-master; 72baa19ec4SKuninori Morimoto frame-master; 73baa19ec4SKuninori Morimoto playback = <&ssi0>, <&src0>, <&dvc0>; 74baa19ec4SKuninori Morimoto capture = <&ssi1>, <&src1>, <&dvc1>; 75baa19ec4SKuninori Morimoto }; 76baa19ec4SKuninori Morimoto }; 77*d70be079SKuninori Morimoto snd_ulcb2: port@1 { 78baa19ec4SKuninori Morimoto /* 79baa19ec4SKuninori Morimoto * (B) CPU1 -> HDMI 80baa19ec4SKuninori Morimoto */ 81baa19ec4SKuninori Morimoto reg = <1>; 82baa19ec4SKuninori Morimoto rsnd_for_hdmi: endpoint { 83baa19ec4SKuninori Morimoto remote-endpoint = <&dw_hdmi0_snd_in>; 84baa19ec4SKuninori Morimoto bitclock-master; 85baa19ec4SKuninori Morimoto frame-master; 86baa19ec4SKuninori Morimoto playback = <&ssi2>; 87baa19ec4SKuninori Morimoto }; 88baa19ec4SKuninori Morimoto }; 89baa19ec4SKuninori Morimoto }; 90baa19ec4SKuninori Morimoto}; 91