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        <intf id="BE_VIRTUAL_CRYSTAL_CLEAR_AUDIO_TUNING" block_id="138"/>
39    </hw_intf>
40
41    <product_lists>
42        <product name="Blackbird">
43            <id value="18d1:5033"/>
44        </product>
45        <product name="Condor">
46            <id value="18d1:5034"/>
47        </product>
48        <product name="Condor_Sprint">
49            <id value="18d1:5038"/>
50        </product>
51        <product name="Condor_Sprint2">
52            <id value="18d1:5036"/>
53        </product>
54    </product_lists>
55
56    <!-- The microphone capability is fake data -->
57    <microphone_characteristics>
58        <microphone device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
59            group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
60            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"
61            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"
62            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" />
63        <microphone device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
64            group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
65            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"
66            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"
67            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" />
68        <microphone device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
69            group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
70            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"
71            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"
72            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" />
73    </microphone_characteristics>
74
75    <!-- The microphone mapping of backend device is fake data -->
76    <input_backend_cfg_mic_mapping>
77            <backend_cfg in_cfg="IN_CAMCORDER_LANDSCAPE_BE_CFG">
78                <mic_info mic_device_id="builtin_mic_1"
79                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
80                <mic_info mic_device_id="builtin_mic_2"
81                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
82                <mic_info mic_device_id="builtin_mic_3"
83                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
84            </backend_cfg>
85            <backend_cfg in_cfg="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG">
86                <mic_info mic_device_id="builtin_mic_1"
87                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
88                <mic_info mic_device_id="builtin_mic_2"
89                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
90                <mic_info mic_device_id="builtin_mic_3"
91                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
92            </backend_cfg>
93            <backend_cfg in_cfg="IN_CAMCORDER_PORTRAIT_BE_CFG">
94                <mic_info mic_device_id="builtin_mic_1"
95                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
96                <mic_info mic_device_id="builtin_mic_2"
97                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
98                <mic_info mic_device_id="builtin_mic_3"
99                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
100            </backend_cfg>
101            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG">
102                <mic_info mic_device_id="builtin_mic_1"
103                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
104                <mic_info mic_device_id="builtin_mic_2"
105                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
106                <mic_info mic_device_id="builtin_mic_3"
107                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
108            </backend_cfg>
109            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG">
110                <mic_info mic_device_id="builtin_mic_1"
111                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
112                <mic_info mic_device_id="builtin_mic_2"
113                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
114                <mic_info mic_device_id="builtin_mic_3"
115                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
116            </backend_cfg>
117            <backend_cfg in_cfg="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG">
118                <mic_info mic_device_id="builtin_mic_1"
119                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
120                <mic_info mic_device_id="builtin_mic_2"
121                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
122                <mic_info mic_device_id="builtin_mic_3"
123                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
124            </backend_cfg>
125            <backend_cfg in_cfg="IN_HANDSET_MIC_BE_CFG">
126                <mic_info mic_device_id="builtin_mic_1"
127                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
128            </backend_cfg>
129            <backend_cfg in_cfg="IN_VOICECALL_HANDSET_MIC_BE_CFG">
130                <mic_info mic_device_id="builtin_mic_1"
131                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
132                <mic_info mic_device_id="builtin_mic_2"
133                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
134            </backend_cfg>
135            <backend_cfg in_cfg="IN_VOICECALL_SPEAKER_MIC_BE_CFG">
136                <mic_info mic_device_id="builtin_mic_1"
137                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
138                <mic_info mic_device_id="builtin_mic_2"
139                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
140                <mic_info mic_device_id="builtin_mic_3"
141                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
142            </backend_cfg>
143            <backend_cfg in_cfg="IN_USB_TTY_VCO_MIC_BE_CFG">
144                <mic_info mic_device_id="builtin_mic_1"
145                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
146                <mic_info mic_device_id="builtin_mic_2"
147                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
148                <mic_info mic_device_id="builtin_mic_3"
149                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
150            </backend_cfg>
151            <backend_cfg in_cfg="IN_VOICE_RECOGN_MIC_BE_CFG">
152                <mic_info mic_device_id="builtin_mic_1"
153                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
154            </backend_cfg>
155            <backend_cfg in_cfg="IN_UNPROCESSED_MIC_BE_CFG">
156                <mic_info mic_device_id="builtin_mic_1"
157                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
158            </backend_cfg>
159            <backend_cfg in_cfg="IN_UNPROCESSED_DUAL_MIC_BE_CFG">
160                <mic_info mic_device_id="builtin_mic_1"
161                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
162                <mic_info mic_device_id="builtin_mic_2"
163                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
164            </backend_cfg>
165            <backend_cfg in_cfg="IN_UNPROCESSED_TRIPLE_MIC_BE_CFG">
166                <mic_info mic_device_id="builtin_mic_1"
167                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
168                <mic_info mic_device_id="builtin_mic_2"
169                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
170                <mic_info mic_device_id="builtin_mic_3"
171                    channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
172            </backend_cfg>
173    </input_backend_cfg_mic_mapping>
174
175    <usecase_attr>
176        <!-- for output with AUDIO_OUTPUT_FLAG_RAW, 32 periods * 64 frames(around 1.3ms) * 2ch * 4(s32) = 16384 bytes -->
177        <usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
178        <!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
179        <usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
180        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch *4(float) = 15360 bytes -->
181        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
182        <!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
183        <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
184        <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
185        <usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
186        <!-- for output with flag AUDIO_OUTPUT_SPATIALIZER -->
187        <usecase id="UC_IMMERSIVE_PLAYBACK" dev1="30" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
188        <!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
189        <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"/>
190        <!-- dev1: audio dev2: haptic -->
191        <usecase id="UC_HAPTIC_AUDIO" dev1="2" dev2="7" period="10" period_num="4"/>
192        <!-- for VOIP output, 4 * 10ms buffer -->
193        <usecase id="UC_VOIP_PLAYBACK" dev1="16" dyn_path="true" dsp_vol="true" mmap="false" period="10" period_num="4" pcm_ch="2"/>
194        <!-- for input -->
195        <usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
196        <usecase id="UC_HOSTLESS_UL" dev1="15"/>
197        <!-- for VOIP input, 4 * 10ms buffer -->
198        <usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="2"/>
199        <!-- for input wit AUDIO_INPUT_FLAG_FAST  480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
200        <usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
201        <!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
202        <usecase id="UC_MMAP_RECORD" dev1="9" dyn_path="true" mmap="true" period="1" period_num="240"/>
203        <!-- for hifi -->
204        <usecase id="UC_HIFI_PLAYBACK" dev1="25"/>
205        <usecase id="UC_HIFI_RECORD" dev1="26"/>
206    </usecase_attr>
207
208    <dsp_latency>
209        <usecase id="UC_LOW_LATENCY_PLAYBACK" type="playback">
210            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="20000"/>
211            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="10000"/>
212            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="10000"/>
213            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="10000"/>
214        </usecase>
215
216        <usecase id="UC_DEEP_BUFFER_PLAYBACK" type="playback">
217            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="70000"/>
218            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="70000"/>
219            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="70000"/>
220            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
221        </usecase>
222
223        <usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" type="playback">
224            <be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="40000"/>
225            <be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="40000"/>
226            <be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="40000"/>
227            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="70000"/>
228        </usecase>
229
230        <usecase id="UC_IMMERSIVE_PLAYBACK" type="playback">
231            <be_cfg be_id="OUT_A2DP_BE_CFG" latency="100000"/>
232        </usecase>
233
234        <usecase id="UC_AUDIO_RECORD" type="capture">
235            <be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="160000"/>
236            <be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
237            <be_cfg be_id="IN_CAMCORDER_PORTRAIT_BE_CFG" latency="160000"/>
238            <be_cfg be_id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" latency="160000"/>
239            <be_cfg be_id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
240            <be_cfg be_id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" latency="160000"/>
241            <be_cfg be_id="IN_BTSCO_MIC_BE_CFG" latency="40000"/>
242            <be_cfg be_id="IN_BTSCO_MIC_NREC_BE_CFG" latency="40000"/>
243            <be_cfg be_id="IN_BTSCO_MIC_WB_BE_CFG" latency="40000"/>
244            <be_cfg be_id="IN_BTSCO_MIC_WB_NREC_BE_CFG" latency="40000"/>
245        </usecase>
246    </dsp_latency>
247
248    <soundcard_name name="google,aoc-snd-card" />
249
250    <features>
251        <feature name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:MediaSpeakerAndScreenOn"/>
252        <feature name="PlaybackThermalThrottle=PollWaitMs:20000,ThermistorName:VIRTUAL-SKIN-SPEAKER,ThermistorType:UNKNOWN,ThrottlingSeverity:LIGHT,SpeakerPowerPollWaitMs:5000"/>
253    </features>
254
255    <cfg_attr>
256        <cfg id="OUT_SPEAKER_BE_CFG" intf_name="TDM_RX_0" mux="HW_MUX_GP_0" tuning_id="2"/>
257        <cfg id="OUT_HAC_HANDSET_BE_CFG" intf_name="TDM_RX_1" mux="HW_MUX_GP_1" be_path="hac-handset"/>
258        <cfg id="OUT_USB_HEADSET_BE_CFG">
259            <override product="Blackbird" tuning_id="22"/>
260            <override product="Condor" tuning_id="33"/>
261        </cfg>
262        <cfg id="OUT_USB_TTY_FULL_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
263        <cfg id="OUT_USB_TTY_VCO_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
264        <cfg id="OUT_USB_TTY_HCO_BE_CFG" be_path="NULL" codec_path="voice-speaker"/>
265        <cfg id="IN_USB_TTY_FULL_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
266        <cfg id="IN_USB_TTY_VCO_MIC_BE_CFG" be_path="NULL" codec_path="voice-speaker-mic"/>
267        <cfg id="IN_USB_TTY_HCO_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
268        <cfg id="IN_SPK_VI_BE_CFG" codec_path="NULL" be_path="spk-vi"/>
269        <cfg id="IN_HANDSET_MIC_BE_CFG" tuning_id="62"/>
270        <cfg id="IN_HANDSET_DUAL_MIC_BE_CFG" tuning_id="63"/>
271        <cfg id="IN_HANDSET_TRIPLE_MIC_BE_CFG" tuning_id="64"/>
272        <cfg id="IN_CAMCORDER_LANDSCAPE_BE_CFG" tuning_id="70"/>
273        <cfg id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" tuning_id="71"/>
274        <cfg id="IN_CAMCORDER_PORTRAIT_BE_CFG" tuning_id="72"/>
275        <cfg id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" tuning_id="73"/>
276        <cfg id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" tuning_id="74"/>
277        <cfg id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" tuning_id="75"/>
278        <cfg id="IN_CAMCORDER_MIC_BE_CFG" tuning_id="70"/>
279        <cfg id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" tuning_id="70"/>
280        <cfg id="IN_BTSCO_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
281        <cfg id="IN_BTSCO_MIC_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
282        <cfg id="IN_BTSCO_MIC_WB_BE_CFG" mux="HW_MUX_GP_0"/>
283        <cfg id="IN_BTSCO_MIC_WB_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
284        <cfg id="IN_VOICE_RECOGN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
285        <cfg id="IN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
286        <cfg id="IN_VOICECALL_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
287        <cfg id="IN_UNPROCESSED_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
288    </cfg_attr>
289
290    <xlate_id>
291        <item component="TUNING_COMPONENT_WAVES" id="2"/>
292        <item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
293        <item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
294    </xlate_id>
295
296    <voip_db_mapping>
297        <voip_path id="VOIP_RX_USB" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0"/>
298    </voip_db_mapping>
299
300    <device_handle>
301        <handler libname="audio_bt_aoc.so"/>
302        <handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/>
303        <handler libname="audio_hdmi_aoc.so"/>
304    </device_handle>
305
306    <external_module>
307        <module libname="audio_spk_35l41.so" argu="AcousticShockProtection"/>
308        <module libname="audio_waves_aoc.so" argu="Sink=SPK:1 ThermistorsName=VIRTUAL-SKIN-SPEAKER Extensions=StereoSpatializerIndicator"/>
309        <module libname="audio_cca_aoc.so" argu="UnsupportBands=48000 ExSharedBands=48000 VoIPMode=Dl SupportBWE=y"/>
310        <module libname="audio_fortemedia_aoc.so" argu="APPLY_WB_TUNING_FOR_NB_VOICE=y MCPS_TABLE=y DL_CH=y VoIP_DLCHs=SPK:2,USB:2,BT:2 VoIP_Rate=32000 SHARED_MODULE=1130578253"/>
311        <module libname="audio_sounddose_aoc.so"/>
312        <module libname="liboffloadeffect.so"/>
313        <module libname="audio_amcs_ext.so"/>
314        <module libname="audio_bluenote_aoc.so"/>
315        <module libname="audio_compensation_aoc.so" argu="ScreenRotation:0,90,180,270|LeftChannel:compens_spk_l.conf|RightChannel:compens_spk_r.conf"/>
316    </external_module>
317</audio_platform_configuration>
318