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