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