1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4  This is the constraints template for users to define (1) constraint terms
5  and (2) tuning architecture.
6
7  The architecture can be divided into multiple audio features that a mobile
8  device will support.
9
10  1. Telephony
11  2. Audio Output
12  3. Audio Input
13  4. Ambient Compute / Smart Features
14  5. Others
15
16  Also, the tuning architecture could be in reality treated as a tree like structure
17  below and each node represents a triplet of (category, node name, constraint name).
18
19  They'd be parsed into the logic behind the combobox drop down list dependent items.
20  For more information, please check go/bluenote-uc-dd and go/blutenote-uc-treenote.
21
22  e.g.
23
24  (ROOT, root, Root)
25   |
26   -(FEATURE, telephony1, Telephony)
27     |
28     -(CATEGORY, voip1, VoIP)
29      |
30      -(USECASE, headset1, Headset1)
31      | |
32      | -(CARRIER, generic1, Generic)
33      |  |
34      |  -(NETWORK, gsm1, GSM)
35      |     |
36      |     -(CODEC, codec3, Codec3)
37      |     |  |
38      |     |  -(BAND, fb1, FB)
39      |     |  |
40      |     |  -(BAND, nb1, NB)
41      |
42      -(USECASE, handset1, Handset1)
43      |  |
44      |  -(CARRIER, tmo1, TMOUS)
45      |   |
46      |   -(NETWORK, gsm1, GSM)
47      |    |
48      |    -(CODEC, codec3, Codec3)
49      |      |
50      |      -(BAND, fb1, FB)
51      |      |
52      |      -(BAND, nb1, NB)
53      |
54      -(USECASE, handset2, Handset1)
55         |
56         -(CARRIER, vzw1, VZW)
57          |
58          -(NETWORK, gsm2, GSM)
59          | |
60          | -(CODEC, codec1, Codec1)
61          |   |
62          |   -(BAND, fb1, FB)
63          |   |
64          |   -(BAND, swb1, SWB)
65          |
66          |
67          -(NETWORK, cdma1, CDMA)
68            |
69            -(CODEC, codec1, Codec1)
70              |
71              -(BAND, fb1, FB)
72              |
73              -(BAND, swb1, SWB)
74
75
76  NOTE: Users required to edit the terms and tree nodes (UI combobox mapping) below
77  for constraint combination.
78
79  Attributes:
80
81    value             The constraint value in given field.
82    name              The constraint term.
83    type              What feature type it belongs to.
84    id                The unique identifier for object or node.
85    node              The reference node.
86    tx-path           The transmit audio path.
87    rx-path           The receive audio path.
88    mixer-ref         The referenced mixer name.
89    ref               The referenced hardware.
90
91-->
92<constraints>
93
94  <!-- (1) Constraint Terms -->
95  <!--
96    Feature (4 bits)
97  -->
98  <feature value="1" name="Telephony" />
99  <feature value="2" name="Playback" />
100  <feature value="3" name="Recording" />
101  <feature value="4" name="SmartFeature" />
102
103  <!--
104    Category
105  -->
106  <category type="telephony" name="Cellular" />
107  <category type="telephony" name="VoIP EC NS" />
108  <category type="telephony" name="TTY" />
109  <category type="telephony" name="Google-Fi" />
110  <category type="playback" name="Sound" />
111  <category type="record" name="Record" />
112  <category type="record" name="Camcorder" />
113  <category type="record" name="VR" />
114  <category type="record" name="Unprocessed" />
115  <category type="hotword" name="Default" />
116
117  <!--
118    Usecase
119  -->
120  <usecase type="telephony" name="Receiver mode"
121           tx-path="device_in_voice_handset_mic"
122           rx-path="device_out_voice_handset" />
123  <usecase type="telephony" name="Receiver mode + HAC"
124           tx-path="device_in_voice_hac_handset_mic"
125           rx-path="device_out_voice_hac_handset" />
126  <usecase type="telephony" name="Speaker mode"
127           tx-path="device_in_voice_speaker_handset_mic"
128           rx-path="device_out_voice_speaker" />
129  <usecase type="telephony" name="Speaker mode + BT HAC"
130           tx-path="device_in_voice_speaker_bt_hac_handset_mic"
131           rx-path="device_out_voice_bt_hac_speaker" />
132  <usecase type="telephony" name="USB-C dongle mode1 without mic"
133           tx-path="device_in_voice_usb_dongle_handset_mic"
134           rx-path="device_out_voice_usb_dongle_headphone" />
135  <usecase type="telephony" name="USB-C dongle mode1 with mic"
136           tx-path="device_in_voice_usb_dongle_headset_mic"
137           rx-path="device_out_voice_usb_dongle_headset" />
138  <usecase type="telephony" name="USB-C dongle mode2 (Sprint testing only)"
139           tx-path="device_in_voice_usb_dongle_testing_headset_mic"
140           rx-path="device_out_voice_usb_dongle_testing_headset" />
141  <usecase type="telephony" name="USB-C dongle mode3 (Sprint electrical only)"
142           tx-path="device_in_voice_usb_dongle_electrical_headset_mic"
143           rx-path="device_out_voice_usb_dongle_electrical_headset" />
144  <usecase type="telephony" name="USB-C headset (in-box earphone)"
145           tx-path="device_in_voice_usb_headset_mic"
146           rx-path="device_out_voice_usb_headset" />
147  <usecase type="telephony" name="BT_NB (wb=off, nrec=off)"
148           tx-path="device_in_voice_bt_mic"
149           rx-path="device_out_voice_bt_headset" />
150  <usecase type="telephony" name="BT_NB_NREC (wb=off, nrec=on)"
151           tx-path="device_in_voice_bt_nrec_mic"
152           rx-path="device_out_voice_bt_nrec_headset" />
153  <usecase type="telephony" name="BT_WB (wb=on, nrec=off)"
154           tx-path="device_in_voice_bt_wb_mic"
155           rx-path="device_out_voice_bt_wb_headset" />
156  <usecase type="telephony" name="BT_WB_NREC (wb=on, nrec=on)"
157           tx-path="device_in_voice_bt_wb_nrec_mic"
158           rx-path="device_out_voice_bt_wb_nrec_headset" />
159  <usecase type="telephony" name="USB-C dongle (full mode)"
160           tx-path="device_in_voice_usb_tty_full_mic"
161           rx-path="device_out_voice_usb_tty_full" />
162  <usecase type="telephony" name="USB-C dongle (hco mode)"
163           tx-path="device_in_voice_usb_tty_hco_mic"
164           rx-path="device_out_voice_tty_hco_handset" />
165  <usecase type="telephony" name="USB-C dongle (vco mode)"
166           tx-path="device_in_voice_tty_vco_handset_mic"
167           rx-path="device_out_voice_usb_tty_vco" />
168  <usecase type="telephony" name="Receiver mode (Fi Asti)"
169           tx-path="device_in_voice_receiver_fi_handset_mic"
170           rx-path="device_out_voice_fi_handset" />
171  <usecase type="telephony" name="Speaker mode (Fi Asti)"
172           tx-path="device_in_voice_speaker_fi_handset_mic"
173           rx-path="device_out_voice_fi_speaker" />
174  <usecase type="telephony" name="USB-C headset/dongle without mic (Fi Asti)"
175           tx-path="device_in_voice_fi_handset_mic"
176           rx-path="device_out_voice_fi_usb_headphone" />
177  <usecase type="telephony" name="USB-C headset/dongle with mic (Fi Asti)"
178           tx-path="device_in_voice_fi_with_headset_mic"
179           rx-path="device_out_voice_fi_usb_headset" />
180  <usecase type="telephony" name="USB-C headset (in-box) (Fi Asti)"
181           tx-path="device_in_voice_fi_inbox_headset_mic"
182           rx-path="device_out_voice_fi_usb_inbox_headset" />
183  <usecase type="telephony" name="Receiver mode (VoIP)"
184           tx-path="device_in_voice_voip_receiver_handset_mic"
185           rx-path="device_out_voice_voip_handset" />
186  <usecase type="telephony" name="Speaker mode (VoIP)"
187           tx-path="device_in_voice_voip_speaker_handset_mic"
188           rx-path="device_out_voice_voip_speaker" />
189  <usecase type="telephony" name="USB-C headset/dongle without mic"
190           tx-path="device_in_voice_voip_handset_mic"
191           rx-path="device_out_voice_voip_usb_headphone" />
192  <usecase type="telephony" name="USB-C headset/dongle with mic"
193           tx-path="device_in_voice_voip_usb_headset_mic"
194           rx-path="device_out_voice_voip_usb_mic_headphone" />
195  <usecase type="telephony" name="USB-C headset (in-box)"
196           tx-path="device_in_voice_voip_usb_inbox_headset_mic"
197           rx-path="device_out_voice_voip_usb_inbox_headphone" />
198  <usecase type="playback" name="Earpiece playback (Handset mode)"
199           rx-path="device_out_handset" />
200  <usecase type="playback" name="Stereo speaker playback (Speaker mode)"
201           rx-path="device_out_stereo_speaker" />
202  <usecase type="playback" name="Mono speaker playback (Bottom speaker only)"
203           rx-path="device_out_mono_speaker" />
204  <usecase type="playback" name="USB-C headset (BlackBird)"
205           rx-path="device_out_usb_blackbird_headset" />
206  <usecase type="playback" name="USB-C headset (Others)"
207           rx-path="device_out_usb_others_headset" />
208  <usecase type="playback" name="USB-C dongle with 4 pin headset"
209           rx-path="device_out_usb_4_pin_headset" />
210  <usecase type="playback" name="USB-C dongle with 3 pin headphone"
211           rx-path="device_out_usb_headphone" />
212  <usecase type="playback" name="USB-C headset/dongle (Bottom speaker only)"
213           rx-path="device_out_usb_others_headset_headphone" />
214  <usecase type="playback" name="A2DP"
215           rx-path="device_out_bt_a2dp" />
216  <usecase type="record" name="Voice note with main mic (Google Keep and 3rd party)"
217           tx-path="device_in_handset_mic" />
218  <usecase type="record" name="SoloTester with dual mic (3rd party)"
219           tx-path="device_in_handset_dual_mic" />
220  <usecase type="record" name="SoloTester with tri mic (3rd party)"
221           tx-path="device_in_handset_tri_mic" />
222  <usecase type="record" name="Meetings and lectures with rear mic"
223           tx-path="device_in_handset_rear_mic" />
224  <usecase type="record" name="Music and raw sound"
225           tx-path="device_in_handset_rec_mic" />
226  <usecase type="record" name="Voice wakeup Hotword (OK Google)"
227           tx-path="device_in_wakeup_handset_mic" />
228  <usecase type="record" name="Voice wakeup Hotword barge-in (OK Google)"
229           tx-path="device_in_wakeup_barge_in_handset_mic" />
230  <usecase type="record" name="USB-C headset/dongle mic"
231           tx-path="device_in_usb_headset_dongle_mic" />
232  <usecase type="record" name="Three mic enabled (Back Cam, Landscape)"
233           tx-path="device_in_back_cam_land_tri_mic" />
234  <usecase type="record" name="Three mic enabled (Back Cam, Invert-Landscape)"
235           tx-path="device_in_back_cam_invert_land_tri_mic" />
236  <usecase type="record" name="Three mic enabled (Back Cam, Portrait)"
237           tx-path="device_in_back_cam_port_tri_mic" />
238  <usecase type="record" name="Three mic enabled (Selfie, Landscape)"
239           tx-path="device_in_selfie_land_tri_mic" />
240  <usecase type="record" name="Three mic enabled (Selfie, Invert-Landscape)"
241           tx-path="device_in_selfie_invert_land_tri_mic" />
242  <usecase type="record" name="Three mic enabled (Selfie, Portrait)"
243           tx-path="device_in_selfie_port_tri_mic" />
244  <usecase type="record" name="USB-C headset mic"
245           tx-path="device_in_usb_headset_mic" />
246  <usecase type="record" name="Voice recognition"
247           tx-path="device_in_voice_handset_rec_mic" />
248  <usecase type="record" name="USB-C headset/dongle voice recognition"
249           tx-path="device_in_usb_headset_voice_mic" />
250  <usecase type="record" name="Unprocessed record (channel count = 1)"
251           tx-path="device_in_unprocessed_handset_mic" />
252  <usecase type="record" name="Unprocessed record (channel count = 2)"
253           tx-path="device_in_unprocessed_handset_dual_mic" />
254  <usecase type="record" name="Unprocessed record (channel count = 3)"
255           tx-path="device_in_unprocessed_handset_tri_mic" />
256  <usecase type="record" name="Unprocessed record (channel count = 4)"
257           tx-path="device_in_unprocessed_handset_quad_mic" />
258  <usecase type="record" name="USB-C headset mic (BlackBird + Others)"
259           tx-path="device_in_unprocessed_usb_headset_mic" />
260  <usecase type="record" name="USB-C Dongle with 4 pin headset"
261           tx-path="device_in_unprocessed_usb_4_pin_headset_mic" />
262  <usecase type="record" name="BT SCO"
263           tx-path="device_in_bt_sco_mic" />
264  <usecase type="hotword" name="Default" tx-path="device_in_hotword" />
265
266  <!--
267    Tx/Rx paths (14 bits)
268  -->
269  <path value="0" id="device_in_hotword" mixer-ref="handset_mic" />
270  <path value="1" id="device_in_voice_handset_mic" mixer-ref="voice_mic" />
271  <path value="2" id="device_out_voice_handset" mixer-ref="voice_handset" />
272  <path value="3" id="device_in_voice_hac_handset_mic" mixer-ref="voice_mic" />
273  <path value="4" id="device_out_voice_hac_handset" mixer-ref="voice_handset" />
274  <path value="5" id="device_in_voice_speaker_handset_mic" mixer-ref="voice_speaker_mic" />
275  <path value="6" id="device_out_voice_speaker" mixer-ref="voice_speaker" />
276  <path value="7" id="device_in_voice_speaker_bt_hac_handset_mic" mixer-ref="bt_mic" />
277  <path value="8" id="device_out_voice_bt_hac_speaker" mixer-ref="bt_speaker" />
278  <path value="9" id="device_in_voice_usb_dongle_handset_mic" mixer-ref="voice_mic" />
279  <path value="10" id="device_out_voice_usb_dongle_headphone" mixer-ref="usb_headphone" />
280  <path value="11" id="device_in_voice_usb_dongle_headset_mic" mixer-ref="usb_headset_mic" />
281  <path value="12" id="device_out_voice_usb_dongle_headset" mixer-ref="usb_headset" />
282  <path value="13" id="device_in_voice_usb_dongle_testing_headset_mic" mixer-ref="usb_headset_mic" />
283  <path value="14" id="device_out_voice_usb_dongle_testing_headset" mixer-ref="usb_headset" />
284  <path value="15" id="device_in_voice_usb_dongle_electrical_headset_mic" mixer-ref="usb_headset_mic" />
285  <path value="16" id="device_out_voice_usb_dongle_electrical_headset" mixer-ref="usb_headset" />
286  <path value="17" id="device_in_voice_usb_headset_mic" mixer-ref="usb_headset_mic" />
287  <path value="18" id="device_out_voice_usb_headset" mixer-ref="usb_headset" />
288  <path value="19" id="device_in_voice_bt_mic" mixer-ref="bt_mic" />
289  <path value="20" id="device_out_voice_bt_headset" mixer-ref="bt_headset" />
290  <path value="21" id="device_in_voice_bt_nrec_mic" mixer-ref="bt_mic" />
291  <path value="22" id="device_out_voice_bt_nrec_headset" mixer-ref="bt_headset" />
292  <path value="23" id="device_in_voice_bt_wb_mic" mixer-ref="bt_mic" />
293  <path value="24" id="device_out_voice_bt_wb_headset" mixer-ref="bt_headset" />
294  <path value="25" id="device_in_voice_bt_wb_nrec_mic" mixer-ref="bt_mic" />
295  <path value="26" id="device_out_voice_bt_wb_nrec_headset" mixer-ref="bt_headset" />
296  <path value="27" id="device_in_voice_usb_tty_full_mic" mixer-ref="voice_tty_full_headset_mic" />
297  <path value="28" id="device_out_voice_usb_tty_full" mixer-ref="voice_tty_full_headphone" />
298  <path value="29" id="device_in_voice_usb_tty_hco_mic" mixer-ref="voice_tty_hco_headset_mic" />
299  <path value="30" id="device_out_voice_tty_hco_handset" mixer-ref="voice_tty_hco_handset" />
300  <path value="31" id="device_in_voice_tty_vco_handset_mic" mixer-ref="voice_tty_vco_headset_mic" />
301  <path value="32" id="device_out_voice_usb_tty_vco" mixer-ref="voice_tty_vco_headphone" />
302  <path value="33" id="device_in_voice_receiver_fi_handset_mic" mixer-ref="voice_mic" />
303  <path value="34" id="device_out_voice_fi_handset" mixer-ref="voice_handset" />
304  <path value="35" id="device_in_voice_speaker_fi_handset_mic" mixer-ref="voice_mic" />
305  <path value="36" id="device_out_voice_fi_speaker" mixer-ref="voice_speaker" />
306  <path value="37" id="device_in_voice_fi_handset_mic" mixer-ref="voice_mic" />
307  <path value="38" id="device_out_voice_fi_usb_headphone" mixer-ref="usb_headphone" />
308  <path value="39" id="device_in_voice_fi_with_headset_mic" mixer-ref="usb_headset_mic" />
309  <path value="40" id="device_out_voice_fi_usb_headset" mixer-ref="usb_headset" />
310  <path value="41" id="device_in_voice_fi_inbox_headset_mic" mixer-ref="usb_headset_mic" />
311  <path value="42" id="device_out_voice_fi_usb_inbox_headset" mixer-ref="usb_headset" />
312  <path value="43" id="device_in_voice_voip_receiver_handset_mic" mixer-ref="voice_mic" />
313  <path value="44" id="device_out_voice_voip_handset" mixer-ref="voice_handset" />
314  <path value="45" id="device_in_voice_voip_speaker_handset_mic" mixer-ref="voice_mic" />
315  <path value="46" id="device_out_voice_voip_speaker" mixer-ref="voice_handset" />
316  <path value="47" id="device_in_voice_voip_handset_mic" mixer-ref="voice_mic" />
317  <path value="48" id="device_out_voice_voip_usb_headphone" mixer-ref="usb_headphone" />
318  <path value="49" id="device_in_voice_voip_usb_headset_mic" mixer-ref="usb_headset_mic" />
319  <path value="50" id="device_out_voice_voip_usb_mic_headphone" mixer-ref="usb_headphone" />
320  <path value="51" id="device_in_voice_voip_usb_inbox_headset_mic" mixer-ref="usb_headset_mic" />
321  <path value="52" id="device_out_voice_voip_usb_inbox_headphone" mixer-ref="usb_headphone" />
322  <path value="53" id="device_out_handset" mixer-ref="voice_handset" />
323  <path value="54" id="device_out_stereo_speaker" mixer-ref="voice_speaker" />
324  <path value="55" id="device_out_mono_speaker" mixer-ref="voice_speaker" />
325  <path value="56" id="device_out_usb_blackbird_headset" mixer-ref="usb_headset" />
326  <path value="57" id="device_out_usb_others_headset" mixer-ref="usb_headset" />
327  <path value="58" id="device_out_usb_4_pin_headset" mixer-ref="usb_headset" />
328  <path value="59" id="device_out_usb_headphone" mixer-ref="usb_headphone" />
329  <path value="60" id="device_out_usb_others_headset_headphone" mixer-ref="usb_headset" />
330  <path value="61" id="device_out_bt_a2dp" mixer-ref="bt_speaker" />
331  <path value="62" id="device_in_handset_mic" mixer-ref="handset_mic" />
332  <path value="63" id="device_in_handset_dual_mic" mixer-ref="handset_stereo_mic" />
333  <path value="64" id="device_in_handset_tri_mic" mixer-ref="handset_tri_mic" />
334  <path value="65" id="device_in_handset_rear_mic" mixer-ref="camcorder_mic" />
335  <path value="66" id="device_in_handset_rec_mic" mixer-ref="rec_mic" />
336  <path value="67" id="device_in_wakeup_handset_mic" mixer-ref="handset_mic" />
337  <path value="68" id="device_in_wakeup_barge_in_handset_mic" mixer-ref="handset_mic" />
338  <path value="69" id="device_in_usb_headset_dongle_mic" mixer-ref="usb_headset_mic" />
339  <path value="70" id="device_in_back_cam_land_tri_mic" mixer-ref="camcorder_mic" />
340  <path value="71" id="device_in_back_cam_invert_land_tri_mic" mixer-ref="camcorder_mic" />
341  <path value="72" id="device_in_back_cam_port_tri_mic" mixer-ref="camcorder_mic" />
342  <path value="73" id="device_in_selfie_land_tri_mic" mixer-ref="camcorder_mic" />
343  <path value="74" id="device_in_selfie_invert_land_tri_mic" mixer-ref="camcorder_mic" />
344  <path value="75" id="device_in_selfie_port_tri_mic" mixer-ref="camcorder_mic" />
345  <path value="76" id="device_in_usb_headset_mic" mixer-ref="usb_headset_mic" />
346  <path value="77" id="device_in_voice_handset_rec_mic" mixer-ref="rec_mic" />
347  <path value="78" id="device_in_usb_headset_voice_mic" mixer-ref="usb_headset_mic" />
348  <path value="79" id="device_in_unprocessed_handset_mic" mixer-ref="unprocessed_handset_mic" />
349  <path value="80" id="device_in_unprocessed_handset_dual_mic" mixer-ref="unprocessed_handset_stereo_mic" />
350  <path value="81" id="device_in_unprocessed_handset_tri_mic" mixer-ref="unprocessed_handset_tri_mic" />
351  <path value="82" id="device_in_unprocessed_handset_quad_mic" mixer-ref="unprocessed_handset_quad_mic" />
352  <path value="83" id="device_in_unprocessed_usb_headset_mic" mixer-ref="usb_headset_mic" />
353  <path value="84" id="device_in_unprocessed_usb_4_pin_headset_mic" mixer-ref="usb_headset_mic" />
354  <path value="85" id="device_in_bt_sco_mic" mixer-ref="bt_mic" />
355
356  <!--
357    Mixer
358  -->
359  <mixer id="voice_mic">
360    <hardware-ref node="microphone" />
361  </mixer>
362
363  <mixer id="voice_handset">
364    <hardware-ref node="handset" />
365  </mixer>
366
367  <mixer id="voice_speaker_mic">
368    <hardware-ref node="microphone" />
369  </mixer>
370
371  <mixer id="voice_speaker">
372    <hardware-ref node="speaker" />
373  </mixer>
374
375  <mixer id="bt_mic">
376    <hardware-ref node="bt_microphone" />
377  </mixer>
378
379  <mixer id="bt_speaker">
380    <hardware-ref node="bt_speaker" />
381  </mixer>
382
383  <mixer id="bt_headset">
384    <hardware-ref node="bt_headset" />
385  </mixer>
386
387  <mixer id="usb_speaker">
388    <hardware-ref node="usb_headphone" />
389  </mixer>
390
391  <mixer id="usb_headset_mic">
392    <hardware-ref node="usb_headset_mic" />
393  </mixer>
394
395  <mixer id="usb_headset">
396    <hardware-ref node="usb_headset" />
397  </mixer>
398
399  <mixer id="usb_headphone">
400    <hardware-ref node="usb_headphone" />
401  </mixer>
402
403  <mixer id="voice_tty_full_headset_mic">
404    <hardware-ref node="usb_headset_mic" />
405  </mixer>
406
407  <mixer id="voice_tty_full_headphone">
408    <hardware-ref node="usb_headphone" />
409  </mixer>
410
411  <mixer id="voice_tty_hco_headset_mic">
412    <hardware-ref node="usb_headset_mic" />
413  </mixer>
414
415  <mixer id="voice_tty_hco_handset">
416    <hardware-ref node="handset" />
417  </mixer>
418
419  <mixer id="voice_tty_vco_headset_mic">
420    <hardware-ref node="usb_headset_mic" />
421  </mixer>
422
423  <mixer id="voice_tty_vco_headphone">
424    <hardware-ref node="usb_headphone" />
425  </mixer>
426
427  <mixer id="handset_mic">
428    <hardware-ref node="microphone" />
429  </mixer>
430
431  <mixer id="handset_stereo_mic">
432    <hardware-ref node="microphone" />
433  </mixer>
434
435  <mixer id="handset_tri_mic">
436    <hardware-ref node="microphone" />
437  </mixer>
438
439  <mixer id="camcorder_mic">
440    <hardware-ref node="microphone" />
441  </mixer>
442
443  <mixer id="rec_mic">
444    <hardware-ref node="microphone" />
445  </mixer>
446
447  <mixer id="unprocessed_handset_mic">
448    <hardware-ref node="microphone" />
449  </mixer>
450
451  <mixer id="unprocessed_handset_stereo_mic">
452    <hardware-ref node="microphone" />
453  </mixer>
454
455  <mixer id="unprocessed_handset_tri_mic">
456   <hardware-ref node="microphone" />
457  </mixer>
458
459  <mixer id="unprocessed_handset_quad_mic">
460   <hardware-ref node="microphone" />
461  </mixer>
462
463  <!--
464    Hardware
465  -->
466  <hardware id="handset" name="Handset" />
467  <hardware id="speaker" name="Speaker" />
468  <hardware id="headphone" name="Headphone" />
469  <hardware id="microphone" name="Microphone" />
470  <hardware id="bt_speaker" name="BT Speaker" />
471  <hardware id="bt_microphone" name="BT Microphone" />
472  <hardware id="bt_headset" name="BT Headset" />
473  <hardware id="usb_headset_mic" name="USB-C Headset Microphone" />
474  <hardware id="usb_headset" name="USB-C Headset" />
475  <hardware id="usb_headphone" name="USB-C Headphone" />
476
477  <!--
478    Carrier (4 bits)
479  -->
480  <carrier value="0" type="telephony" name="None" />
481  <carrier value="1" type="telephony" name="Generic" />
482  <carrier value="2" type="telephony" name="TMOUS" />
483  <carrier value="3" type="telephony" name="SPRINT" />
484  <carrier value="4" type="telephony" name="USCC" />
485  <carrier value="5" type="telephony" name="VZW" />
486
487  <!--
488    Telephony modes.
489  -->
490  <!-- Network Modes (6 bits) -->
491  <mode value="0" type="network" name="None" />
492  <mode value="1" type="network" name="GSM" />
493  <mode value="2" type="network" name="CDMA" />
494  <mode value="3" type="network" name="WCDMA" />
495  <mode value="4" type="network" name="VOLTE" />
496
497  <!-- Codec Modes (8 bits)-->
498  <mode value="0" type="codec" name="None" />
499  <mode value="1" type="codec" name="NB-13K" />
500  <mode value="2" type="codec" name="SO3" />
501  <mode value="3" type="codec" name="SO68" />
502  <mode value="4" type="codec" name="NB-SO73 (COP1~COP7)" />
503  <mode value="5" type="codec" name="WB-SO73 (COP0)" />
504  <mode value="6" type="codec" name="NB-AMR_NB" />
505  <mode value="7" type="codec" name="EFR" />
506  <mode value="8" type="codec" name="FR" />
507  <mode value="9" type="codec" name="HR" />
508  <mode value="10" type="codec" name="WB-AMR_WB" />
509  <mode value="11" type="codec" name="WB-eAMR" />
510  <mode value="12" type="codec" name="NB-eAMR" />
511  <mode value="13" type="codec" name="SO73-WB" />
512  <mode value="14" type="codec" name="SO73-NB" />
513  <mode value="15" type="codec" name="NB-EVS" />
514  <mode value="16" type="codec" name="16kHz-EVS-WB" />
515  <mode value="17" type="codec" name="16kHz-EVS-NB" />
516  <mode value="18" type="codec" name="32kHz-EVS-SWB" />
517  <mode value="19" type="codec" name="32kHz-EVS-WB" />
518  <mode value="20" type="codec" name="32kHz-EVS-NB" />
519  <mode value="21" type="codec" name="48kHz-EVS-FB" />
520  <mode value="22" type="codec" name="48kHz-EVS-SWB" />
521  <mode value="23" type="codec" name="48kHz-EVS-WB" />
522  <mode value="24" type="codec" name="48kHz-EVS-NB" />
523
524  <!--
525    Band Modes (3 bits)
526      NB  (8000)
527      WB  (16000)
528      SWB (32000)
529      FB  (48000)
530  -->
531  <mode value="1" type="band" name="NB" />
532  <mode value="2" type="band" name="WB" />
533  <mode value="3" type="band" name="SWB" />
534  <mode value="4" type="band" name="FB" />
535
536  <!--
537    Playback modes.
538  -->
539  <!-- Sounds Modes (3 bits) -->
540  <mode value="1" type="sound" name="Low Latency" />
541  <mode value="2" type="sound" name="Ultra Low Latency" />
542  <mode value="3" type="sound" name="DeepBuffer" />
543  <mode value="4" type="sound" name="Compress Offload" />
544
545  <!-- Sample Rate Modes (5 bits) -->
546  <mode value="1" type="rate" name="8000" />
547  <mode value="2" type="rate" name="11025" />
548  <mode value="3" type="rate" name="16000" />
549  <mode value="4" type="rate" name="22050" />
550  <mode value="5" type="rate" name="32000" />
551  <mode value="6" type="rate" name="44100" />
552  <mode value="7" type="rate" name="48000" />
553  <mode value="8" type="rate" name="96000" />
554
555  <!-- (2) Tuning Architecture -->
556  <!--
557    Root node.
558  -->
559  <tuning-tree>
560    <feature-ref node="feature_telephony" />
561    <feature-ref node="feature_playback" />
562    <feature-ref node="feature_record" />
563    <feature-ref node="feature_hotword" />
564  </tuning-tree>
565
566  <!--
567    Feature nodes.
568  -->
569  <feature-node id="feature_telephony" type="telephony" name="Telephony">
570    <category-ref node="category_cellular" />
571    <category-ref node="category_tty" />
572    <category-ref node="category_fi" />
573    <category-ref node="category_voip_ec_ns" />
574  </feature-node>
575
576  <feature-node id="feature_playback" type="playback" name="Playback">
577    <category-ref node="category_sound" />
578  </feature-node>
579
580  <feature-node id="feature_record" type="record" name="Recording">
581    <category-ref node="category_record" />
582    <category-ref node="category_cam" />
583    <category-ref node="category_vr" />
584    <category-ref node="category_unprocessed" />
585  </feature-node>
586
587  <feature-node id="feature_hotword" type="hotword" name="SmartFeature">
588    <category-ref node="category_hotword_default" />
589  </feature-node>
590
591  <!--
592    Category nodes.
593  -->
594  <category-node id="category_cellular" type="telephony" name="Cellular">
595    <usecase-ref node="usecase_telephony_receiver_mode" />
596    <usecase-ref node="usecase_telephony_hac_receiver_mode" />
597    <usecase-ref node="usecase_telephony_speaker_mode" />
598    <usecase-ref node="usecase_telephony_bt_hac_speaker_mode" />
599    <usecase-ref node="usecase_telephony_usb_dongle_mode1_without_mic_mode" />
600    <usecase-ref node="usecase_telephony_usb_dongle_mode1_with_mic_mode" />
601    <usecase-ref node="usecase_telephony_sprint_test_usb_dongle_mode2" />
602    <usecase-ref node="usecase_telephony_sprint_ectrical_usb_dongle_mode3" />
603    <usecase-ref node="usecase_telephony_usb_inbox_earphone_headset" />
604    <usecase-ref node="usecase_telephony_bt_nb" />
605    <usecase-ref node="usecase_telephony_bt_nb_nrec" />
606    <usecase-ref node="usecase_telephony_bt_wb" />
607    <usecase-ref node="usecase_telephony_bt_wb_nrec" />
608  </category-node>
609
610  <category-node id="category_tty" type="telephony" name="TTY">
611    <usecase-ref node="usecase_telephony_usb_dongle_full" />
612    <usecase-ref node="usecase_telephony_usb_dongle_hco" />
613    <usecase-ref node="usecase_telephony_usb_dongle_vco" />
614  </category-node>
615
616  <category-node id="category_fi" type="telephony" name="Google-Fi">
617    <usecase-ref node="usecase_telephony_fi" />
618    <usecase-ref node="usecase_telephony_speaker_fi" />
619    <usecase-ref node="usecase_telephony_fi_usb_headset_without_mic" />
620    <usecase-ref node="usecase_telephony_fi_usb_headset_with_mic" />
621    <usecase-ref node="usecase_telephony_fi_usb_inbox_headset" />
622  </category-node>
623
624  <category-node id="category_voip_ec_ns" type="telephony" name="VoIP EC NS">
625    <usecase-ref node="usecase_telephony_voip_receiver" />
626    <usecase-ref node="usecase_telephony_voip_speaker" />
627    <usecase-ref node="usecase_telephony_voip_without_headset_mic" />
628    <usecase-ref node="usecase_telephony_voip_usb_headset_mic" />
629    <usecase-ref node="usecase_telephony_voip_usb_inbox_headset" />
630    <usecase-ref node="usecase_telephony_voip_bt_nb" />
631    <usecase-ref node="usecase_telephony_voip_bt_nb_nrec" />
632    <usecase-ref node="usecase_telephony_voip_bt_wb" />
633    <usecase-ref node="usecase_telephony_voip_bt_wb_nrec" />
634  </category-node>
635
636  <category-node id="category_sound" type="playback" name="Sound">
637    <usecase-ref node="usecase_playback_earpiece_handset" />
638    <usecase-ref node="usecase_playback_stereo_speaker" />
639    <usecase-ref node="usecase_playback_mono_speaker_bottom_speaker" />
640    <usecase-ref node="usecase_playback_usb_blackbird_headset" />
641    <usecase-ref node="usecase_playback_usb_others_headset" />
642    <usecase-ref node="usecase_playback_usb_dongle_4_pin_headset" />
643    <usecase-ref node="usecase_playback_usb_dongle_3_pin_headphone" />
644    <usecase-ref node="usecase_playback_usb_headset_dongle_bottom_speaker" />
645    <usecase-ref node="usecase_playback_a2dp" />
646  </category-node>
647
648  <category-node id="category_record" type="record" name="Record">
649    <usecase-ref node="usecase_record_voice_note_main_mic" />
650    <usecase-ref node="usecase_record_solotester_dual_mic" />
651    <usecase-ref node="usecase_record_solotester_tri_mic" />
652    <usecase-ref node="usecase_record_meetings_lectures_rear_mic" />
653    <usecase-ref node="usecase_record_music_raw_sound" />
654    <usecase-ref node="usecase_record_voice_wakeup_hotword" />
655    <usecase-ref node="usecase_record_voice_wakeup_hotword_barge-in" />
656    <usecase-ref node="usecase_record_usb_headset_dongle_mic" />
657    <usecase-ref node="usecase_record_bt_sco" />
658  </category-node>
659
660  <category-node id="category_cam" type="record" name="Camcorder">
661    <usecase-ref node="usecase_record_back_cam_land_tri_mic" />
662    <usecase-ref node="usecase_record_back_cam_invert_land_tri_mic" />
663    <usecase-ref node="usecase_record_back_cam_port_tri_mic" />
664    <usecase-ref node="usecase_record_selfie_land_tri_mic" />
665    <usecase-ref node="usecase_record_selfie_invert_land_tri_mic" />
666    <usecase-ref node="usecase_record_selfie_port_tri_mic" />
667    <usecase-ref node="usecase_record_usb_headset_mic" />
668  </category-node>
669
670  <category-node id="category_vr" type="record" name="VR">
671    <usecase-ref node="usecase_record_handset_voice_mic" />
672    <usecase-ref node="usecase_record_usb_headset_voice_mic" />
673  </category-node>
674
675  <category-node id="category_unprocessed" type="record" name="Unprocessed">
676    <usecase-ref node="usecase_record_unprocessed_handset_mic" />
677    <usecase-ref node="usecase_record_unprocessed_handset_dual_mic" />
678    <usecase-ref node="usecase_record_unprocessed_handset_tri_mic" />
679    <usecase-ref node="usecase_record_unprocessed_handset_quad_mic" />
680    <usecase-ref node="usecase_record_unprocessed_usb_blackbird_others_headset_mic" />
681    <usecase-ref node="usecase_record_unprocessed_usb_dongle_4_pin_headset" />
682  </category-node>
683
684  <category-node id="category_hotword_default" type="hotword" name="Default">
685    <usecase-ref node="usecase_hotword_default" />
686  </category-node>
687
688  <!--
689    Usecase nodes.
690  -->
691  <usecase-node id="usecase_telephony_receiver_mode" type="telephony" name="Receiver mode">
692    <carrier-ref node="carrier_generic" />
693    <carrier-ref node="carrier_tmous" />
694    <carrier-ref node="carrier_sprint" />
695  </usecase-node>
696
697  <usecase-node id="usecase_telephony_hac_receiver_mode" type="telephony"
698                name="Receiver mode + HAC">
699    <carrier-ref node="carrier_generic" />
700    <carrier-ref node="carrier_tmous" />
701    <carrier-ref node="carrier_sprint" />
702  </usecase-node>
703
704  <usecase-node id="usecase_telephony_speaker_mode" type="telephony" name="Speaker mode">
705    <carrier-ref node="carrier_generic" />
706    <carrier-ref node="carrier_sprint" />
707  </usecase-node>
708
709  <usecase-node id="usecase_telephony_bt_hac_speaker_mode" type="telephony"
710                name="Speaker mode + BT HAC">
711    <carrier-ref node="carrier_generic" />
712    <carrier-ref node="carrier_sprint" />
713  </usecase-node>
714
715  <usecase-node id="usecase_telephony_usb_dongle_mode1_without_mic_mode" type="telephony"
716                name="USB-C dongle mode1 without mic">
717    <carrier-ref node="carrier_generic" />
718  </usecase-node>
719
720  <usecase-node id="usecase_telephony_usb_dongle_mode1_with_mic_mode" type="telephony"
721                name="USB-C dongle mode1 with mic">
722    <carrier-ref node="carrier_generic" />
723  </usecase-node>
724
725  <usecase-node id="usecase_telephony_sprint_test_usb_dongle_mode2" type="telephony"
726                name="USB-C dongle mode2 (Sprint testing only)">
727    <carrier-ref node="carrier_sprint" />
728  </usecase-node>
729
730  <usecase-node id="usecase_telephony_sprint_ectrical_usb_dongle_mode3" type="telephony"
731                name="USB-C dongle mode3 (Sprint electrical only)">
732    <carrier-ref node="carrier_sprint" />
733  </usecase-node>
734
735  <usecase-node id="usecase_telephony_usb_inbox_earphone_headset" type="telephony"
736                name="USB-C headset (in-box earphone)">
737    <carrier-ref node="carrier_generic" />
738  </usecase-node>
739
740  <usecase-node id="usecase_telephony_bt_nb" type="telephony" name="BT_NB (wb=off, nrec=off)">
741    <carrier-ref node="carrier_generic" />
742  </usecase-node>
743
744  <usecase-node id="usecase_telephony_bt_nb_nrec" type="telephony"
745                name="BT_NB_NREC (wb=off, nrec=on)">
746    <carrier-ref node="carrier_generic" />
747  </usecase-node>
748
749  <usecase-node id="usecase_telephony_bt_wb" type="telephony" name="BT_WB (wb=on, nrec=off)">
750    <carrier-ref node="carrier_generic" />
751  </usecase-node>
752
753  <usecase-node id="usecase_telephony_bt_wb_nrec" type="telephony"
754                name="BT_WB_NREC (wb=on, nrec=on)">
755    <carrier-ref node="carrier_generic" />
756  </usecase-node>
757
758  <usecase-node id="usecase_telephony_usb_dongle_full" type="telephony"
759                name="USB-C dongle (full mode)">
760    <carrier-ref node="carrier_generic" />
761  </usecase-node>
762
763  <usecase-node id="usecase_telephony_usb_dongle_hco" type="telephony"
764                name="USB-C dongle (hco mode)">
765    <carrier-ref node="carrier_generic" />
766  </usecase-node>
767
768  <usecase-node id="usecase_telephony_usb_dongle_vco" type="telephony"
769                name="USB-C dongle (vco mode)">
770    <carrier-ref node="carrier_generic" />
771  </usecase-node>
772
773  <usecase-node id="usecase_telephony_fi" type="telephony"
774                name="Receiver mode (Fi Asti)">
775    <carrier-ref node="carrier_vzw" />
776    <carrier-ref node="carrier_tmous" />
777    <carrier-ref node="carrier_uscc" />
778  </usecase-node>
779
780  <usecase-node id="usecase_telephony_speaker_fi" type="telephony"
781                name="Speaker mode (Fi Asti)">
782    <carrier-ref node="carrier_vzw" />
783    <carrier-ref node="carrier_tmous" />
784    <carrier-ref node="carrier_uscc" />
785  </usecase-node>
786
787  <usecase-node id="usecase_telephony_fi_usb_headset_without_mic" type="telephony"
788                name="USB-C headset/dongle without mic (Fi Asti)">
789    <carrier-ref node="carrier_generic" />
790  </usecase-node>
791
792  <usecase-node id="usecase_telephony_fi_usb_headset_with_mic" type="telephony"
793                name="USB-C headset/dongle with mic (Fi Asti)">
794    <carrier-ref node="carrier_generic" />
795  </usecase-node>
796
797  <usecase-node id="usecase_telephony_fi_usb_inbox_headset" type="telephony"
798                name="USB-C headset (in-box) (Fi Asti)">
799    <carrier-ref node="carrier_generic" />
800  </usecase-node>
801
802  <usecase-node id="usecase_telephony_voip_receiver" type="telephony"
803                name="Receiver mode (VoIP)">
804    <carrier-ref node="carrier_none" />
805  </usecase-node>
806
807  <usecase-node id="usecase_telephony_voip_speaker" type="telephony"
808                name="Speaker mode (VoIP)">
809    <carrier-ref node="carrier_none" />
810  </usecase-node>
811
812  <usecase-node id="usecase_telephony_voip_without_headset_mic" type="telephony"
813                name="USB-C headset/dongle without mic">
814    <carrier-ref node="carrier_none" />
815  </usecase-node>
816
817  <usecase-node id="usecase_telephony_voip_usb_headset_mic" type="telephony"
818                name="USB-C headset/dongle with mic">
819    <carrier-ref node="carrier_none" />
820  </usecase-node>
821
822  <usecase-node id="usecase_telephony_voip_usb_inbox_headset" type="telephony"
823                name="USB-C headset (in-box)">
824    <carrier-ref node="carrier_none" />
825  </usecase-node>
826
827  <usecase-node id="usecase_telephony_voip_bt_nb" type="telephony"
828                name="BT_NB (wb=off, nrec=off)">
829    <carrier-ref node="carrier_none" />
830  </usecase-node>
831
832  <usecase-node id="usecase_telephony_voip_bt_nb_nrec" type="telephony"
833                name="BT_NB_NREC (wb=off, nrec=on)">
834    <carrier-ref node="carrier_none" />
835  </usecase-node>
836
837  <usecase-node id="usecase_telephony_voip_bt_wb" type="telephony"
838                name="BT_WB (wb=on, nrec=off)">
839    <carrier-ref node="carrier_none" />
840  </usecase-node>
841
842  <usecase-node id="usecase_telephony_voip_bt_wb_nrec" type="telephony"
843                name="BT_WB_NREC (wb=on, nrec=on)">
844    <carrier-ref node="carrier_none" />
845  </usecase-node>
846
847  <usecase-node id="usecase_playback_earpiece_handset" type="playback"
848                name="Earpiece playback (Handset mode)">
849    <mode-ref node="sound_low_latency" />
850    <mode-ref node="sound_ultra_low_latency" />
851    <mode-ref node="sound_deep_buffer" />
852    <mode-ref node="sound_compress_offload" />
853  </usecase-node>
854
855  <usecase-node id="usecase_playback_stereo_speaker" type="playback"
856                name="Stereo speaker playback (Speaker mode)">
857    <mode-ref node="sound_mono_stereo_low_latency" />
858    <mode-ref node="sound_mono_stereo_ultra_low_latency" />
859    <mode-ref node="sound_mono_stereo_deep_buffer" />
860    <mode-ref node="sound_mono_stereo_compress_offload" />
861  </usecase-node>
862
863  <usecase-node id="usecase_playback_mono_speaker_bottom_speaker" type="playback"
864                name="Mono speaker playback (Bottom speaker only)">
865    <mode-ref node="sound_mono_stereo_low_latency" />
866    <mode-ref node="sound_mono_stereo_ultra_low_latency" />
867    <mode-ref node="sound_mono_stereo_deep_buffer" />
868    <mode-ref node="sound_mono_stereo_compress_offload" />
869  </usecase-node>
870
871  <usecase-node id="usecase_playback_usb_blackbird_headset" type="playback"
872                name="USB-C headset (BlackBird)">
873    <mode-ref node="sound_low_latency" />
874    <mode-ref node="sound_ultra_low_latency" />
875    <mode-ref node="sound_deep_buffer" />
876    <mode-ref node="sound_compress_offload" />
877  </usecase-node>
878
879  <usecase-node id="usecase_playback_usb_others_headset" type="playback"
880                name="USB-C headset (Others)">
881    <mode-ref node="sound_low_latency" />
882    <mode-ref node="sound_ultra_low_latency" />
883    <mode-ref node="sound_deep_buffer" />
884    <mode-ref node="sound_compress_offload" />
885  </usecase-node>
886
887  <usecase-node id="usecase_playback_usb_dongle_4_pin_headset" type="playback"
888                name="USB-C dongle with 4 pin headset">
889    <mode-ref node="sound_low_latency" />
890    <mode-ref node="sound_ultra_low_latency" />
891    <mode-ref node="sound_deep_buffer" />
892    <mode-ref node="sound_compress_offload" />
893  </usecase-node>
894
895  <usecase-node id="usecase_playback_usb_dongle_3_pin_headphone" type="playback"
896                name="USB-C dongle with 3 pin headphone">
897    <mode-ref node="sound_low_latency" />
898    <mode-ref node="sound_ultra_low_latency" />
899    <mode-ref node="sound_deep_buffer" />
900    <mode-ref node="sound_compress_offload" />
901  </usecase-node>
902
903  <usecase-node id="usecase_playback_usb_headset_dongle_bottom_speaker" type="playback"
904                name="USB-C headset/dongle (Bottom speaker only)">
905    <mode-ref node="sound_low_latency" />
906    <mode-ref node="sound_ultra_low_latency" />
907    <mode-ref node="sound_deep_buffer" />
908    <mode-ref node="sound_compress_offload" />
909  </usecase-node>
910
911  <usecase-node id="usecase_playback_a2dp" type="playback"
912                name="A2DP">
913    <mode-ref node="sound_low_latency" />
914    <mode-ref node="sound_ultra_low_latency" />
915    <mode-ref node="sound_deep_buffer" />
916    <mode-ref node="sound_compress_offload" />
917  </usecase-node>
918
919  <usecase-node id="usecase_record_voice_note_main_mic" type="record"
920                name="Voice note with main mic (Google Keep and 3rd party)" />
921
922  <usecase-node id="usecase_record_solotester_dual_mic" type="record"
923                name="SoloTester with dual mic (3rd party)" />
924
925  <usecase-node id="usecase_record_solotester_tri_mic" type="record"
926                name="SoloTester with tri mic (3rd party)" />
927
928  <usecase-node id="usecase_record_meetings_lectures_rear_mic" type="record"
929                name="Meetings and lectures with rear mic" />
930
931  <usecase-node id="usecase_record_music_raw_sound" type="record"
932                name="Music and raw sound" />
933
934  <usecase-node id="usecase_record_voice_wakeup_hotword" type="record"
935                name="Voice wakeup Hotword (OK Google)" />
936
937  <usecase-node id="usecase_record_voice_wakeup_hotword_barge-in" type="record"
938                name="Voice wakeup Hotword barge-in (OK Google)" />
939
940  <usecase-node id="usecase_record_usb_headset_dongle_mic" type="record"
941                name="USB-C headset/dongle mic" />
942
943  <usecase-node id="usecase_record_bt_sco" type="record"
944                name="BT SCO" />
945
946  <usecase-node id="usecase_record_back_cam_land_tri_mic" type="record"
947                name="Three mic enabled (Back Cam, Landscape)" />
948
949  <usecase-node id="usecase_record_back_cam_invert_land_tri_mic" type="record"
950                name="Three mic enabled (Back Cam, Invert-Landscape)" />
951
952  <usecase-node id="usecase_record_back_cam_port_tri_mic" type="record"
953                name="Three mic enabled (Back Cam, Portrait)" />
954
955  <usecase-node id="usecase_record_selfie_land_tri_mic" type="record"
956                name="Three mic enabled (Selfie, Landscape)" />
957
958  <usecase-node id="usecase_record_selfie_invert_land_tri_mic" type="record"
959                name="Three mic enabled (Selfie, Invert-Landscape)" />
960
961  <usecase-node id="usecase_record_selfie_port_tri_mic" type="record"
962                name="Three mic enabled (Selfie, Portrait)" />
963
964  <usecase-node id="usecase_record_usb_headset_mic" type="record"
965                name="USB-C headset mic" />
966
967  <usecase-node id="usecase_record_handset_voice_mic" type="record"
968                name="Voice recognition" />
969
970  <usecase-node id="usecase_record_usb_headset_voice_mic" type="record"
971                name="USB-C headset/dongle voice recognition" />
972
973  <usecase-node id="usecase_record_unprocessed_handset_mic" type="record"
974                name="Unprocessed record (channel count = 1)" />
975  <usecase-node id="usecase_record_unprocessed_handset_dual_mic" type="record"
976                name="Unprocessed record (channel count = 2)" />
977  <usecase-node id="usecase_record_unprocessed_handset_tri_mic" type="record"
978                name="Unprocessed record (channel count = 3)" />
979  <usecase-node id="usecase_record_unprocessed_handset_quad_mic" type="record"
980                name="Unprocessed record (channel count = 4)" />
981  <usecase-node id="usecase_record_unprocessed_usb_blackbird_others_headset_mic" type="record"
982                name="USB-C headset mic (BlackBird + Others)" />
983  <usecase-node id="usecase_record_unprocessed_usb_dongle_4_pin_headset" type="record"
984                name="USB-C Dongle with 4 pin headset" />
985  <usecase-node id="usecase_hotword_default" type="hotword" name="Default" />
986
987  <!--
988    Carrier Nodes.
989  -->
990  <carrier-node id="carrier_none" type="telephony" name="None">
991    <mode-ref node="network_none" />
992  </carrier-node>
993
994  <carrier-node id="carrier_generic" type="telephony" name="Generic">
995    <mode-ref node="network_cdma" />
996    <mode-ref node="network_gsm" />
997    <mode-ref node="network_wcdma" />
998    <mode-ref node="network_volte" />
999  </carrier-node>
1000
1001  <carrier-node id="carrier_tmous" type="telephony" name="TMOUS">
1002    <mode-ref node="network_cdma" />
1003    <mode-ref node="network_gsm" />
1004    <mode-ref node="network_wcdma" />
1005    <mode-ref node="network_volte" />
1006  </carrier-node>
1007
1008  <carrier-node id="carrier_sprint" type="telephony" name="SPRINT">
1009    <mode-ref node="network_cdma" />
1010    <mode-ref node="network_gsm" />
1011    <mode-ref node="network_wcdma" />
1012    <mode-ref node="network_volte" />
1013  </carrier-node>
1014
1015  <carrier-node id="carrier_uscc" type="telephony" name="USCC">
1016    <mode-ref node="network_cdma" />
1017    <mode-ref node="network_gsm" />
1018    <mode-ref node="network_wcdma" />
1019    <mode-ref node="network_volte" />
1020  </carrier-node>
1021
1022  <carrier-node id="carrier_vzw" type="telephony" name="VZW">
1023    <mode-ref node="network_cdma" />
1024    <mode-ref node="network_gsm" />
1025    <mode-ref node="network_wcdma" />
1026    <mode-ref node="network_volte" />
1027  </carrier-node>
1028
1029  <!--
1030    Modes Nodes.
1031  -->
1032  <!-- Network Modes -->
1033  <mode-node id="network_none" type="network" name="None">
1034    <mode-ref node="codec_none" />
1035  </mode-node>
1036
1037  <mode-node id="network_cdma" type="network" name="CDMA">
1038    <mode-ref node="codec_nb-13k" />
1039    <mode-ref node="codec_so3" />
1040    <mode-ref node="codec_so68" />
1041    <mode-ref node="codec_nb-so73(cop1~cop7)" />
1042    <mode-ref node="codec_wb-so73(cop0)" />
1043  </mode-node>
1044
1045  <mode-node id="network_gsm" type="network" name="GSM">
1046    <mode-ref node="codec_nb-amr_nb" />
1047    <mode-ref node="codec_efr" />
1048    <mode-ref node="codec_fr" />
1049    <mode-ref node="codec_hr" />
1050    <mode-ref node="codec_wb-amr_wb" />
1051    <mode-ref node="codec_wb-eamr" />
1052    <mode-ref node="codec_nb-eamr" />
1053  </mode-node>
1054
1055  <mode-node id="network_wcdma" type="network" name="WCDMA">
1056    <mode-ref node="codec_nb-amr_nb" />
1057    <mode-ref node="codec_wb-amr_wb" />
1058    <mode-ref node="codec_wb-eamr" />
1059    <mode-ref node="codec_nb-eamr" />
1060  </mode-node>
1061
1062  <mode-node id="network_volte" type="network" name="VOLTE">
1063    <mode-ref node="codec_so73-wb" />
1064    <mode-ref node="codec_so73-nb" />
1065    <mode-ref node="codec_nb-amr_nb" />
1066    <mode-ref node="codec_wb-amr_wb" />
1067    <mode-ref node="codec_wb-eamr" />
1068    <mode-ref node="codec_nb-eamr" />
1069    <mode-ref node="codec_nb-evs" />
1070    <mode-ref node="codec_16khz-evs-wb" />
1071    <mode-ref node="codec_16khz-evs-nb" />
1072    <mode-ref node="codec_32khz-evs-swb" />
1073    <mode-ref node="codec_32khz-evs-wb" />
1074    <mode-ref node="codec_32khz-evs-nb" />
1075    <mode-ref node="codec_48khz-evs-fb" />
1076    <mode-ref node="codec_48khz-evs-swb" />
1077    <mode-ref node="codec_48khz-evs-wb" />
1078    <mode-ref node="codec_48khz-evs-nb" />
1079  </mode-node>
1080
1081  <!-- Volcodec Modes -->
1082  <mode-node id="codec_none" type="codec" name="None">
1083    <mode-ref node="band_wb" />
1084    <mode-ref node="band_fb" />
1085  </mode-node>
1086
1087  <mode-node id="codec_nb-13k" type="codec" name="NB-13K">
1088    <mode-ref node="band_nb" />
1089  </mode-node>
1090
1091  <mode-node id="codec_so3" type="codec" name="SO3">
1092    <mode-ref node="band_nb" />
1093  </mode-node>
1094
1095  <mode-node id="codec_so68" type="codec" name="SO68">
1096    <mode-ref node="band_nb" />
1097  </mode-node>
1098
1099  <mode-node id="codec_nb-so73(cop1~cop7)" type="codec" name="NB-SO73 (COP1~COP7)">
1100    <mode-ref node="band_nb" />
1101  </mode-node>
1102
1103  <mode-node id="codec_wb-so73(cop0)" type="codec" name="WB-SO73 (COP0)">
1104    <mode-ref node="band_wb" />
1105  </mode-node>
1106
1107  <mode-node id="codec_nb-amr_nb" type="codec" name="NB-AMR_NB">
1108    <mode-ref node="band_nb" />
1109  </mode-node>
1110
1111  <mode-node id="codec_efr" type="codec" name="EFR">
1112    <mode-ref node="band_nb" />
1113  </mode-node>
1114
1115  <mode-node id="codec_fr" type="codec" name="FR">
1116    <mode-ref node="band_nb" />
1117  </mode-node>
1118
1119  <mode-node id="codec_hr" type="codec" name="HR">
1120    <mode-ref node="band_nb" />
1121  </mode-node>
1122
1123  <mode-node id="codec_wb-amr_wb" type="codec" name="WB-AMR_WB">
1124    <mode-ref node="band_wb" />
1125  </mode-node>
1126
1127  <mode-node id="codec_wb-eamr" type="codec" name="WB-eAMR">
1128    <mode-ref node="band_wb" />
1129  </mode-node>
1130
1131  <mode-node id="codec_nb-eamr" type="codec" name="NB-eAMR">
1132    <mode-ref node="band_wb" />
1133  </mode-node>
1134
1135  <mode-node id="codec_so73-wb" type="codec" name="SO73-WB">
1136    <mode-ref node="band_wb" />
1137  </mode-node>
1138
1139  <mode-node id="codec_so73-nb" type="codec" name="SO73-NB">
1140    <mode-ref node="band_wb" />
1141  </mode-node>
1142
1143  <mode-node id="codec_nb-evs" type="codec" name="NB-EVS">
1144    <mode-ref node="band_nb" />
1145  </mode-node>
1146
1147  <mode-node id="codec_16khz-evs-wb" type="codec" name="16kHz-EVS-WB">
1148    <mode-ref node="band_wb" />
1149  </mode-node>
1150
1151  <mode-node id="codec_16khz-evs-nb" type="codec" name="16kHz-EVS-NB">
1152    <mode-ref node="band_wb" />
1153  </mode-node>
1154
1155  <mode-node id="codec_32khz-evs-swb" type="codec" name="32kHz-EVS-SWB">
1156    <mode-ref node="band_swb" />
1157  </mode-node>
1158
1159  <mode-node id="codec_32khz-evs-wb" type="codec" name="32kHz-EVS-WB">
1160    <mode-ref node="band_swb" />
1161  </mode-node>
1162
1163  <mode-node id="codec_32khz-evs-nb" type="codec" name="32kHz-EVS-NB">
1164    <mode-ref node="band_swb" />
1165  </mode-node>
1166
1167  <mode-node id="codec_48khz-evs-fb" type="codec" name="48kHz-EVS-FB">
1168    <mode-ref node="band_fb" />
1169  </mode-node>
1170
1171  <mode-node id="codec_48khz-evs-swb" type="codec" name="48kHz-EVS-SWB">
1172    <mode-ref node="band_fb" />
1173  </mode-node>
1174
1175  <mode-node id="codec_48khz-evs-wb" type="codec" name="48kHz-EVS-WB">
1176    <mode-ref node="band_fb" />
1177  </mode-node>
1178
1179  <mode-node id="codec_48khz-evs-nb" type="codec" name="48kHz-EVS-NB">
1180    <mode-ref node="band_fb" />
1181  </mode-node>
1182
1183  <!-- Band Modes -->
1184  <mode-node id="band_swb" type="band" name="SWB" />
1185  <mode-node id="band_fb" type="band" name="FB" />
1186  <mode-node id="band_nb" type="band" name="NB" />
1187  <mode-node id="band_wb" type="band" name="WB" />
1188
1189  <!-- Sounds Modes -->
1190  <mode-node id="sound_low_latency" type="sound" name="Low Latency">
1191    <mode-ref node="rate_8000" />
1192    <mode-ref node="rate_11025" />
1193    <mode-ref node="rate_16000" />
1194    <mode-ref node="rate_22050" />
1195    <mode-ref node="rate_32000" />
1196    <mode-ref node="rate_44100" />
1197    <mode-ref node="rate_48000" />
1198  </mode-node>
1199
1200  <mode-node id="sound_ultra_low_latency" type="sound" name="Ultra Low Latency">
1201    <mode-ref node="rate_8000" />
1202    <mode-ref node="rate_11025" />
1203    <mode-ref node="rate_16000" />
1204    <mode-ref node="rate_22050" />
1205    <mode-ref node="rate_32000" />
1206    <mode-ref node="rate_44100" />
1207    <mode-ref node="rate_48000" />
1208  </mode-node>
1209
1210  <mode-node id="sound_deep_buffer" type="sound" name="DeepBuffer">
1211    <mode-ref node="rate_8000" />
1212    <mode-ref node="rate_11025" />
1213    <mode-ref node="rate_16000" />
1214    <mode-ref node="rate_22050" />
1215    <mode-ref node="rate_32000" />
1216    <mode-ref node="rate_44100" />
1217    <mode-ref node="rate_48000" />
1218  </mode-node>
1219
1220  <mode-node id="sound_compress_offload" type="sound" name="Compress Offload">
1221    <mode-ref node="rate_8000" />
1222    <mode-ref node="rate_11025" />
1223    <mode-ref node="rate_16000" />
1224    <mode-ref node="rate_22050" />
1225    <mode-ref node="rate_32000" />
1226    <mode-ref node="rate_44100" />
1227    <mode-ref node="rate_48000" />
1228  </mode-node>
1229
1230  <mode-node id="sound_mono_stereo_low_latency" type="sound" name="Low Latency">
1231    <mode-ref node="rate_8000" />
1232    <mode-ref node="rate_11025" />
1233    <mode-ref node="rate_16000" />
1234    <mode-ref node="rate_22050" />
1235    <mode-ref node="rate_32000" />
1236    <mode-ref node="rate_44100" />
1237    <mode-ref node="rate_48000" />
1238    <mode-ref node="rate_96000" />
1239  </mode-node>
1240
1241  <mode-node id="sound_mono_stereo_ultra_low_latency" type="sound" name="Ultra Low Latency">
1242    <mode-ref node="rate_8000" />
1243    <mode-ref node="rate_11025" />
1244    <mode-ref node="rate_16000" />
1245    <mode-ref node="rate_22050" />
1246    <mode-ref node="rate_32000" />
1247    <mode-ref node="rate_44100" />
1248    <mode-ref node="rate_48000" />
1249    <mode-ref node="rate_96000" />
1250  </mode-node>
1251
1252  <mode-node id="sound_mono_stereo_deep_buffer" type="sound" name="DeepBuffer">
1253    <mode-ref node="rate_8000" />
1254    <mode-ref node="rate_11025" />
1255    <mode-ref node="rate_16000" />
1256    <mode-ref node="rate_22050" />
1257    <mode-ref node="rate_32000" />
1258    <mode-ref node="rate_44100" />
1259    <mode-ref node="rate_48000" />
1260    <mode-ref node="rate_96000" />
1261  </mode-node>
1262
1263  <mode-node id="sound_mono_stereo_compress_offload" type="sound" name="Compress Offload">
1264    <mode-ref node="rate_8000" />
1265    <mode-ref node="rate_11025" />
1266    <mode-ref node="rate_16000" />
1267    <mode-ref node="rate_22050" />
1268    <mode-ref node="rate_32000" />
1269    <mode-ref node="rate_44100" />
1270    <mode-ref node="rate_48000" />
1271    <mode-ref node="rate_96000" />
1272  </mode-node>
1273
1274  <!-- Sample Rate Modes -->
1275  <mode-node id="rate_8000" type="rate" name="8000" />
1276  <mode-node id="rate_11025" type="rate" name="11025" />
1277  <mode-node id="rate_16000" type="rate" name="16000" />
1278  <mode-node id="rate_22050" type="rate" name="22050" />
1279  <mode-node id="rate_32000" type="rate" name="32000" />
1280  <mode-node id="rate_44100" type="rate" name="44100" />
1281  <mode-node id="rate_48000" type="rate" name="48000" />
1282  <mode-node id="rate_96000" type="rate" name="96000" />
1283
1284</constraints>
1285