# Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause SectionVendorTokens."audioreach_tokens" { AR_TKN_DAI_INDEX "1" AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "2" AR_TKN_U32_SUB_GRAPH_PERF_MODE "3" AR_TKN_U32_SUB_GRAPH_DIRECTION "4" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "5" AR_TKN_U32_CONAINER_INSTANCE_ID "100" AR_TKN_U32_CONAINER_CAPABILITY_ID "101" AR_TKN_U32_CONAINER_STACK_SIZE "102" AR_TKN_U32_CONAINER_GRAPH_POS "103" AR_TKN_U32_CONAINER_PROC_DOMAIN "104" AR_TKN_U32_MODULE_ID "200" AR_TKN_U32_MODULE_INSTANCE_ID "201" AR_TKN_U32_MODULE_MAX_IP_PORTS "202" AR_TKN_U32_MODULE_MAX_OP_PORTS "203" AR_TKN_U32_MODULE_IN_PORTS "204" AR_TKN_U32_MODULE_OUT_PORTS "205" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "206" AR_TKN_U32_MODULE_DST_IN_PORT_ID "207" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "208" AR_TKN_U32_MODULE_DST_INSTANCE_ID "209" AR_TKN_U32_MODULE_HW_IF_IDX "250" AR_TKN_U32_MODULE_HW_IF_TYPE "251" AR_TKN_U32_MODULE_FMT_INTERLEAVE "252" AR_TKN_U32_MODULE_FMT_DATA "253" AR_TKN_U32_MODULE_FMT_FREQ "254" AR_TKN_U32_MODULE_FMT_BIT_DEPTH "255" AR_TKN_U32_MODULE_SD_LINE_IDX "256" AR_TKN_U32_MODULE_WS_SRC "257" AR_TKN_U32_MODULE_FRAME_SZ_FACTOR "258" AR_TKN_U32_MODULE_LOG_CODE "259" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "260" AR_TKN_U32_MODULE_LOG_MODE "261" } # # Stream SubGraph for PCM Playback # # _____________________________________________________ # | Sub Graph 1 | # | [WR_SH] -> [PCM DEC] -> [PCM CONV] -> [VOL]->[LOG] |- Kcontrol # |_____________________________________________________| # # # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # SubGraph for PCM Playback # # ______________________________________________________ # | Sub Graph 1 | # | [WR_SH] -> [PCM DEC] -> [PCM CONV] -> [VOL]-> [LOG] |---Mixer-- # |______________________________________________________| # SectionPCMCapabilities."MultiMedia1 Playback" { formats "S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "2" } SectionPCM."MultiMedia1 Playback" { index "0" # used for binding to the PCM id "0" dai."MultiMedia1 Playback" { id "0" } pcm."playback" { capabilities "MultiMedia1 Playback" } } SectionVendorTuples."stream0.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004001" AR_TKN_DAI_INDEX "0" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x2" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x1" } } SectionData."stream0.sub_graph1_data" { tuples "stream0.sub_graph1_tuples" } SectionVendorTuples."stream0.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004001" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x2" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x1" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."stream0.container1_data" { tuples "stream0.container1_tuples" } SectionVendorTuples."stream0.wrsh_ep1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006001" AR_TKN_U32_MODULE_ID "0x07001000" AR_TKN_U32_MODULE_MAX_IP_PORTS "0" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "0" AR_TKN_U32_MODULE_OUT_PORTS "0" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006001" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24578" } } SectionData."stream0.wrsh_ep1_data" { tuples "stream0.wrsh_ep1_tuples" } SectionWidget."stream0.wrsh_ep1" { index "1" type "aif_in" no_pm "true" stream_name "MultiMedia1 Playback" subseq "10" data [ "stream0.sub_graph1_data" "stream0.container1_data" "stream0.wrsh_ep1_data" ] } SectionVendorTuples."stream0.pcm_decoder1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24578" AR_TKN_U32_MODULE_ID "0x07001005" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24578" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24579" AR_TKN_U32_MODULE_FMT_INTERLEAVE "1" } } SectionData."stream0.pcm_decoder1_data" { tuples "stream0.pcm_decoder1_tuples" } SectionWidget."stream0.pcm_decoder1" { index "1" type "decoder" no_pm "true" subseq "10" data [ "stream0.sub_graph1_data" "stream0.container1_data" "stream0.pcm_decoder1_data" ] } SectionVendorTuples."stream0.pcm_converter1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24579" AR_TKN_U32_MODULE_ID "0x07001003" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24579" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24580" AR_TKN_U32_MODULE_FMT_INTERLEAVE "3" } } SectionData."stream0.pcm_converter1_data" { tuples "stream0.pcm_converter1_tuples" } SectionWidget."stream0.pcm_converter1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream0.sub_graph1_data" "stream0.container1_data" "stream0.pcm_converter1_data" ] } SectionVendorTuples."stream0.vol_ctrl0_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24580" AR_TKN_U32_MODULE_ID "0x0700101B" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24580" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24581" } } SectionData."stream0.vol_ctrl0_data" { tuples "stream0.vol_ctrl0_tuples" } SectionWidget."stream0.vol_ctrl0" { index "0" type "pga" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "stream0.sub_graph1_data" "stream0.container1_data" "stream0.vol_ctrl0_data" ] mixer [ "MultiMedia1 Playback Volume" ] } SectionTLV."MultiMedia1_playback_vol_ctrl_tlv" { scale { min "0" step "100" mute "0" } } SectionControlMixer."MultiMedia1 Playback Volume" { Comment "Stream Global volume" # control belongs to this index group index "0" # Channel register and shift for Front Left/Right channel."FL" { reg "0" shift "0" } channel."FR" { reg "0" shift "0" } # max control value and whether value is inverted max "65535" invert "false" # control uses bespoke driver get/put/info ID 0 ops."ctl" { info "volsw" get "257" put "257" } tlv "MultiMedia1_playback_vol_ctrl_tlv" } SectionVendorTuples."stream0.mfc1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24581" AR_TKN_U32_MODULE_ID "0x07001015" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24581" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24582" } } SectionData."stream0.mfc1_data" { tuples "stream0.mfc1_tuples" } SectionWidget."stream0.mfc1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream0.sub_graph1_data" "stream0.container1_data" "stream0.mfc1_data" ] } SectionVendorTuples."stream0.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24582" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24582" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_LOG_CODE "0x000019af" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."stream0.logger1_data" { tuples "stream0.logger1_tuples" } SectionWidget."stream0.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "stream0.sub_graph1_data" "stream0.container1_data" "stream0.logger1_data" ] } SectionControlMixer."MultiMedia1" { reg "-1" index "0" max "1" invert "false" channel."fl" { reg "-1" max "1" } ops."ctl" { get "256" put "256" info "1" } data [ "stream0.sub_graph1_data" ] } SectionGraph."stream0.1 Graph" { index "1" lines [ "stream0.pcm_decoder1, , stream0.wrsh_ep1" "stream0.pcm_converter1, , stream0.pcm_decoder1" "stream0.vol_ctrl0, , stream0.pcm_converter1" "stream0.mfc1, , stream0.vol_ctrl0" "stream0.logger1, , stream0.mfc1" ] } # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # SubGraph for PCM Playback # # ______________________________________________________ # | Sub Graph 1 | # | [WR_SH] -> [PCM DEC] -> [PCM CONV] -> [VOL]-> [LOG] |---Mixer-- # |______________________________________________________| # SectionPCMCapabilities."MultiMedia2 Playback" { formats "S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "2" } SectionPCM."MultiMedia2 Playback" { index "1" # used for binding to the PCM id "1" dai."MultiMedia2 Playback" { id "1" } pcm."playback" { capabilities "MultiMedia2 Playback" } } SectionVendorTuples."stream1.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004002" AR_TKN_DAI_INDEX "1" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x2" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x1" } } SectionData."stream1.sub_graph1_data" { tuples "stream1.sub_graph1_tuples" } SectionVendorTuples."stream1.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004002" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x2" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x1" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."stream1.container1_data" { tuples "stream1.container1_tuples" } SectionVendorTuples."stream1.wrsh_ep1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006010" AR_TKN_U32_MODULE_ID "0x07001000" AR_TKN_U32_MODULE_MAX_IP_PORTS "0" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "0" AR_TKN_U32_MODULE_OUT_PORTS "0" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006010" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24593" } } SectionData."stream1.wrsh_ep1_data" { tuples "stream1.wrsh_ep1_tuples" } SectionWidget."stream1.wrsh_ep1" { index "1" type "aif_in" no_pm "true" stream_name "MultiMedia2 Playback" subseq "10" data [ "stream1.sub_graph1_data" "stream1.container1_data" "stream1.wrsh_ep1_data" ] } SectionVendorTuples."stream1.pcm_decoder1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24593" AR_TKN_U32_MODULE_ID "0x07001005" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24593" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24594" AR_TKN_U32_MODULE_FMT_INTERLEAVE "1" } } SectionData."stream1.pcm_decoder1_data" { tuples "stream1.pcm_decoder1_tuples" } SectionWidget."stream1.pcm_decoder1" { index "1" type "decoder" no_pm "true" subseq "10" data [ "stream1.sub_graph1_data" "stream1.container1_data" "stream1.pcm_decoder1_data" ] } SectionVendorTuples."stream1.pcm_converter1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24594" AR_TKN_U32_MODULE_ID "0x07001003" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24594" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24595" AR_TKN_U32_MODULE_FMT_INTERLEAVE "3" } } SectionData."stream1.pcm_converter1_data" { tuples "stream1.pcm_converter1_tuples" } SectionWidget."stream1.pcm_converter1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream1.sub_graph1_data" "stream1.container1_data" "stream1.pcm_converter1_data" ] } SectionVendorTuples."stream1.vol_ctrl1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24595" AR_TKN_U32_MODULE_ID "0x0700101B" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24595" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24596" } } SectionData."stream1.vol_ctrl1_data" { tuples "stream1.vol_ctrl1_tuples" } SectionWidget."stream1.vol_ctrl1" { index "1" type "pga" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "stream1.sub_graph1_data" "stream1.container1_data" "stream1.vol_ctrl1_data" ] mixer [ "MultiMedia2 Playback Volume" ] } SectionTLV."MultiMedia2_playback_vol_ctrl_tlv" { scale { min "0" step "100" mute "0" } } SectionControlMixer."MultiMedia2 Playback Volume" { Comment "Stream Global volume" # control belongs to this index group index "1" # Channel register and shift for Front Left/Right channel."FL" { reg "0" shift "0" } channel."FR" { reg "0" shift "0" } # max control value and whether value is inverted max "65535" invert "false" # control uses bespoke driver get/put/info ID 0 ops."ctl" { info "volsw" get "257" put "257" } tlv "MultiMedia2_playback_vol_ctrl_tlv" } SectionVendorTuples."stream1.mfc1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24596" AR_TKN_U32_MODULE_ID "0x07001015" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24596" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24597" } } SectionData."stream1.mfc1_data" { tuples "stream1.mfc1_tuples" } SectionWidget."stream1.mfc1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream1.sub_graph1_data" "stream1.container1_data" "stream1.mfc1_data" ] } SectionVendorTuples."stream1.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24597" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24597" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_LOG_CODE "0x000019af" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."stream1.logger1_data" { tuples "stream1.logger1_tuples" } SectionWidget."stream1.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "stream1.sub_graph1_data" "stream1.container1_data" "stream1.logger1_data" ] } SectionControlMixer."MultiMedia2" { reg "-1" index "1" max "1" invert "false" channel."fl" { reg "-1" max "1" } ops."ctl" { get "256" put "256" info "1" } data [ "stream1.sub_graph1_data" ] } SectionGraph."stream1.1 Graph" { index "1" lines [ "stream1.pcm_decoder1, , stream1.wrsh_ep1" "stream1.pcm_converter1, , stream1.pcm_decoder1" "stream1.vol_ctrl1, , stream1.pcm_converter1" "stream1.mfc1, , stream1.vol_ctrl1" "stream1.logger1, , stream1.mfc1" ] } # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # SubGraph for PCM Capture # # ______________________________________________ # | Sub Graph 1 | # | [RD_SH]<-- [PCM ENC] <--[PCM CONV] <--[LOG] |-[DAPM - MIXER] # | PCM(n) | # |______________________________________________| # SectionPCMCapabilities."MultiMedia3 Capture" { formats "S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "2" } SectionPCM."MultiMedia3 Capture" { index "2" # used for binding to the PCM id "2" dai."MultiMedia3 Capture" { id "2" } pcm."capture" { capabilities "MultiMedia3 Capture" } } SectionVendorTuples."stream2.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004003" AR_TKN_DAI_INDEX "2" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x2" } } SectionData."stream2.sub_graph1_data" { tuples "stream2.sub_graph1_tuples" } SectionVendorTuples."stream2.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004003" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x2" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x4" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."stream2.container1_data" { tuples "stream2.container1_tuples" } SectionVendorTuples."stream2.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006020" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006020" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24609" AR_TKN_U32_MODULE_LOG_CODE "0x000019af" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."stream2.logger1_data" { tuples "stream2.logger1_tuples" } SectionWidget."stream2.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "stream2.sub_graph1_data" "stream2.container1_data" "stream2.logger1_data" ] } SectionVendorTuples."stream2.mfc1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24609" AR_TKN_U32_MODULE_ID "0x07001015" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24609" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24610" } } SectionData."stream2.mfc1_data" { tuples "stream2.mfc1_tuples" } SectionWidget."stream2.mfc1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream2.sub_graph1_data" "stream2.container1_data" "stream2.mfc1_data" ] } SectionVendorTuples."stream2.pcm_converter1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24610" AR_TKN_U32_MODULE_ID "0x07001003" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24610" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24611" AR_TKN_U32_MODULE_FMT_INTERLEAVE "1" } } SectionData."stream2.pcm_converter1_data" { tuples "stream2.pcm_converter1_tuples" } SectionWidget."stream2.pcm_converter1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream2.sub_graph1_data" "stream2.container1_data" "stream2.pcm_converter1_data" ] } SectionVendorTuples."stream2.pcm_encoder1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24611" AR_TKN_U32_MODULE_ID "0x07001004" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24611" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24612" AR_TKN_U32_MODULE_FMT_INTERLEAVE "1" } } SectionData."stream2.pcm_encoder1_data" { tuples "stream2.pcm_encoder1_tuples" } SectionWidget."stream2.pcm_encoder1" { index "1" type "encoder" no_pm "true" subseq "10" data [ "stream2.sub_graph1_data" "stream2.container1_data" "stream2.pcm_encoder1_data" ] } SectionVendorTuples."stream2.rdsh_ep1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24612" AR_TKN_U32_MODULE_ID "0x07001001" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "0" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "0" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "0" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24612" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" } } SectionData."stream2.rdsh_ep1_data" { tuples "stream2.rdsh_ep1_tuples" } SectionWidget."stream2.rdsh_ep1" { index "1" type "aif_out" no_pm "true" stream_name "MultiMedia3 Capture" subseq "10" data [ "stream2.sub_graph1_data" "stream2.container1_data" "stream2.rdsh_ep1_data" ] } SectionGraph."stream2.1 Graph" { index "1" lines [ "stream2.logger1, , MultiMedia3 Mixer" "stream2.mfc1, , stream2.logger1" "stream2.pcm_converter1, , stream2.mfc1" "stream2.pcm_encoder1, , stream2.pcm_converter1" "stream2.rdsh_ep1, , stream2.pcm_encoder1" ] } # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # SubGraph for PCM Capture # # ______________________________________________ # | Sub Graph 1 | # | [RD_SH]<-- [PCM ENC] <--[PCM CONV] <--[LOG] |-[DAPM - MIXER] # | PCM(n) | # |______________________________________________| # SectionPCMCapabilities."MultiMedia4 Capture" { formats "S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "2" } SectionPCM."MultiMedia4 Capture" { index "3" # used for binding to the PCM id "3" dai."MultiMedia4 Capture" { id "3" } pcm."capture" { capabilities "MultiMedia4 Capture" } } SectionVendorTuples."stream3.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004004" AR_TKN_DAI_INDEX "3" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x2" } } SectionData."stream3.sub_graph1_data" { tuples "stream3.sub_graph1_tuples" } SectionVendorTuples."stream3.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004004" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x2" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x4" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."stream3.container1_data" { tuples "stream3.container1_tuples" } SectionVendorTuples."stream3.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006030" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006030" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24625" AR_TKN_U32_MODULE_LOG_CODE "0x000019af" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."stream3.logger1_data" { tuples "stream3.logger1_tuples" } SectionWidget."stream3.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "stream3.sub_graph1_data" "stream3.container1_data" "stream3.logger1_data" ] } SectionVendorTuples."stream3.mfc1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24625" AR_TKN_U32_MODULE_ID "0x07001015" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24625" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24626" } } SectionData."stream3.mfc1_data" { tuples "stream3.mfc1_tuples" } SectionWidget."stream3.mfc1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream3.sub_graph1_data" "stream3.container1_data" "stream3.mfc1_data" ] } SectionVendorTuples."stream3.pcm_converter1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24626" AR_TKN_U32_MODULE_ID "0x07001003" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24626" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24627" AR_TKN_U32_MODULE_FMT_INTERLEAVE "1" } } SectionData."stream3.pcm_converter1_data" { tuples "stream3.pcm_converter1_tuples" } SectionWidget."stream3.pcm_converter1" { index "1" type "src" no_pm "true" subseq "10" data [ "stream3.sub_graph1_data" "stream3.container1_data" "stream3.pcm_converter1_data" ] } SectionVendorTuples."stream3.pcm_encoder1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24627" AR_TKN_U32_MODULE_ID "0x07001004" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24627" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24628" AR_TKN_U32_MODULE_FMT_INTERLEAVE "1" } } SectionData."stream3.pcm_encoder1_data" { tuples "stream3.pcm_encoder1_tuples" } SectionWidget."stream3.pcm_encoder1" { index "1" type "encoder" no_pm "true" subseq "10" data [ "stream3.sub_graph1_data" "stream3.container1_data" "stream3.pcm_encoder1_data" ] } SectionVendorTuples."stream3.rdsh_ep1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24628" AR_TKN_U32_MODULE_ID "0x07001001" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "0" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "0" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "0" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24628" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" } } SectionData."stream3.rdsh_ep1_data" { tuples "stream3.rdsh_ep1_tuples" } SectionWidget."stream3.rdsh_ep1" { index "1" type "aif_out" no_pm "true" stream_name "MultiMedia4 Capture" subseq "10" data [ "stream3.sub_graph1_data" "stream3.container1_data" "stream3.rdsh_ep1_data" ] } SectionGraph."stream3.1 Graph" { index "1" lines [ "stream3.logger1, , MultiMedia4 Mixer" "stream3.mfc1, , stream3.logger1" "stream3.pcm_converter1, , stream3.mfc1" "stream3.pcm_encoder1, , stream3.pcm_converter1" "stream3.rdsh_ep1, , stream3.pcm_encoder1" ] } # # Device SubGraph for WSA RX0 Backend # # ___________________ # | Sub Graph 2 | # Mixer -| [LOG] -> [WSA EP] | # |___________________| # # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # # SubGraph for Device Backend # # ______________________ # | Sub Graph | # | [LOG] -> [DEVICE EP] | # |______________________| SectionVendorTuples."device18.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004005" AR_TKN_DAI_INDEX "18" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x1" } } SectionData."device18.sub_graph1_data" { tuples "device18.sub_graph1_tuples" } SectionVendorTuples."device18.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004005" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x3" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x1" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."device18.container1_data" { tuples "device18.container1_tuples" } SectionVendorTuples."device18.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006050" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006050" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24657 " AR_TKN_U32_MODULE_LOG_CODE "0x000019ab" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."device18.logger1_data" { tuples "device18.logger1_tuples" } SectionWidget."device18.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "device18.sub_graph1_data" "device18.container1_data" "device18.logger1_data" ] } SectionVendorTuples."device18.i2s_rx1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24657" AR_TKN_U32_MODULE_ID "0x0700100A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "0" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "0" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "0" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24657" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_HW_IF_TYPE "0" AR_TKN_U32_MODULE_HW_IF_IDX "1" AR_TKN_U32_MODULE_FMT_DATA "1" AR_TKN_U32_MODULE_SD_LINE_IDX "1" } } SectionData."device18.i2s_rx1_data" { tuples "device18.i2s_rx1_tuples" } SectionWidget."device18.i2s_rx1" { index "1" type "aif_in" no_pm "true" stream_name "Secondary MI2S Playback" subseq "10" data [ "device18.sub_graph1_data" "device18.container1_data" "device18.i2s_rx1_data" ] } SectionGraph."device18.1 SECONDARY_MI2S_RX Graph" { index "1" lines [ "device18.logger1, , SECONDARY_MI2S_RX Audio Mixer" "device18.i2s_rx1, , device18.logger1" "Secondary MI2S Playback, , device18.i2s_rx1" ] } # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # # SubGraph for Device Backend # # ______________________ # | Sub Graph | # | [LOG] -> [DEVICE EP] | # |______________________| SectionVendorTuples."device113.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004006" AR_TKN_DAI_INDEX "113" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x1" } } SectionData."device113.sub_graph1_data" { tuples "device113.sub_graph1_tuples" } SectionVendorTuples."device113.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004006" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x3" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x1" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."device113.container1_data" { tuples "device113.container1_tuples" } SectionVendorTuples."device113.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006060" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006060" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24673" AR_TKN_U32_MODULE_LOG_CODE "0x000019ab" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "2" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."device113.logger1_data" { tuples "device113.logger1_tuples" } SectionWidget."device113.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "device113.sub_graph1_data" "device113.container1_data" "device113.logger1_data" ] } SectionVendorTuples."device113.mfc1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24673" AR_TKN_U32_MODULE_ID "0x07001015" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24673" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24674" } } SectionData."device113.mfc1_data" { tuples "device113.mfc1_tuples" } SectionWidget."device113.mfc1" { index "1" type "src" no_pm "true" subseq "10" data [ "device113.sub_graph1_data" "device113.container1_data" "device113.mfc1_data" ] } SectionVendorTuples."device113.codec_dma_rx1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24674" AR_TKN_U32_MODULE_ID "0x07001023" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "0" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "0" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "0" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24674" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_HW_IF_TYPE "1" AR_TKN_U32_MODULE_HW_IF_IDX "1" AR_TKN_U32_MODULE_FMT_DATA "1" } } SectionData."device113.codec_dma_rx1_data" { tuples "device113.codec_dma_rx1_tuples" } SectionWidget."device113.codec_dma_rx1" { index "1" type "aif_in" no_pm "true" stream_name "RX_CODEC_DMA_RX_0 Playback" subseq "10" data [ "device113.sub_graph1_data" "device113.container1_data" "device113.codec_dma_rx1_data" ] } SectionGraph."device113.1 RX_CODEC_DMA_RX_0 Graph" { index "1" lines [ "device113.logger1, , RX_CODEC_DMA_RX_0 Audio Mixer" "device113.mfc1, , device113.logger1" "device113.codec_dma_rx1, , device113.mfc1" "RX_CODEC_DMA_RX_0 Playback, , device113.codec_dma_rx1" ] } # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # # SubGraph for Device Backend # # ___________________________ # | Sub Graph | # [KControl]->| [DEVICE-TX] <- [LOGGER] | # Switch |__________________________| SectionVendorTuples."device110.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004007" AR_TKN_DAI_INDEX "110" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x2" } } SectionData."device110.sub_graph1_data" { tuples "device110.sub_graph1_tuples" } SectionVendorTuples."device110.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004007" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x3" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x4" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."device110.container1_data" { tuples "device110.container1_tuples" } SectionVendorTuples."device110.codec_dma_tx1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006070" AR_TKN_U32_MODULE_ID "0x07001024" AR_TKN_U32_MODULE_MAX_IP_PORTS "0" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "0" AR_TKN_U32_MODULE_OUT_PORTS "2" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006070" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24689" AR_TKN_U32_MODULE_HW_IF_TYPE "3" AR_TKN_U32_MODULE_HW_IF_IDX "1" AR_TKN_U32_MODULE_FMT_DATA "1" } } SectionData."device110.codec_dma_tx1_data" { tuples "device110.codec_dma_tx1_tuples" } SectionWidget."device110.codec_dma_tx1" { index "1" type "aif_out" no_pm "true" stream_name "VA_CODEC_DMA_TX_0 Capture" subseq "10" data [ "device110.sub_graph1_data" "device110.container1_data" "device110.codec_dma_tx1_data" ] } SectionVendorTuples."device110.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24689" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24689" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_LOG_CODE "0x000019ab" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."device110.logger1_data" { tuples "device110.logger1_tuples" } SectionWidget."device110.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "device110.sub_graph1_data" "device110.container1_data" "device110.logger1_data" ] } SectionControlMixer."VA_CODEC_DMA_TX_0" { reg "-1" index "1" max "1" invert "false" channel."fl" { reg "-1" max "1" } ops."ctl" { get "256" put "256" info "1" } data [ "device110.sub_graph1_data" ] } SectionGraph."device110.1 VA_CODEC_DMA_TX_0 Graph" { index "1" lines [ "device110.codec_dma_tx1, , VA_CODEC_DMA_TX_0 Capture" "device110.logger1, , device110.codec_dma_tx1" ] } # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # Copyright, Linaro Ltd, 2023 # SPDX-License-Identifier: BSD-3-Clause # # SubGraph for Device Backend # # ___________________________ # | Sub Graph | # [KControl]->| [DEVICE-TX] <- [LOGGER] | # Switch |__________________________| SectionVendorTuples."device120.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004008" AR_TKN_DAI_INDEX "120" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x2" } } SectionData."device120.sub_graph1_data" { tuples "device120.sub_graph1_tuples" } SectionVendorTuples."device120.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004008" AR_TKN_U32_CONAINER_CAPABILITY_ID "0x3" AR_TKN_U32_CONAINER_STACK_SIZE "8192" AR_TKN_U32_CONAINER_GRAPH_POS "0x4" AR_TKN_U32_CONAINER_PROC_DOMAIN "0x2" } } SectionData."device120.container1_data" { tuples "device120.container1_tuples" } SectionVendorTuples."device120.codec_dma_tx1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006080" AR_TKN_U32_MODULE_ID "0x07001024" AR_TKN_U32_MODULE_MAX_IP_PORTS "0" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "0" AR_TKN_U32_MODULE_OUT_PORTS "2" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "0x00006080" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24705" AR_TKN_U32_MODULE_HW_IF_TYPE "1" AR_TKN_U32_MODULE_HW_IF_IDX "4" AR_TKN_U32_MODULE_FMT_DATA "1" } } SectionData."device120.codec_dma_tx1_data" { tuples "device120.codec_dma_tx1_tuples" } SectionWidget."device120.codec_dma_tx1" { index "1" type "aif_out" no_pm "true" stream_name "TX_CODEC_DMA_TX_3 Capture" subseq "10" data [ "device120.sub_graph1_data" "device120.container1_data" "device120.codec_dma_tx1_data" ] } SectionVendorTuples."device120.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24705" AR_TKN_U32_MODULE_ID "0x0700101A" AR_TKN_U32_MODULE_MAX_IP_PORTS "1" AR_TKN_U32_MODULE_MAX_OP_PORTS "1" AR_TKN_U32_MODULE_IN_PORTS "2" AR_TKN_U32_MODULE_OUT_PORTS "1" AR_TKN_U32_MODULE_SRC_OP_PORT_ID "1" AR_TKN_U32_MODULE_DST_IN_PORT_ID "2" AR_TKN_U32_MODULE_SRC_INSTANCE_ID "24705" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_LOG_CODE "0x000019ab" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."device120.logger1_data" { tuples "device120.logger1_tuples" } SectionWidget."device120.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "device120.sub_graph1_data" "device120.container1_data" "device120.logger1_data" ] } SectionControlMixer."TX_CODEC_DMA_TX_3" { reg "-1" index "1" max "1" invert "false" channel."fl" { reg "-1" max "1" } ops."ctl" { get "256" put "256" info "1" } data [ "device120.sub_graph1_data" ] } SectionGraph."device120.1 TX_CODEC_DMA_TX_3 Graph" { index "1" lines [ "device120.codec_dma_tx1, , TX_CODEC_DMA_TX_3 Capture" "device120.logger1, , device120.codec_dma_tx1" ] } SectionWidget."SECONDARY_MI2S_RX Audio Mixer" { reg "-1" index "18" type "mixer" mixer [ MultiMedia2 MultiMedia1 ] data [ "device18.sub_graph1_data" ] } SectionWidget."RX_CODEC_DMA_RX_0 Audio Mixer" { reg "-1" index "113" type "mixer" mixer [ MultiMedia2 MultiMedia1 ] data [ "device113.sub_graph1_data" ] } SectionGraph."RX_CODEC_DMA_RX_0 Audio Mixer Graph" { index "113" lines [ "RX_CODEC_DMA_RX_0 Audio Mixer, MultiMedia2, stream1.logger1" "RX_CODEC_DMA_RX_0 Audio Mixer, MultiMedia1, stream0.logger1" ] } SectionGraph."SECONDARY_MI2S_RX Audio Mixer Graph" { index "18" lines [ "SECONDARY_MI2S_RX Audio Mixer, MultiMedia2, stream1.logger1" "SECONDARY_MI2S_RX Audio Mixer, MultiMedia1, stream0.logger1" ] } SectionWidget."MultiMedia3 Mixer" { reg "-1" index "2" type "mixer" mixer [ TX_CODEC_DMA_TX_3 VA_CODEC_DMA_TX_0 ] data [ "stream2.sub_graph1_data" ] } SectionWidget."MultiMedia4 Mixer" { reg "-1" index "3" type "mixer" mixer [ TX_CODEC_DMA_TX_3 VA_CODEC_DMA_TX_0 ] data [ "stream3.sub_graph1_data" ] } SectionGraph."MultiMedia3 Mixer Graph" { index "2" lines [ "MultiMedia3 Mixer, TX_CODEC_DMA_TX_3, device120.logger1" "MultiMedia3 Mixer, VA_CODEC_DMA_TX_0, device110.logger1" ] } SectionGraph."MultiMedia4 Mixer Graph" { index "3" lines [ "MultiMedia4 Mixer, TX_CODEC_DMA_TX_3, device120.logger1" "MultiMedia4 Mixer, VA_CODEC_DMA_TX_0, device110.logger1" ] }