From 180429bfc3e54aa9e83fe6da12b492b9702789e3 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Sat, 9 May 2020 11:55:05 +0800 Subject: [PATCH 01/18] topology: tokens: add token for component UUID Add the definition SOF_TKN_COMP_UUID for the component UUID token, this could be used for process components as subtype/flavor soon. Signed-off-by: Keyon Jie --- tools/topology/sof/tokens.m4 | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/topology/sof/tokens.m4 b/tools/topology/sof/tokens.m4 index d407bb0435ce..300f8f723a57 100644 --- a/tools/topology/sof/tokens.m4 +++ b/tools/topology/sof/tokens.m4 @@ -59,6 +59,7 @@ SectionVendorTokens."sof_comp_tokens" { # Token retired with ABI 3.2, do not use for new capabilities # SOF_TKN_COMP_PRELOAD_COUNT "403" SOF_TKN_COMP_CORE_ID "404" + SOF_TKN_COMP_UUID "405" } SectionVendorTokens."sof_ssp_tokens" { From ecadf74c5bb6b99332b9e7afb551d13ea31335e5 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Thu, 28 May 2020 15:59:17 +0800 Subject: [PATCH 02/18] topology: utils: add DECLARE_SOF_RT_UUID() helper Add a helper DECLARE_SOF_RT_UUID() to generate the 16 Bytes UUID string. The input string in this format (copied from the FW source directly): DECLARE_SOF_RT_UUID(name, uuid_macro, a, b, c, d0, d1, d2, d3, d4, d5, d6, d7); The output string should be in this format: a6a7:a4a5:a2a3:a0a1:b2b3:b0b1:c2c3:c0c1:d00d01:d10d11:d20d21:d30d31: d40d41:d50d51:d60d61:d70d71 e.g. for demux component, the macro usage is: DECLARE_SOF_RT_UUID("demux", demux_uuid, 0xc4b26868, 0x1430, 0x470e, 0xa0, 0x89, 0x15, 0xd1, 0xc7, 0x7f, 0x85, 0x1a); while the output will be: 68:68:b2:c4:30:14:0e:47:a0:89:15:d1:c7:7f:85:1a Signed-off-by: Keyon Jie --- tools/topology/m4/utils.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/utils.m4 b/tools/topology/m4/utils.m4 index 3def85080ecd..8cbf700a413b 100644 --- a/tools/topology/m4/utils.m4 +++ b/tools/topology/m4/utils.m4 @@ -171,5 +171,17 @@ define(`BITS_TO_BYTE', `eval(eval($1 << 0) | eval($2 << 1) | eval($3 << 2) | eval($4 << 3)dnl | eval($5 << 4) | eval($6 << 5) | eval($7 << 6) | eval($8 << 7))')dnl +dnl macro for component UUID declare, support copying from the FW source directly. +dnl DECLARE_SOF_RT_UUID(name, macro, a, b, c, +dnl d0, d1, d2, d3, d4, d5, d6, d7) +define(`DECLARE_SOF_RT_UUID', +`define(`$2', + `format(`%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s:%2s', + substr($3, 8, 2), substr($3, 6, 2), substr($3, 4, 2), substr($3, 2, 2), + substr($4, 4, 2), substr($4, 2, 2), substr($5, 4, 2), substr($5, 2, 2), + substr($6, 2, 2), substr($7, 2, 2), substr($8, 2, 2), substr($9, 2, 2), + substr($10, 2, 2), substr($11, 2, 2), substr($12, 2, 2), substr($13, 2, 2) +)')') + divert(0) dnl From 4690aea06384b0d908ae56147acd3ac953dcebf2 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 10 Aug 2020 10:15:06 +0800 Subject: [PATCH 03/18] test: topology: includes utils.m4 first Move the including of utils.m4 to first as it is needed by other component m4 files. Signed-off-by: Keyon Jie --- tools/test/topology/test-all.m4 | 2 +- tools/test/topology/test-capture.m4 | 2 +- tools/test/topology/test-playback.m4 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/test/topology/test-all.m4 b/tools/test/topology/test-all.m4 index ec12ec5d15b8..236b503dd666 100644 --- a/tools/test/topology/test-all.m4 +++ b/tools/test/topology/test-all.m4 @@ -3,9 +3,9 @@ # # Include topology builder +include(`utils.m4') include(`dai.m4') include(`ssp.m4') -include(`utils.m4') include(`pipeline.m4') # Include TLV library diff --git a/tools/test/topology/test-capture.m4 b/tools/test/topology/test-capture.m4 index 50ea33753764..068629f0d881 100644 --- a/tools/test/topology/test-capture.m4 +++ b/tools/test/topology/test-capture.m4 @@ -3,10 +3,10 @@ # # Include topology builder +include(`utils.m4') include(`dai.m4') include(`ssp.m4') include(`dmic.m4') -include(`utils.m4') include(`pipeline.m4') # Include TLV library diff --git a/tools/test/topology/test-playback.m4 b/tools/test/topology/test-playback.m4 index 1a73e9e3b186..cb1b6f69a6b2 100644 --- a/tools/test/topology/test-playback.m4 +++ b/tools/test/topology/test-playback.m4 @@ -3,10 +3,10 @@ # # Include topology builder +include(`utils.m4') include(`pipeline.m4') include(`dai.m4') include(`ssp.m4') -include(`utils.m4') # Include TLV library include(`common/tlv.m4') From 212a1ee541b5c2daa1887f484472fc34d6dd6161 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Thu, 28 May 2020 16:09:14 +0800 Subject: [PATCH 04/18] topology: smart_amp: add uuid token to the widget Add the uuid token to smart_amp widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/smart_amp.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/smart_amp.m4 b/tools/topology/m4/smart_amp.m4 index 3f78f94714ca..3afac3e3205b 100644 --- a/tools/topology/m4/smart_amp.m4 +++ b/tools/topology/m4/smart_amp.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for smart_amp(Smart Amplifier) widget +DECLARE_SOF_RT_UUID("smart_amp-test", smart_amp_comp_uuid, 0x167a961e, 0x8ae4, + 0x11ea, 0x89, 0xf1, 0x00, 0x0c, 0x29, 0xce, 0x16, 0x35) dnl SMART_AMP name) define(`N_SMART_AMP', `SMART_AMP'PIPELINE_ID`.'$1) dnl W_SMART_AMP(name, format, periods_sink, periods_source, kcontrols_list) define(`W_SMART_AMP', +`SectionVendorTuples."'N_SMART_AMP($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(smart_amp_comp_uuid) +` }' +`}' +`SectionData."'N_SMART_AMP($1)`_data_uuid" {' +` tuples "'N_SMART_AMP($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_SMART_AMP($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -38,6 +49,7 @@ define(`W_SMART_AMP', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_SMART_AMP($1)`_data_uuid"' ` "'N_SMART_AMP($1)`_data_w"' ` "'N_SMART_AMP($1)`_data_str"' ` ]' From 94fe1170b8dd1de12d8ecc615637d7a49359d926 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Sat, 9 May 2020 11:57:52 +0800 Subject: [PATCH 05/18] topology: muxdemux: add uuid token support Add the uuid token to muxdemux widgets for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/muxdemux.m4 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/topology/m4/muxdemux.m4 b/tools/topology/m4/muxdemux.m4 index d27b067e5704..68fc23506dca 100644 --- a/tools/topology/m4/muxdemux.m4 +++ b/tools/topology/m4/muxdemux.m4 @@ -1,6 +1,10 @@ divert(-1) -dnl Define macro for demux widget +dnl Define macro for mux/demux widget +DECLARE_SOF_RT_UUID("mux", mux_uuid, 0xc607ff4d, 0x9cb6, 0x49dc, + 0xb6, 0x78, 0x7d, 0xa3, 0xc6, 0x3e, 0xa5, 0x57) +DECLARE_SOF_RT_UUID("demux", demux_uuid, 0xc4b26868, 0x1430, 0x470e, + 0xa0, 0x89, 0x15, 0xd1, 0xc7, 0x7f, 0x85, 0x1a) dnl Hard coded values for mux/demux config blob define(mux_sof_magic, 0x00464F53) @@ -36,6 +40,17 @@ define(`N_MUXDEMUX', `MUXDEMUX'PIPELINE_ID`.'$1) dnl W_MUXDEMUX(name, mux/demux, format, periods_sink, periods_source, core, kcontrol_list) define(`W_MUXDEMUX', +`SectionVendorTuples."'N_MUXDEMUX($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +ifelse(`$2', `0', +` SOF_TKN_COMP_UUID' STR(mux_uuid), +` SOF_TKN_COMP_UUID' STR(demux_uuid)) +` }' +`}' +`SectionData."'N_MUXDEMUX($1)`_data_uuid" {' +` tuples "'N_MUXDEMUX($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_MUXDEMUX($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -68,6 +83,7 @@ define(`W_MUXDEMUX', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_MUXDEMUX($1)`_data_uuid"' ` "'N_MUXDEMUX($1)`_data_w"' ` "'N_MUXDEMUX($1)`_data_str"' ` ]' From 4d787ad10035bf5aa5004c16ae943c24d3876ce2 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Thu, 28 May 2020 16:37:20 +0800 Subject: [PATCH 06/18] topology: detect: add uuid token support Add the uuid token to detect widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/detect.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/detect.m4 b/tools/topology/m4/detect.m4 index 30fcfff2f56f..19c2849899c2 100644 --- a/tools/topology/m4/detect.m4 +++ b/tools/topology/m4/detect.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for generic detection widget +DECLARE_SOF_RT_UUID("kd-test", keyword_uuid, 0xeba8d51f, 0x7827, 0x47b5, + 0x82, 0xee, 0xde, 0x6e, 0x77, 0x43, 0xaf, 0x67) dnl N_DETECT(name) define(`N_DETECT', `DETECT'PIPELINE_ID`.'$1) dnl W_DETECT(name, format, periods_sink, periods_source, detect_type, stream_name, core, kcontrols_list) define(`W_DETECT', +`SectionVendorTuples."'N_DETECT($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(keyword_uuid) +` }' +`}' +`SectionData."'N_DETECT($1)`_data_uuid" {' +` tuples "'N_DETECT($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_DETECT($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -42,6 +53,7 @@ define(`W_DETECT', ` event_flags "15"' # trapping PRE/POST_PMU/PMD events ` event_type "1"' # 1 for DAPM event for detect component ` data [' +` "'N_DETECT($1)`_data_uuid"' ` "'N_DETECT($1)`_data_w"' ` "'N_DETECT($1)`_data_str"' ` ]' From 14157439c5da4feed5f93282f5e4c98ba320dbc3 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Thu, 28 May 2020 16:42:54 +0800 Subject: [PATCH 07/18] topology: ch_sel: add uuid token support Add the uuid token to ch_sel widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/ch_sel.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/ch_sel.m4 b/tools/topology/m4/ch_sel.m4 index 8ddcbb816b7c..e34ee8e9217b 100644 --- a/tools/topology/m4/ch_sel.m4 +++ b/tools/topology/m4/ch_sel.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for channel selector widget +DECLARE_SOF_RT_UUID("selector", selector_uuid, 0x55a88ed5, 0x3d18, 0x46ca, + 0x88, 0xf1, 0x0e, 0xe6, 0xea, 0xe9, 0x93, 0x0f) dnl N_SELECTOR(name) define(`N_SELECTOR', `SELECTOR'PIPELINE_ID`.'$1) dnl W_SELECTOR(name, format, periods_sink, periods_source, core, kcontrols_list) define(`W_SELECTOR', +`SectionVendorTuples."'N_SELECTOR($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(selector_uuid) +` }' +`}' +`SectionData."'N_SELECTOR($1)`_data_uuid" {' +` tuples "'N_SELECTOR($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_SELECTOR($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -39,6 +50,7 @@ define(`W_SELECTOR', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_SELECTOR($1)`_data_uuid"' ` "'N_SELECTOR($1)`_data_w"' ` "'N_SELECTOR($1)`_data_str"' ` ]' From df362acafeb89b72d32f4879aec03406f2d5d818 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Thu, 28 May 2020 16:47:10 +0800 Subject: [PATCH 08/18] topology: kpbm: add uuid token support Add the uuid token to kpb widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/kpbm.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/kpbm.m4 b/tools/topology/m4/kpbm.m4 index fd49209a6474..1b9835f0ec78 100644 --- a/tools/topology/m4/kpbm.m4 +++ b/tools/topology/m4/kpbm.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for Key Phrase Buffer Manager(kpbm) widget +DECLARE_SOF_RT_UUID("kpb", kpb_uuid, 0xd8218443, 0x5ff3, 0x4a4c, + 0xb3, 0x88, 0x6c, 0xfe, 0x07, 0xb9, 0x56, 0x2e) dnl N_KPBM(name) define(`N_KPBM', `KPBM'$2`.'$1) dnl W_KPBM(name, format, periods_sink, periods_source, pipeline_id, core, kcontrols_list) define(`W_KPBM', +`SectionVendorTuples."'N_KPBM($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(kpb_uuid) +` }' +`}' +`SectionData."'N_KPBM($1)`_data_uuid" {' +` tuples "'N_KPBM($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_KPBM($1, $5)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -39,6 +50,7 @@ define(`W_KPBM', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_KPBM($1)`_data_uuid"' ` "'N_KPBM($1, $5)`_data_w"' ` "'N_KPBM($1, $5)`_data_str"' ` ]' From f189fd22ffa64af6878012758fee984339a3e4f0 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 11:52:52 +0800 Subject: [PATCH 09/18] topology: asrc: add uuid token support Add the uuid token to asrc widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/asrc.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/asrc.m4 b/tools/topology/m4/asrc.m4 index 5239f4ebcc6c..a25c327f60c4 100644 --- a/tools/topology/m4/asrc.m4 +++ b/tools/topology/m4/asrc.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Defines the macro for ASRC widget +DECLARE_SOF_RT_UUID("asrc", asrc_uuid, 0xc8ec72f6, 0x8526, 0x4faf, + 0x9d, 0x39, 0xa2, 0x3d, 0x0b, 0x54, 0x1d, 0xe2) dnl ASRC name) define(`N_ASRC', `ASRC'PIPELINE_ID`.'$1) dnl W_ASRC(name, format, periods_sink, periods_source, data) define(`W_ASRC', +`SectionVendorTuples."'N_ASRC($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(asrc_uuid) +` }' +`}' +`SectionData."'N_ASRC($1)`_data_uuid" {' +` tuples "'N_ASRC($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_ASRC($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -31,6 +42,7 @@ define(`W_ASRC', ` type "asrc"' ` no_pm "true"' ` data [' +` "'N_ASRC($1)`_data_uuid"' ` "'N_ASRC($1)`_data_w"' ` "'N_ASRC($1)`_data_str"' ` "'$5`"' From 869dd116a75bfcfd91a52113d1b21597cec262f6 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 11:59:25 +0800 Subject: [PATCH 10/18] topology: dai: add uuid token support Add the uuid token to dai widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/dai.m4 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tools/topology/m4/dai.m4 b/tools/topology/m4/dai.m4 index ca479b6a694e..88ffa9b1efa5 100644 --- a/tools/topology/m4/dai.m4 +++ b/tools/topology/m4/dai.m4 @@ -3,6 +3,8 @@ divert(-1) include(`debug.m4') dnl Define macros for DAI IN/OUT widgets and DAI config +DECLARE_SOF_RT_UUID("dai", dai_comp_uuid, 0xc2b00d27, 0xffbc, 0x4150, + 0xa5, 0x1a, 0x24, 0x5c, 0x79, 0xc5, 0xe5, 0x4b) dnl N_DAI(name) define(`N_DAI', DAI_NAME) @@ -11,6 +13,15 @@ define(`N_DAI_IN', DAI_NAME`.IN') dnl W_DAI_OUT(type, index, dai_link, format, periods_sink, periods_source, core) define(`W_DAI_OUT', +`SectionVendorTuples."'N_DAI_OUT`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(dai_comp_uuid) +` }' +`}' +`SectionData."'N_DAI_OUT`_data_uuid" {' +` tuples "'N_DAI_OUT`_tuples_uuid"' +`}' `SectionVendorTuples."'N_DAI_OUT`_tuples_w_comp" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -56,6 +67,7 @@ define(`W_DAI_OUT', ` stream_name' STR($3) ` no_pm "true"' ` data [' +` "'N_DAI_OUT`_data_uuid"' ` "'N_DAI_OUT`_data_w"' ` "'N_DAI_OUT`_data_w_comp"' ` "'N_DAI_OUT`_data_str"' @@ -65,6 +77,15 @@ define(`W_DAI_OUT', dnl W_DAI_IN(type, index, dai_link, format, periods_sink, periods_source, core) define(`W_DAI_IN', +`SectionVendorTuples."'N_DAI_IN`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(dai_comp_uuid) +` }' +`}' +`SectionData."'N_DAI_IN`_data_uuid" {' +` tuples "'N_DAI_IN`_tuples_uuid"' +`}' `SectionVendorTuples."'N_DAI_IN`_tuples_w_comp" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -110,6 +131,7 @@ define(`W_DAI_IN', ` stream_name' STR($3) ` no_pm "true"' ` data [' +` "'N_DAI_IN`_data_uuid"' ` "'N_DAI_IN`_data_w"' ` "'N_DAI_IN`_data_w_comp"' ` "'N_DAI_IN`_data_str"' From 96c9169fc04bb15775662a3a1ad6d5f3818851c8 Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 12:04:54 +0800 Subject: [PATCH 11/18] topology: dcblock: add uuid token support Add the uuid token to dcblock widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/dcblock.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/dcblock.m4 b/tools/topology/m4/dcblock.m4 index 19d373bbb13a..02263b806abb 100644 --- a/tools/topology/m4/dcblock.m4 +++ b/tools/topology/m4/dcblock.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for DC Blocking Filter widget +DECLARE_SOF_RT_UUID("dcblock", dcblock_uuid, 0xb809efaf, 0x5681, 0x42b1, + 0x9e, 0xd6, 0x04, 0xbb, 0x01, 0x2d, 0xd3, 0x84) dnl N_DCBLOCK(name) define(`N_DCBLOCK', `DCBLOCK'PIPELINE_ID`.'$1) dnl W_DCBLOCK(name, format, periods_sink, periods_source, core, kcontrols_list) define(`W_DCBLOCK', +`SectionVendorTuples."'N_DCBLOCK($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(dcblock_uuid) +` }' +`}' +`SectionData."'N_DCBLOCK($1)`_data_uuid" {' +` tuples "'N_DCBLOCK($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_DCBLOCK($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -41,6 +52,7 @@ define(`W_DCBLOCK', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_DCBLOCK($1)`_data_uuid"' ` "'N_DCBLOCK($1)`_data_w"' ` "'N_DCBLOCK($1)`_data_str"' ` "'N_DCBLOCK($1)`_data_str_type"' From e1a1184bffa1795a05d2f9fb300cca42e2b04f9a Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 12:11:22 +0800 Subject: [PATCH 12/18] topology: eq_fir: add uuid token support Add the uuid token to eq_fir widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/eq_fir.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/eq_fir.m4 b/tools/topology/m4/eq_fir.m4 index 2a42b7cedac8..c1b7f67c3739 100644 --- a/tools/topology/m4/eq_fir.m4 +++ b/tools/topology/m4/eq_fir.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for Eq effect widget +DECLARE_SOF_RT_UUID("eq-fir", eq_fir_uuid, 0x43a90ce7, 0xf3a5, 0x41df, + 0xac, 0x06, 0xba, 0x98, 0x65, 0x1a, 0xe6, 0xa3) dnl N_EQ_FIR(name) define(`N_EQ_FIR', `EQFIR'PIPELINE_ID`.'$1) dnl W_EQ(name, format, periods_sink, periods_source, core, kcontrols_list) define(`W_EQ_FIR', +`SectionVendorTuples."'N_EQ_FIR($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(eq_fir_uuid) +` }' +`}' +`SectionData."'N_EQ_FIR($1)`_data_uuid" {' +` tuples "'N_EQ_FIR($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_EQ_FIR($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -41,6 +52,7 @@ define(`W_EQ_FIR', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_EQ_FIR($1)`_data_uuid"' ` "'N_EQ_FIR($1)`_data_w"' ` "'N_EQ_FIR($1)`_data_str"' ` "'N_EQ_FIR($1)`_data_str_type"' From 5b882447789dc8d8c977c794d798d82b8882940d Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 12:15:47 +0800 Subject: [PATCH 13/18] topology: eq_iir: add uuid token support Add the uuid token to eq_iir widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/eq_iir.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/eq_iir.m4 b/tools/topology/m4/eq_iir.m4 index b8b9f796613c..dd3fbe037d8f 100644 --- a/tools/topology/m4/eq_iir.m4 +++ b/tools/topology/m4/eq_iir.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for Eq effect widget +DECLARE_SOF_RT_UUID("eq-iir", eq_iir_uuid, 0x5150c0e6, 0x27f9, 0x4ec8, + 0x83, 0x51, 0xc7, 0x05, 0xb6, 0x42, 0xd1, 0x2f) dnl N_EQ_IIR(name) define(`N_EQ_IIR', `EQIIR'PIPELINE_ID`.'$1) dnl W_EQ(name, format, periods_sink, periods_source, core, kcontrols_list) define(`W_EQ_IIR', +`SectionVendorTuples."'N_EQ_IIR($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(eq_iir_uuid) +` }' +`}' +`SectionData."'N_EQ_IIR($1)`_data_uuid" {' +` tuples "'N_EQ_IIR($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_EQ_IIR($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -41,6 +52,7 @@ define(`W_EQ_IIR', ` type "effect"' ` no_pm "true"' ` data [' +` "'N_EQ_IIR($1)`_data_uuid"' ` "'N_EQ_IIR($1)`_data_w"' ` "'N_EQ_IIR($1)`_data_str"' ` "'N_EQ_IIR($1)`_data_str_type"' From 69bf532036641697cb5e725a762bb0e4f23368fe Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 12:19:12 +0800 Subject: [PATCH 14/18] topology: mixer: add uuid token support Add the uuid token to mixer widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/mixer.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/mixer.m4 b/tools/topology/m4/mixer.m4 index a34c7ed671b1..8b16a377a1e8 100644 --- a/tools/topology/m4/mixer.m4 +++ b/tools/topology/m4/mixer.m4 @@ -1,6 +1,8 @@ divert(-1) dnl Define macro for Mixer widget +DECLARE_SOF_RT_UUID("mixer", mixer_uuid, 0xbc06c037, 0x12aa, 0x417c, + 0x9a, 0x97, 0x89, 0x28, 0x2e, 0x32, 0x1a, 0x76) dnl N_MIXER(name) define(`N_MIXER', `MIXER'PIPELINE_ID`.'$1) @@ -10,6 +12,15 @@ define(`NPIPELINE_MIXER', `MIXER'$1`.'$2) dnl W_MIXER(name, format, periods_sink, periods_source, core) define(`W_MIXER', +`SectionVendorTuples."'N_MIXER($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(mixer_uuid) +` }' +`}' +`SectionData."'N_MIXER($1)`_data_uuid" {' +` tuples "'N_MIXER($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_MIXER($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -35,6 +46,7 @@ define(`W_MIXER', ` type "mixer"' ` no_pm "true"' ` data [' +` "'N_MIXER($1)`_data_uuid"' ` "'N_MIXER($1)`_data_w"' ` "'N_MIXER($1)`_data_str"' ` ]' From 1590dd7d69af28bd7f3bbb380f45c1e54eceed8b Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 13:02:37 +0800 Subject: [PATCH 15/18] topology: pcm: add uuid token support Add the uuid token to host widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/pcm.m4 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tools/topology/m4/pcm.m4 b/tools/topology/m4/pcm.m4 index a20c5fa8458d..6c19832925ed 100644 --- a/tools/topology/m4/pcm.m4 +++ b/tools/topology/m4/pcm.m4 @@ -1,6 +1,8 @@ divert(-1) dnl Define the macro for PCM playback/capture/capabilities +DECLARE_SOF_RT_UUID("host", host_uuid, 0x8b9d100c, 0x6d78, 0x418f, + 0x90, 0xa3, 0xe0, 0xe8, 0x05, 0xd0, 0x85, 0x2b) dnl N_PCM(name) define(`N_PCMP', `PCM'$1`P') @@ -9,6 +11,15 @@ define(`N_PCMC', `PCM'$1`C') dnl W_PCM_PLAYBACK(pcm, stream, periods_sink, periods_source, core) dnl PCM platform configuration define(`W_PCM_PLAYBACK', +`SectionVendorTuples."'N_PCMP($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(host_uuid) +` }' +`}' +`SectionData."'N_PCMP($1)`_data_uuid" {' +` tuples "'N_PCMP($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_PCMP($1)`_tuples_w_comp" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -26,6 +37,7 @@ define(`W_PCM_PLAYBACK', ` no_pm "true"' ` stream_name "'$2` '$1`"' ` data [' +` "'N_PCMP($1)`_data_uuid"' ` "'N_PCMP($1)`_data_w_comp"' ` ]' `}') @@ -33,6 +45,15 @@ define(`W_PCM_PLAYBACK', dnl W_PCM_CAPTURE(pcm, stream, periods_sink, periods_source, core) define(`W_PCM_CAPTURE', +`SectionVendorTuples."'N_PCMC($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(host_uuid) +` }' +`}' +`SectionData."'N_PCMC($1)`_data_uuid" {' +` tuples "'N_PCMC($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_PCMC($1)`_tuples_w_comp" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -50,6 +71,7 @@ define(`W_PCM_CAPTURE', ` no_pm "true"' ` stream_name "'$2` '$1`"' ` data [' +` "'N_PCMC($1)`_data_uuid"' ` "'N_PCMC($1)`_data_w_comp"' ` ]' `}') From f783070bec2b72a16f1d0704e11fe814519dfa3c Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 13:07:40 +0800 Subject: [PATCH 16/18] topology: pga: add uuid token support Add the uuid token to volume widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/pga.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/pga.m4 b/tools/topology/m4/pga.m4 index a6f9a8b6b63a..44ab473ccfcc 100644 --- a/tools/topology/m4/pga.m4 +++ b/tools/topology/m4/pga.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for PGA widget +DECLARE_SOF_RT_UUID("volume", volume_uuid, 0xb77e677e, 0x5ff4, 0x4188, + 0xaf, 0x14, 0xfb, 0xa8, 0xbd, 0xbf, 0x86, 0x82) dnl N_PGA(name) define(`N_PGA', `PGA'PIPELINE_ID`.'$1) dnl W_PGA(name, format, periods_sink, periods_source, core, kcontrol0. kcontrol1...etc) define(`W_PGA', +`SectionVendorTuples."'N_PGA($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(volume_uuid) +` }' +`}' +`SectionData."'N_PGA($1)`_data_uuid" {' +` tuples "'N_PGA($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_PGA($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -32,6 +43,7 @@ define(`W_PGA', ` type "pga"' ` no_pm "true"' ` data [' +` "'N_PGA($1)`_data_uuid"' ` "'N_PGA($1)`_data_w"' ` "'N_PGA($1)`_data_str"' ` "'$5`"' From b92360dcf29b072bae656fc4009a31d9b054f1ae Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 13:13:24 +0800 Subject: [PATCH 17/18] topology: src: add uuid token support Add the uuid token to src widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/src.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/src.m4 b/tools/topology/m4/src.m4 index 90099a221e10..5562a9b10cf0 100644 --- a/tools/topology/m4/src.m4 +++ b/tools/topology/m4/src.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Defines the macro for SRC widget +DECLARE_SOF_RT_UUID("src", src_uuid, 0xc1c5326d, 0x8390, 0x46b4, + 0xaa, 0x47, 0x95, 0xc3, 0xbe, 0xca, 0x65, 0x50) dnl SRC name) define(`N_SRC', `SRC'PIPELINE_ID`.'$1) dnl W_SRC(name, format, periods_sink, periods_source, data) define(`W_SRC', +`SectionVendorTuples."'N_SRC($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(src_uuid) +` }' +`}' +`SectionData."'N_SRC($1)`_data_uuid" {' +` tuples "'N_SRC($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_SRC($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -31,6 +42,7 @@ define(`W_SRC', ` type "src"' ` no_pm "true"' ` data [' +` "'N_SRC($1)`_data_uuid"' ` "'N_SRC($1)`_data_w"' ` "'N_SRC($1)`_data_str"' ` "'$5`"' From cb293a65d5f59bd9959433d41510d3f52bb7adab Mon Sep 17 00:00:00 2001 From: Keyon Jie Date: Mon, 1 Jun 2020 13:16:42 +0800 Subject: [PATCH 18/18] topology: tone: add uuid token support Add the uuid token to tone widget for the future use. Signed-off-by: Keyon Jie --- tools/topology/m4/tone.m4 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/topology/m4/tone.m4 b/tools/topology/m4/tone.m4 index 8773b776a0fb..53c1354c1765 100644 --- a/tools/topology/m4/tone.m4 +++ b/tools/topology/m4/tone.m4 @@ -1,12 +1,23 @@ divert(-1) dnl Define macro for siggen widget +DECLARE_SOF_RT_UUID("tone", tone_uuid, 0x04e3f894, 0x2c5c, 0x4f2e, + 0x8d, 0xc1, 0x69, 0x4e, 0xea, 0xab, 0x53, 0xfa) dnl N_TONE(name) define(`N_TONE', `TONE'PIPELINE_ID`.'$1) dnl W_TONE(name, format, periods_sink, periods_source, core, kcontrols_list) define(`W_TONE', +`SectionVendorTuples."'N_TONE($1)`_tuples_uuid" {' +` tokens "sof_comp_tokens"' +` tuples."uuid" {' +` SOF_TKN_COMP_UUID' STR(tone_uuid) +` }' +`}' +`SectionData."'N_TONE($1)`_data_uuid" {' +` tuples "'N_TONE($1)`_tuples_uuid"' +`}' `SectionVendorTuples."'N_TONE($1)`_tuples_w" {' ` tokens "sof_comp_tokens"' ` tuples."word" {' @@ -39,6 +50,7 @@ define(`W_TONE', ` type "siggen"' ` no_pm "true"' ` data [' +` "'N_TONE($1)`_data_uuid"' ` "'N_TONE($1)`_data_w"' ` "'N_TONE($1)`_data_str"' ` ]'