# 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"
        ]
}