// SPDX-License-Identifier: GPL-2.0 /* * Device Tree for ULCB + Audio Graph Card2 (MIX + TDM Split) * * Copyright (C) 2022 Renesas Electronics Corp. */ /* * Note: * The HDMI output is ignored due to the limited number of subdevices * * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) * (B) CPU1 (2ch) --/ (MIX-1) * * (A) aplay -D plughw:0,0 xxx.wav * (B) aplay -D plughw:0,1 xxx.wav * * (A) arecord -D plughw:0,0 xxx.wav */ / { sound_card: sound { compatible = "audio-graph-card2"; label = "snd-ulcb-mix"; routing = "ak4613 Playback", "DAI0 Playback", "ak4613 Playback", "DAI1 Playback", "DAI0 Capture", "ak4613 Capture"; links = <&fe_a /* (A) CPU0 */ &fe_b /* (B) CPU1 */ &be_x /* (X) ak4613 */ >; dpcm { #address-cells = <1>; #size-cells = <0>; ports@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; /* * FE * (A) CPU0 (MIX-0) * (B) CPU1 (MIX-1) */ fe_a: port@0 { reg = <0>; fe_a_ep: endpoint { remote-endpoint = <&rsnd_a_ep>; }; }; fe_b: port@1 { reg = <1>; fe_b_ep: endpoint { remote-endpoint = <&rsnd_b_ep>; }; }; }; ports@1 { reg = <1>; /* * BE * (X) ak4613 */ be_x: port { be_x_ep: endpoint { remote-endpoint = <&ak4613_x_ep>; }; }; }; }; }; }; &ak4613 { port { /* * (X) ak4613 */ prefix = "ak4613"; convert-rate = <48000>; ak4613_x_ep: endpoint { remote-endpoint = <&be_x_ep>; }; }; }; &rcar_sound { #address-cells = <1>; #size-cells = <0>; ports@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; /* * (A) CPU0 */ port@0 { reg = <0>; rsnd_a_ep: endpoint { remote-endpoint = <&fe_a_ep>; bitclock-master; frame-master; playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>; capture = <&ssi1 &src0 &dvc1>; }; }; /* * (B) CPU1 */ port@1 { reg = <1>; rsnd_b_ep: endpoint { remote-endpoint = <&fe_b_ep>; bitclock-master; frame-master; playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>; }; }; }; };