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