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