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