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 <!-- 185 - Both versions are listed here as a workaround for libvintf since 2.0 extends 1.1. 186 - Devices launched with Q must support gnss (a] 2.0, see VtsTrebleVendorVintfTest 187 - test DeviceManifestTest#GnssHalVersionCompatibility. 188 --> 189 <version>1.1</version> 190 <version>2.0</version> 191 <interface> 192 <name>IGnss</name> 193 <instance>default</instance> 194 </interface> 195 </hal> 196 <hal format="hidl" optional="false"> 197 <name>android.hardware.graphics.allocator</name> 198 <version>2.0</version> 199 <version>3.0</version> 200 <interface> 201 <name>IAllocator</name> 202 <instance>default</instance> 203 </interface> 204 </hal> 205 <hal format="hidl" optional="false"> 206 <name>android.hardware.graphics.composer</name> 207 <version>2.1-3</version> 208 <interface> 209 <name>IComposer</name> 210 <instance>default</instance> 211 </interface> 212 </hal> 213 <hal format="hidl" optional="false"> 214 <name>android.hardware.graphics.mapper</name> 215 <version>2.1</version> 216 <version>3.0</version> 217 <interface> 218 <name>IMapper</name> 219 <instance>default</instance> 220 </interface> 221 </hal> 222 <hal format="hidl" optional="false"> 223 <name>android.hardware.health</name> 224 <version>2.0</version> 225 <interface> 226 <name>IHealth</name> 227 <instance>default</instance> 228 </interface> 229 </hal> 230 <hal format="hidl" optional="true"> 231 <name>android.hardware.health.storage</name> 232 <version>1.0</version> 233 <interface> 234 <name>IStorage</name> 235 <instance>default</instance> 236 </interface> 237 </hal> 238 <hal format="hidl" optional="true"> 239 <name>android.hardware.ir</name> 240 <version>1.0</version> 241 <interface> 242 <name>IConsumerIr</name> 243 <instance>default</instance> 244 </interface> 245 </hal> 246 <hal format="hidl" optional="true"> 247 <name>android.hardware.input.classifier</name> 248 <version>1.0</version> 249 <interface> 250 <name>IInputClassifier</name> 251 <instance>default</instance> 252 </interface> 253 </hal> 254 <hal format="hidl" optional="false"> 255 <name>android.hardware.keymaster</name> 256 <version>3.0</version> 257 <version>4.0</version> 258 <interface> 259 <name>IKeymasterDevice</name> 260 <instance>default</instance> 261 </interface> 262 </hal> 263 <hal format="hidl" optional="true"> 264 <name>android.hardware.keymaster</name> 265 <version>4.0</version> 266 <interface> 267 <name>IKeymasterDevice</name> 268 <instance>strongbox</instance> 269 </interface> 270 </hal> 271 <hal format="hidl" optional="true"> 272 <name>android.hardware.light</name> 273 <version>2.0</version> 274 <interface> 275 <name>ILight</name> 276 <instance>default</instance> 277 </interface> 278 </hal> 279 <hal format="hidl" optional="true"> 280 <name>android.hardware.media.c2</name> 281 <version>1.0</version> 282 <interface> 283 <name>IComponentStore</name> 284 <regex-instance>default[0-9]*</regex-instance> 285 <regex-instance>vendor[0-9]*_software</regex-instance> 286 </interface> 287 </hal> 288 <hal format="hidl" optional="true"> 289 <name>android.hardware.media.omx</name> 290 <version>1.0</version> 291 <interface> 292 <name>IOmx</name> 293 <instance>default</instance> 294 </interface> 295 <interface> 296 <name>IOmxStore</name> 297 <instance>default</instance> 298 </interface> 299 </hal> 300 <hal format="hidl" optional="true"> 301 <name>android.hardware.memtrack</name> 302 <version>1.0</version> 303 <interface> 304 <name>IMemtrack</name> 305 <instance>default</instance> 306 </interface> 307 </hal> 308 <hal format="hidl" optional="true"> 309 <name>android.hardware.neuralnetworks</name> 310 <version>1.0-2</version> 311 <interface> 312 <name>IDevice</name> 313 <regex-instance>.*</regex-instance> 314 </interface> 315 </hal> 316 <hal format="hidl" optional="true"> 317 <name>android.hardware.nfc</name> 318 <version>1.2</version> 319 <interface> 320 <name>INfc</name> 321 <instance>default</instance> 322 </interface> 323 </hal> 324 <hal format="hidl" optional="true"> 325 <name>android.hardware.oemlock</name> 326 <version>1.0</version> 327 <interface> 328 <name>IOemLock</name> 329 <instance>default</instance> 330 </interface> 331 </hal> 332 <hal format="hidl" optional="true"> 333 <name>android.hardware.power</name> 334 <version>1.0-3</version> 335 <interface> 336 <name>IPower</name> 337 <instance>default</instance> 338 </interface> 339 </hal> 340 <hal format="hidl" optional="true"> 341 <name>android.hardware.power.stats</name> 342 <version>1.0</version> 343 <interface> 344 <name>IPowerStats</name> 345 <instance>default</instance> 346 </interface> 347 </hal> 348 <hal format="hidl" optional="true"> 349 <name>android.hardware.radio</name> 350 <version>1.4</version> 351 <interface> 352 <name>IRadio</name> 353 <instance>slot1</instance> 354 <instance>slot2</instance> 355 <instance>slot3</instance> 356 </interface> 357 </hal> 358 <hal format="hidl" optional="true"> 359 <name>android.hardware.radio</name> 360 <version>1.2</version> 361 <interface> 362 <name>ISap</name> 363 <instance>slot1</instance> 364 </interface> 365 </hal> 366 <hal format="hidl" optional="true"> 367 <name>android.hardware.radio.config</name> 368 <!-- 369 Note: Devices launching with target-level 4, if implementing the 370 radio config HAL, must provide an implementation of 1.1 IRadioConfig 371 that can handle version 1.2 of IRadioConfigResponse and 372 IRadioConfigIndication. 373 --> 374 <version>1.1</version> 375 <interface> 376 <name>IRadioConfig</name> 377 <instance>default</instance> 378 </interface> 379 </hal> 380 <hal format="hidl" optional="true"> 381 <name>android.hardware.renderscript</name> 382 <version>1.0</version> 383 <interface> 384 <name>IDevice</name> 385 <instance>default</instance> 386 </interface> 387 </hal> 388 <hal format="hidl" optional="true"> 389 <name>android.hardware.secure_element</name> 390 <version>1.0</version> 391 <interface> 392 <name>ISecureElement</name> 393 <regex-instance>eSE[1-9][0-9]*</regex-instance> 394 <regex-instance>SIM[1-9][0-9]*</regex-instance> 395 </interface> 396 </hal> 397 <hal format="hidl" optional="true"> 398 <name>android.hardware.sensors</name> 399 <version>1.0</version> 400 <version>2.0</version> 401 <interface> 402 <name>ISensors</name> 403 <instance>default</instance> 404 </interface> 405 </hal> 406 <hal format="hidl" optional="true"> 407 <name>android.hardware.soundtrigger</name> 408 <version>2.0-2</version> 409 <interface> 410 <name>ISoundTriggerHw</name> 411 <instance>default</instance> 412 </interface> 413 </hal> 414 <hal format="hidl" optional="true"> 415 <name>android.hardware.tetheroffload.config</name> 416 <version>1.0</version> 417 <interface> 418 <name>IOffloadConfig</name> 419 <instance>default</instance> 420 </interface> 421 </hal> 422 <hal format="hidl" optional="true"> 423 <name>android.hardware.tetheroffload.control</name> 424 <version>1.0</version> 425 <interface> 426 <name>IOffloadControl</name> 427 <instance>default</instance> 428 </interface> 429 </hal> 430 <hal format="hidl" optional="true"> 431 <name>android.hardware.thermal</name> 432 <version>1.0-1</version> 433 <version>2.0</version> 434 <interface> 435 <name>IThermal</name> 436 <instance>default</instance> 437 </interface> 438 </hal> 439 <hal format="hidl" optional="true"> 440 <name>android.hardware.tv.cec</name> 441 <version>1.0</version> 442 <interface> 443 <name>IHdmiCec</name> 444 <instance>default</instance> 445 </interface> 446 </hal> 447 <hal format="hidl" optional="true"> 448 <name>android.hardware.tv.input</name> 449 <version>1.0</version> 450 <interface> 451 <name>ITvInput</name> 452 <instance>default</instance> 453 </interface> 454 </hal> 455 <hal format="hidl" optional="true"> 456 <name>android.hardware.usb</name> 457 <version>1.0-2</version> 458 <interface> 459 <name>IUsb</name> 460 <instance>default</instance> 461 </interface> 462 </hal> 463 <hal format="hidl" optional="true"> 464 <name>android.hardware.usb.gadget</name> 465 <version>1.0</version> 466 <interface> 467 <name>IUsbGadget</name> 468 <instance>default</instance> 469 </interface> 470 </hal> 471 <hal format="hidl" optional="true"> 472 <name>android.hardware.vibrator</name> 473 <version>1.0-3</version> 474 <interface> 475 <name>IVibrator</name> 476 <instance>default</instance> 477 </interface> 478 </hal> 479 <hal format="hidl" optional="true"> 480 <name>android.hardware.vr</name> 481 <version>1.0</version> 482 <interface> 483 <name>IVr</name> 484 <instance>default</instance> 485 </interface> 486 </hal> 487 <hal format="hidl" optional="true"> 488 <name>android.hardware.weaver</name> 489 <version>1.0</version> 490 <interface> 491 <name>IWeaver</name> 492 <instance>default</instance> 493 </interface> 494 </hal> 495 <hal format="hidl" optional="true"> 496 <name>android.hardware.wifi</name> 497 <version>1.0-3</version> 498 <interface> 499 <name>IWifi</name> 500 <instance>default</instance> 501 </interface> 502 </hal> 503 <hal format="hidl" optional="true"> 504 <name>android.hardware.wifi.hostapd</name> 505 <version>1.0-1</version> 506 <interface> 507 <name>IHostapd</name> 508 <instance>default</instance> 509 </interface> 510 </hal> 511 <hal format="hidl" optional="true"> 512 <name>android.hardware.wifi.supplicant</name> 513 <version>1.0-2</version> 514 <interface> 515 <name>ISupplicant</name> 516 <instance>default</instance> 517 </interface> 518 </hal> 519 </compatibility-matrix> 520