1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!-- Copyright (c) 2019, The Linux Foundation. All rights reserved.         -->
3<!--                                                                        -->
4<!-- Redistribution and use in source and binary forms, with or without     -->
5<!-- modification, are permitted provided that the following conditions are -->
6<!-- met:                                                                   -->
7<!--     * Redistributions of source code must retain the above copyright   -->
8<!--       notice, this list of conditions and the following disclaimer.    -->
9<!--     * Redistributions in binary form must reproduce the above          -->
10<!--       copyright notice, this list of conditions and the following      -->
11<!--       disclaimer in the documentation and/or other materials provided  -->
12<!--       with the distribution.                                           -->
13<!--     * Neither the name of The Linux Foundation nor the names of its    -->
14<!--       contributors may be used to endorse or promote products derived  -->
15<!--       from this software without specific prior written permission.    -->
16<!--                                                                        -->
17<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED           -->
18<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF   -->
19<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
20<!-- ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
21<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
22<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF   -->
23<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        -->
24<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -->
25<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
26<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          -->
27<audio_platform_configuration>
28    <hw_intf>
29        <intf id="BE_HW_RX_INTF_0" name="TDM_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="16"/>
30        <intf id="BE_HW_RX_INTF_1" name="TDM_RX_1" min_bit="24" min_chan="2" min_rate="48000" block_id="17"/>
31        <intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" block_id="20"/>
32        <intf id="BE_HW_RX_INTF_3" name="I2S_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="18"/>
33        <!--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"/-->
34        <!--intf id="BE_HW_RX_INTF_3" name="BT_RX"/-->
35        <intf id="BE_VIRTUAL_VOICE_RX_TUNING" block_id="19"/>
36        <intf id="BE_VIRTUAL_VOICE_TX_TUNING" block_id="19"/>
37        <intf id="BE_HW_TX_INTF_0" block_id="134,128,137"/>
38    </hw_intf>
39
40    <product_lists>
41        <product name="Blackbird">
42            <id value="18d1:5033"/>
43        </product>
44        <product name="Condor">
45            <id value="18d1:5034"/>
46        </product>
47        <product name="Condor_Sprint">
48            <id value="18d1:5038"/>
49        </product>
50        <product name="Condor_Sprint2">
51            <id value="18d1:5036"/>
52        </product>
53    </product_lists>
54
55    <!-- The microphone capability is fake data -->
56    <microphone_characteristics>
57        <microphone device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
58            group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
59            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"
60            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"
61            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" />
62        <microphone device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
63            group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
64            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"
65            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"
66            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" />
67        <microphone device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
68            group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
69            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"
70            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"
71            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" />
72    </microphone_characteristics>
73
74    <!-- The microphone mapping of backend device is fake data -->
75    <input_backend_cfg_mic_mapping>
76            <backend_cfg in_cfg="IN_CAMCORDER_LANDSCAPE_BE_CFG">
77                <mic_info mic_device_id="builtin_mic_1"
78                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
79                <mic_info mic_device_id="builtin_mic_2"
80                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
81                <mic_info mic_device_id="builtin_mic_3"
82                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
83            </backend_cfg>
84            <backend_cfg in_cfg="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG">
85                <mic_info mic_device_id="builtin_mic_1"
86                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
87                <mic_info mic_device_id="builtin_mic_2"
88                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
89                <mic_info mic_device_id="builtin_mic_3"
90                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
91            </backend_cfg>
92            <backend_cfg in_cfg="IN_CAMCORDER_PORTRAIT_BE_CFG">
93                <mic_info mic_device_id="builtin_mic_1"
94                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
95                <mic_info mic_device_id="builtin_mic_2"
96                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
97                <mic_info mic_device_id="builtin_mic_3"
98                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
99            </backend_cfg>
100            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG">
101                <mic_info mic_device_id="builtin_mic_1"
102                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
103                <mic_info mic_device_id="builtin_mic_2"
104                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
105                <mic_info mic_device_id="builtin_mic_3"
106                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
107            </backend_cfg>
108            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG">
109                <mic_info mic_device_id="builtin_mic_1"
110                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
111                <mic_info mic_device_id="builtin_mic_2"
112                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
113                <mic_info mic_device_id="builtin_mic_3"
114                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
115            </backend_cfg>
116            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG">
117                <mic_info mic_device_id="builtin_mic_1"
118                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
119                <mic_info mic_device_id="builtin_mic_2"
120                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
121                <mic_info mic_device_id="builtin_mic_3"
122                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
123            </backend_cfg>
124            <backend_cfg in_cfg="IN_HANDSET_MIC_BE_CFG">
125                <mic_info mic_device_id="builtin_mic_1"
126                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
127            </backend_cfg>
128            <backend_cfg in_cfg="IN_VOICECALL_HANDSET_MIC_BE_CFG">
129                <mic_info mic_device_id="builtin_mic_1"
130                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
131                <mic_info mic_device_id="builtin_mic_2"
132                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
133            </backend_cfg>
134            <backend_cfg in_cfg="IN_VOICECALL_SPEAKER_MIC_BE_CFG">
135                <mic_info mic_device_id="builtin_mic_1"
136                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
137                <mic_info mic_device_id="builtin_mic_2"
138                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
139                <mic_info mic_device_id="builtin_mic_3"
140                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
141            </backend_cfg>
142            <backend_cfg in_cfg="IN_USB_TTY_VCO_MIC_BE_CFG">
143                <mic_info mic_device_id="builtin_mic_1"
144                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
145                <mic_info mic_device_id="builtin_mic_2"
146                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
147                <mic_info mic_device_id="builtin_mic_3"
148                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
149            </backend_cfg>
150            <backend_cfg in_cfg="IN_VOICE_RECOGN_MIC_BE_CFG">
151                <mic_info mic_device_id="builtin_mic_1"
152                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
153            </backend_cfg>
154            <backend_cfg in_cfg="IN_UNPROCESSED_MIC_BE_CFG">
155                <mic_info mic_device_id="builtin_mic_1"
156                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
157            </backend_cfg>
158            <backend_cfg in_cfg="IN_UNPROCESSED_DUAL_MIC_BE_CFG">
159                <mic_info mic_device_id="builtin_mic_1"
160                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
161                <mic_info mic_device_id="builtin_mic_2"
162                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
163            </backend_cfg>
164            <backend_cfg in_cfg="IN_UNPROCESSED_TRIPLE_MIC_BE_CFG">
165                <mic_info mic_device_id="builtin_mic_1"
166                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
167                <mic_info mic_device_id="builtin_mic_2"
168                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
169                <mic_info mic_device_id="builtin_mic_3"
170                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
171            </backend_cfg>
172    </input_backend_cfg_mic_mapping>
173
174    <usecase_attr>
175        <!-- for output with AUDIO_OUTPUT_FLAG_RAW, 32 periods * 64 frames(around 1.3ms) * 2ch * 4(s32) = 16384 bytes -->
176        <usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
177        <!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
178        <usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
179        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch * 4(float)= 15360 bytes -->
180        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
181        <!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
182        <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
183        <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
184        <usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
185        <!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
186        <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"/>
187        <!-- dev1: audio dev2: haptic -->
188        <usecase id="UC_HAPTIC_AUDIO" dev1="2" dev2="7" period="10" period_num="4"/>
189        <!-- for VOIP output, 4 * 10ms buffer -->
190        <usecase id="UC_VOIP_PLAYBACK" dev1="16" dyn_path="true" dsp_vol="true" mmap="false" period="10" period_num="4"/>
191        <!-- for input -->
192        <usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
193        <usecase id="UC_HOSTLESS_UL" dev1="15"/>
194        <!-- for VOIP input, 4 * 10ms buffer -->
195        <usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2"/>
196        <!-- for input wit AUDIO_INPUT_FLAG_FAST  480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
197        <usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
198        <!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
199        <usecase id="UC_MMAP_RECORD" dev1="9" dyn_path="true" mmap="true" period="1" period_num="240"/>
200        <!-- for hifi -->
201        <usecase id="UC_HIFI_PLAYBACK" dev1="25" period="20" period_num="4"/>
202        <usecase id="UC_HIFI_RECORD" dev1="26" period="20" period_num="4"/>
203    </usecase_attr>
204
205    <dsp_latency>
206        <usecase id="UC_LOW_LATENCY_PLAYBACK" type="playback">
207            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="20000"/>
208            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="10000"/>
209            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="10000"/>
210            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="10000"/>
211        </usecase>
212
213        <usecase id="UC_DEEP_BUFFER_PLAYBACK" type="playback">
214            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="70000"/>
215            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="70000"/>
216            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="70000"/>
217            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
218        </usecase>
219
220        <usecase id="UC_AUDIO_RECORD" type="capture">
221            <be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="160000"/>
222            <be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
223            <be_cfg be_id="IN_CAMCORDER_PORTRAIT_BE_CFG" latency="160000"/>
224            <be_cfg be_id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" latency="160000"/>
225            <be_cfg be_id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
226            <be_cfg be_id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" latency="160000"/>
227            <be_cfg be_id="IN_CAMCORDER_MIC_BE_CFG" latency="160000"/>
228            <be_cfg be_id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" latency="160000"/>
229            <be_cfg be_id="IN_BTSCO_MIC_BE_CFG" latency="40000"/>
230            <be_cfg be_id="IN_BTSCO_MIC_NREC_BE_CFG" latency="40000"/>
231            <be_cfg be_id="IN_BTSCO_MIC_WB_BE_CFG" latency="40000"/>
232            <be_cfg be_id="IN_BTSCO_MIC_WB_NREC_BE_CFG" latency="40000"/>
233        </usecase>
234    </dsp_latency>
235
236    <soundcard_name name="google,aoc-snd-card" />
237
238    <cfg_attr>
239        <cfg id="OUT_SPEAKER_BE_CFG" intf_name="TDM_RX_0" mux="HW_MUX_GP_0" tuning_id="2"/>
240        <cfg id="OUT_HAC_HANDSET_BE_CFG" intf_name="TDM_RX_1" mux="HW_MUX_GP_1" be_path="hac-handset"/>
241        <cfg id="OUT_USB_HEADSET_BE_CFG">
242            <override product="Blackbird" tuning_id="22"/>
243            <override product="Condor" tuning_id="33"/>
244        </cfg>
245        <cfg id="OUT_USB_TTY_FULL_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
246        <cfg id="OUT_USB_TTY_VCO_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
247        <cfg id="OUT_USB_TTY_HCO_BE_CFG" be_path="NULL" codec_path="voice-speaker"/>
248        <cfg id="IN_USB_TTY_FULL_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
249        <cfg id="IN_USB_TTY_VCO_MIC_BE_CFG" be_path="NULL" codec_path="voice-speaker-mic"/>
250        <cfg id="IN_USB_TTY_HCO_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
251        <cfg id="IN_SPK_VI_BE_CFG" codec_path="NULL" be_path="spk-vi"/>
252        <cfg id="IN_HANDSET_MIC_BE_CFG" tuning_id="62"/>
253        <cfg id="IN_HANDSET_DUAL_MIC_BE_CFG" tuning_id="63"/>
254        <cfg id="IN_HANDSET_TRIPLE_MIC_BE_CFG" tuning_id="64"/>
255        <cfg id="IN_CAMCORDER_LANDSCAPE_BE_CFG" tuning_id="70"/>
256        <cfg id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" tuning_id="71"/>
257        <cfg id="IN_CAMCORDER_PORTRAIT_BE_CFG" tuning_id="72"/>
258        <cfg id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" tuning_id="73"/>
259        <cfg id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" tuning_id="74"/>
260        <cfg id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" tuning_id="75"/>
261        <cfg id="IN_CAMCORDER_MIC_BE_CFG" tuning_id="70"/>
262        <cfg id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" tuning_id="70"/>
263        <cfg id="IN_BTSCO_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
264        <cfg id="IN_BTSCO_MIC_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
265        <cfg id="IN_BTSCO_MIC_WB_BE_CFG" mux="HW_MUX_GP_0"/>
266        <cfg id="IN_BTSCO_MIC_WB_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
267        <cfg id="IN_VOICE_RECOGN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
268        <cfg id="IN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
269        <cfg id="IN_VOICECALL_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
270        <cfg id="IN_UNPROCESSED_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
271    </cfg_attr>
272
273    <xlate_id>
274        <item component="TUNING_COMPONENT_WAVES" id="2"/>
275        <item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
276        <item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
277    </xlate_id>
278
279    <voip_db_mapping>
280        <voip_path id="VOIP_RX_USB" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0"/>
281    </voip_db_mapping>
282
283    <device_handle>
284        <handler libname="audio_bt_aoc.so"/>
285        <handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/>
286    </device_handle>
287
288    <external_module>
289        <module libname="audio_waves_aoc.so" argu="Sink=SPK:1"/>
290        <module libname="audio_spk_35l41.so"/>
291        <module libname="audio_fortemedia_aoc.so"/>
292        <module libname="liboffloadeffect.so"/>
293        <module libname="audio_amcs_ext.so"/>
294        <module libname="audio_bluenote_aoc.so"/>
295    </external_module>
296</audio_platform_configuration>
297