[PATCH 4/6] ASoC: audio-graph-card2-custom-sample.dtsi: add verbose explanation
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Fri Jul 1 07:18:34 CEST 2022
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
audio-graph-card2-custom-sample.dtsi will be used to test
Audio-Graph-Card2 behavior. But it is difficult to say that it is easy
to understand, because the comment/explanation are not so many.
This patch add verbose explanation to it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
.../audio-graph-card2-custom-sample.dtsi | 98 +++++++++++++++++--
1 file changed, 90 insertions(+), 8 deletions(-)
diff --git a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
index 053d987a1fec..fe547c18771f 100644
--- a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
+++ b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
@@ -17,6 +17,23 @@
* CONFIG_SND_AUDIO_GRAPH_CARD2
* CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE
* CONFIG_SND_TEST_COMPONENT
+ *
+ *
+ * You can indicate more detail each device behavior as debug if you modify
+ * "compatible" on each test-component. see below
+ *
+ * test_cpu {
+ * - compatible = "test-cpu";
+ * + compatible = "test-cpu-verbose";
+ * ...
+ * };
+ *
+ * test_codec {
+ * - compatible = "test-codec";
+ * + compatible = "test-codec-verbose";
+ * ...
+ * };
+ *
*/
/ {
/*
@@ -101,35 +118,74 @@ audio-graph-card2-custom-sample {
"TC OUT", "TC DAI11 Playback",
"TC DAI9 Capture", "TC IN";
- 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 */
- &c2c /* c2c: cpu side only */
- &c2c_m /* c2c: cpu side only */
+ links = <
+ /*
+ * [Normal]: cpu side only
+ * cpu0/codec0
+ */
+ &cpu0
+
+ /*
+ * [Multi-CPU/Codec]: cpu side only
+ * cpu1/cpu2/codec1/codec2
+ */
+ &mcpu0
+
+ /*
+ * [DPCM]: both FE / BE
+ * cpu3/cpu4/codec3
+ */
+ &fe00 &fe01 &be0
+
+ /*
+ * [DPCM-Multi]: both FE / BE
+ * cpu5/cpu6/codec4/codec5
+ */
+ &fe10 &fe11 &be1
+
+ /*
+ * [Codec2Codec]: cpu side only
+ * codec6/codec7
+ */
+ &c2c
+
+ /*
+ * [Codec2Codec-Multi]: cpu side only
+ * codec8/codec9/codec10/codec11
+ */
+ &c2c_m
>;
multi {
ports at 0 {
+ /* [Multi-CPU] */
mcpu0: port at 0 { mcpu0_ep: endpoint { remote-endpoint = <&mcodec0_ep>; }; };
port at 1 { mcpu1_ep: endpoint { remote-endpoint = <&cpu1_ep>; }; };
port at 2 { mcpu2_ep: endpoint { remote-endpoint = <&cpu2_ep>; }; };
};
+
+ /* [Multi-Codec] */
ports at 1 {
port at 0 { mcodec0_ep: endpoint { remote-endpoint = <&mcpu0_ep>; }; };
port at 1 { mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
port at 2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
};
+
+ /* [DPCM-Multi]::BE */
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>; }; };
};
+
+ /* [Codec2Codec-Multi]::CPU */
ports at 3 {
port at 0 { mc2c0_ep: endpoint { remote-endpoint = <&c2cmf_ep>; }; };
port at 1 { mc2c00_ep: endpoint { remote-endpoint = <&codec8_ep>; }; };
port at 2 { mc2c01_ep: endpoint { remote-endpoint = <&codec9_ep>; }; };
};
+
+ /* [Codec2Codec-Multi]::Codec */
ports at 4 {
port at 0 { mc2c1_ep: endpoint { remote-endpoint = <&c2cmb_ep>; }; };
port at 1 { mc2c10_ep: endpoint { remote-endpoint = <&codec10_ep>; }; };
@@ -138,26 +194,34 @@ ports at 4 {
};
dpcm {
- /* FE */
ports at 0 {
+ /* [DPCM]::FE */
fe00: port at 0 { fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; };
fe01: port at 1 { fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; };
+
+ /* [DPCM-Multi]::FE */
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 {
+ /* [DPCM]::BE */
be0: port at 0 { be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; };
+
+ /* [DPCM-Multi]::BE */
be1: port at 1 { be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; };
};
};
codec2codec {
+ /* [Codec2Codec] */
ports at 0 {
/* use default settings */
c2c: port at 0 { c2cf_ep: endpoint { remote-endpoint = <&codec6_ep>; }; };
port at 1 { c2cb_ep: endpoint { remote-endpoint = <&codec7_ep>; }; };
};
+
+ /* [Codec2Codec-Multi] */
ports at 1 {
/* use original settings */
rate = <48000>;
@@ -180,11 +244,18 @@ test_cpu {
ports {
bitclock-master;
frame-master;
+ /* [Normal] */
cpu0: port at 0 { cpu0_ep: endpoint { remote-endpoint = <&codec0_ep>; }; };
+
+ /* [Multi-CPU] */
port at 1 { cpu1_ep: endpoint { remote-endpoint = <&mcpu1_ep>; }; };
port at 2 { cpu2_ep: endpoint { remote-endpoint = <&mcpu2_ep>; }; };
+
+ /* [DPCM]::FE */
port at 3 { cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; };
port at 4 { cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; };
+
+ /* [DPCM-Multi]::FE */
port at 5 { cpu5_ep: endpoint { remote-endpoint = <&fe10_ep>; }; };
port at 6 { cpu6_ep: endpoint { remote-endpoint = <&fe11_ep>; }; };
};
@@ -207,16 +278,27 @@ ports {
*/
prefix = "TC";
+ /* [Normal] */
port at 0 { codec0_ep: endpoint { remote-endpoint = <&cpu0_ep>; }; };
+
+ /* [Multi-Codec] */
port at 1 { codec1_ep: endpoint { remote-endpoint = <&mcodec1_ep>; }; };
port at 2 { codec2_ep: endpoint { remote-endpoint = <&mcodec2_ep>; }; };
+
+ /* [DPCM]::BE */
port at 3 { codec3_ep: endpoint { remote-endpoint = <&be00_ep>; }; };
+
+ /* [DPCM-Multi]::BE */
port at 4 { codec4_ep: endpoint { remote-endpoint = <&mbe1_ep>; }; };
port at 5 { codec5_ep: endpoint { remote-endpoint = <&mbe2_ep>; }; };
+
+ /* [Codec2Codec] */
port at 6 { bitclock-master;
frame-master;
codec6_ep: endpoint { remote-endpoint = <&c2cf_ep>; }; };
port at 7 { codec7_ep: endpoint { remote-endpoint = <&c2cb_ep>; }; };
+
+ /* [Codec2Codec-Multi] */
port at 8 { bitclock-master;
frame-master;
codec8_ep: endpoint { remote-endpoint = <&mc2c00_ep>; }; };
--
2.25.1
More information about the Alsa-devel
mailing list