xref: /aosp_15_r20/hardware/interfaces/compatibility_matrices/compatibility_matrix.202504.xml (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1<compatibility-matrix version="1.0" type="framework" level="202504">
2    <hal format="aidl">
3        <name>android.hardware.audio.core</name>
4        <version>1-3</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-3</version>
24        <interface>
25            <name>IFactory</name>
26            <instance>default</instance>
27        </interface>
28    </hal>
29    <hal format="aidl" updatable-via-apex="true">
30         <name>android.hardware.authsecret</name>
31         <version>1</version>
32         <interface>
33             <name>IAuthSecret</name>
34             <instance>default</instance>
35         </interface>
36    </hal>
37    <hal format="aidl">
38        <name>android.hardware.automotive.audiocontrol</name>
39        <version>2-5</version>
40        <interface>
41            <name>IAudioControl</name>
42            <instance>default</instance>
43        </interface>
44    </hal>
45    <hal format="aidl">
46        <name>android.hardware.automotive.can</name>
47        <version>1</version>
48        <interface>
49            <name>ICanController</name>
50            <instance>default</instance>
51        </interface>
52    </hal>
53    <hal format="aidl">
54        <name>android.hardware.automotive.evs</name>
55        <version>1-2</version>
56        <interface>
57            <name>IEvsEnumerator</name>
58            <regex-instance>[a-z]+/[0-9]+</regex-instance>
59        </interface>
60    </hal>
61    <hal format="aidl">
62        <name>android.hardware.macsec</name>
63        <version>1</version>
64        <interface>
65            <name>IMacsecPskPlugin</name>
66            <instance>default</instance>
67        </interface>
68    </hal>
69    <hal format="aidl">
70        <name>android.hardware.automotive.occupant_awareness</name>
71        <version>1</version>
72        <interface>
73            <name>IOccupantAwareness</name>
74            <instance>default</instance>
75        </interface>
76    </hal>
77    <hal format="aidl">
78        <name>android.hardware.automotive.vehicle</name>
79        <version>1-4</version>
80        <interface>
81            <name>IVehicle</name>
82            <instance>default</instance>
83        </interface>
84    </hal>
85    <hal format="aidl">
86        <name>android.hardware.automotive.remoteaccess</name>
87        <version>1-2</version>
88        <interface>
89            <name>IRemoteAccess</name>
90            <instance>default</instance>
91        </interface>
92    </hal>
93    <hal format="aidl">
94        <name>android.hardware.automotive.ivn</name>
95        <interface>
96            <name>IIvnAndroidDevice</name>
97            <instance>default</instance>
98        </interface>
99    </hal>
100    <hal format="aidl" updatable-via-apex="true">
101        <name>android.hardware.biometrics.face</name>
102        <version>3-4</version>
103        <interface>
104            <name>IFace</name>
105            <instance>default</instance>
106            <instance>virtual</instance>
107        </interface>
108    </hal>
109    <hal format="aidl" updatable-via-apex="true">
110        <name>android.hardware.biometrics.fingerprint</name>
111        <version>3-5</version>
112        <interface>
113            <name>IFingerprint</name>
114            <instance>default</instance>
115            <instance>virtual</instance>
116        </interface>
117    </hal>
118    <hal format="aidl">
119        <name>android.hardware.bluetooth</name>
120        <interface>
121            <name>IBluetoothHci</name>
122            <instance>default</instance>
123        </interface>
124    </hal>
125    <hal format="aidl">
126        <name>android.hardware.bluetooth.audio</name>
127        <version>3-5</version>
128        <interface>
129            <name>IBluetoothAudioProviderFactory</name>
130            <instance>default</instance>
131        </interface>
132    </hal>
133    <hal format="aidl">
134        <name>android.hardware.bluetooth.ranging</name>
135        <version>1-2</version>
136        <interface>
137            <name>IBluetoothChannelSounding</name>
138            <instance>default</instance>
139        </interface>
140    </hal>
141    <hal format="aidl">
142        <name>android.hardware.bluetooth.socket</name>
143        <version>1</version>
144        <interface>
145            <name>IBluetoothSocket</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-3</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-4</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-5</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>4</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-4</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-2</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-4</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        <version>1-2</version>
376        <interface>
377            <name>INfc</name>
378            <instance>default</instance>
379        </interface>
380    </hal>
381    <hal format="aidl">
382        <name>android.hardware.power</name>
383        <version>5-6</version>
384        <interface>
385            <name>IPower</name>
386            <instance>default</instance>
387        </interface>
388    </hal>
389    <hal format="aidl">
390        <name>android.hardware.power.stats</name>
391        <version>2</version>
392        <interface>
393            <name>IPowerStats</name>
394            <instance>default</instance>
395        </interface>
396    </hal>
397    <hal format="aidl">
398        <name>android.hardware.radio.config</name>
399        <version>3-4</version>
400        <interface>
401            <name>IRadioConfig</name>
402            <instance>default</instance>
403        </interface>
404    </hal>
405    <hal format="aidl">
406        <name>android.hardware.radio.data</name>
407        <version>3-4</version>
408        <interface>
409            <name>IRadioData</name>
410            <instance>slot1</instance>
411            <instance>slot2</instance>
412            <instance>slot3</instance>
413        </interface>
414    </hal>
415    <hal format="aidl">
416        <name>android.hardware.radio.messaging</name>
417        <version>3-4</version>
418        <interface>
419            <name>IRadioMessaging</name>
420            <instance>slot1</instance>
421            <instance>slot2</instance>
422            <instance>slot3</instance>
423        </interface>
424    </hal>
425    <hal format="aidl">
426        <name>android.hardware.radio.modem</name>
427        <version>3-4</version>
428        <interface>
429            <name>IRadioModem</name>
430            <instance>slot1</instance>
431            <instance>slot2</instance>
432            <instance>slot3</instance>
433        </interface>
434    </hal>
435    <hal format="aidl">
436        <name>android.hardware.radio.network</name>
437        <version>3-4</version>
438        <interface>
439            <name>IRadioNetwork</name>
440            <instance>slot1</instance>
441            <instance>slot2</instance>
442            <instance>slot3</instance>
443        </interface>
444    </hal>
445    <hal format="aidl">
446        <name>android.hardware.radio.sim</name>
447        <version>3-4</version>
448        <interface>
449            <name>IRadioSim</name>
450            <instance>slot1</instance>
451            <instance>slot2</instance>
452            <instance>slot3</instance>
453        </interface>
454    </hal>
455    <hal format="aidl">
456        <name>android.hardware.radio.sap</name>
457        <version>1</version>
458        <interface>
459            <name>ISap</name>
460            <instance>slot1</instance>
461            <instance>slot2</instance>
462            <instance>slot3</instance>
463        </interface>
464    </hal>
465    <hal format="aidl">
466        <name>android.hardware.radio.voice</name>
467        <version>3-4</version>
468        <interface>
469            <name>IRadioVoice</name>
470            <instance>slot1</instance>
471            <instance>slot2</instance>
472            <instance>slot3</instance>
473        </interface>
474    </hal>
475    <hal format="aidl">
476        <name>android.hardware.radio.ims</name>
477        <version>2-3</version>
478        <interface>
479            <name>IRadioIms</name>
480            <instance>slot1</instance>
481            <instance>slot2</instance>
482            <instance>slot3</instance>
483        </interface>
484    </hal>
485    <hal format="aidl">
486        <name>android.hardware.radio.ims.media</name>
487        <version>2-3</version>
488        <interface>
489            <name>IImsMedia</name>
490            <instance>default</instance>
491        </interface>
492    </hal>
493    <hal format="aidl">
494        <name>android.hardware.rebootescrow</name>
495        <version>1</version>
496        <interface>
497            <name>IRebootEscrow</name>
498            <instance>default</instance>
499        </interface>
500    </hal>
501    <hal format="aidl">
502        <name>android.hardware.secure_element</name>
503        <version>1</version>
504        <interface>
505            <name>ISecureElement</name>
506            <regex-instance>eSE[1-9][0-9]*</regex-instance>
507            <regex-instance>SIM[1-9][0-9]*</regex-instance>
508        </interface>
509    </hal>
510    <hal format="aidl" updatable-via-apex="true">
511        <name>android.hardware.security.authgraph</name>
512        <version>1</version>
513        <interface>
514            <name>IAuthGraphKeyExchange</name>
515            <instance>nonsecure</instance>
516        </interface>
517    </hal>
518    <hal format="aidl">
519        <name>android.hardware.security.see.hwcrypto</name>
520        <version>1</version>
521        <interface>
522            <name>IHwCryptoKey</name>
523            <instance>default</instance>
524        </interface>
525    </hal>
526    <hal format="aidl" updatable-via-apex="true">
527        <name>android.hardware.security.secureclock</name>
528        <version>1</version>
529        <interface>
530            <name>ISecureClock</name>
531            <instance>default</instance>
532        </interface>
533    </hal>
534    <hal format="aidl" updatable-via-apex="true">
535        <name>android.hardware.security.sharedsecret</name>
536        <version>1</version>
537        <interface>
538            <name>ISharedSecret</name>
539            <instance>default</instance>
540            <instance>strongbox</instance>
541            <regex-instance>.*</regex-instance>
542        </interface>
543    </hal>
544    <hal format="aidl">
545        <name>android.hardware.sensors</name>
546        <version>2-3</version>
547        <interface>
548            <name>ISensors</name>
549            <instance>default</instance>
550        </interface>
551    </hal>
552    <hal format="aidl">
553         <name>android.hardware.soundtrigger3</name>
554         <version>1-3</version>
555         <interface>
556             <name>ISoundTriggerHw</name>
557             <instance>default</instance>
558         </interface>
559    </hal>
560    <hal format="aidl">
561        <name>android.hardware.tetheroffload</name>
562        <version>1</version>
563        <interface>
564            <name>IOffload</name>
565            <instance>default</instance>
566        </interface>
567    </hal>
568    <hal format="aidl">
569        <name>android.hardware.thermal</name>
570        <version>3</version>
571        <interface>
572            <name>IThermal</name>
573            <instance>default</instance>
574        </interface>
575    </hal>
576    <hal format="aidl" updatable-via-apex="true">
577        <name>android.hardware.threadnetwork</name>
578        <version>1</version>
579        <interface>
580            <name>IThreadChip</name>
581            <regex-instance>chip[0-9]+</regex-instance>
582        </interface>
583    </hal>
584    <hal format="aidl">
585        <name>android.hardware.tv.hdmi.cec</name>
586        <version>1</version>
587        <interface>
588            <name>IHdmiCec</name>
589            <instance>default</instance>
590        </interface>
591    </hal>
592    <hal format="aidl">
593        <name>android.hardware.tv.hdmi.earc</name>
594        <version>1</version>
595        <interface>
596            <name>IEArc</name>
597            <instance>default</instance>
598        </interface>
599    </hal>
600    <hal format="aidl">
601        <name>android.hardware.tv.hdmi.connection</name>
602        <version>1</version>
603        <interface>
604            <name>IHdmiConnection</name>
605            <instance>default</instance>
606        </interface>
607    </hal>
608    <hal format="aidl">
609        <name>android.hardware.tv.tuner</name>
610        <version>1-3</version>
611        <interface>
612            <name>ITuner</name>
613            <instance>default</instance>
614        </interface>
615    </hal>
616    <hal format="aidl">
617        <name>android.hardware.tv.input</name>
618        <version>1-3</version>
619        <interface>
620            <name>ITvInput</name>
621            <instance>default</instance>
622        </interface>
623    </hal>
624    <hal format="aidl">
625        <name>android.hardware.usb</name>
626        <version>1-3</version>
627        <interface>
628            <name>IUsb</name>
629            <instance>default</instance>
630        </interface>
631    </hal>
632    <hal format="aidl">
633        <name>android.hardware.usb.gadget</name>
634        <interface>
635            <name>IUsbGadget</name>
636            <instance>default</instance>
637        </interface>
638    </hal>
639    <hal format="aidl">
640        <name>android.hardware.vibrator</name>
641        <version>1-3</version>
642        <interface>
643            <name>IVibrator</name>
644            <instance>default</instance>
645        </interface>
646    </hal>
647    <hal format="aidl">
648        <name>android.hardware.vibrator</name>
649        <version>1-3</version>
650        <interface>
651            <name>IVibratorManager</name>
652            <instance>default</instance>
653        </interface>
654    </hal>
655    <hal format="aidl">
656      <name>android.hardware.virtualization.capabilities</name>
657        <version>1</version>
658        <interface>
659            <name>IVmCapabilitiesService</name>
660            <instance>default</instance>
661            <instance>noop</instance>
662        </interface>
663    </hal>
664    <hal format="aidl">
665        <name>android.hardware.weaver</name>
666        <version>2</version>
667        <interface>
668            <name>IWeaver</name>
669            <instance>default</instance>
670        </interface>
671    </hal>
672    <hal format="aidl" updatable-via-apex="true">
673        <name>android.hardware.wifi</name>
674        <version>2-3</version>
675        <interface>
676            <name>IWifi</name>
677            <instance>default</instance>
678        </interface>
679    </hal>
680    <hal format="aidl" updatable-via-apex="true">
681        <name>android.hardware.uwb</name>
682        <version>1</version>
683        <interface>
684            <name>IUwb</name>
685            <instance>default</instance>
686        </interface>
687    </hal>
688    <hal format="aidl">
689        <name>android.hardware.wifi.hostapd</name>
690        <version>2-3</version>
691        <interface>
692            <name>IHostapd</name>
693            <instance>default</instance>
694        </interface>
695    </hal>
696    <hal format="aidl">
697        <name>android.hardware.wifi.supplicant</name>
698        <version>3-4</version>
699        <interface>
700            <name>ISupplicant</name>
701            <instance>default</instance>
702        </interface>
703    </hal>
704    <hal format="aidl" optional="true">
705        <name>android.hardware.tv.mediaquality</name>
706        <version>1</version>
707        <interface>
708            <name>IMediaQuality</name>
709            <instance>default</instance>
710        </interface>
711    </hal>
712    <!-- The native mapper HAL must exist on the device -->
713    <hal format="native">
714        <name>mapper</name>
715        <version>5.0</version>
716        <interface>
717            <regex-instance>.*</regex-instance>
718        </interface>
719    </hal>
720</compatibility-matrix>
721