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 # |_____________________________________________________| # # # 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" ] } # 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" ] } # 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" ] } # # Device SubGraph for WSA RX0 Backend # # ___________________ # | Sub Graph 2 | # Mixer -| [LOG] -> [WSA EP] | # |___________________| # # # SubGraph for Device Backend # # ______________________ # | Sub Graph | # | [LOG] -> [DEVICE EP] | # |______________________| SectionVendorTuples."device105.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004004" AR_TKN_DAI_INDEX "105" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x1" } } SectionData."device105.sub_graph1_data" { tuples "device105.sub_graph1_tuples" } SectionVendorTuples."device105.container1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_CONAINER_INSTANCE_ID "0x00004004" 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."device105.container1_data" { tuples "device105.container1_tuples" } SectionVendorTuples."device105.logger1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "0x00006040" 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 "0x00006040" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24641" AR_TKN_U32_MODULE_LOG_CODE "0x000019ab" AR_TKN_U32_MODULE_LOG_TAP_POINT_ID "1" AR_TKN_U32_MODULE_LOG_MODE "0" } } SectionData."device105.logger1_data" { tuples "device105.logger1_tuples" } SectionWidget."device105.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "device105.sub_graph1_data" "device105.container1_data" "device105.logger1_data" ] } SectionVendorTuples."device105.codec_dma_rx1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_MODULE_INSTANCE_ID "24641" 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 "24641" AR_TKN_U32_MODULE_DST_INSTANCE_ID "0x0" AR_TKN_U32_MODULE_HW_IF_TYPE "2" AR_TKN_U32_MODULE_HW_IF_IDX "1" AR_TKN_U32_MODULE_FMT_DATA "1" } } SectionData."device105.codec_dma_rx1_data" { tuples "device105.codec_dma_rx1_tuples" } SectionWidget."device105.codec_dma_rx1" { index "1" type "aif_in" no_pm "true" stream_name "WSA_CODEC_DMA_RX_0 Playback" subseq "10" data [ "device105.sub_graph1_data" "device105.container1_data" "device105.codec_dma_rx1_data" ] } SectionGraph."device105.1 WSA_CODEC_DMA_RX_0 Graph" { index "1" lines [ "device105.logger1, , WSA_CODEC_DMA_RX_0 Audio Mixer" "device105.codec_dma_rx1, , device105.logger1" "WSA_CODEC_DMA_RX_0 Playback, , device105.codec_dma_rx1" ] } # # SubGraph for Device Backend # # ______________________ # | Sub Graph | # | [LOG] -> [DEVICE EP] | # |______________________| SectionVendorTuples."device20.sub_graph1_tuples" { tokens "audioreach_tokens" tuples."word.u32_data" { AR_TKN_U32_SUB_GRAPH_INSTANCE_ID "0x00004005" AR_TKN_DAI_INDEX "20" AR_TKN_U32_SUB_GRAPH_PERF_MODE "0x2" AR_TKN_U32_SUB_GRAPH_DIRECTION "0x1" AR_TKN_U32_SUB_GRAPH_SCENARIO_ID "0x1" } } SectionData."device20.sub_graph1_data" { tuples "device20.sub_graph1_tuples" } SectionVendorTuples."device20.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."device20.container1_data" { tuples "device20.container1_tuples" } SectionVendorTuples."device20.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."device20.logger1_data" { tuples "device20.logger1_tuples" } SectionWidget."device20.logger1" { index "1" type "buffer" no_pm "true" subseq "10" data [ "device20.sub_graph1_data" "device20.container1_data" "device20.logger1_data" ] } SectionVendorTuples."device20.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 "2" AR_TKN_U32_MODULE_FMT_DATA "1" AR_TKN_U32_MODULE_SD_LINE_IDX "1" } } SectionData."device20.i2s_rx1_data" { tuples "device20.i2s_rx1_tuples" } SectionWidget."device20.i2s_rx1" { index "1" type "aif_in" no_pm "true" stream_name "TERTIARY_MI2S_RX MI2S Playback" subseq "10" data [ "device20.sub_graph1_data" "device20.container1_data" "device20.i2s_rx1_data" ] } SectionGraph."device20.1 Graph" { index "1" lines [ "device20.logger1, , Audio Mixer" "device20.i2s_rx1, , device20.logger1" "TERTIARY_MI2S_RX MI2S Playback, , device20.i2s_rx1" ] } # # 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 "0x00004006" 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 "0x00004006" 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 "0x00006060" 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 "0x00006060" AR_TKN_U32_MODULE_DST_INSTANCE_ID "24673" 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 "24673" 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 "24673" 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" ] } SectionWidget."WSA_CODEC_DMA_RX_0 Audio Mixer" { reg "-1" index "105" type "mixer" mixer [ MultiMedia2 MultiMedia1 ] data [ "device105.sub_graph1_data" ] } SectionWidget."TERTIARY_MI2S_RX Audio Mixer" { reg "-1" index "20" type "mixer" mixer [ MultiMedia2 MultiMedia1 ] data [ "device20.sub_graph1_data" ] } SectionGraph."WSA_CODEC_DMA_RX_0 Audio Mixer Graph" { index "105" lines [ "WSA_CODEC_DMA_RX_0 Audio Mixer, MultiMedia2, stream1.logger1" "WSA_CODEC_DMA_RX_0 Audio Mixer, MultiMedia1, stream0.logger1" ] } SectionGraph."TERTIARY_MI2S_RX Audio Mixer Graph" { index "20" lines [ "TERTIARY_MI2S_RX Audio Mixer, MultiMedia2, stream1.logger1" "TERTIARY_MI2S_RX Audio Mixer, MultiMedia1, stream0.logger1" ] } SectionWidget."MultiMedia3 Mixer" { reg "-1" index "2" type "mixer" mixer [ VA_CODEC_DMA_TX_0 ] data [ "stream2.sub_graph1_data" ] } SectionGraph."MultiMedia3 Mixer Graph" { index "2" lines [ "MultiMedia3 Mixer, VA_CODEC_DMA_TX_0, device110.logger1" ] }