• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  <!--
358    Mixer
359  -->
360  <mixer id="voice_mic">
361    <hardware-ref node="microphone" />
362  </mixer>
363
364  <mixer id="voice_handset">
365    <hardware-ref node="handset" />
366  </mixer>
367
368  <mixer id="voice_speaker_mic">
369    <hardware-ref node="microphone" />
370  </mixer>
371
372  <mixer id="voice_speaker">
373    <hardware-ref node="speaker" />
374  </mixer>
375
376  <mixer id="bt_mic">
377    <hardware-ref node="bt_microphone" />
378  </mixer>
379
380  <mixer id="bt_speaker">
381    <hardware-ref node="bt_speaker" />
382  </mixer>
383
384  <mixer id="bt_headset">
385    <hardware-ref node="bt_headset" />
386  </mixer>
387
388  <mixer id="usb_speaker">
389    <hardware-ref node="usb_headphone" />
390  </mixer>
391
392  <mixer id="usb_headset_mic">
393    <hardware-ref node="usb_headset_mic" />
394  </mixer>
395
396  <mixer id="usb_headset">
397    <hardware-ref node="usb_headset" />
398  </mixer>
399
400  <mixer id="usb_headphone">
401    <hardware-ref node="usb_headphone" />
402  </mixer>
403
404  <mixer id="voice_tty_full_headset_mic">
405    <hardware-ref node="usb_headset_mic" />
406  </mixer>
407
408  <mixer id="voice_tty_full_headphone">
409    <hardware-ref node="usb_headphone" />
410  </mixer>
411
412  <mixer id="voice_tty_hco_headset_mic">
413    <hardware-ref node="usb_headset_mic" />
414  </mixer>
415
416  <mixer id="voice_tty_hco_handset">
417    <hardware-ref node="handset" />
418  </mixer>
419
420  <mixer id="voice_tty_vco_headset_mic">
421    <hardware-ref node="usb_headset_mic" />
422  </mixer>
423
424  <mixer id="voice_tty_vco_headphone">
425    <hardware-ref node="usb_headphone" />
426  </mixer>
427
428  <mixer id="handset_mic">
429    <hardware-ref node="microphone" />
430  </mixer>
431
432  <mixer id="handset_stereo_mic">
433    <hardware-ref node="microphone" />
434  </mixer>
435
436  <mixer id="handset_tri_mic">
437    <hardware-ref node="microphone" />
438  </mixer>
439
440  <mixer id="camcorder_mic">
441    <hardware-ref node="microphone" />
442  </mixer>
443
444  <mixer id="rec_mic">
445    <hardware-ref node="microphone" />
446  </mixer>
447
448  <mixer id="unprocessed_handset_mic">
449    <hardware-ref node="microphone" />
450  </mixer>
451
452  <mixer id="unprocessed_handset_stereo_mic">
453    <hardware-ref node="microphone" />
454  </mixer>
455
456  <mixer id="unprocessed_handset_tri_mic">
457   <hardware-ref node="microphone" />
458  </mixer>
459
460  <mixer id="unprocessed_handset_quad_mic">
461   <hardware-ref node="microphone" />
462  </mixer>
463
464  <!--
465    Hardware
466  -->
467  <hardware id="handset" name="Handset" />
468  <hardware id="speaker" name="Speaker" />
469  <hardware id="headphone" name="Headphone" />
470  <hardware id="microphone" name="Microphone" />
471  <hardware id="bt_speaker" name="BT Speaker" />
472  <hardware id="bt_microphone" name="BT Microphone" />
473  <hardware id="bt_headset" name="BT Headset" />
474  <hardware id="usb_headset_mic" name="USB-C Headset Microphone" />
475  <hardware id="usb_headset" name="USB-C Headset" />
476  <hardware id="usb_headphone" name="USB-C Headphone" />
477
478  <!--
479    Carrier (4 bits)
480  -->
481  <carrier value="0" type="telephony" name="None" />
482  <carrier value="1" type="telephony" name="Generic" />
483  <carrier value="2" type="telephony" name="TMOUS" />
484  <carrier value="3" type="telephony" name="SPRINT" />
485  <carrier value="4" type="telephony" name="USCC" />
486  <carrier value="5" type="telephony" name="VZW" />
487
488  <!--
489    Telephony modes.
490  -->
491  <!-- Network Modes (6 bits) -->
492  <mode value="0" type="network" name="None" />
493  <mode value="1" type="network" name="GSM" />
494  <mode value="2" type="network" name="CDMA" />
495  <mode value="3" type="network" name="WCDMA" />
496  <mode value="4" type="network" name="VOLTE" />
497
498  <!-- Codec Modes (8 bits)-->
499  <mode value="0" type="codec" name="None" />
500  <mode value="1" type="codec" name="NB-13K" />
501  <mode value="2" type="codec" name="SO3" />
502  <mode value="3" type="codec" name="SO68" />
503  <mode value="4" type="codec" name="NB-SO73 (COP1~COP7)" />
504  <mode value="5" type="codec" name="WB-SO73 (COP0)" />
505  <mode value="6" type="codec" name="NB-AMR_NB" />
506  <mode value="7" type="codec" name="EFR" />
507  <mode value="8" type="codec" name="FR" />
508  <mode value="9" type="codec" name="HR" />
509  <mode value="10" type="codec" name="WB-AMR_WB" />
510  <mode value="11" type="codec" name="WB-eAMR" />
511  <mode value="12" type="codec" name="NB-eAMR" />
512  <mode value="13" type="codec" name="SO73-WB" />
513  <mode value="14" type="codec" name="SO73-NB" />
514  <mode value="15" type="codec" name="NB-EVS" />
515  <mode value="16" type="codec" name="16kHz-EVS-WB" />
516  <mode value="17" type="codec" name="16kHz-EVS-NB" />
517  <mode value="18" type="codec" name="32kHz-EVS-SWB" />
518  <mode value="19" type="codec" name="32kHz-EVS-WB" />
519  <mode value="20" type="codec" name="32kHz-EVS-NB" />
520  <mode value="21" type="codec" name="48kHz-EVS-FB" />
521  <mode value="22" type="codec" name="48kHz-EVS-SWB" />
522  <mode value="23" type="codec" name="48kHz-EVS-WB" />
523  <mode value="24" type="codec" name="48kHz-EVS-NB" />
524
525  <!--
526    Band Modes (3 bits)
527      NB  (8000)
528      WB  (16000)
529      SWB (32000)
530      FB  (48000)
531  -->
532  <mode value="1" type="band" name="NB" />
533  <mode value="2" type="band" name="WB" />
534  <mode value="3" type="band" name="SWB" />
535  <mode value="4" type="band" name="FB" />
536
537  <!--
538    Playback modes.
539  -->
540  <!-- Sounds Modes (3 bits) -->
541  <mode value="1" type="sound" name="Low Latency" />
542  <mode value="2" type="sound" name="Ultra Low Latency" />
543  <mode value="3" type="sound" name="DeepBuffer" />
544  <mode value="4" type="sound" name="Compress Offload" />
545
546  <!-- Sample Rate Modes (5 bits) -->
547  <mode value="1" type="rate" name="8000" />
548  <mode value="2" type="rate" name="11025" />
549  <mode value="3" type="rate" name="16000" />
550  <mode value="4" type="rate" name="22050" />
551  <mode value="5" type="rate" name="32000" />
552  <mode value="6" type="rate" name="44100" />
553  <mode value="7" type="rate" name="48000" />
554  <mode value="8" type="rate" name="96000" />
555
556  <!-- (2) Tuning Architecture -->
557  <!--
558    Root node.
559  -->
560  <tuning-tree>
561    <feature-ref node="feature_telephony" />
562    <feature-ref node="feature_playback" />
563    <feature-ref node="feature_record" />
564    <feature-ref node="feature_hotword" />
565  </tuning-tree>
566
567  <!--
568    Feature nodes.
569  -->
570  <feature-node id="feature_telephony" type="telephony" name="Telephony">
571    <category-ref node="category_cellular" />
572    <category-ref node="category_tty" />
573    <category-ref node="category_fi" />
574    <category-ref node="category_voip_ec_ns" />
575  </feature-node>
576
577  <feature-node id="feature_playback" type="playback" name="Playback">
578    <category-ref node="category_sound" />
579  </feature-node>
580
581  <feature-node id="feature_record" type="record" name="Recording">
582    <category-ref node="category_record" />
583    <category-ref node="category_cam" />
584    <category-ref node="category_vr" />
585    <category-ref node="category_unprocessed" />
586  </feature-node>
587
588  <feature-node id="feature_hotword" type="hotword" name="SmartFeature">
589    <category-ref node="category_hotword_default" />
590  </feature-node>
591
592  <!--
593    Category nodes.
594  -->
595  <category-node id="category_cellular" type="telephony" name="Cellular">
596    <usecase-ref node="usecase_telephony_receiver_mode" />
597    <usecase-ref node="usecase_telephony_hac_receiver_mode" />
598    <usecase-ref node="usecase_telephony_speaker_mode" />
599    <usecase-ref node="usecase_telephony_bt_hac_speaker_mode" />
600    <usecase-ref node="usecase_telephony_usb_dongle_mode1_without_mic_mode" />
601    <usecase-ref node="usecase_telephony_usb_dongle_mode1_with_mic_mode" />
602    <usecase-ref node="usecase_telephony_sprint_test_usb_dongle_mode2" />
603    <usecase-ref node="usecase_telephony_sprint_ectrical_usb_dongle_mode3" />
604    <usecase-ref node="usecase_telephony_usb_inbox_earphone_headset" />
605    <usecase-ref node="usecase_telephony_bt_nb" />
606    <usecase-ref node="usecase_telephony_bt_nb_nrec" />
607    <usecase-ref node="usecase_telephony_bt_wb" />
608    <usecase-ref node="usecase_telephony_bt_wb_nrec" />
609  </category-node>
610
611  <category-node id="category_tty" type="telephony" name="TTY">
612    <usecase-ref node="usecase_telephony_usb_dongle_full" />
613    <usecase-ref node="usecase_telephony_usb_dongle_hco" />
614    <usecase-ref node="usecase_telephony_usb_dongle_vco" />
615  </category-node>
616
617  <category-node id="category_fi" type="telephony" name="Google-Fi">
618    <usecase-ref node="usecase_telephony_fi" />
619    <usecase-ref node="usecase_telephony_speaker_fi" />
620    <usecase-ref node="usecase_telephony_fi_usb_headset_without_mic" />
621    <usecase-ref node="usecase_telephony_fi_usb_headset_with_mic" />
622    <usecase-ref node="usecase_telephony_fi_usb_inbox_headset" />
623  </category-node>
624
625  <category-node id="category_voip_ec_ns" type="telephony" name="VoIP EC NS">
626    <usecase-ref node="usecase_telephony_voip_receiver" />
627    <usecase-ref node="usecase_telephony_voip_speaker" />
628    <usecase-ref node="usecase_telephony_voip_without_headset_mic" />
629    <usecase-ref node="usecase_telephony_voip_usb_headset_mic" />
630    <usecase-ref node="usecase_telephony_voip_usb_inbox_headset" />
631    <usecase-ref node="usecase_telephony_voip_bt_nb" />
632    <usecase-ref node="usecase_telephony_voip_bt_nb_nrec" />
633    <usecase-ref node="usecase_telephony_voip_bt_wb" />
634    <usecase-ref node="usecase_telephony_voip_bt_wb_nrec" />
635  </category-node>
636
637  <category-node id="category_sound" type="playback" name="Sound">
638    <usecase-ref node="usecase_playback_earpiece_handset" />
639    <usecase-ref node="usecase_playback_stereo_speaker" />
640    <usecase-ref node="usecase_playback_mono_speaker_bottom_speaker" />
641    <usecase-ref node="usecase_playback_usb_blackbird_headset" />
642    <usecase-ref node="usecase_playback_usb_others_headset" />
643    <usecase-ref node="usecase_playback_usb_dongle_4_pin_headset" />
644    <usecase-ref node="usecase_playback_usb_dongle_3_pin_headphone" />
645    <usecase-ref node="usecase_playback_usb_headset_dongle_bottom_speaker" />
646    <usecase-ref node="usecase_playback_a2dp" />
647  </category-node>
648
649  <category-node id="category_record" type="record" name="Record">
650    <usecase-ref node="usecase_record_voice_note_main_mic" />
651    <usecase-ref node="usecase_record_solotester_dual_mic" />
652    <usecase-ref node="usecase_record_solotester_tri_mic" />
653    <usecase-ref node="usecase_record_meetings_lectures_rear_mic" />
654    <usecase-ref node="usecase_record_music_raw_sound" />
655    <usecase-ref node="usecase_record_voice_wakeup_hotword" />
656    <usecase-ref node="usecase_record_voice_wakeup_hotword_barge-in" />
657    <usecase-ref node="usecase_record_usb_headset_dongle_mic" />
658    <usecase-ref node="usecase_record_bt_sco" />
659  </category-node>
660
661  <category-node id="category_cam" type="record" name="Camcorder">
662    <usecase-ref node="usecase_record_back_cam_land_tri_mic" />
663    <usecase-ref node="usecase_record_back_cam_invert_land_tri_mic" />
664    <usecase-ref node="usecase_record_back_cam_port_tri_mic" />
665    <usecase-ref node="usecase_record_selfie_land_tri_mic" />
666    <usecase-ref node="usecase_record_selfie_invert_land_tri_mic" />
667    <usecase-ref node="usecase_record_selfie_port_tri_mic" />
668    <usecase-ref node="usecase_record_usb_headset_mic" />
669  </category-node>
670
671  <category-node id="category_vr" type="record" name="VR">
672    <usecase-ref node="usecase_record_handset_voice_mic" />
673    <usecase-ref node="usecase_record_usb_headset_voice_mic" />
674  </category-node>
675
676  <category-node id="category_unprocessed" type="record" name="Unprocessed">
677    <usecase-ref node="usecase_record_unprocessed_handset_mic" />
678    <usecase-ref node="usecase_record_unprocessed_handset_dual_mic" />
679    <usecase-ref node="usecase_record_unprocessed_handset_tri_mic" />
680    <usecase-ref node="usecase_record_unprocessed_handset_quad_mic" />
681    <usecase-ref node="usecase_record_unprocessed_usb_blackbird_others_headset_mic" />
682    <usecase-ref node="usecase_record_unprocessed_usb_dongle_4_pin_headset" />
683  </category-node>
684
685  <category-node id="category_hotword_default" type="hotword" name="Default">
686    <usecase-ref node="usecase_hotword_default" />
687  </category-node>
688
689  <!--
690    Usecase nodes.
691  -->
692  <usecase-node id="usecase_telephony_receiver_mode" type="telephony" name="Receiver mode">
693    <carrier-ref node="carrier_generic" />
694    <carrier-ref node="carrier_tmous" />
695    <carrier-ref node="carrier_sprint" />
696  </usecase-node>
697
698  <usecase-node id="usecase_telephony_hac_receiver_mode" type="telephony"
699                name="Receiver mode + HAC">
700    <carrier-ref node="carrier_generic" />
701    <carrier-ref node="carrier_tmous" />
702    <carrier-ref node="carrier_sprint" />
703  </usecase-node>
704
705  <usecase-node id="usecase_telephony_speaker_mode" type="telephony" name="Speaker mode">
706    <carrier-ref node="carrier_generic" />
707    <carrier-ref node="carrier_sprint" />
708  </usecase-node>
709
710  <usecase-node id="usecase_telephony_bt_hac_speaker_mode" type="telephony"
711                name="Speaker mode + BT HAC">
712    <carrier-ref node="carrier_generic" />
713    <carrier-ref node="carrier_sprint" />
714  </usecase-node>
715
716  <usecase-node id="usecase_telephony_usb_dongle_mode1_without_mic_mode" type="telephony"
717                name="USB-C dongle mode1 without mic">
718    <carrier-ref node="carrier_generic" />
719  </usecase-node>
720
721  <usecase-node id="usecase_telephony_usb_dongle_mode1_with_mic_mode" type="telephony"
722                name="USB-C dongle mode1 with mic">
723    <carrier-ref node="carrier_generic" />
724  </usecase-node>
725
726  <usecase-node id="usecase_telephony_sprint_test_usb_dongle_mode2" type="telephony"
727                name="USB-C dongle mode2 (Sprint testing only)">
728    <carrier-ref node="carrier_sprint" />
729  </usecase-node>
730
731  <usecase-node id="usecase_telephony_sprint_ectrical_usb_dongle_mode3" type="telephony"
732                name="USB-C dongle mode3 (Sprint electrical only)">
733    <carrier-ref node="carrier_sprint" />
734  </usecase-node>
735
736  <usecase-node id="usecase_telephony_usb_inbox_earphone_headset" type="telephony"
737                name="USB-C headset (in-box earphone)">
738    <carrier-ref node="carrier_generic" />
739  </usecase-node>
740
741  <usecase-node id="usecase_telephony_bt_nb" type="telephony" name="BT_NB (wb=off, nrec=off)">
742    <carrier-ref node="carrier_generic" />
743  </usecase-node>
744
745  <usecase-node id="usecase_telephony_bt_nb_nrec" type="telephony"
746                name="BT_NB_NREC (wb=off, nrec=on)">
747    <carrier-ref node="carrier_generic" />
748  </usecase-node>
749
750  <usecase-node id="usecase_telephony_bt_wb" type="telephony" name="BT_WB (wb=on, nrec=off)">
751    <carrier-ref node="carrier_generic" />
752  </usecase-node>
753
754  <usecase-node id="usecase_telephony_bt_wb_nrec" type="telephony"
755                name="BT_WB_NREC (wb=on, nrec=on)">
756    <carrier-ref node="carrier_generic" />
757  </usecase-node>
758
759  <usecase-node id="usecase_telephony_usb_dongle_full" type="telephony"
760                name="USB-C dongle (full mode)">
761    <carrier-ref node="carrier_generic" />
762  </usecase-node>
763
764  <usecase-node id="usecase_telephony_usb_dongle_hco" type="telephony"
765                name="USB-C dongle (hco mode)">
766    <carrier-ref node="carrier_generic" />
767  </usecase-node>
768
769  <usecase-node id="usecase_telephony_usb_dongle_vco" type="telephony"
770                name="USB-C dongle (vco mode)">
771    <carrier-ref node="carrier_generic" />
772  </usecase-node>
773
774  <usecase-node id="usecase_telephony_fi" type="telephony"
775                name="Receiver mode (Fi Asti)">
776    <carrier-ref node="carrier_vzw" />
777    <carrier-ref node="carrier_tmous" />
778    <carrier-ref node="carrier_uscc" />
779  </usecase-node>
780
781  <usecase-node id="usecase_telephony_speaker_fi" type="telephony"
782                name="Speaker mode (Fi Asti)">
783    <carrier-ref node="carrier_vzw" />
784    <carrier-ref node="carrier_tmous" />
785    <carrier-ref node="carrier_uscc" />
786  </usecase-node>
787
788  <usecase-node id="usecase_telephony_fi_usb_headset_without_mic" type="telephony"
789                name="USB-C headset/dongle without mic (Fi Asti)">
790    <carrier-ref node="carrier_generic" />
791  </usecase-node>
792
793  <usecase-node id="usecase_telephony_fi_usb_headset_with_mic" type="telephony"
794                name="USB-C headset/dongle with mic (Fi Asti)">
795    <carrier-ref node="carrier_generic" />
796  </usecase-node>
797
798  <usecase-node id="usecase_telephony_fi_usb_inbox_headset" type="telephony"
799                name="USB-C headset (in-box) (Fi Asti)">
800    <carrier-ref node="carrier_generic" />
801  </usecase-node>
802
803  <usecase-node id="usecase_telephony_voip_receiver" type="telephony"
804                name="Receiver mode (VoIP)">
805    <carrier-ref node="carrier_none" />
806  </usecase-node>
807
808  <usecase-node id="usecase_telephony_voip_speaker" type="telephony"
809                name="Speaker mode (VoIP)">
810    <carrier-ref node="carrier_none" />
811  </usecase-node>
812
813  <usecase-node id="usecase_telephony_voip_without_headset_mic" type="telephony"
814                name="USB-C headset/dongle without mic">
815    <carrier-ref node="carrier_none" />
816  </usecase-node>
817
818  <usecase-node id="usecase_telephony_voip_usb_headset_mic" type="telephony"
819                name="USB-C headset/dongle with mic">
820    <carrier-ref node="carrier_none" />
821  </usecase-node>
822
823  <usecase-node id="usecase_telephony_voip_usb_inbox_headset" type="telephony"
824                name="USB-C headset (in-box)">
825    <carrier-ref node="carrier_none" />
826  </usecase-node>
827
828  <usecase-node id="usecase_telephony_voip_bt_nb" type="telephony"
829                name="BT_NB (wb=off, nrec=off)">
830    <carrier-ref node="carrier_none" />
831  </usecase-node>
832
833  <usecase-node id="usecase_telephony_voip_bt_nb_nrec" type="telephony"
834                name="BT_NB_NREC (wb=off, nrec=on)">
835    <carrier-ref node="carrier_none" />
836  </usecase-node>
837
838  <usecase-node id="usecase_telephony_voip_bt_wb" type="telephony"
839                name="BT_WB (wb=on, nrec=off)">
840    <carrier-ref node="carrier_none" />
841  </usecase-node>
842
843  <usecase-node id="usecase_telephony_voip_bt_wb_nrec" type="telephony"
844                name="BT_WB_NREC (wb=on, nrec=on)">
845    <carrier-ref node="carrier_none" />
846  </usecase-node>
847
848  <usecase-node id="usecase_playback_earpiece_handset" type="playback"
849                name="Earpiece playback (Handset mode)">
850    <mode-ref node="sound_low_latency" />
851    <mode-ref node="sound_ultra_low_latency" />
852    <mode-ref node="sound_deep_buffer" />
853    <mode-ref node="sound_compress_offload" />
854  </usecase-node>
855
856  <usecase-node id="usecase_playback_stereo_speaker" type="playback"
857                name="Stereo speaker playback (Speaker mode)">
858    <mode-ref node="sound_mono_stereo_low_latency" />
859    <mode-ref node="sound_mono_stereo_ultra_low_latency" />
860    <mode-ref node="sound_mono_stereo_deep_buffer" />
861    <mode-ref node="sound_mono_stereo_compress_offload" />
862  </usecase-node>
863
864  <usecase-node id="usecase_playback_mono_speaker_bottom_speaker" type="playback"
865                name="Mono speaker playback (Bottom speaker only)">
866    <mode-ref node="sound_mono_stereo_low_latency" />
867    <mode-ref node="sound_mono_stereo_ultra_low_latency" />
868    <mode-ref node="sound_mono_stereo_deep_buffer" />
869    <mode-ref node="sound_mono_stereo_compress_offload" />
870  </usecase-node>
871
872  <usecase-node id="usecase_playback_usb_blackbird_headset" type="playback"
873                name="USB-C headset (BlackBird)">
874    <mode-ref node="sound_low_latency" />
875    <mode-ref node="sound_ultra_low_latency" />
876    <mode-ref node="sound_deep_buffer" />
877    <mode-ref node="sound_compress_offload" />
878  </usecase-node>
879
880  <usecase-node id="usecase_playback_usb_others_headset" type="playback"
881                name="USB-C headset (Others)">
882    <mode-ref node="sound_low_latency" />
883    <mode-ref node="sound_ultra_low_latency" />
884    <mode-ref node="sound_deep_buffer" />
885    <mode-ref node="sound_compress_offload" />
886  </usecase-node>
887
888  <usecase-node id="usecase_playback_usb_dongle_4_pin_headset" type="playback"
889                name="USB-C dongle with 4 pin headset">
890    <mode-ref node="sound_low_latency" />
891    <mode-ref node="sound_ultra_low_latency" />
892    <mode-ref node="sound_deep_buffer" />
893    <mode-ref node="sound_compress_offload" />
894  </usecase-node>
895
896  <usecase-node id="usecase_playback_usb_dongle_3_pin_headphone" type="playback"
897                name="USB-C dongle with 3 pin headphone">
898    <mode-ref node="sound_low_latency" />
899    <mode-ref node="sound_ultra_low_latency" />
900    <mode-ref node="sound_deep_buffer" />
901    <mode-ref node="sound_compress_offload" />
902  </usecase-node>
903
904  <usecase-node id="usecase_playback_usb_headset_dongle_bottom_speaker" type="playback"
905                name="USB-C headset/dongle (Bottom speaker only)">
906    <mode-ref node="sound_low_latency" />
907    <mode-ref node="sound_ultra_low_latency" />
908    <mode-ref node="sound_deep_buffer" />
909    <mode-ref node="sound_compress_offload" />
910  </usecase-node>
911
912  <usecase-node id="usecase_playback_a2dp" type="playback"
913                name="A2DP">
914    <mode-ref node="sound_low_latency" />
915    <mode-ref node="sound_ultra_low_latency" />
916    <mode-ref node="sound_deep_buffer" />
917    <mode-ref node="sound_compress_offload" />
918  </usecase-node>
919
920  <usecase-node id="usecase_record_voice_note_main_mic" type="record"
921                name="Voice note with main mic (Google Keep and 3rd party)" />
922
923  <usecase-node id="usecase_record_solotester_dual_mic" type="record"
924                name="SoloTester with dual mic (3rd party)" />
925
926  <usecase-node id="usecase_record_solotester_tri_mic" type="record"
927                name="SoloTester with tri mic (3rd party)" />
928
929  <usecase-node id="usecase_record_meetings_lectures_rear_mic" type="record"
930                name="Meetings and lectures with rear mic" />
931
932  <usecase-node id="usecase_record_music_raw_sound" type="record"
933                name="Music and raw sound" />
934
935  <usecase-node id="usecase_record_voice_wakeup_hotword" type="record"
936                name="Voice wakeup Hotword (OK Google)" />
937
938  <usecase-node id="usecase_record_voice_wakeup_hotword_barge-in" type="record"
939                name="Voice wakeup Hotword barge-in (OK Google)" />
940
941  <usecase-node id="usecase_record_usb_headset_dongle_mic" type="record"
942                name="USB-C headset/dongle mic" />
943
944  <usecase-node id="usecase_record_bt_sco" type="record"
945                name="BT SCO" />
946
947  <usecase-node id="usecase_record_back_cam_land_tri_mic" type="record"
948                name="Three mic enabled (Back Cam, Landscape)" />
949
950  <usecase-node id="usecase_record_back_cam_invert_land_tri_mic" type="record"
951                name="Three mic enabled (Back Cam, Invert-Landscape)" />
952
953  <usecase-node id="usecase_record_back_cam_port_tri_mic" type="record"
954                name="Three mic enabled (Back Cam, Portrait)" />
955
956  <usecase-node id="usecase_record_selfie_land_tri_mic" type="record"
957                name="Three mic enabled (Selfie, Landscape)" />
958
959  <usecase-node id="usecase_record_selfie_invert_land_tri_mic" type="record"
960                name="Three mic enabled (Selfie, Invert-Landscape)" />
961
962  <usecase-node id="usecase_record_selfie_port_tri_mic" type="record"
963                name="Three mic enabled (Selfie, Portrait)" />
964
965  <usecase-node id="usecase_record_usb_headset_mic" type="record"
966                name="USB-C headset mic" />
967
968  <usecase-node id="usecase_record_handset_voice_mic" type="record"
969                name="Voice recognition" />
970
971  <usecase-node id="usecase_record_usb_headset_voice_mic" type="record"
972                name="USB-C headset/dongle voice recognition" />
973
974  <usecase-node id="usecase_record_unprocessed_handset_mic" type="record"
975                name="Unprocessed record (channel count = 1)" />
976  <usecase-node id="usecase_record_unprocessed_handset_dual_mic" type="record"
977                name="Unprocessed record (channel count = 2)" />
978  <usecase-node id="usecase_record_unprocessed_handset_tri_mic" type="record"
979                name="Unprocessed record (channel count = 3)" />
980  <usecase-node id="usecase_record_unprocessed_handset_quad_mic" type="record"
981                name="Unprocessed record (channel count = 4)" />
982  <usecase-node id="usecase_record_unprocessed_usb_blackbird_others_headset_mic" type="record"
983                name="USB-C headset mic (BlackBird + Others)" />
984  <usecase-node id="usecase_record_unprocessed_usb_dongle_4_pin_headset" type="record"
985                name="USB-C Dongle with 4 pin headset" />
986  <usecase-node id="usecase_hotword_default" type="hotword" name="Default" />
987
988  <!--
989    Carrier Nodes.
990  -->
991  <carrier-node id="carrier_none" type="telephony" name="None">
992    <mode-ref node="network_none" />
993  </carrier-node>
994
995  <carrier-node id="carrier_generic" type="telephony" name="Generic">
996    <mode-ref node="network_cdma" />
997    <mode-ref node="network_gsm" />
998    <mode-ref node="network_wcdma" />
999    <mode-ref node="network_volte" />
1000  </carrier-node>
1001
1002  <carrier-node id="carrier_tmous" type="telephony" name="TMOUS">
1003    <mode-ref node="network_cdma" />
1004    <mode-ref node="network_gsm" />
1005    <mode-ref node="network_wcdma" />
1006    <mode-ref node="network_volte" />
1007  </carrier-node>
1008
1009  <carrier-node id="carrier_sprint" type="telephony" name="SPRINT">
1010    <mode-ref node="network_cdma" />
1011    <mode-ref node="network_gsm" />
1012    <mode-ref node="network_wcdma" />
1013    <mode-ref node="network_volte" />
1014  </carrier-node>
1015
1016  <carrier-node id="carrier_uscc" type="telephony" name="USCC">
1017    <mode-ref node="network_cdma" />
1018    <mode-ref node="network_gsm" />
1019    <mode-ref node="network_wcdma" />
1020    <mode-ref node="network_volte" />
1021  </carrier-node>
1022
1023  <carrier-node id="carrier_vzw" type="telephony" name="VZW">
1024    <mode-ref node="network_cdma" />
1025    <mode-ref node="network_gsm" />
1026    <mode-ref node="network_wcdma" />
1027    <mode-ref node="network_volte" />
1028  </carrier-node>
1029
1030  <!--
1031    Modes Nodes.
1032  -->
1033  <!-- Network Modes -->
1034  <mode-node id="network_none" type="network" name="None">
1035    <mode-ref node="codec_none" />
1036  </mode-node>
1037
1038  <mode-node id="network_cdma" type="network" name="CDMA">
1039    <mode-ref node="codec_nb-13k" />
1040    <mode-ref node="codec_so3" />
1041    <mode-ref node="codec_so68" />
1042    <mode-ref node="codec_nb-so73(cop1~cop7)" />
1043    <mode-ref node="codec_wb-so73(cop0)" />
1044  </mode-node>
1045
1046  <mode-node id="network_gsm" type="network" name="GSM">
1047    <mode-ref node="codec_nb-amr_nb" />
1048    <mode-ref node="codec_efr" />
1049    <mode-ref node="codec_fr" />
1050    <mode-ref node="codec_hr" />
1051    <mode-ref node="codec_wb-amr_wb" />
1052    <mode-ref node="codec_wb-eamr" />
1053    <mode-ref node="codec_nb-eamr" />
1054  </mode-node>
1055
1056  <mode-node id="network_wcdma" type="network" name="WCDMA">
1057    <mode-ref node="codec_nb-amr_nb" />
1058    <mode-ref node="codec_wb-amr_wb" />
1059    <mode-ref node="codec_wb-eamr" />
1060    <mode-ref node="codec_nb-eamr" />
1061  </mode-node>
1062
1063  <mode-node id="network_volte" type="network" name="VOLTE">
1064    <mode-ref node="codec_so73-wb" />
1065    <mode-ref node="codec_so73-nb" />
1066    <mode-ref node="codec_nb-amr_nb" />
1067    <mode-ref node="codec_wb-amr_wb" />
1068    <mode-ref node="codec_wb-eamr" />
1069    <mode-ref node="codec_nb-eamr" />
1070    <mode-ref node="codec_nb-evs" />
1071    <mode-ref node="codec_16khz-evs-wb" />
1072    <mode-ref node="codec_16khz-evs-nb" />
1073    <mode-ref node="codec_32khz-evs-swb" />
1074    <mode-ref node="codec_32khz-evs-wb" />
1075    <mode-ref node="codec_32khz-evs-nb" />
1076    <mode-ref node="codec_48khz-evs-fb" />
1077    <mode-ref node="codec_48khz-evs-swb" />
1078    <mode-ref node="codec_48khz-evs-wb" />
1079    <mode-ref node="codec_48khz-evs-nb" />
1080  </mode-node>
1081
1082  <!-- Volcodec Modes -->
1083  <mode-node id="codec_none" type="codec" name="None">
1084    <mode-ref node="band_wb" />
1085    <mode-ref node="band_fb" />
1086  </mode-node>
1087
1088  <mode-node id="codec_nb-13k" type="codec" name="NB-13K">
1089    <mode-ref node="band_nb" />
1090  </mode-node>
1091
1092  <mode-node id="codec_so3" type="codec" name="SO3">
1093    <mode-ref node="band_nb" />
1094  </mode-node>
1095
1096  <mode-node id="codec_so68" type="codec" name="SO68">
1097    <mode-ref node="band_nb" />
1098  </mode-node>
1099
1100  <mode-node id="codec_nb-so73(cop1~cop7)" type="codec" name="NB-SO73 (COP1~COP7)">
1101    <mode-ref node="band_nb" />
1102  </mode-node>
1103
1104  <mode-node id="codec_wb-so73(cop0)" type="codec" name="WB-SO73 (COP0)">
1105    <mode-ref node="band_wb" />
1106  </mode-node>
1107
1108  <mode-node id="codec_nb-amr_nb" type="codec" name="NB-AMR_NB">
1109    <mode-ref node="band_nb" />
1110  </mode-node>
1111
1112  <mode-node id="codec_efr" type="codec" name="EFR">
1113    <mode-ref node="band_nb" />
1114  </mode-node>
1115
1116  <mode-node id="codec_fr" type="codec" name="FR">
1117    <mode-ref node="band_nb" />
1118  </mode-node>
1119
1120  <mode-node id="codec_hr" type="codec" name="HR">
1121    <mode-ref node="band_nb" />
1122  </mode-node>
1123
1124  <mode-node id="codec_wb-amr_wb" type="codec" name="WB-AMR_WB">
1125    <mode-ref node="band_wb" />
1126  </mode-node>
1127
1128  <mode-node id="codec_wb-eamr" type="codec" name="WB-eAMR">
1129    <mode-ref node="band_wb" />
1130  </mode-node>
1131
1132  <mode-node id="codec_nb-eamr" type="codec" name="NB-eAMR">
1133    <mode-ref node="band_wb" />
1134  </mode-node>
1135
1136  <mode-node id="codec_so73-wb" type="codec" name="SO73-WB">
1137    <mode-ref node="band_wb" />
1138  </mode-node>
1139
1140  <mode-node id="codec_so73-nb" type="codec" name="SO73-NB">
1141    <mode-ref node="band_wb" />
1142  </mode-node>
1143
1144  <mode-node id="codec_nb-evs" type="codec" name="NB-EVS">
1145    <mode-ref node="band_nb" />
1146  </mode-node>
1147
1148  <mode-node id="codec_16khz-evs-wb" type="codec" name="16kHz-EVS-WB">
1149    <mode-ref node="band_wb" />
1150  </mode-node>
1151
1152  <mode-node id="codec_16khz-evs-nb" type="codec" name="16kHz-EVS-NB">
1153    <mode-ref node="band_wb" />
1154  </mode-node>
1155
1156  <mode-node id="codec_32khz-evs-swb" type="codec" name="32kHz-EVS-SWB">
1157    <mode-ref node="band_swb" />
1158  </mode-node>
1159
1160  <mode-node id="codec_32khz-evs-wb" type="codec" name="32kHz-EVS-WB">
1161    <mode-ref node="band_swb" />
1162  </mode-node>
1163
1164  <mode-node id="codec_32khz-evs-nb" type="codec" name="32kHz-EVS-NB">
1165    <mode-ref node="band_swb" />
1166  </mode-node>
1167
1168  <mode-node id="codec_48khz-evs-fb" type="codec" name="48kHz-EVS-FB">
1169    <mode-ref node="band_fb" />
1170  </mode-node>
1171
1172  <mode-node id="codec_48khz-evs-swb" type="codec" name="48kHz-EVS-SWB">
1173    <mode-ref node="band_fb" />
1174  </mode-node>
1175
1176  <mode-node id="codec_48khz-evs-wb" type="codec" name="48kHz-EVS-WB">
1177    <mode-ref node="band_fb" />
1178  </mode-node>
1179
1180  <mode-node id="codec_48khz-evs-nb" type="codec" name="48kHz-EVS-NB">
1181    <mode-ref node="band_fb" />
1182  </mode-node>
1183
1184  <!-- Band Modes -->
1185  <mode-node id="band_swb" type="band" name="SWB" />
1186  <mode-node id="band_fb" type="band" name="FB" />
1187  <mode-node id="band_nb" type="band" name="NB" />
1188  <mode-node id="band_wb" type="band" name="WB" />
1189
1190  <!-- Sounds Modes -->
1191  <mode-node id="sound_low_latency" type="sound" name="Low Latency">
1192    <mode-ref node="rate_8000" />
1193    <mode-ref node="rate_11025" />
1194    <mode-ref node="rate_16000" />
1195    <mode-ref node="rate_22050" />
1196    <mode-ref node="rate_32000" />
1197    <mode-ref node="rate_44100" />
1198    <mode-ref node="rate_48000" />
1199  </mode-node>
1200
1201  <mode-node id="sound_ultra_low_latency" type="sound" name="Ultra Low Latency">
1202    <mode-ref node="rate_8000" />
1203    <mode-ref node="rate_11025" />
1204    <mode-ref node="rate_16000" />
1205    <mode-ref node="rate_22050" />
1206    <mode-ref node="rate_32000" />
1207    <mode-ref node="rate_44100" />
1208    <mode-ref node="rate_48000" />
1209  </mode-node>
1210
1211  <mode-node id="sound_deep_buffer" type="sound" name="DeepBuffer">
1212    <mode-ref node="rate_8000" />
1213    <mode-ref node="rate_11025" />
1214    <mode-ref node="rate_16000" />
1215    <mode-ref node="rate_22050" />
1216    <mode-ref node="rate_32000" />
1217    <mode-ref node="rate_44100" />
1218    <mode-ref node="rate_48000" />
1219  </mode-node>
1220
1221  <mode-node id="sound_compress_offload" type="sound" name="Compress Offload">
1222    <mode-ref node="rate_8000" />
1223    <mode-ref node="rate_11025" />
1224    <mode-ref node="rate_16000" />
1225    <mode-ref node="rate_22050" />
1226    <mode-ref node="rate_32000" />
1227    <mode-ref node="rate_44100" />
1228    <mode-ref node="rate_48000" />
1229  </mode-node>
1230
1231  <mode-node id="sound_mono_stereo_low_latency" type="sound" name="Low Latency">
1232    <mode-ref node="rate_8000" />
1233    <mode-ref node="rate_11025" />
1234    <mode-ref node="rate_16000" />
1235    <mode-ref node="rate_22050" />
1236    <mode-ref node="rate_32000" />
1237    <mode-ref node="rate_44100" />
1238    <mode-ref node="rate_48000" />
1239    <mode-ref node="rate_96000" />
1240  </mode-node>
1241
1242  <mode-node id="sound_mono_stereo_ultra_low_latency" type="sound" name="Ultra Low Latency">
1243    <mode-ref node="rate_8000" />
1244    <mode-ref node="rate_11025" />
1245    <mode-ref node="rate_16000" />
1246    <mode-ref node="rate_22050" />
1247    <mode-ref node="rate_32000" />
1248    <mode-ref node="rate_44100" />
1249    <mode-ref node="rate_48000" />
1250    <mode-ref node="rate_96000" />
1251  </mode-node>
1252
1253  <mode-node id="sound_mono_stereo_deep_buffer" type="sound" name="DeepBuffer">
1254    <mode-ref node="rate_8000" />
1255    <mode-ref node="rate_11025" />
1256    <mode-ref node="rate_16000" />
1257    <mode-ref node="rate_22050" />
1258    <mode-ref node="rate_32000" />
1259    <mode-ref node="rate_44100" />
1260    <mode-ref node="rate_48000" />
1261    <mode-ref node="rate_96000" />
1262  </mode-node>
1263
1264  <mode-node id="sound_mono_stereo_compress_offload" type="sound" name="Compress Offload">
1265    <mode-ref node="rate_8000" />
1266    <mode-ref node="rate_11025" />
1267    <mode-ref node="rate_16000" />
1268    <mode-ref node="rate_22050" />
1269    <mode-ref node="rate_32000" />
1270    <mode-ref node="rate_44100" />
1271    <mode-ref node="rate_48000" />
1272    <mode-ref node="rate_96000" />
1273  </mode-node>
1274
1275  <!-- Sample Rate Modes -->
1276  <mode-node id="rate_8000" type="rate" name="8000" />
1277  <mode-node id="rate_11025" type="rate" name="11025" />
1278  <mode-node id="rate_16000" type="rate" name="16000" />
1279  <mode-node id="rate_22050" type="rate" name="22050" />
1280  <mode-node id="rate_32000" type="rate" name="32000" />
1281  <mode-node id="rate_44100" type="rate" name="44100" />
1282  <mode-node id="rate_48000" type="rate" name="48000" />
1283  <mode-node id="rate_96000" type="rate" name="96000" />
1284
1285</constraints>
1286