1<compatibility-matrix version="1.0" type="framework" level="8"> 2 <hal format="hidl" optional="true"> 3 <name>android.hardware.audio</name> 4 <version>6.0</version> 5 <version>7.0-1</version> 6 <interface> 7 <name>IDevicesFactory</name> 8 <instance>default</instance> 9 </interface> 10 </hal> 11 <hal format="hidl" optional="true"> 12 <name>android.hardware.audio.effect</name> 13 <version>6.0</version> 14 <version>7.0</version> 15 <interface> 16 <name>IEffectsFactory</name> 17 <instance>default</instance> 18 </interface> 19 </hal> 20 <hal format="aidl" optional="true"> 21 <name>android.hardware.audio.core</name> 22 <version>1</version> 23 <interface> 24 <name>IModule</name> 25 <instance>default</instance> 26 <instance>a2dp</instance> 27 <instance>bluetooth</instance> 28 <instance>hearing_aid</instance> 29 <instance>msd</instance> 30 <instance>r_submix</instance> 31 <instance>stub</instance> 32 <instance>usb</instance> 33 </interface> 34 <interface> 35 <name>IConfig</name> 36 <instance>default</instance> 37 </interface> 38 </hal> 39 <hal format="aidl" optional="true"> 40 <name>android.hardware.audio.effect</name> 41 <version>1</version> 42 <interface> 43 <name>IFactory</name> 44 <instance>default</instance> 45 </interface> 46 </hal> 47 <hal format="aidl" optional="true"> 48 <name>android.hardware.audio.sounddose</name> 49 <version>1</version> 50 <interface> 51 <name>ISoundDoseFactory</name> 52 <instance>default</instance> 53 </interface> 54 </hal> 55 <hal format="aidl" optional="true"> 56 <name>android.hardware.authsecret</name> 57 <version>1</version> 58 <interface> 59 <name>IAuthSecret</name> 60 <instance>default</instance> 61 </interface> 62 </hal> 63 <hal format="aidl" optional="true"> 64 <name>android.hardware.automotive.audiocontrol</name> 65 <version>2-3</version> 66 <interface> 67 <name>IAudioControl</name> 68 <instance>default</instance> 69 </interface> 70 </hal> 71 <hal format="aidl" optional="true"> 72 <name>android.hardware.automotive.can</name> 73 <version>1</version> 74 <interface> 75 <name>ICanController</name> 76 <instance>default</instance> 77 </interface> 78 </hal> 79 <hal format="aidl" optional="true"> 80 <name>android.hardware.automotive.evs</name> 81 <version>1-2</version> 82 <interface> 83 <name>IEvsEnumerator</name> 84 <regex-instance>[a-z]+/[0-9]+</regex-instance> 85 </interface> 86 </hal> 87 <hal format="aidl" optional="true"> 88 <name>android.hardware.automotive.occupant_awareness</name> 89 <version>1</version> 90 <interface> 91 <name>IOccupantAwareness</name> 92 <instance>default</instance> 93 </interface> 94 </hal> 95 <hal format="aidl" optional="true"> 96 <name>android.hardware.automotive.vehicle</name> 97 <version>1-2</version> 98 <interface> 99 <name>IVehicle</name> 100 <instance>default</instance> 101 </interface> 102 </hal> 103 <hal format="aidl" optional="true"> 104 <name>android.hardware.automotive.remoteaccess</name> 105 <interface> 106 <name>IRemoteAccess</name> 107 <instance>default</instance> 108 </interface> 109 </hal> 110 <hal format="aidl" optional="true"> 111 <name>android.hardware.automotive.ivn</name> 112 <interface> 113 <name>IIvnAndroidDevice</name> 114 <instance>default</instance> 115 </interface> 116 </hal> 117 <hal format="aidl" optional="true"> 118 <name>android.hardware.biometrics.face</name> 119 <version>3</version> 120 <interface> 121 <name>IFace</name> 122 <instance>default</instance> 123 </interface> 124 </hal> 125 <hal format="aidl" optional="true"> 126 <name>android.hardware.biometrics.fingerprint</name> 127 <version>3</version> 128 <interface> 129 <name>IFingerprint</name> 130 <instance>default</instance> 131 <instance>virtual</instance> 132 </interface> 133 </hal> 134 <hal format="hidl" optional="true"> 135 <name>android.hardware.bluetooth</name> 136 <version>1.0-1</version> 137 <interface> 138 <name>IBluetoothHci</name> 139 <instance>default</instance> 140 </interface> 141 </hal> 142 <hal format="aidl" optional="true"> 143 <name>android.hardware.bluetooth</name> 144 <interface> 145 <name>IBluetoothHci</name> 146 <instance>default</instance> 147 </interface> 148 </hal> 149 <hal format="aidl" optional="true"> 150 <name>android.hardware.bluetooth.audio</name> 151 <version>3</version> 152 <interface> 153 <name>IBluetoothAudioProviderFactory</name> 154 <instance>default</instance> 155 </interface> 156 </hal> 157 <hal format="aidl" optional="true"> 158 <name>android.hardware.boot</name> 159 <interface> 160 <name>IBootControl</name> 161 <instance>default</instance> 162 </interface> 163 </hal> 164 <hal format="aidl" optional="true"> 165 <name>android.hardware.broadcastradio</name> 166 <interface> 167 <name>IBroadcastRadio</name> 168 <regex-instance>.*</regex-instance> 169 </interface> 170 </hal> 171 <hal format="aidl" optional="true" updatable-via-apex="true"> 172 <name>android.hardware.camera.provider</name> 173 <version>1-2</version> 174 <interface> 175 <name>ICameraProvider</name> 176 <regex-instance>[^/]+/[0-9]+</regex-instance> 177 </interface> 178 </hal> 179 <hal format="aidl" optional="true"> 180 <name>android.hardware.cas</name> 181 <interface> 182 <name>IMediaCasService</name> 183 <instance>default</instance> 184 </interface> 185 </hal> 186 <hal format="aidl" optional="true"> 187 <name>android.hardware.confirmationui</name> 188 <version>1</version> 189 <interface> 190 <name>IConfirmationUI</name> 191 <instance>default</instance> 192 </interface> 193 </hal> 194 <hal format="aidl" optional="true"> 195 <name>android.hardware.contexthub</name> 196 <version>2</version> 197 <interface> 198 <name>IContextHub</name> 199 <instance>default</instance> 200 </interface> 201 </hal> 202 <hal format="aidl" optional="true" updatable-via-apex="true"> 203 <name>android.hardware.drm</name> 204 <version>1</version> 205 <interface> 206 <name>IDrmFactory</name> 207 <regex-instance>.*</regex-instance> 208 </interface> 209 </hal> 210 <hal format="aidl" optional="true"> 211 <name>android.hardware.dumpstate</name> 212 <interface> 213 <name>IDumpstateDevice</name> 214 <instance>default</instance> 215 </interface> 216 </hal> 217 <hal format="aidl" optional="true"> 218 <name>android.hardware.gatekeeper</name> 219 <version>1</version> 220 <interface> 221 <name>IGatekeeper</name> 222 <instance>default</instance> 223 </interface> 224 </hal> 225 <hal format="aidl" optional="true"> 226 <name>android.hardware.gnss</name> 227 <version>2-3</version> 228 <interface> 229 <name>IGnss</name> 230 <instance>default</instance> 231 </interface> 232 </hal> 233 <hal format="aidl" optional="true"> 234 <name>android.hardware.gnss.visibility_control</name> 235 <version>1</version> 236 <interface> 237 <name>IGnssVisibilityControl</name> 238 <instance>default</instance> 239 </interface> 240 </hal> 241 <hal format="aidl" optional="true"> 242 <name>android.hardware.gnss.measurement_corrections</name> 243 <version>1</version> 244 <interface> 245 <name>IMeasurementCorrectionsInterface</name> 246 <instance>default</instance> 247 </interface> 248 </hal> 249 <hal format="aidl" optional="true"> 250 <name>android.hardware.graphics.allocator</name> 251 <version>1-2</version> 252 <interface> 253 <name>IAllocator</name> 254 <instance>default</instance> 255 </interface> 256 </hal> 257 <hal format="aidl" optional="true"> 258 <name>android.hardware.graphics.composer3</name> 259 <version>2</version> 260 <interface> 261 <name>IComposer</name> 262 <instance>default</instance> 263 </interface> 264 </hal> 265 <!-- Either the native or the HIDL mapper HAL must exist on the device --> 266 <hal format="hidl" optional="true"> 267 <name>android.hardware.graphics.mapper</name> 268 <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> 269 <version>2.1</version> 270 <version>3.0</version> 271 <version>4.0</version> 272 <interface> 273 <name>IMapper</name> 274 <instance>default</instance> 275 </interface> 276 </hal> 277 <hal format="aidl" optional="true"> 278 <name>android.hardware.health</name> 279 <version>1-2</version> 280 <interface> 281 <name>IHealth</name> 282 <instance>default</instance> 283 </interface> 284 </hal> 285 <hal format="aidl" optional="true"> 286 <name>android.hardware.health.storage</name> 287 <version>1</version> 288 <interface> 289 <name>IStorage</name> 290 <instance>default</instance> 291 </interface> 292 </hal> 293 <hal format="aidl" optional="true"> 294 <name>android.hardware.identity</name> 295 <version>1-5</version> 296 <interface> 297 <name>IIdentityCredentialStore</name> 298 <instance>default</instance> 299 </interface> 300 </hal> 301 <hal format="aidl" optional="true"> 302 <name>android.hardware.net.nlinterceptor</name> 303 <interface> 304 <name>IInterceptor</name> 305 <instance>default</instance> 306 </interface> 307 </hal> 308 <hal format="aidl" optional="true"> 309 <name>android.hardware.oemlock</name> 310 <version>1</version> 311 <interface> 312 <name>IOemLock</name> 313 <instance>default</instance> 314 </interface> 315 </hal> 316 <hal format="aidl" optional="true"> 317 <name>android.hardware.ir</name> 318 <version>1</version> 319 <interface> 320 <name>IConsumerIr</name> 321 <instance>default</instance> 322 </interface> 323 </hal> 324 <hal format="aidl" optional="true"> 325 <name>android.hardware.input.processor</name> 326 <version>1</version> 327 <interface> 328 <name>IInputProcessor</name> 329 <instance>default</instance> 330 </interface> 331 </hal> 332 <hal format="aidl" optional="true"> 333 <name>android.hardware.security.keymint</name> 334 <version>1-3</version> 335 <interface> 336 <name>IKeyMintDevice</name> 337 <instance>default</instance> 338 <instance>strongbox</instance> 339 </interface> 340 </hal> 341 <hal format="aidl" optional="true"> 342 <name>android.hardware.security.keymint</name> 343 <version>1-3</version> 344 <interface> 345 <name>IRemotelyProvisionedComponent</name> 346 <instance>default</instance> 347 <instance>strongbox</instance> 348 <instance>widevine</instance> 349 </interface> 350 </hal> 351 <hal format="aidl" optional="true"> 352 <name>android.hardware.light</name> 353 <version>2</version> 354 <interface> 355 <name>ILights</name> 356 <instance>default</instance> 357 </interface> 358 </hal> 359 <hal format="hidl" optional="true"> 360 <name>android.hardware.media.c2</name> 361 <version>1.0-2</version> 362 <interface> 363 <name>IComponentStore</name> 364 <regex-instance>default[0-9]*</regex-instance> 365 <regex-instance>vendor[0-9]*_software</regex-instance> 366 </interface> 367 </hal> 368 <hal format="hidl" optional="true"> 369 <name>android.hardware.media.omx</name> 370 <version>1.0</version> 371 <interface> 372 <name>IOmx</name> 373 <instance>default</instance> 374 </interface> 375 <interface> 376 <name>IOmxStore</name> 377 <instance>default</instance> 378 </interface> 379 </hal> 380 <hal format="aidl" optional="true"> 381 <name>android.hardware.memtrack</name> 382 <version>1</version> 383 <interface> 384 <name>IMemtrack</name> 385 <instance>default</instance> 386 </interface> 387 </hal> 388 <hal format="aidl" optional="true"> 389 <name>android.hardware.neuralnetworks</name> 390 <version>1-4</version> 391 <interface> 392 <name>IDevice</name> 393 <regex-instance>.*</regex-instance> 394 </interface> 395 </hal> 396 <hal format="aidl" optional="true"> 397 <name>android.hardware.nfc</name> 398 <interface> 399 <name>INfc</name> 400 <instance>default</instance> 401 </interface> 402 </hal> 403 <hal format="aidl" optional="true"> 404 <name>android.hardware.power</name> 405 <version>4</version> 406 <interface> 407 <name>IPower</name> 408 <instance>default</instance> 409 </interface> 410 </hal> 411 <hal format="aidl" optional="true"> 412 <name>android.hardware.power.stats</name> 413 <version>2</version> 414 <interface> 415 <name>IPowerStats</name> 416 <instance>default</instance> 417 </interface> 418 </hal> 419 <hal format="aidl" optional="true"> 420 <name>android.hardware.radio.config</name> 421 <version>2</version> 422 <interface> 423 <name>IRadioConfig</name> 424 <instance>default</instance> 425 </interface> 426 </hal> 427 <hal format="aidl" optional="true"> 428 <name>android.hardware.radio.data</name> 429 <version>2</version> 430 <interface> 431 <name>IRadioData</name> 432 <instance>slot1</instance> 433 <instance>slot2</instance> 434 <instance>slot3</instance> 435 </interface> 436 </hal> 437 <hal format="aidl" optional="true"> 438 <name>android.hardware.radio.messaging</name> 439 <version>2</version> 440 <interface> 441 <name>IRadioMessaging</name> 442 <instance>slot1</instance> 443 <instance>slot2</instance> 444 <instance>slot3</instance> 445 </interface> 446 </hal> 447 <hal format="aidl" optional="true"> 448 <name>android.hardware.radio.modem</name> 449 <version>2</version> 450 <interface> 451 <name>IRadioModem</name> 452 <instance>slot1</instance> 453 <instance>slot2</instance> 454 <instance>slot3</instance> 455 </interface> 456 </hal> 457 <hal format="aidl" optional="true"> 458 <name>android.hardware.radio.network</name> 459 <version>2</version> 460 <interface> 461 <name>IRadioNetwork</name> 462 <instance>slot1</instance> 463 <instance>slot2</instance> 464 <instance>slot3</instance> 465 </interface> 466 </hal> 467 <hal format="aidl" optional="true"> 468 <name>android.hardware.radio.sim</name> 469 <version>2</version> 470 <interface> 471 <name>IRadioSim</name> 472 <instance>slot1</instance> 473 <instance>slot2</instance> 474 <instance>slot3</instance> 475 </interface> 476 </hal> 477 <hal format="aidl" optional="true"> 478 <name>android.hardware.radio.sap</name> 479 <version>1</version> 480 <interface> 481 <name>ISap</name> 482 <instance>slot1</instance> 483 <instance>slot2</instance> 484 <instance>slot3</instance> 485 </interface> 486 </hal> 487 <hal format="aidl" optional="true"> 488 <name>android.hardware.radio.voice</name> 489 <version>2</version> 490 <interface> 491 <name>IRadioVoice</name> 492 <instance>slot1</instance> 493 <instance>slot2</instance> 494 <instance>slot3</instance> 495 </interface> 496 </hal> 497 <hal format="aidl" optional="true"> 498 <name>android.hardware.radio.ims</name> 499 <version>1</version> 500 <interface> 501 <name>IRadioIms</name> 502 <instance>slot1</instance> 503 <instance>slot2</instance> 504 <instance>slot3</instance> 505 </interface> 506 </hal> 507 <hal format="aidl" optional="true"> 508 <name>android.hardware.radio.ims.media</name> 509 <version>1</version> 510 <interface> 511 <name>IImsMedia</name> 512 <instance>default</instance> 513 </interface> 514 </hal> 515 <hal format="hidl" optional="true"> 516 <name>android.hardware.renderscript</name> 517 <version>1.0</version> 518 <interface> 519 <name>IDevice</name> 520 <instance>default</instance> 521 </interface> 522 </hal> 523 <hal format="aidl" optional="true"> 524 <name>android.hardware.rebootescrow</name> 525 <version>1</version> 526 <interface> 527 <name>IRebootEscrow</name> 528 <instance>default</instance> 529 </interface> 530 </hal> 531 <hal format="aidl" optional="true"> 532 <name>android.hardware.secure_element</name> 533 <version>1</version> 534 <interface> 535 <name>ISecureElement</name> 536 <regex-instance>eSE[1-9][0-9]*</regex-instance> 537 <regex-instance>SIM[1-9][0-9]*</regex-instance> 538 </interface> 539 </hal> 540 <hal format="aidl" optional="true"> 541 <name>android.hardware.security.secureclock</name> 542 <version>1</version> 543 <interface> 544 <name>ISecureClock</name> 545 <instance>default</instance> 546 </interface> 547 </hal> 548 <hal format="aidl" optional="true"> 549 <name>android.hardware.security.sharedsecret</name> 550 <version>1</version> 551 <interface> 552 <name>ISharedSecret</name> 553 <instance>default</instance> 554 <instance>strongbox</instance> 555 </interface> 556 </hal> 557 <hal format="aidl" optional="true"> 558 <name>android.hardware.sensors</name> 559 <version>2</version> 560 <interface> 561 <name>ISensors</name> 562 <instance>default</instance> 563 </interface> 564 </hal> 565 <hal format="hidl" optional="true"> 566 <name>android.hardware.soundtrigger</name> 567 <version>2.3</version> 568 <interface> 569 <name>ISoundTriggerHw</name> 570 <instance>default</instance> 571 </interface> 572 </hal> 573 <hal format="aidl" optional="true"> 574 <name>android.hardware.soundtrigger3</name> 575 <version>1</version> 576 <interface> 577 <name>ISoundTriggerHw</name> 578 <instance>default</instance> 579 </interface> 580 </hal> 581 <hal format="hidl" optional="true"> 582 <name>android.hardware.tetheroffload.config</name> 583 <version>1.0</version> 584 <interface> 585 <name>IOffloadConfig</name> 586 <instance>default</instance> 587 </interface> 588 </hal> 589 <hal format="hidl" optional="true"> 590 <name>android.hardware.tetheroffload.control</name> 591 <version>1.1</version> 592 <interface> 593 <name>IOffloadControl</name> 594 <instance>default</instance> 595 </interface> 596 </hal> 597 <hal format="aidl" optional="true"> 598 <name>android.hardware.tetheroffload</name> 599 <version>1</version> 600 <interface> 601 <name>IOffload</name> 602 <instance>default</instance> 603 </interface> 604 </hal> 605 <hal format="aidl" optional="true"> 606 <name>android.hardware.thermal</name> 607 <version>1</version> 608 <interface> 609 <name>IThermal</name> 610 <instance>default</instance> 611 </interface> 612 </hal> 613 <hal format="aidl" optional="true"> 614 <name>android.hardware.tv.hdmi.cec</name> 615 <version>1</version> 616 <interface> 617 <name>IHdmiCec</name> 618 <instance>default</instance> 619 </interface> 620 </hal> 621 <hal format="aidl" optional="true"> 622 <name>android.hardware.tv.hdmi.earc</name> 623 <version>1</version> 624 <interface> 625 <name>IEArc</name> 626 <instance>default</instance> 627 </interface> 628 </hal> 629 <hal format="aidl" optional="true"> 630 <name>android.hardware.tv.hdmi.connection</name> 631 <version>1</version> 632 <interface> 633 <name>IHdmiConnection</name> 634 <instance>default</instance> 635 </interface> 636 </hal> 637 <hal format="aidl" optional="true"> 638 <name>android.hardware.tv.tuner</name> 639 <version>1-2</version> 640 <interface> 641 <name>ITuner</name> 642 <instance>default</instance> 643 </interface> 644 </hal> 645 <hal format="aidl" optional="true"> 646 <name>android.hardware.tv.input</name> 647 <version>1</version> 648 <interface> 649 <name>ITvInput</name> 650 <instance>default</instance> 651 </interface> 652 </hal> 653 <hal format="aidl" optional="true"> 654 <name>android.hardware.usb</name> 655 <version>1-2</version> 656 <interface> 657 <name>IUsb</name> 658 <instance>default</instance> 659 </interface> 660 </hal> 661 <hal format="aidl" optional="true"> 662 <name>android.hardware.usb.gadget</name> 663 <interface> 664 <name>IUsbGadget</name> 665 <instance>default</instance> 666 </interface> 667 </hal> 668 <hal format="aidl" optional="true"> 669 <name>android.hardware.vibrator</name> 670 <version>1-2</version> 671 <interface> 672 <name>IVibrator</name> 673 <instance>default</instance> 674 </interface> 675 </hal> 676 <hal format="aidl" optional="true"> 677 <name>android.hardware.vibrator</name> 678 <version>1-2</version> 679 <interface> 680 <name>IVibratorManager</name> 681 <instance>default</instance> 682 </interface> 683 </hal> 684 <hal format="aidl" optional="true"> 685 <name>android.hardware.weaver</name> 686 <version>2</version> 687 <interface> 688 <name>IWeaver</name> 689 <instance>default</instance> 690 </interface> 691 </hal> 692 <hal format="aidl" optional="true" updatable-via-apex="true"> 693 <name>android.hardware.wifi</name> 694 <version>1</version> 695 <interface> 696 <name>IWifi</name> 697 <instance>default</instance> 698 </interface> 699 </hal> 700 <hal format="aidl" optional="true"> 701 <name>android.hardware.uwb</name> 702 <version>1</version> 703 <interface> 704 <name>IUwb</name> 705 <instance>default</instance> 706 </interface> 707 </hal> 708 <hal format="aidl" optional="true"> 709 <name>android.hardware.wifi.hostapd</name> 710 <version>1</version> 711 <interface> 712 <name>IHostapd</name> 713 <instance>default</instance> 714 </interface> 715 </hal> 716 <hal format="aidl" optional="true"> 717 <name>android.hardware.wifi.supplicant</name> 718 <version>2</version> 719 <interface> 720 <name>ISupplicant</name> 721 <instance>default</instance> 722 </interface> 723 </hal> 724 <!-- Either the native or the HIDL mapper HAL must exist on the device --> 725 <hal format="native" optional="true"> 726 <name>mapper</name> 727 <version>5.0</version> 728 <interface> 729 <regex-instance>.*</regex-instance> 730 </interface> 731 </hal> 732</compatibility-matrix> 733