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 <!-- Either the AIDL or the HIDL allocator HAL must exist on the device. 187 If the HIDL composer HAL exists, it must be at least version 2.0. 188 See DeviceManifestTest.GrallocHal --> 189 <hal format="hidl" optional="true"> 190 <name>android.hardware.graphics.allocator</name> 191 <version>2.0</version> 192 <interface> 193 <name>IAllocator</name> 194 <instance>default</instance> 195 </interface> 196 </hal> 197 <hal format="hidl" optional="false"> 198 <name>android.hardware.graphics.composer</name> 199 <version>2.1-2</version> 200 <interface> 201 <name>IComposer</name> 202 <instance>default</instance> 203 </interface> 204 </hal> 205 <hal format="hidl" optional="false"> 206 <name>android.hardware.graphics.mapper</name> 207 <version>2.0-1</version> 208 <interface> 209 <name>IMapper</name> 210 <instance>default</instance> 211 </interface> 212 </hal> 213 <!-- Either the AIDL or the HIDL health HAL must exist on the device. 214 If the HIDL health HAL exists, it must be at least version 2.0. 215 See DeviceManifestTest.HealthHal --> 216 <hal format="hidl" optional="true"> 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.ir</name> 226 <version>1.0</version> 227 <interface> 228 <name>IConsumerIr</name> 229 <instance>default</instance> 230 </interface> 231 </hal> 232 <hal format="hidl" optional="true"> 233 <name>android.hardware.keymaster</name> 234 <version>3.0</version> 235 <version>4.0</version> 236 <interface> 237 <name>IKeymasterDevice</name> 238 <instance>default</instance> 239 </interface> 240 </hal> 241 <hal format="hidl" optional="true"> 242 <name>android.hardware.keymaster</name> 243 <version>4.0</version> 244 <interface> 245 <name>IKeymasterDevice</name> 246 <instance>strongbox</instance> 247 </interface> 248 </hal> 249 <hal format="hidl" optional="true"> 250 <name>android.hardware.light</name> 251 <version>2.0</version> 252 <interface> 253 <name>ILight</name> 254 <instance>default</instance> 255 </interface> 256 </hal> 257 <hal format="hidl" optional="false"> 258 <name>android.hardware.media.omx</name> 259 <version>1.0</version> 260 <interface> 261 <name>IOmx</name> 262 <instance>default</instance> 263 </interface> 264 <interface> 265 <name>IOmxStore</name> 266 <instance>default</instance> 267 </interface> 268 </hal> 269 <hal format="hidl" optional="true"> 270 <name>android.hardware.memtrack</name> 271 <version>1.0</version> 272 <interface> 273 <name>IMemtrack</name> 274 <instance>default</instance> 275 </interface> 276 </hal> 277 <hal format="hidl" optional="true"> 278 <name>android.hardware.neuralnetworks</name> 279 <version>1.0-1</version> 280 <interface> 281 <name>IDevice</name> 282 <regex-instance>.*</regex-instance> 283 </interface> 284 </hal> 285 <hal format="hidl" optional="true"> 286 <name>android.hardware.nfc</name> 287 <version>1.1</version> 288 <interface> 289 <name>INfc</name> 290 <instance>default</instance> 291 </interface> 292 </hal> 293 <hal format="hidl" optional="true"> 294 <name>android.hardware.oemlock</name> 295 <version>1.0</version> 296 <interface> 297 <name>IOemLock</name> 298 <instance>default</instance> 299 </interface> 300 </hal> 301 <hal format="hidl" optional="true"> 302 <name>android.hardware.power</name> 303 <version>1.0-3</version> 304 <interface> 305 <name>IPower</name> 306 <instance>default</instance> 307 </interface> 308 </hal> 309 <hal format="hidl" optional="true"> 310 <name>android.hardware.radio</name> 311 <!-- ref: b/123249760. 1.3 added here since 1.3 and 1.4 introduced in Q --> 312 <version>1.0-3</version> 313 <interface> 314 <name>IRadio</name> 315 <instance>slot1</instance> 316 <instance>slot2</instance> 317 <instance>slot3</instance> 318 </interface> 319 </hal> 320 <hal format="hidl" optional="true"> 321 <name>android.hardware.radio</name> 322 <version>1.0-2</version> 323 <interface> 324 <name>ISap</name> 325 <instance>slot1</instance> 326 </interface> 327 </hal> 328 <hal format="hidl" optional="true"> 329 <name>android.hardware.radio.config</name> 330 <version>1.0</version> 331 <interface> 332 <name>IRadioConfig</name> 333 <instance>default</instance> 334 </interface> 335 </hal> 336 <hal format="hidl" optional="true"> 337 <name>android.hardware.renderscript</name> 338 <version>1.0</version> 339 <interface> 340 <name>IDevice</name> 341 <instance>default</instance> 342 </interface> 343 </hal> 344 <hal format="hidl" optional="true"> 345 <name>android.hardware.secure_element</name> 346 <version>1.0</version> 347 <interface> 348 <name>ISecureElement</name> 349 <regex-instance>eSE[1-9][0-9]*</regex-instance> 350 <regex-instance>SIM[1-9][0-9]*</regex-instance> 351 </interface> 352 </hal> 353 <hal format="hidl" optional="true"> 354 <name>android.hardware.sensors</name> 355 <version>1.0</version> 356 <interface> 357 <name>ISensors</name> 358 <instance>default</instance> 359 </interface> 360 </hal> 361 <hal format="hidl" optional="true"> 362 <name>android.hardware.soundtrigger</name> 363 <version>2.0-1</version> 364 <interface> 365 <name>ISoundTriggerHw</name> 366 <instance>default</instance> 367 </interface> 368 </hal> 369 <hal format="hidl" optional="true"> 370 <name>android.hardware.tetheroffload.config</name> 371 <version>1.0</version> 372 <interface> 373 <name>IOffloadConfig</name> 374 <instance>default</instance> 375 </interface> 376 </hal> 377 <hal format="hidl" optional="true"> 378 <name>android.hardware.tetheroffload.control</name> 379 <version>1.0</version> 380 <interface> 381 <name>IOffloadControl</name> 382 <instance>default</instance> 383 </interface> 384 </hal> 385 <hal format="hidl" optional="true"> 386 <name>android.hardware.thermal</name> 387 <version>1.0-1</version> 388 <interface> 389 <name>IThermal</name> 390 <instance>default</instance> 391 </interface> 392 </hal> 393 <hal format="hidl" optional="true"> 394 <name>android.hardware.tv.cec</name> 395 <version>1.0</version> 396 <interface> 397 <name>IHdmiCec</name> 398 <instance>default</instance> 399 </interface> 400 </hal> 401 <hal format="hidl" optional="true"> 402 <name>android.hardware.tv.input</name> 403 <version>1.0</version> 404 <interface> 405 <name>ITvInput</name> 406 <instance>default</instance> 407 </interface> 408 </hal> 409 <hal format="hidl" optional="true"> 410 <name>android.hardware.usb</name> 411 <version>1.0-1</version> 412 <interface> 413 <name>IUsb</name> 414 <instance>default</instance> 415 </interface> 416 </hal> 417 <hal format="hidl" optional="true"> 418 <name>android.hardware.usb.gadget</name> 419 <version>1.0</version> 420 <interface> 421 <name>IUsbGadget</name> 422 <instance>default</instance> 423 </interface> 424 </hal> 425 <hal format="hidl" optional="true"> 426 <name>android.hardware.vibrator</name> 427 <version>1.0-2</version> 428 <interface> 429 <name>IVibrator</name> 430 <instance>default</instance> 431 </interface> 432 </hal> 433 <hal format="hidl" optional="true"> 434 <name>android.hardware.vr</name> 435 <version>1.0</version> 436 <interface> 437 <name>IVr</name> 438 <instance>default</instance> 439 </interface> 440 </hal> 441 <hal format="hidl" optional="true"> 442 <name>android.hardware.weaver</name> 443 <version>1.0</version> 444 <interface> 445 <name>IWeaver</name> 446 <instance>default</instance> 447 </interface> 448 </hal> 449 <hal format="hidl" optional="true"> 450 <name>android.hardware.wifi</name> 451 <version>1.0-2</version> 452 <interface> 453 <name>IWifi</name> 454 <instance>default</instance> 455 </interface> 456 </hal> 457 <hal format="hidl" optional="true"> 458 <name>android.hardware.wifi.hostapd</name> 459 <version>1.0</version> 460 <interface> 461 <name>IHostapd</name> 462 <instance>default</instance> 463 </interface> 464 </hal> 465 <hal format="hidl" optional="true"> 466 <name>android.hardware.wifi.offload</name> 467 <version>1.0</version> 468 <interface> 469 <name>IOffload</name> 470 <instance>default</instance> 471 </interface> 472 </hal> 473 <hal format="hidl" optional="true"> 474 <name>android.hardware.wifi.supplicant</name> 475 <version>1.0-1</version> 476 <interface> 477 <name>ISupplicant</name> 478 <instance>default</instance> 479 </interface> 480 </hal> 481</compatibility-matrix> 482