| <compatibility-matrix version="1.0" type="framework" level="6"> |
| <hal format="hidl"> |
| <name>android.hardware.atrace</name> |
| <version>1.0</version> |
| <interface> |
| <name>IAtraceDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.audio</name> |
| <version>6.0</version> |
| <version>7.0</version> |
| <interface> |
| <name>IDevicesFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.audio.effect</name> |
| <version>6.0</version> |
| <version>7.0</version> |
| <interface> |
| <name>IEffectsFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.authsecret</name> |
| <version>1</version> |
| <interface> |
| <name>IAuthSecret</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.authsecret</name> |
| <version>1.0</version> |
| <interface> |
| <name>IAuthSecret</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.automotive.audiocontrol</name> |
| <interface> |
| <name>IAudioControl</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.automotive.can</name> |
| <version>1.0</version> |
| <interface> |
| <name>ICanBus</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| <interface> |
| <name>ICanController</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.automotive.evs</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>IEvsEnumerator</name> |
| <instance>default</instance> |
| <regex-instance>[a-z]+/[0-9]+</regex-instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.automotive.occupant_awareness</name> |
| <version>1</version> |
| <interface> |
| <name>IOccupantAwareness</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.automotive.sv</name> |
| <version>1.0</version> |
| <interface> |
| <name>ISurroundViewService</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.automotive.vehicle</name> |
| <version>2.0</version> |
| <interface> |
| <name>IVehicle</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.biometrics.face</name> |
| <version>1.0</version> |
| <interface> |
| <name>IBiometricsFace</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.biometrics.face</name> |
| <interface> |
| <name>IFace</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.biometrics.fingerprint</name> |
| <version>2.1-3</version> |
| <interface> |
| <name>IBiometricsFingerprint</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.biometrics.fingerprint</name> |
| <interface> |
| <name>IFingerprint</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.bluetooth</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>IBluetoothHci</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.bluetooth.audio</name> |
| <version>2.0-1</version> |
| <interface> |
| <name>IBluetoothAudioProvidersFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.boot</name> |
| <version>1.2</version> |
| <interface> |
| <name>IBootControl</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.broadcastradio</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>IBroadcastRadioFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.broadcastradio</name> |
| <version>2.0</version> |
| <interface> |
| <name>IBroadcastRadio</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.camera.provider</name> |
| <version>2.4-7</version> |
| <interface> |
| <name>ICameraProvider</name> |
| <regex-instance>[^/]+/[0-9]+</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.cas</name> |
| <version>1.1-2</version> |
| <interface> |
| <name>IMediaCasService</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.confirmationui</name> |
| <version>1.0</version> |
| <interface> |
| <name>IConfirmationUI</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.contexthub</name> |
| <version>1.2</version> |
| <interface> |
| <name>IContexthub</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.drm</name> |
| <version>1.3-4</version> |
| <interface> |
| <name>ICryptoFactory</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| <interface> |
| <name>IDrmFactory</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.dumpstate</name> |
| <version>1.1</version> |
| <interface> |
| <name>IDumpstateDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.gatekeeper</name> |
| <version>1.0</version> |
| <interface> |
| <name>IGatekeeper</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.gnss</name> |
| <version>2.0-1</version> |
| <interface> |
| <name>IGnss</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.gnss</name> |
| <interface> |
| <name>IGnss</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <!-- Either the AIDL or the HIDL allocator HAL must exist on the device. |
| If the HIDL composer HAL exists, it must be at least version 2.0. |
| See DeviceManifestTest.GrallocHal --> |
| <hal format="hidl"> |
| <name>android.hardware.graphics.allocator</name> |
| <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> |
| <version>2.0</version> |
| <version>3.0</version> |
| <version>4.0</version> |
| <interface> |
| <name>IAllocator</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.graphics.composer</name> |
| <version>2.1-4</version> |
| <interface> |
| <name>IComposer</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.graphics.mapper</name> |
| <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> |
| <version>2.1</version> |
| <version>3.0</version> |
| <version>4.0</version> |
| <interface> |
| <name>IMapper</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <!-- Either the AIDL or the HIDL health HAL must exist on the device. |
| If the HIDL health HAL exists, it must be at least version 2.1. |
| See DeviceManifestTest.HealthHal --> |
| <hal format="hidl"> |
| <name>android.hardware.health</name> |
| <version>2.1</version> |
| <interface> |
| <name>IHealth</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.health.storage</name> |
| <version>1</version> |
| <interface> |
| <name>IStorage</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.identity</name> |
| <version>1-3</version> |
| <interface> |
| <name>IIdentityCredentialStore</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.oemlock</name> |
| <version>1</version> |
| <interface> |
| <name>IOemLock</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.ir</name> |
| <version>1.0</version> |
| <interface> |
| <name>IConsumerIr</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.input.classifier</name> |
| <version>1.0</version> |
| <interface> |
| <name>IInputClassifier</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.keymaster</name> |
| <version>3.0</version> |
| <version>4.0-1</version> |
| <interface> |
| <name>IKeymasterDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.keymaster</name> |
| <version>4.0-1</version> |
| <interface> |
| <name>IKeymasterDevice</name> |
| <instance>strongbox</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.security.keymint</name> |
| <version>1</version> |
| <interface> |
| <name>IKeyMintDevice</name> |
| <instance>default</instance> |
| <instance>strongbox</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.security.keymint</name> |
| <interface> |
| <name>IRemotelyProvisionedComponent</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.light</name> |
| <version>1</version> |
| <interface> |
| <name>ILights</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.media.c2</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>IComponentStore</name> |
| <instance>software</instance> |
| <regex-instance>default[0-9]*</regex-instance> |
| <regex-instance>vendor[0-9]*_software</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.media.c2</name> |
| <version>1.0</version> |
| <interface> |
| <name>IConfigurable</name> |
| <instance>default</instance> |
| <instance>software</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.media.omx</name> |
| <version>1.0</version> |
| <interface> |
| <name>IOmx</name> |
| <instance>default</instance> |
| </interface> |
| <interface> |
| <name>IOmxStore</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.memtrack</name> |
| <version>1</version> |
| <interface> |
| <name>IMemtrack</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.neuralnetworks</name> |
| <version>1.0-3</version> |
| <interface> |
| <name>IDevice</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.neuralnetworks</name> |
| <interface> |
| <name>IDevice</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.nfc</name> |
| <version>1.2</version> |
| <interface> |
| <name>INfc</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.oemlock</name> |
| <version>1.0</version> |
| <interface> |
| <name>IOemLock</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.power</name> |
| <version>1-2</version> |
| <interface> |
| <name>IPower</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.power.stats</name> |
| <interface> |
| <name>IPowerStats</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.radio</name> |
| <version>1.6</version> |
| <interface> |
| <name>IRadio</name> |
| <instance>slot1</instance> |
| <instance>slot2</instance> |
| <instance>slot3</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.radio</name> |
| <version>1.2</version> |
| <interface> |
| <name>ISap</name> |
| <instance>slot1</instance> |
| <instance>slot2</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.radio.config</name> |
| <!-- |
| See compatibility_matrix.4.xml on versioning of radio config HAL. |
| --> |
| <version>1.1</version> |
| <interface> |
| <name>IRadioConfig</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.radio.config</name> |
| <version>1.3</version> |
| <interface> |
| <name>IRadioConfig</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.renderscript</name> |
| <version>1.0</version> |
| <interface> |
| <name>IDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.rebootescrow</name> |
| <version>1</version> |
| <interface> |
| <name>IRebootEscrow</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.secure_element</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>ISecureElement</name> |
| <regex-instance>eSE[1-9][0-9]*</regex-instance> |
| <regex-instance>SIM[1-9][0-9]*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.security.secureclock</name> |
| <version>1</version> |
| <interface> |
| <name>ISecureClock</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.security.sharedsecret</name> |
| <version>1</version> |
| <interface> |
| <name>ISharedSecret</name> |
| <instance>default</instance> |
| <instance>strongbox</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.sensors</name> |
| <version>1.0</version> |
| <version>2.0-1</version> |
| <interface> |
| <name>ISensors</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.soundtrigger</name> |
| <version>2.3</version> |
| <interface> |
| <name>ISoundTriggerHw</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.tetheroffload.config</name> |
| <version>1.0</version> |
| <interface> |
| <name>IOffloadConfig</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.tetheroffload.control</name> |
| <version>1.1</version> |
| <interface> |
| <name>IOffloadControl</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.thermal</name> |
| <version>2.0</version> |
| <interface> |
| <name>IThermal</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.tv.cec</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>IHdmiCec</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.tv.input</name> |
| <version>1.0</version> |
| <interface> |
| <name>ITvInput</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.tv.tuner</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>ITuner</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.usb</name> |
| <version>1.0-3</version> |
| <interface> |
| <name>IUsb</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.usb.gadget</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>IUsbGadget</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.vibrator</name> |
| <version>1-2</version> |
| <interface> |
| <name>IVibrator</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.vibrator</name> |
| <version>1-2</version> |
| <interface> |
| <name>IVibratorManager</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.weaver</name> |
| <version>1.0</version> |
| <interface> |
| <name>IWeaver</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="aidl"> |
| <name>android.hardware.weaver</name> |
| <version>1</version> |
| <interface> |
| <name>IWeaver</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.wifi</name> |
| <version>1.3-5</version> |
| <interface> |
| <name>IWifi</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.wifi.hostapd</name> |
| <version>1.0-3</version> |
| <interface> |
| <name>IHostapd</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl"> |
| <name>android.hardware.wifi.supplicant</name> |
| <version>1.2-4</version> |
| <interface> |
| <name>ISupplicant</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| </compatibility-matrix> |