1<compatibility-matrix version="1.0" type="framework" level="4">
2    <hal format="hidl" optional="true">
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" optional="false">
11        <name>android.hardware.audio</name>
12        <version>5.0</version>
13        <interface>
14            <name>IDevicesFactory</name>
15            <instance>default</instance>
16        </interface>
17    </hal>
18    <hal format="hidl" optional="false">
19        <name>android.hardware.audio.effect</name>
20        <version>5.0</version>
21        <interface>
22            <name>IEffectsFactory</name>
23            <instance>default</instance>
24        </interface>
25    </hal>
26    <hal format="hidl" optional="true">
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" optional="true">
35        <name>android.hardware.automotive.audiocontrol</name>
36        <version>1.0</version>
37        <interface>
38            <name>IAudioControl</name>
39            <instance>default</instance>
40        </interface>
41    </hal>
42    <hal format="hidl" optional="true">
43        <name>android.hardware.automotive.evs</name>
44        <version>1.0</version>
45        <interface>
46            <name>IEvsEnumerator</name>
47            <instance>default</instance>
48        </interface>
49    </hal>
50    <hal format="hidl" optional="true">
51        <name>android.hardware.automotive.vehicle</name>
52        <version>2.0</version>
53        <interface>
54            <name>IVehicle</name>
55            <instance>default</instance>
56        </interface>
57    </hal>
58    <hal format="hidl" optional="true">
59        <name>android.hardware.biometrics.face</name>
60        <version>1.0</version>
61        <interface>
62            <name>IBiometricsFace</name>
63            <instance>default</instance>
64        </interface>
65    </hal>
66    <hal format="hidl" optional="true">
67        <name>android.hardware.biometrics.fingerprint</name>
68        <version>2.1</version>
69        <interface>
70            <name>IBiometricsFingerprint</name>
71            <instance>default</instance>
72        </interface>
73    </hal>
74    <hal format="hidl" optional="true">
75        <name>android.hardware.bluetooth</name>
76        <version>1.0</version>
77        <interface>
78            <name>IBluetoothHci</name>
79            <instance>default</instance>
80        </interface>
81    </hal>
82    <hal format="hidl" optional="true">
83        <name>android.hardware.bluetooth.audio</name>
84        <version>2.0</version>
85        <interface>
86            <name>IBluetoothAudioProvidersFactory</name>
87            <instance>default</instance>
88        </interface>
89    </hal>
90    <hal format="hidl" optional="true">
91        <name>android.hardware.boot</name>
92        <version>1.0</version>
93        <interface>
94            <name>IBootControl</name>
95            <instance>default</instance>
96        </interface>
97    </hal>
98    <hal format="hidl" optional="true">
99        <name>android.hardware.broadcastradio</name>
100        <version>1.0-1</version>
101        <interface>
102            <name>IBroadcastRadioFactory</name>
103            <instance>default</instance>
104        </interface>
105    </hal>
106    <hal format="hidl" optional="true">
107        <name>android.hardware.broadcastradio</name>
108        <version>2.0</version>
109        <interface>
110            <name>IBroadcastRadio</name>
111            <regex-instance>.*</regex-instance>
112        </interface>
113    </hal>
114    <hal format="hidl" optional="true">
115        <name>android.hardware.camera.provider</name>
116        <version>2.4-5</version>
117        <interface>
118            <name>ICameraProvider</name>
119            <regex-instance>[^/]+/[0-9]+</regex-instance>
120        </interface>
121    </hal>
122    <hal format="hidl" optional="true">
123        <name>android.hardware.cas</name>
124        <version>1.1</version>
125        <interface>
126            <name>IMediaCasService</name>
127            <instance>default</instance>
128        </interface>
129    </hal>
130    <hal format="hidl" optional="true">
131        <name>android.hardware.configstore</name>
132        <version>1.1</version>
133        <interface>
134            <name>ISurfaceFlingerConfigs</name>
135            <instance>default</instance>
136        </interface>
137    </hal>
138    <hal format="hidl" optional="true">
139        <name>android.hardware.confirmationui</name>
140        <version>1.0</version>
141        <interface>
142            <name>IConfirmationUI</name>
143            <instance>default</instance>
144        </interface>
145    </hal>
146    <hal format="hidl" optional="true">
147        <name>android.hardware.contexthub</name>
148        <version>1.0</version>
149        <interface>
150            <name>IContexthub</name>
151            <instance>default</instance>
152        </interface>
153    </hal>
154    <hal format="hidl" optional="true">
155        <name>android.hardware.drm</name>
156        <version>1.0-2</version>
157        <interface>
158            <name>ICryptoFactory</name>
159            <regex-instance>.*</regex-instance>
160        </interface>
161        <interface>
162            <name>IDrmFactory</name>
163            <regex-instance>.*</regex-instance>
164        </interface>
165    </hal>
166    <hal format="hidl" optional="true">
167        <name>android.hardware.dumpstate</name>
168        <version>1.0</version>
169        <interface>
170            <name>IDumpstateDevice</name>
171            <instance>default</instance>
172        </interface>
173    </hal>
174    <hal format="hidl" optional="false">
175        <name>android.hardware.gatekeeper</name>
176        <version>1.0</version>
177        <interface>
178            <name>IGatekeeper</name>
179            <instance>default</instance>
180        </interface>
181    </hal>
182    <hal format="hidl" optional="true">
183        <name>android.hardware.gnss</name>
184        <version>2.0</version>
185        <interface>
186            <name>IGnss</name>
187            <instance>default</instance>
188        </interface>
189    </hal>
190    <hal format="hidl" optional="false">
191        <name>android.hardware.graphics.allocator</name>
192        <version>2.0</version>
193        <version>3.0</version>
194        <interface>
195            <name>IAllocator</name>
196            <instance>default</instance>
197        </interface>
198    </hal>
199    <hal format="hidl" optional="false">
200        <name>android.hardware.graphics.composer</name>
201        <version>2.1-3</version>
202        <interface>
203            <name>IComposer</name>
204            <instance>default</instance>
205        </interface>
206    </hal>
207    <hal format="hidl" optional="false">
208        <name>android.hardware.graphics.mapper</name>
209        <version>2.1</version>
210        <version>3.0</version>
211        <interface>
212            <name>IMapper</name>
213            <instance>default</instance>
214        </interface>
215    </hal>
216    <hal format="hidl" optional="false">
217        <name>android.hardware.health</name>
218        <version>2.0</version>
219        <interface>
220            <name>IHealth</name>
221            <instance>default</instance>
222        </interface>
223    </hal>
224    <hal format="hidl" optional="true">
225        <name>android.hardware.health.storage</name>
226        <version>1.0</version>
227        <interface>
228            <name>IStorage</name>
229            <instance>default</instance>
230        </interface>
231    </hal>
232    <hal format="hidl" optional="true">
233        <name>android.hardware.ir</name>
234        <version>1.0</version>
235        <interface>
236            <name>IConsumerIr</name>
237            <instance>default</instance>
238        </interface>
239    </hal>
240    <hal format="hidl" optional="true">
241        <name>android.hardware.input.classifier</name>
242        <version>1.0</version>
243        <interface>
244            <name>IInputClassifier</name>
245            <instance>default</instance>
246        </interface>
247    </hal>
248    <hal format="hidl" optional="false">
249        <name>android.hardware.keymaster</name>
250        <version>3.0</version>
251        <version>4.0</version>
252        <interface>
253            <name>IKeymasterDevice</name>
254            <instance>default</instance>
255        </interface>
256    </hal>
257    <hal format="hidl" optional="true">
258        <name>android.hardware.keymaster</name>
259        <version>4.0</version>
260        <interface>
261            <name>IKeymasterDevice</name>
262            <instance>strongbox</instance>
263        </interface>
264    </hal>
265    <hal format="hidl" optional="true">
266        <name>android.hardware.light</name>
267        <version>2.0</version>
268        <interface>
269            <name>ILight</name>
270            <instance>default</instance>
271        </interface>
272    </hal>
273    <hal format="hidl" optional="true">
274        <name>android.hardware.media.c2</name>
275        <version>1.0</version>
276        <interface>
277            <name>IComponentStore</name>
278            <regex-instance>default[0-9]*</regex-instance>
279            <regex-instance>vendor[0-9]*_software</regex-instance>
280        </interface>
281    </hal>
282    <hal format="hidl" optional="true">
283        <name>android.hardware.media.omx</name>
284        <version>1.0</version>
285        <interface>
286            <name>IOmx</name>
287            <instance>default</instance>
288        </interface>
289        <interface>
290            <name>IOmxStore</name>
291            <instance>default</instance>
292        </interface>
293    </hal>
294    <hal format="hidl" optional="true">
295        <name>android.hardware.memtrack</name>
296        <version>1.0</version>
297        <interface>
298            <name>IMemtrack</name>
299            <instance>default</instance>
300        </interface>
301    </hal>
302    <hal format="hidl" optional="true">
303        <name>android.hardware.neuralnetworks</name>
304        <version>1.0-2</version>
305        <interface>
306            <name>IDevice</name>
307            <regex-instance>.*</regex-instance>
308        </interface>
309    </hal>
310    <hal format="hidl" optional="true">
311        <name>android.hardware.nfc</name>
312        <version>1.2</version>
313        <interface>
314            <name>INfc</name>
315            <instance>default</instance>
316        </interface>
317    </hal>
318    <hal format="hidl" optional="true">
319        <name>android.hardware.oemlock</name>
320        <version>1.0</version>
321        <interface>
322            <name>IOemLock</name>
323            <instance>default</instance>
324        </interface>
325    </hal>
326    <hal format="hidl" optional="true">
327        <name>android.hardware.power</name>
328        <version>1.0-3</version>
329        <interface>
330            <name>IPower</name>
331            <instance>default</instance>
332        </interface>
333    </hal>
334    <hal format="hidl" optional="true">
335        <name>android.hardware.power.stats</name>
336        <version>1.0</version>
337        <interface>
338            <name>IPowerStats</name>
339            <instance>default</instance>
340        </interface>
341    </hal>
342    <hal format="hidl" optional="true">
343        <name>android.hardware.radio</name>
344        <version>1.4</version>
345        <interface>
346            <name>IRadio</name>
347            <instance>slot1</instance>
348            <instance>slot2</instance>
349            <instance>slot3</instance>
350        </interface>
351    </hal>
352    <hal format="hidl" optional="true">
353        <name>android.hardware.radio</name>
354        <version>1.2</version>
355        <interface>
356            <name>ISap</name>
357            <instance>slot1</instance>
358        </interface>
359    </hal>
360    <hal format="hidl" optional="true">
361        <name>android.hardware.radio.config</name>
362        <!--
363        Note: Devices launching with target-level 4, if implementing the
364        radio config HAL, must provide an implementation of 1.1 IRadioConfig
365        that can handle version 1.2 of IRadioConfigResponse and
366        IRadioConfigIndication.
367        -->
368        <version>1.1</version>
369        <interface>
370            <name>IRadioConfig</name>
371            <instance>default</instance>
372        </interface>
373    </hal>
374    <hal format="hidl" optional="true">
375        <name>android.hardware.renderscript</name>
376        <version>1.0</version>
377        <interface>
378            <name>IDevice</name>
379            <instance>default</instance>
380        </interface>
381    </hal>
382    <hal format="hidl" optional="true">
383        <name>android.hardware.secure_element</name>
384        <version>1.0</version>
385        <interface>
386            <name>ISecureElement</name>
387            <regex-instance>eSE[1-9][0-9]*</regex-instance>
388            <regex-instance>SIM[1-9][0-9]*</regex-instance>
389        </interface>
390    </hal>
391    <hal format="hidl" optional="true">
392        <name>android.hardware.sensors</name>
393        <version>1.0</version>
394        <version>2.0</version>
395        <interface>
396            <name>ISensors</name>
397            <instance>default</instance>
398        </interface>
399    </hal>
400    <hal format="hidl" optional="true">
401        <name>android.hardware.soundtrigger</name>
402        <version>2.0-2</version>
403        <interface>
404            <name>ISoundTriggerHw</name>
405            <instance>default</instance>
406        </interface>
407    </hal>
408    <hal format="hidl" optional="true">
409        <name>android.hardware.tetheroffload.config</name>
410        <version>1.0</version>
411        <interface>
412            <name>IOffloadConfig</name>
413            <instance>default</instance>
414        </interface>
415    </hal>
416    <hal format="hidl" optional="true">
417        <name>android.hardware.tetheroffload.control</name>
418        <version>1.0</version>
419        <interface>
420            <name>IOffloadControl</name>
421            <instance>default</instance>
422        </interface>
423    </hal>
424    <hal format="hidl" optional="true">
425        <name>android.hardware.thermal</name>
426        <version>2.0</version>
427        <interface>
428            <name>IThermal</name>
429            <instance>default</instance>
430        </interface>
431    </hal>
432    <hal format="hidl" optional="true">
433        <name>android.hardware.tv.cec</name>
434        <version>1.0</version>
435        <interface>
436            <name>IHdmiCec</name>
437            <instance>default</instance>
438        </interface>
439    </hal>
440    <hal format="hidl" optional="true">
441        <name>android.hardware.tv.input</name>
442        <version>1.0</version>
443        <interface>
444            <name>ITvInput</name>
445            <instance>default</instance>
446        </interface>
447    </hal>
448    <hal format="hidl" optional="true">
449        <name>android.hardware.usb</name>
450        <version>1.0-2</version>
451        <interface>
452            <name>IUsb</name>
453            <instance>default</instance>
454        </interface>
455    </hal>
456    <hal format="hidl" optional="true">
457        <name>android.hardware.usb.gadget</name>
458        <version>1.0</version>
459        <interface>
460            <name>IUsbGadget</name>
461            <instance>default</instance>
462        </interface>
463    </hal>
464    <hal format="hidl" optional="true">
465        <name>android.hardware.vibrator</name>
466        <version>1.0-3</version>
467        <interface>
468            <name>IVibrator</name>
469            <instance>default</instance>
470        </interface>
471    </hal>
472    <hal format="hidl" optional="true">
473        <name>android.hardware.vr</name>
474        <version>1.0</version>
475        <interface>
476            <name>IVr</name>
477            <instance>default</instance>
478        </interface>
479    </hal>
480    <hal format="hidl" optional="true">
481        <name>android.hardware.weaver</name>
482        <version>1.0</version>
483        <interface>
484            <name>IWeaver</name>
485            <instance>default</instance>
486        </interface>
487    </hal>
488    <hal format="hidl" optional="true">
489        <name>android.hardware.wifi</name>
490        <version>1.0-3</version>
491        <interface>
492            <name>IWifi</name>
493            <instance>default</instance>
494        </interface>
495    </hal>
496    <hal format="hidl" optional="true">
497        <name>android.hardware.wifi.hostapd</name>
498        <version>1.0-1</version>
499        <interface>
500            <name>IHostapd</name>
501            <instance>default</instance>
502        </interface>
503    </hal>
504    <hal format="hidl" optional="true">
505        <name>android.hardware.wifi.supplicant</name>
506        <version>1.0-2</version>
507        <interface>
508            <name>ISupplicant</name>
509            <instance>default</instance>
510        </interface>
511    </hal>
512</compatibility-matrix>
513