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