[PATCH v4 14/16] ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi)
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Wed Oct 6 02:35:52 CEST 2021
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
This patch adds DPCM link Multi-CPU/Codec sample to
audio-graph-card2-custom-sample.dtsi.
This sample is assuming MIXer connection.
One note is that Multi-FE is not supported on ASoC
FE BE
**** +-+
CPU5 -- * * -- | | -- Codec4
CPU6 -- * * | | -- Codec5
**** +-+
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
.../audio-graph-card2-custom-sample.dtsi | 36 ++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
index b03dbce504cb..4bc96e0aa447 100644
--- a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
+++ b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
@@ -37,6 +37,17 @@ / {
* cpu3 <- at --* *-- at -> codec3
* cpu4 <- at --* *
* ****
+ *
+ * [DPCM-Multi]
+ *
+ * --NOTE--
+ * Multi-FE is not supported by ASoC.
+ *
+ * FE BE
+ * **** +-+
+ * cpu5 <- at --* *-- at -> | | -> codec4
+ * cpu6 <- at --* * | | -> codec5
+ * **** +-+
*/
audio-graph-card2-custom-sample {
/*
@@ -51,11 +62,22 @@ audio-graph-card2-custom-sample {
routing = "TC DAI3 Playback", "DAI3 Playback",
"TC DAI3 Playback", "DAI4 Playback",
"DAI3 Capture", "TC DAI3 Capture",
- "DAI4 Capture", "TC DAI3 Capture";
+ "DAI4 Capture", "TC DAI3 Capture",
+ /* for [DPCM-Multi] */
+ /* BE FE */
+ "TC DAI4 Playback", "DAI5 Playback",
+ "TC DAI5 Playback", "DAI5 Playback",
+ "TC DAI4 Playback", "DAI6 Playback",
+ "TC DAI5 Playback", "DAI6 Playback",
+ "DAI5 Capture", "TC DAI4 Capture",
+ "DAI5 Capture", "TC DAI5 Capture",
+ "DAI6 Capture", "TC DAI4 Capture",
+ "DAI6 Capture", "TC DAI5 Capture";
links = <&cpu0 /* normal: cpu side only */
&mcpu0 /* multi: cpu side only */
&fe00 &fe01 &be0 /* dpcm: both FE / BE */
+ &fe10 &fe11 &be1 /* dpcm-m: both FE / BE */
>;
multi {
@@ -69,6 +91,11 @@ ports at 1 {
port at 1 { mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
port at 2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
};
+ ports at 2 {
+ port at 0 { mbe_ep: endpoint { remote-endpoint = <&be10_ep>; }; };
+ port at 1 { mbe1_ep: endpoint { remote-endpoint = <&codec4_ep>; }; };
+ port at 2 { mbe2_ep: endpoint { remote-endpoint = <&codec5_ep>; }; };
+ };
};
dpcm {
@@ -76,10 +103,13 @@ dpcm {
ports at 0 {
fe00: port at 0 { fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; };
fe01: port at 1 { fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; };
+ fe10: port at 2 { fe10_ep: endpoint { remote-endpoint = <&cpu5_ep>; }; };
+ fe11: port at 3 { fe11_ep: endpoint { remote-endpoint = <&cpu6_ep>; }; };
};
/* BE */
ports at 1 {
be0: port at 0 { be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; };
+ be1: port at 1 { be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; };
};
};
};
@@ -102,6 +132,8 @@ ports {
port at 2 { cpu2_ep: endpoint { remote-endpoint = <&mcpu2_ep>; }; };
port at 3 { cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; };
port at 4 { cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; };
+ port at 5 { cpu5_ep: endpoint { remote-endpoint = <&fe10_ep>; }; };
+ port at 6 { cpu6_ep: endpoint { remote-endpoint = <&fe11_ep>; }; };
};
};
@@ -126,6 +158,8 @@ ports {
port at 1 { codec1_ep: endpoint { remote-endpoint = <&mcodec1_ep>; }; };
port at 2 { codec2_ep: endpoint { remote-endpoint = <&mcodec2_ep>; }; };
port at 3 { codec3_ep: endpoint { remote-endpoint = <&be00_ep>; }; };
+ port at 4 { codec4_ep: endpoint { remote-endpoint = <&mbe1_ep>; }; };
+ port at 5 { codec5_ep: endpoint { remote-endpoint = <&mbe2_ep>; }; };
};
};
};
--
2.25.1
More information about the Alsa-devel
mailing list