1<compatibility-matrix version="1.0" type="framework" level="5">
2    <hal format="hidl" optional="true">
3        <name>android.hardware.atrace</name>
4        <version>1.0</version>
5        <interface>
6            <name>IAtraceDevice</name>
7            <instance>default</instance>
8        </interface>
9    </hal>
10    <hal format="hidl" optional="false">
11        <name>android.hardware.audio</name>
12        <version>6.0</version>
13        <interface>
14            <name>IDevicesFactory</name>
15            <instance>default</instance>
16        </interface>
17    </hal>
18    <hal format="hidl" optional="false">
19        <name>android.hardware.audio.effect</name>
20        <version>6.0</version>
21        <interface>
22            <name>IEffectsFactory</name>
23            <instance>default</instance>
24        </interface>
25    </hal>
26    <hal format="hidl" optional="true">
27        <name>android.hardware.authsecret</name>
28        <version>1.0</version>
29        <interface>
30            <name>IAuthSecret</name>
31            <instance>default</instance>
32        </interface>
33    </hal>
34    <hal format="hidl" optional="true">
35        <name>android.hardware.automotive.audiocontrol</name>
36        <version>1.0</version>
37        <version>2.0</version>
38        <interface>
39            <name>IAudioControl</name>
40            <instance>default</instance>
41        </interface>
42    </hal>
43    <hal format="hidl" optional="true">
44        <name>android.hardware.automotive.can</name>
45        <version>1.0</version>
46        <interface>
47            <name>ICanBus</name>
48            <regex-instance>.*</regex-instance>
49        </interface>
50        <interface>
51            <name>ICanController</name>
52            <regex-instance>.*</regex-instance>
53        </interface>
54    </hal>
55    <hal format="hidl" optional="true">
56        <name>android.hardware.automotive.evs</name>
57        <version>1.0-1</version>
58        <interface>
59            <name>IEvsEnumerator</name>
60            <instance>default</instance>
61            <regex-instance>[a-z]+/[0-9]+</regex-instance>
62        </interface>
63    </hal>
64    <hal format="aidl" optional="true">
65        <name>android.hardware.automotive.occupant_awareness</name>
66        <interface>
67            <name>IOccupantAwareness</name>
68            <instance>default</instance>
69        </interface>
70    </hal>
71    <hal format="hidl" optional="true">
72        <name>android.hardware.automotive.sv</name>
73        <version>1.0</version>
74        <interface>
75            <name>ISurroundViewService</name>
76            <instance>default</instance>
77        </interface>
78    </hal>
79    <hal format="hidl" optional="true">
80        <name>android.hardware.automotive.vehicle</name>
81        <version>2.0</version>
82        <interface>
83            <name>IVehicle</name>
84            <instance>default</instance>
85        </interface>
86    </hal>
87    <hal format="hidl" optional="true">
88        <name>android.hardware.biometrics.face</name>
89        <version>1.0</version>
90        <interface>
91            <name>IBiometricsFace</name>
92            <instance>default</instance>
93        </interface>
94    </hal>
95    <hal format="hidl" optional="true">
96        <name>android.hardware.biometrics.fingerprint</name>
97        <version>2.1-2</version>
98        <interface>
99            <name>IBiometricsFingerprint</name>
100            <instance>default</instance>
101        </interface>
102    </hal>
103    <hal format="hidl" optional="true">
104        <name>android.hardware.bluetooth</name>
105        <version>1.0-1</version>
106        <interface>
107            <name>IBluetoothHci</name>
108            <instance>default</instance>
109        </interface>
110    </hal>
111    <hal format="hidl" optional="true">
112        <name>android.hardware.bluetooth.audio</name>
113        <version>2.0</version>
114        <interface>
115            <name>IBluetoothAudioProvidersFactory</name>
116            <instance>default</instance>
117        </interface>
118    </hal>
119    <hal format="hidl" optional="true">
120        <name>android.hardware.boot</name>
121        <version>1.1</version>
122        <interface>
123            <name>IBootControl</name>
124            <instance>default</instance>
125        </interface>
126    </hal>
127    <hal format="hidl" optional="true">
128        <name>android.hardware.broadcastradio</name>
129        <version>1.0-1</version>
130        <interface>
131            <name>IBroadcastRadioFactory</name>
132            <instance>default</instance>
133        </interface>
134    </hal>
135    <hal format="hidl" optional="true">
136        <name>android.hardware.broadcastradio</name>
137        <version>2.0</version>
138        <interface>
139            <name>IBroadcastRadio</name>
140            <regex-instance>.*</regex-instance>
141        </interface>
142    </hal>
143    <hal format="hidl" optional="true">
144        <name>android.hardware.camera.provider</name>
145        <version>2.4-6</version>
146        <interface>
147            <name>ICameraProvider</name>
148            <regex-instance>[^/]+/[0-9]+</regex-instance>
149        </interface>
150    </hal>
151    <hal format="hidl" optional="true">
152        <name>android.hardware.cas</name>
153        <version>1.1-2</version>
154        <interface>
155            <name>IMediaCasService</name>
156            <instance>default</instance>
157        </interface>
158    </hal>
159    <hal format="hidl" optional="true">
160        <name>android.hardware.confirmationui</name>
161        <version>1.0</version>
162        <interface>
163            <name>IConfirmationUI</name>
164            <instance>default</instance>
165        </interface>
166    </hal>
167    <hal format="hidl" optional="true">
168        <name>android.hardware.contexthub</name>
169        <version>1.0-1</version>
170        <interface>
171            <name>IContexthub</name>
172            <instance>default</instance>
173        </interface>
174    </hal>
175    <hal format="hidl" optional="true">
176        <name>android.hardware.drm</name>
177        <version>1.3</version>
178        <interface>
179            <name>ICryptoFactory</name>
180            <regex-instance>.*</regex-instance>
181        </interface>
182        <interface>
183            <name>IDrmFactory</name>
184            <regex-instance>.*</regex-instance>
185        </interface>
186    </hal>
187    <hal format="hidl" optional="true">
188        <name>android.hardware.dumpstate</name>
189        <version>1.1</version>
190        <interface>
191            <name>IDumpstateDevice</name>
192            <instance>default</instance>
193        </interface>
194    </hal>
195    <hal format="hidl" optional="false">
196        <name>android.hardware.gatekeeper</name>
197        <version>1.0</version>
198        <interface>
199            <name>IGatekeeper</name>
200            <instance>default</instance>
201        </interface>
202    </hal>
203    <hal format="hidl" optional="true">
204        <name>android.hardware.gnss</name>
205        <version>2.0-1</version>
206        <interface>
207            <name>IGnss</name>
208            <instance>default</instance>
209        </interface>
210    </hal>
211    <hal format="hidl" optional="false">
212        <name>android.hardware.graphics.allocator</name>
213        <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test -->
214        <version>2.0</version>
215        <version>3.0</version>
216        <version>4.0</version>
217        <interface>
218            <name>IAllocator</name>
219            <instance>default</instance>
220        </interface>
221    </hal>
222    <hal format="hidl" optional="false">
223        <name>android.hardware.graphics.composer</name>
224        <version>2.1-4</version>
225        <interface>
226            <name>IComposer</name>
227            <instance>default</instance>
228        </interface>
229    </hal>
230    <hal format="hidl" optional="false">
231        <name>android.hardware.graphics.mapper</name>
232        <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test -->
233        <version>2.1</version>
234        <version>3.0</version>
235        <version>4.0</version>
236        <interface>
237            <name>IMapper</name>
238            <instance>default</instance>
239        </interface>
240    </hal>
241    <hal format="hidl" optional="false">
242        <name>android.hardware.health</name>
243        <version>2.1</version>
244        <interface>
245            <name>IHealth</name>
246            <instance>default</instance>
247        </interface>
248    </hal>
249    <hal format="hidl" optional="true">
250        <name>android.hardware.health.storage</name>
251        <version>1.0</version>
252        <interface>
253            <name>IStorage</name>
254            <instance>default</instance>
255        </interface>
256    </hal>
257    <hal format="aidl" optional="true">
258        <name>android.hardware.identity</name>
259        <!--
260          b/178458001: identity V2 is introduced in R, but Android R VINTF does not support AIDL
261          versions. Hence, we only specify identity V2 in compatibility_matrix.5.xml in Android S+
262          branches. In Android R branches, the matrix implicitly specifies V1.
263          SingleManifestTest.ManifestAidlHalsServed has an exemption for this.
264        -->
265        <version>1-2</version>
266        <interface>
267            <name>IIdentityCredentialStore</name>
268            <instance>default</instance>
269        </interface>
270    </hal>
271    <hal format="hidl" optional="true">
272        <name>android.hardware.ir</name>
273        <version>1.0</version>
274        <interface>
275            <name>IConsumerIr</name>
276            <instance>default</instance>
277        </interface>
278    </hal>
279    <hal format="hidl" optional="true">
280        <name>android.hardware.input.classifier</name>
281        <version>1.0</version>
282        <interface>
283            <name>IInputClassifier</name>
284            <instance>default</instance>
285        </interface>
286    </hal>
287    <hal format="hidl" optional="true">
288        <name>android.hardware.keymaster</name>
289        <version>3.0</version>
290        <version>4.0-1</version>
291        <interface>
292            <name>IKeymasterDevice</name>
293            <instance>default</instance>
294        </interface>
295    </hal>
296    <hal format="hidl" optional="true">
297        <name>android.hardware.keymaster</name>
298        <version>4.0-1</version>
299        <interface>
300            <name>IKeymasterDevice</name>
301            <instance>strongbox</instance>
302        </interface>
303    </hal>
304    <hal format="aidl" optional="true">
305        <name>android.hardware.light</name>
306        <interface>
307            <name>ILights</name>
308            <instance>default</instance>
309        </interface>
310    </hal>
311    <hal format="hidl" optional="true">
312        <name>android.hardware.media.c2</name>
313        <version>1.0-1</version>
314        <interface>
315            <name>IComponentStore</name>
316            <regex-instance>default[0-9]*</regex-instance>
317            <regex-instance>vendor[0-9]*_software</regex-instance>
318        </interface>
319    </hal>
320    <hal format="hidl" optional="true">
321        <name>android.hardware.media.omx</name>
322        <version>1.0</version>
323        <interface>
324            <name>IOmx</name>
325            <instance>default</instance>
326        </interface>
327        <interface>
328            <name>IOmxStore</name>
329            <instance>default</instance>
330        </interface>
331    </hal>
332    <hal format="hidl" optional="true">
333        <name>android.hardware.memtrack</name>
334        <version>1.0</version>
335        <interface>
336            <name>IMemtrack</name>
337            <instance>default</instance>
338        </interface>
339    </hal>
340    <hal format="hidl" optional="true">
341        <name>android.hardware.neuralnetworks</name>
342        <version>1.0-3</version>
343        <interface>
344            <name>IDevice</name>
345            <regex-instance>.*</regex-instance>
346        </interface>
347    </hal>
348    <hal format="hidl" optional="true">
349        <name>android.hardware.nfc</name>
350        <version>1.2</version>
351        <interface>
352            <name>INfc</name>
353            <instance>default</instance>
354        </interface>
355    </hal>
356    <hal format="hidl" optional="true">
357        <name>android.hardware.oemlock</name>
358        <version>1.0</version>
359        <interface>
360            <name>IOemLock</name>
361            <instance>default</instance>
362        </interface>
363    </hal>
364    <hal format="aidl" optional="false">
365        <name>android.hardware.power</name>
366        <interface>
367            <name>IPower</name>
368            <instance>default</instance>
369        </interface>
370    </hal>
371    <hal format="hidl" optional="true">
372        <name>android.hardware.power.stats</name>
373        <version>1.0</version>
374        <interface>
375            <name>IPowerStats</name>
376            <instance>default</instance>
377        </interface>
378    </hal>
379    <hal format="hidl" optional="true">
380        <name>android.hardware.radio</name>
381        <version>1.4</version>
382        <version>1.5</version>
383        <interface>
384            <name>IRadio</name>
385            <instance>slot1</instance>
386            <instance>slot2</instance>
387            <instance>slot3</instance>
388        </interface>
389    </hal>
390    <hal format="hidl" optional="true">
391        <name>android.hardware.radio</name>
392        <version>1.2</version>
393        <interface>
394            <name>ISap</name>
395            <instance>slot1</instance>
396        </interface>
397    </hal>
398    <hal format="hidl" optional="true">
399        <name>android.hardware.radio.config</name>
400        <!--
401        See compatibility_matrix.4.xml on versioning of radio config HAL.
402        -->
403        <version>1.1</version>
404        <interface>
405            <name>IRadioConfig</name>
406            <instance>default</instance>
407        </interface>
408    </hal>
409    <hal format="hidl" optional="true">
410        <name>android.hardware.renderscript</name>
411        <version>1.0</version>
412        <interface>
413            <name>IDevice</name>
414            <instance>default</instance>
415        </interface>
416    </hal>
417    <hal format="aidl" optional="true">
418        <name>android.hardware.rebootescrow</name>
419        <interface>
420            <name>IRebootEscrow</name>
421            <instance>default</instance>
422        </interface>
423    </hal>
424    <hal format="hidl" optional="true">
425        <name>android.hardware.secure_element</name>
426        <version>1.0-2</version>
427        <interface>
428            <name>ISecureElement</name>
429            <regex-instance>eSE[1-9][0-9]*</regex-instance>
430            <regex-instance>SIM[1-9][0-9]*</regex-instance>
431        </interface>
432    </hal>
433    <hal format="hidl" optional="true">
434        <name>android.hardware.sensors</name>
435        <version>1.0</version>
436        <version>2.0-1</version>
437        <interface>
438            <name>ISensors</name>
439            <instance>default</instance>
440        </interface>
441    </hal>
442    <hal format="hidl" optional="true">
443        <name>android.hardware.soundtrigger</name>
444        <version>2.0-3</version>
445        <interface>
446            <name>ISoundTriggerHw</name>
447            <instance>default</instance>
448        </interface>
449    </hal>
450    <hal format="hidl" optional="true">
451        <name>android.hardware.tetheroffload.config</name>
452        <version>1.0</version>
453        <interface>
454            <name>IOffloadConfig</name>
455            <instance>default</instance>
456        </interface>
457    </hal>
458    <hal format="hidl" optional="true">
459        <name>android.hardware.tetheroffload.control</name>
460        <version>1.0</version>
461        <interface>
462            <name>IOffloadControl</name>
463            <instance>default</instance>
464        </interface>
465    </hal>
466    <hal format="hidl" optional="true">
467        <name>android.hardware.thermal</name>
468        <version>2.0</version>
469        <interface>
470            <name>IThermal</name>
471            <instance>default</instance>
472        </interface>
473    </hal>
474    <hal format="hidl" optional="true">
475        <name>android.hardware.tv.cec</name>
476        <version>1.0</version>
477        <interface>
478            <name>IHdmiCec</name>
479            <instance>default</instance>
480        </interface>
481    </hal>
482    <hal format="hidl" optional="true">
483        <name>android.hardware.tv.input</name>
484        <version>1.0</version>
485        <interface>
486            <name>ITvInput</name>
487            <instance>default</instance>
488        </interface>
489    </hal>
490    <hal format="hidl" optional="true">
491        <name>android.hardware.tv.tuner</name>
492        <version>1.0</version>
493        <interface>
494            <name>ITuner</name>
495            <instance>default</instance>
496        </interface>
497    </hal>
498    <hal format="hidl" optional="true">
499        <name>android.hardware.usb</name>
500        <version>1.0-2</version>
501        <interface>
502            <name>IUsb</name>
503            <instance>default</instance>
504        </interface>
505    </hal>
506    <hal format="hidl" optional="true">
507        <name>android.hardware.usb.gadget</name>
508        <version>1.0-1</version>
509        <interface>
510            <name>IUsbGadget</name>
511            <instance>default</instance>
512        </interface>
513    </hal>
514    <hal format="aidl" optional="true">
515        <name>android.hardware.vibrator</name>
516        <interface>
517            <name>IVibrator</name>
518            <instance>default</instance>
519        </interface>
520    </hal>
521    <hal format="hidl" optional="true">
522        <name>android.hardware.vr</name>
523        <version>1.0</version>
524        <interface>
525            <name>IVr</name>
526            <instance>default</instance>
527        </interface>
528    </hal>
529    <hal format="hidl" optional="true">
530        <name>android.hardware.weaver</name>
531        <version>1.0</version>
532        <interface>
533            <name>IWeaver</name>
534            <instance>default</instance>
535        </interface>
536    </hal>
537    <hal format="hidl" optional="true">
538        <name>android.hardware.wifi</name>
539        <version>1.0-4</version>
540        <interface>
541            <name>IWifi</name>
542            <instance>default</instance>
543        </interface>
544    </hal>
545    <hal format="hidl" optional="true">
546        <name>android.hardware.wifi.hostapd</name>
547        <version>1.0-2</version>
548        <interface>
549            <name>IHostapd</name>
550            <instance>default</instance>
551        </interface>
552    </hal>
553    <hal format="hidl" optional="true">
554        <name>android.hardware.wifi.supplicant</name>
555        <version>1.0-3</version>
556        <interface>
557            <name>ISupplicant</name>
558            <instance>default</instance>
559        </interface>
560    </hal>
561</compatibility-matrix>
562