1ccb26ac5SKuninori Morimoto// SPDX-License-Identifier: GPL-2.0 2ccb26ac5SKuninori Morimoto/* 3ccb26ac5SKuninori Morimoto * Device Tree for ULCB + Audio Graph Card (MIX) 4ccb26ac5SKuninori Morimoto * 5ccb26ac5SKuninori Morimoto * Copyright (C) 2022 Renesas Electronics Corp. 6ccb26ac5SKuninori Morimoto */ 7ccb26ac5SKuninori Morimoto 8ccb26ac5SKuninori Morimoto/* 9ccb26ac5SKuninori Morimoto * Note: 10ccb26ac5SKuninori Morimoto * The HDMI output is ignored due to the limited number of subdevices 11ccb26ac5SKuninori Morimoto * 12ccb26ac5SKuninori Morimoto * (A) CPU0 (2ch) <-----> (2ch) (X) ak4613 (MIX-0) 13ccb26ac5SKuninori Morimoto * (B) CPU1 (2ch) --/ (MIX-1) 14ccb26ac5SKuninori Morimoto * 15ccb26ac5SKuninori Morimoto * (A) aplay -D plughw:0,0 xxx.wav 16ccb26ac5SKuninori Morimoto * (B) aplay -D plughw:0,1 xxx.wav 17ccb26ac5SKuninori Morimoto * 18ccb26ac5SKuninori Morimoto * (A) arecord -D plughw:0,0 xxx.wav 19ccb26ac5SKuninori Morimoto */ 20ccb26ac5SKuninori Morimoto 21ccb26ac5SKuninori Morimoto/ { 22ccb26ac5SKuninori Morimoto sound_card: sound { 23ccb26ac5SKuninori Morimoto compatible = "audio-graph-scu-card"; 24*d70be079SKuninori Morimoto label = "snd-ulcb-mix"; 25ccb26ac5SKuninori Morimoto 26ccb26ac5SKuninori Morimoto routing = "ak4613 Playback", "DAI0 Playback", 27ccb26ac5SKuninori Morimoto "ak4613 Playback", "DAI1 Playback", 28ccb26ac5SKuninori Morimoto "DAI0 Capture", "ak4613 Capture"; 29ccb26ac5SKuninori Morimoto 30*d70be079SKuninori Morimoto dais = <&snd_ulcb1 /* (A) CPU0 */ 31*d70be079SKuninori Morimoto &snd_ulcb2 /* (B) CPU1 */ 32ccb26ac5SKuninori Morimoto >; 33ccb26ac5SKuninori Morimoto }; 34ccb26ac5SKuninori Morimoto}; 35ccb26ac5SKuninori Morimoto 36ccb26ac5SKuninori Morimoto&ak4613 { 37ccb26ac5SKuninori Morimoto port { 38ccb26ac5SKuninori Morimoto #address-cells = <1>; 39ccb26ac5SKuninori Morimoto #size-cells = <0>; 40ccb26ac5SKuninori Morimoto 41ccb26ac5SKuninori Morimoto /* 42ccb26ac5SKuninori Morimoto * (X) ak4613 43ccb26ac5SKuninori Morimoto */ 44ccb26ac5SKuninori Morimoto prefix = "ak4613"; 45ccb26ac5SKuninori Morimoto convert-rate = <48000>; 46ccb26ac5SKuninori Morimoto 47ccb26ac5SKuninori Morimoto /* (A) CPU0 <-> (X) ak4613 */ 48ccb26ac5SKuninori Morimoto ak4613_ep1: endpoint@0 { 49ccb26ac5SKuninori Morimoto reg = <0>; 50ccb26ac5SKuninori Morimoto remote-endpoint = <&rsnd_for_ak4613_1>; 51ccb26ac5SKuninori Morimoto }; 52ccb26ac5SKuninori Morimoto /* (B) CPU1 -> (X) ak4613 */ 53ccb26ac5SKuninori Morimoto ak4613_ep2: endpoint@1 { 54ccb26ac5SKuninori Morimoto reg = <1>; 55ccb26ac5SKuninori Morimoto remote-endpoint = <&rsnd_for_ak4613_2>; 56ccb26ac5SKuninori Morimoto }; 57ccb26ac5SKuninori Morimoto }; 58ccb26ac5SKuninori Morimoto}; 59ccb26ac5SKuninori Morimoto 60ccb26ac5SKuninori Morimoto&rcar_sound { 61ccb26ac5SKuninori Morimoto #address-cells = <1>; 62ccb26ac5SKuninori Morimoto #size-cells = <0>; 63ccb26ac5SKuninori Morimoto 64*d70be079SKuninori Morimoto ports@0 { 65*d70be079SKuninori Morimoto #address-cells = <1>; 66*d70be079SKuninori Morimoto #size-cells = <0>; 67*d70be079SKuninori Morimoto reg = <0>; 68*d70be079SKuninori Morimoto 69ccb26ac5SKuninori Morimoto /* 70ccb26ac5SKuninori Morimoto * (A) CPU0 71ccb26ac5SKuninori Morimoto */ 72*d70be079SKuninori Morimoto snd_ulcb1: port@0 { 73ccb26ac5SKuninori Morimoto reg = <0>; 74ccb26ac5SKuninori Morimoto rsnd_for_ak4613_1: endpoint { 75ccb26ac5SKuninori Morimoto remote-endpoint = <&ak4613_ep1>; 76ccb26ac5SKuninori Morimoto bitclock-master; 77ccb26ac5SKuninori Morimoto frame-master; 78ccb26ac5SKuninori Morimoto playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>; 79ccb26ac5SKuninori Morimoto capture = <&ssi1 &src0 &dvc1>; 80ccb26ac5SKuninori Morimoto }; 81ccb26ac5SKuninori Morimoto }; 82ccb26ac5SKuninori Morimoto /* 83ccb26ac5SKuninori Morimoto * (B) CPU1 84ccb26ac5SKuninori Morimoto */ 85*d70be079SKuninori Morimoto snd_ulcb2: port@1 { 86ccb26ac5SKuninori Morimoto reg = <1>; 87ccb26ac5SKuninori Morimoto rsnd_for_ak4613_2: endpoint { 88ccb26ac5SKuninori Morimoto remote-endpoint = <&ak4613_ep2>; 89ccb26ac5SKuninori Morimoto bitclock-master; 90ccb26ac5SKuninori Morimoto frame-master; 91ccb26ac5SKuninori Morimoto playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>; 92ccb26ac5SKuninori Morimoto }; 93ccb26ac5SKuninori Morimoto }; 94ccb26ac5SKuninori Morimoto }; 95ccb26ac5SKuninori Morimoto}; 96