| <compatibility-matrix version="1.0" type="framework" level="4"> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.atrace</name> |
| <version>1.0</version> |
| <interface> |
| <name>IAtraceDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.audio</name> |
| <version>5.0</version> |
| <interface> |
| <name>IDevicesFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.audio.effect</name> |
| <version>5.0</version> |
| <interface> |
| <name>IEffectsFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.authsecret</name> |
| <version>1.0</version> |
| <interface> |
| <name>IAuthSecret</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.automotive.audiocontrol</name> |
| <version>1.0</version> |
| <interface> |
| <name>IAudioControl</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.automotive.evs</name> |
| <version>1.0</version> |
| <interface> |
| <name>IEvsEnumerator</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.automotive.vehicle</name> |
| <version>2.0</version> |
| <interface> |
| <name>IVehicle</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.biometrics.face</name> |
| <version>1.0</version> |
| <interface> |
| <name>IBiometricsFace</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.biometrics.fingerprint</name> |
| <version>2.1</version> |
| <interface> |
| <name>IBiometricsFingerprint</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.bluetooth</name> |
| <version>1.0</version> |
| <interface> |
| <name>IBluetoothHci</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.bluetooth.audio</name> |
| <version>2.0</version> |
| <interface> |
| <name>IBluetoothAudioProvidersFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.boot</name> |
| <version>1.0</version> |
| <interface> |
| <name>IBootControl</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.broadcastradio</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>IBroadcastRadioFactory</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.broadcastradio</name> |
| <version>2.0</version> |
| <interface> |
| <name>IBroadcastRadio</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.camera.provider</name> |
| <version>2.4-5</version> |
| <interface> |
| <name>ICameraProvider</name> |
| <regex-instance>[^/]+/[0-9]+</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.cas</name> |
| <version>1.1</version> |
| <interface> |
| <name>IMediaCasService</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.configstore</name> |
| <version>1.1</version> |
| <interface> |
| <name>ISurfaceFlingerConfigs</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.confirmationui</name> |
| <version>1.0</version> |
| <interface> |
| <name>IConfirmationUI</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.contexthub</name> |
| <version>1.0</version> |
| <interface> |
| <name>IContexthub</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.drm</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>ICryptoFactory</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| <interface> |
| <name>IDrmFactory</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.dumpstate</name> |
| <version>1.0</version> |
| <interface> |
| <name>IDumpstateDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.gatekeeper</name> |
| <version>1.0</version> |
| <interface> |
| <name>IGatekeeper</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.gnss</name> |
| <version>2.0</version> |
| <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" optional="true"> |
| <name>android.hardware.graphics.allocator</name> |
| <version>2.0</version> |
| <version>3.0</version> |
| <interface> |
| <name>IAllocator</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.graphics.composer</name> |
| <version>2.1-3</version> |
| <interface> |
| <name>IComposer</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.graphics.mapper</name> |
| <version>2.1</version> |
| <version>3.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.0. |
| See DeviceManifestTest.HealthHal --> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.health</name> |
| <version>2.0</version> |
| <interface> |
| <name>IHealth</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.health.storage</name> |
| <version>1.0</version> |
| <interface> |
| <name>IStorage</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.ir</name> |
| <version>1.0</version> |
| <interface> |
| <name>IConsumerIr</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.input.classifier</name> |
| <version>1.0</version> |
| <interface> |
| <name>IInputClassifier</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.keymaster</name> |
| <version>3.0</version> |
| <version>4.0</version> |
| <interface> |
| <name>IKeymasterDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.keymaster</name> |
| <version>4.0</version> |
| <interface> |
| <name>IKeymasterDevice</name> |
| <instance>strongbox</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.light</name> |
| <version>2.0</version> |
| <interface> |
| <name>ILight</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.media.c2</name> |
| <version>1.0</version> |
| <interface> |
| <name>IComponentStore</name> |
| <regex-instance>default[0-9]*</regex-instance> |
| <regex-instance>vendor[0-9]*_software</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <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="hidl" optional="true"> |
| <name>android.hardware.memtrack</name> |
| <version>1.0</version> |
| <interface> |
| <name>IMemtrack</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.neuralnetworks</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>IDevice</name> |
| <regex-instance>.*</regex-instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.nfc</name> |
| <version>1.2</version> |
| <interface> |
| <name>INfc</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.oemlock</name> |
| <version>1.0</version> |
| <interface> |
| <name>IOemLock</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.power</name> |
| <version>1.0-3</version> |
| <interface> |
| <name>IPower</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.power.stats</name> |
| <version>1.0</version> |
| <interface> |
| <name>IPowerStats</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.radio</name> |
| <version>1.4</version> |
| <interface> |
| <name>IRadio</name> |
| <instance>slot1</instance> |
| <instance>slot2</instance> |
| <instance>slot3</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.radio</name> |
| <version>1.2</version> |
| <interface> |
| <name>ISap</name> |
| <instance>slot1</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.radio.config</name> |
| <!-- |
| Note: Devices launching with target-level 4, if implementing the |
| radio config HAL, must provide an implementation of 1.1 IRadioConfig |
| that can handle version 1.2 of IRadioConfigResponse and |
| IRadioConfigIndication. |
| --> |
| <version>1.1</version> |
| <interface> |
| <name>IRadioConfig</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.renderscript</name> |
| <version>1.0</version> |
| <interface> |
| <name>IDevice</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.secure_element</name> |
| <version>1.0</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="hidl" optional="true"> |
| <name>android.hardware.sensors</name> |
| <version>1.0</version> |
| <version>2.0</version> |
| <interface> |
| <name>ISensors</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.soundtrigger</name> |
| <version>2.0-2</version> |
| <interface> |
| <name>ISoundTriggerHw</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.tetheroffload.config</name> |
| <version>1.0</version> |
| <interface> |
| <name>IOffloadConfig</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.tetheroffload.control</name> |
| <version>1.0</version> |
| <interface> |
| <name>IOffloadControl</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.thermal</name> |
| <version>2.0</version> |
| <interface> |
| <name>IThermal</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.tv.cec</name> |
| <version>1.0</version> |
| <interface> |
| <name>IHdmiCec</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.tv.input</name> |
| <version>1.0</version> |
| <interface> |
| <name>ITvInput</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.usb</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>IUsb</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.usb.gadget</name> |
| <version>1.0</version> |
| <interface> |
| <name>IUsbGadget</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.vibrator</name> |
| <version>1.0-3</version> |
| <interface> |
| <name>IVibrator</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.vr</name> |
| <version>1.0</version> |
| <interface> |
| <name>IVr</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.weaver</name> |
| <version>1.0</version> |
| <interface> |
| <name>IWeaver</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.wifi</name> |
| <version>1.0-3</version> |
| <interface> |
| <name>IWifi</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.wifi.hostapd</name> |
| <version>1.0-1</version> |
| <interface> |
| <name>IHostapd</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| <hal format="hidl" optional="true"> |
| <name>android.hardware.wifi.supplicant</name> |
| <version>1.0-2</version> |
| <interface> |
| <name>ISupplicant</name> |
| <instance>default</instance> |
| </interface> |
| </hal> |
| </compatibility-matrix> |