<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2019, The Linux Foundation. All rights reserved.         -->
<!--                                                                        -->
<!-- Redistribution and use in source and binary forms, with or without     -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met:                                                                   -->
<!--     * Redistributions of source code must retain the above copyright   -->
<!--       notice, this list of conditions and the following disclaimer.    -->
<!--     * Redistributions in binary form must reproduce the above          -->
<!--       copyright notice, this list of conditions and the following      -->
<!--       disclaimer in the documentation and/or other materials provided  -->
<!--       with the distribution.                                           -->
<!--     * Neither the name of The Linux Foundation nor the names of its    -->
<!--       contributors may be used to endorse or promote products derived  -->
<!--       from this software without specific prior written permission.    -->
<!--                                                                        -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED           -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF   -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF   -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          -->
<audio_platform_configuration>
    <hw_intf>
        <intf id="BE_HW_RX_INTF_0" name="TDM_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="16"/>
        <intf id="BE_HW_RX_INTF_1" name="TDM_RX_1" min_bit="24" min_chan="2" min_rate="48000" block_id="17"/>
        <intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" block_id="20"/>
        <intf id="BE_HW_RX_INTF_3" name="I2S_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="18"/>
        <!--intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" ctrl_config="USB device" ctrl_rate="Sample Rate" ctrl_bit="Bit Width" ctrl_chan="Channel"/-->
        <!--intf id="BE_HW_RX_INTF_3" name="BT_RX"/-->
        <intf id="BE_VIRTUAL_VOICE_RX_TUNING" block_id="19"/>
        <intf id="BE_VIRTUAL_VOICE_TX_TUNING" block_id="19"/>
        <intf id="BE_HW_TX_INTF_0" block_id="134,128,137"/>
    </hw_intf>

    <product_lists>
        <product name="Blackbird">
            <id value="18d1:5033"/>
        </product>
        <product name="Condor">
            <id value="18d1:5034"/>
        </product>
        <product name="Condor_Sprint">
            <id value="18d1:5038"/>
        </product>
        <product name="Condor_Sprint2">
            <id value="18d1:5036"/>
        </product>
    </product_lists>

    <!-- The microphone capability is fake data -->
    <microphone_characteristics>
        <microphone device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
            group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
            frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
            responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
            sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
        <microphone device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
            group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
            frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
            responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
            sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
        <microphone device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
            group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
            frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
            responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
            sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
    </microphone_characteristics>

    <!-- The microphone mapping of backend device is fake data -->
    <input_backend_cfg_mic_mapping>
            <backend_cfg in_cfg="IN_CAMCORDER_LANDSCAPE_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_CAMCORDER_PORTRAIT_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_HANDSET_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_VOICECALL_HANDSET_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_VOICECALL_SPEAKER_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_USB_TTY_VCO_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_VOICE_RECOGN_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_UNPROCESSED_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_UNPROCESSED_DUAL_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
            </backend_cfg>
            <backend_cfg in_cfg="IN_UNPROCESSED_TRIPLE_MIC_BE_CFG">
                <mic_info mic_device_id="builtin_mic_1"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
                <mic_info mic_device_id="builtin_mic_2"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
                <mic_info mic_device_id="builtin_mic_3"
                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
            </backend_cfg>
    </input_backend_cfg_mic_mapping>

    <usecase_attr>
        <!-- for output with AUDIO_OUTPUT_FLAG_RAW, 32 periods * 64 frames(around 1.3ms) * 2ch * 4(s32) = 16384 bytes -->
        <usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
        <!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
        <usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch * 4(float) = 15360 bytes -->
        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
        <!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
        <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
        <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
        <usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
        <!-- for output with flag AUDIO_OUTPUT_SPATIALIZER -->
        <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="30" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
        <!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
        <usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
        <!-- dev1: audio dev2: haptic -->
        <usecase id="UC_HAPTIC_AUDIO" dev1="2" dev2="7" period="10" period_num="4"/>
        <!-- for VOIP output, 4 * 10ms buffer -->
        <usecase id="UC_VOIP_PLAYBACK" dev1="16" dyn_path="true" dsp_vol="true" mmap="false" period="10" period_num="4"/>
        <!-- for input -->
        <usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
        <usecase id="UC_HOSTLESS_UL" dev1="15"/>
        <!-- for VOIP input, 4 * 10ms buffer -->
        <usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2"/>
        <!-- for input wit AUDIO_INPUT_FLAG_FAST  480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
        <usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
        <!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
        <usecase id="UC_MMAP_RECORD" dev1="9" dyn_path="true" mmap="true" period="1" period_num="240"/>
        <!-- for hifi -->
        <usecase id="UC_HIFI_PLAYBACK" dev1="25" period="20" period_num="4"/>
        <usecase id="UC_HIFI_RECORD" dev1="26" period="20" period_num="4"/>
    </usecase_attr>

    <dsp_latency>
        <usecase id="UC_LOW_LATENCY_PLAYBACK" type="playback">
            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="20000"/>
            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="10000"/>
            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="10000"/>
            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="10000"/>
        </usecase>

        <usecase id="UC_DEEP_BUFFER_PLAYBACK" type="playback">
            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="70000"/>
            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="70000"/>
            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="70000"/>
            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
        </usecase>

        <usecase id="UC_IMMERSIVE_PLAYBACK" type="playback">
            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="100000"/>
        </usecase>

        <usecase id="UC_AUDIO_RECORD" type="capture">
            <be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_PORTRAIT_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_MIC_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" latency="160000"/>
            <be_cfg be_id="IN_BTSCO_MIC_BE_CFG" latency="40000"/>
            <be_cfg be_id="IN_BTSCO_MIC_NREC_BE_CFG" latency="40000"/>
            <be_cfg be_id="IN_BTSCO_MIC_WB_BE_CFG" latency="40000"/>
            <be_cfg be_id="IN_BTSCO_MIC_WB_NREC_BE_CFG" latency="40000"/>
        </usecase>
    </dsp_latency>

    <soundcard_name name="google,aoc-snd-card" />

    <cfg_attr>
        <cfg id="OUT_SPEAKER_BE_CFG" intf_name="TDM_RX_0" mux="HW_MUX_GP_0" tuning_id="2"/>
        <cfg id="OUT_HAC_HANDSET_BE_CFG" intf_name="TDM_RX_1" mux="HW_MUX_GP_1" be_path="hac-handset"/>
        <cfg id="OUT_USB_HEADSET_BE_CFG">
            <override product="Blackbird" tuning_id="22"/>
            <override product="Condor" tuning_id="33"/>
        </cfg>
        <cfg id="OUT_USB_TTY_FULL_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
        <cfg id="OUT_USB_TTY_VCO_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
        <cfg id="OUT_USB_TTY_HCO_BE_CFG" be_path="NULL" codec_path="voice-speaker"/>
        <cfg id="IN_USB_TTY_FULL_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
        <cfg id="IN_USB_TTY_VCO_MIC_BE_CFG" be_path="NULL" codec_path="voice-speaker-mic"/>
        <cfg id="IN_USB_TTY_HCO_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
        <cfg id="IN_SPK_VI_BE_CFG" codec_path="NULL" be_path="spk-vi"/>
        <cfg id="IN_HANDSET_MIC_BE_CFG" tuning_id="62"/>
        <cfg id="IN_HANDSET_DUAL_MIC_BE_CFG" tuning_id="63"/>
        <cfg id="IN_HANDSET_TRIPLE_MIC_BE_CFG" tuning_id="64"/>
        <cfg id="IN_CAMCORDER_LANDSCAPE_BE_CFG" tuning_id="70"/>
        <cfg id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" tuning_id="71"/>
        <cfg id="IN_CAMCORDER_PORTRAIT_BE_CFG" tuning_id="72"/>
        <cfg id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" tuning_id="73"/>
        <cfg id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" tuning_id="74"/>
        <cfg id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" tuning_id="75"/>
        <cfg id="IN_CAMCORDER_MIC_BE_CFG" tuning_id="70"/>
        <cfg id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" tuning_id="70"/>
        <cfg id="IN_BTSCO_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_BTSCO_MIC_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_BTSCO_MIC_WB_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_BTSCO_MIC_WB_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_VOICE_RECOGN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_VOICECALL_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
        <cfg id="IN_UNPROCESSED_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
    </cfg_attr>

    <xlate_id>
        <item component="TUNING_COMPONENT_WAVES" id="2"/>
        <item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
        <item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
    </xlate_id>

    <voip_db_mapping>
        <voip_path id="VOIP_RX_USB" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0"/>
    </voip_db_mapping>

    <device_handle>
        <handler libname="audio_bt_aoc.so"/>
        <handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/>
    </device_handle>

    <external_module>
        <module libname="audio_waves_aoc.so" argu="Sink=SPK:1"/>
        <module libname="audio_spk_35l41.so"/>
        <module libname="audio_fortemedia_aoc.so"/>
        <module libname="liboffloadeffect.so"/>
        <module libname="audio_amcs_ext.so"/>
        <module libname="audio_bluenote_aoc.so"/>
    </external_module>
</audio_platform_configuration>
