1<compatibility-matrix version="1.0" type="framework" level="5"> 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>6.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>6.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 <version>2.0</version> 38 <interface> 39 <name>IAudioControl</name> 40 <instance>default</instance> 41 </interface> 42 </hal> 43 <hal format="hidl" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="false"> 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" optional="true"> 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" optional="true"> 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" optional="false"> 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" optional="false"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 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" optional="true"> 311 <name>android.hardware.light</name> 312 <interface> 313 <name>ILights</name> 314 <instance>default</instance> 315 </interface> 316 </hal> 317 <hal format="hidl" optional="true"> 318 <name>android.hardware.media.c2</name> 319 <version>1.0-1</version> 320 <interface> 321 <name>IComponentStore</name> 322 <regex-instance>default[0-9]*</regex-instance> 323 <regex-instance>vendor[0-9]*_software</regex-instance> 324 </interface> 325 </hal> 326 <hal format="hidl" optional="true"> 327 <name>android.hardware.media.omx</name> 328 <version>1.0</version> 329 <interface> 330 <name>IOmx</name> 331 <instance>default</instance> 332 </interface> 333 <interface> 334 <name>IOmxStore</name> 335 <instance>default</instance> 336 </interface> 337 </hal> 338 <hal format="hidl" optional="true"> 339 <name>android.hardware.memtrack</name> 340 <version>1.0</version> 341 <interface> 342 <name>IMemtrack</name> 343 <instance>default</instance> 344 </interface> 345 </hal> 346 <hal format="hidl" optional="true"> 347 <name>android.hardware.neuralnetworks</name> 348 <version>1.0-3</version> 349 <interface> 350 <name>IDevice</name> 351 <regex-instance>.*</regex-instance> 352 </interface> 353 </hal> 354 <hal format="hidl" optional="true"> 355 <name>android.hardware.nfc</name> 356 <version>1.2</version> 357 <interface> 358 <name>INfc</name> 359 <instance>default</instance> 360 </interface> 361 </hal> 362 <hal format="hidl" optional="true"> 363 <name>android.hardware.oemlock</name> 364 <version>1.0</version> 365 <interface> 366 <name>IOemLock</name> 367 <instance>default</instance> 368 </interface> 369 </hal> 370 <hal format="aidl" optional="false"> 371 <name>android.hardware.power</name> 372 <interface> 373 <name>IPower</name> 374 <instance>default</instance> 375 </interface> 376 </hal> 377 <hal format="hidl" optional="true"> 378 <name>android.hardware.power.stats</name> 379 <version>1.0</version> 380 <interface> 381 <name>IPowerStats</name> 382 <instance>default</instance> 383 </interface> 384 </hal> 385 <hal format="hidl" optional="true"> 386 <name>android.hardware.radio</name> 387 <version>1.4</version> 388 <version>1.5</version> 389 <interface> 390 <name>IRadio</name> 391 <instance>slot1</instance> 392 <instance>slot2</instance> 393 <instance>slot3</instance> 394 </interface> 395 </hal> 396 <hal format="hidl" optional="true"> 397 <name>android.hardware.radio</name> 398 <version>1.2</version> 399 <interface> 400 <name>ISap</name> 401 <instance>slot1</instance> 402 </interface> 403 </hal> 404 <hal format="hidl" optional="true"> 405 <name>android.hardware.radio.config</name> 406 <!-- 407 See compatibility_matrix.4.xml on versioning of radio config HAL. 408 --> 409 <version>1.1</version> 410 <interface> 411 <name>IRadioConfig</name> 412 <instance>default</instance> 413 </interface> 414 </hal> 415 <hal format="hidl" optional="true"> 416 <name>android.hardware.renderscript</name> 417 <version>1.0</version> 418 <interface> 419 <name>IDevice</name> 420 <instance>default</instance> 421 </interface> 422 </hal> 423 <hal format="aidl" optional="true"> 424 <name>android.hardware.rebootescrow</name> 425 <interface> 426 <name>IRebootEscrow</name> 427 <instance>default</instance> 428 </interface> 429 </hal> 430 <hal format="hidl" optional="true"> 431 <name>android.hardware.secure_element</name> 432 <version>1.0-2</version> 433 <interface> 434 <name>ISecureElement</name> 435 <regex-instance>eSE[1-9][0-9]*</regex-instance> 436 <regex-instance>SIM[1-9][0-9]*</regex-instance> 437 </interface> 438 </hal> 439 <hal format="hidl" optional="true"> 440 <name>android.hardware.sensors</name> 441 <version>1.0</version> 442 <version>2.0-1</version> 443 <interface> 444 <name>ISensors</name> 445 <instance>default</instance> 446 </interface> 447 </hal> 448 <hal format="hidl" optional="true"> 449 <name>android.hardware.soundtrigger</name> 450 <version>2.0-3</version> 451 <interface> 452 <name>ISoundTriggerHw</name> 453 <instance>default</instance> 454 </interface> 455 </hal> 456 <hal format="hidl" optional="true"> 457 <name>android.hardware.tetheroffload.config</name> 458 <version>1.0</version> 459 <interface> 460 <name>IOffloadConfig</name> 461 <instance>default</instance> 462 </interface> 463 </hal> 464 <hal format="hidl" optional="true"> 465 <name>android.hardware.tetheroffload.control</name> 466 <version>1.0</version> 467 <interface> 468 <name>IOffloadControl</name> 469 <instance>default</instance> 470 </interface> 471 </hal> 472 <hal format="hidl" optional="true"> 473 <name>android.hardware.thermal</name> 474 <version>2.0</version> 475 <interface> 476 <name>IThermal</name> 477 <instance>default</instance> 478 </interface> 479 </hal> 480 <hal format="hidl" optional="true"> 481 <name>android.hardware.tv.cec</name> 482 <version>1.0</version> 483 <interface> 484 <name>IHdmiCec</name> 485 <instance>default</instance> 486 </interface> 487 </hal> 488 <hal format="hidl" optional="true"> 489 <name>android.hardware.tv.input</name> 490 <version>1.0</version> 491 <interface> 492 <name>ITvInput</name> 493 <instance>default</instance> 494 </interface> 495 </hal> 496 <hal format="hidl" optional="true"> 497 <name>android.hardware.tv.tuner</name> 498 <version>1.0</version> 499 <interface> 500 <name>ITuner</name> 501 <instance>default</instance> 502 </interface> 503 </hal> 504 <hal format="hidl" optional="true"> 505 <name>android.hardware.usb</name> 506 <version>1.0-2</version> 507 <interface> 508 <name>IUsb</name> 509 <instance>default</instance> 510 </interface> 511 </hal> 512 <hal format="hidl" optional="true"> 513 <name>android.hardware.usb.gadget</name> 514 <version>1.0-1</version> 515 <interface> 516 <name>IUsbGadget</name> 517 <instance>default</instance> 518 </interface> 519 </hal> 520 <hal format="aidl" optional="true"> 521 <name>android.hardware.vibrator</name> 522 <interface> 523 <name>IVibrator</name> 524 <instance>default</instance> 525 </interface> 526 </hal> 527 <hal format="hidl" optional="true"> 528 <name>android.hardware.vr</name> 529 <version>1.0</version> 530 <interface> 531 <name>IVr</name> 532 <instance>default</instance> 533 </interface> 534 </hal> 535 <hal format="hidl" optional="true"> 536 <name>android.hardware.weaver</name> 537 <version>1.0</version> 538 <interface> 539 <name>IWeaver</name> 540 <instance>default</instance> 541 </interface> 542 </hal> 543 <hal format="hidl" optional="true"> 544 <name>android.hardware.wifi</name> 545 <version>1.0-4</version> 546 <interface> 547 <name>IWifi</name> 548 <instance>default</instance> 549 </interface> 550 </hal> 551 <hal format="hidl" optional="true"> 552 <name>android.hardware.wifi.hostapd</name> 553 <version>1.0-2</version> 554 <interface> 555 <name>IHostapd</name> 556 <instance>default</instance> 557 </interface> 558 </hal> 559 <hal format="hidl" optional="true"> 560 <name>android.hardware.wifi.supplicant</name> 561 <version>1.0-3</version> 562 <interface> 563 <name>ISupplicant</name> 564 <instance>default</instance> 565 </interface> 566 </hal> 567</compatibility-matrix> 568