<!-- Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of The Linux Foundation nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<manifest version="1.0" type="device" target-level="5">
    <kernel target-level="5"/>
    <hal format="hidl">
        <name>android.hardware.audio</name>
        <transport>hwbinder</transport>
        <version>7.0</version>
        <interface>
            <name>IDevicesFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.audio.effect</name>
        <transport>hwbinder</transport>
        <version>7.0</version>
        <interface>
            <name>IEffectsFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.cacert</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
        <name>IService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.data.connection</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IDataConnection</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.soundtrigger</name>
        <transport>hwbinder</transport>
        <version>2.3</version>
        <interface>
            <name>ISoundTriggerHw</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- display -->
    <hal format="hidl">
        <name>android.hardware.renderscript</name>
        <transport arch="32+64">passthrough</transport>
        <version>1.0</version>
        <interface>
            <name>IDevice</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="aidl">
        <name>vendor.google.google_battery</name>
        <version>1</version>
        <interface>
            <name>IGoogleBattery</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.google.radioext</name>
        <transport>hwbinder</transport>
        <version>1.3</version>
        <interface>
            <name>IRadioExt</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.memtrack</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>1.0</version>
        <interface>
            <name>IMemtrack</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.secure_element</name>
        <transport>hwbinder</transport>
        <fqname>@1.2::ISecureElement/SIM1</fqname>
        <fqname>@1.2::ISecureElement/SIM2</fqname>
        <fqname>@1.2::ISecureElement/eSE1</fqname>
    </hal>
    <!-- gatekeeper -->
    <hal format="hidl">
       <name>android.hardware.gatekeeper</name>
       <transport>hwbinder</transport>
       <version>1.0</version>
       <interface>
           <name>IGatekeeper</name>
           <instance>default</instance>
       </interface>
   </hal>
    <hal format="hidl">
        <name>android.hardware.gnss</name>
        <transport>hwbinder</transport>
        <fqname>@1.1::IGnss/default</fqname>
        <fqname>@2.0::IGnss/default</fqname>
        <fqname>@2.1::IGnss/default</fqname>
    </hal>
    <!-- iwlan -->
    <hal format="hidl">
        <name>vendor.qti.hardware.data.iwlan</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IIWlan</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
        </interface>
    </hal>
    <!-- qcrilhook -->
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.qcrilhook</name>
           <transport>hwbinder</transport>
           <version>1.0</version>
           <interface>
               <name>IQtiOemHook</name>
               <instance>oemhook0</instance>
               <instance>oemhook1</instance>
           </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.ims</name>
        <transport>hwbinder</transport>
        <version>1.6</version>
        <interface>
            <name>IImsRadio</name>
            <instance>imsradio0</instance>
            <instance>imsradio1</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.lpa</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IUimLpa</name>
            <instance>UimLpa0</instance>
            <instance>UimLpa1</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.uim</name>
        <transport>hwbinder</transport>
        <version>1.2</version>
        <interface>
            <name>IUim</name>
            <instance>Uim0</instance>
            <instance>Uim1</instance>
        </interface>
    </hal>
    <!-- RIL UIM REMOTE CLIENT -->
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.uim_remote_client</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IUimRemoteServiceClient</name>
            <instance>uimRemoteClient0</instance>
            <instance>uimRemoteClient1</instance>
        </interface>
    </hal>
    <!-- RIL UIM REMOTE SERVER -->
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.uim_remote_server</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IUimRemoteServiceServer</name>
            <instance>uimRemoteServer0</instance>
            <instance>uimRemoteServer1</instance>
        </interface>
    </hal>
    <!-- deviceInfo HAL -->
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.internal.deviceinfo</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IDeviceInfo</name>
            <instance>deviceinfo</instance>
        </interface>
    </hal>
    <!-- IMS RTP Service -->
    <hal format="hidl">
        <name>vendor.qti.imsrtpservice</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>3.0</version>
        <interface>
            <name>IRTPService</name>
            <instance>imsrtpservice</instance>
        </interface>
    </hal>
    <!-- fingerprint -->
    <hal format="hidl">
        <name>android.hardware.biometrics.fingerprint</name>
        <transport>hwbinder</transport>
        <version>2.2</version>
        <interface>
            <name>IBiometricsFingerprint</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- bluetooth -->
    <hal format="hidl">
        <name>android.hardware.bluetooth</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>1.0</version>
        <interface>
            <name>IBluetoothHci</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.bluetooth.audio</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IBluetoothAudioProvidersFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- IMS UCE Service -->
   <hal format="hidl">
       <name>com.qualcomm.qti.uceservice</name>
       <transport>hwbinder</transport>
       <version>2.3</version>
       <interface>
         <name>IUceService</name>
         <instance>com.qualcomm.qti.uceservice</instance>
       </interface>
   </hal>
   <!-- IMS callinfo Service -->
   <hal format="hidl">
       <name>vendor.qti.ims.callinfo</name>
       <transport>hwbinder</transport>
       <version>1.0</version>
       <interface>
         <name>IService</name>
         <instance>default</instance>
       </interface>
   </hal>
   <hal format="hidl">
       <name>com.qualcomm.qti.imscmservice</name>
       <transport>hwbinder</transport>
       <version>2.2</version>
       <interface>
         <name>IImsCmService</name>
         <instance>qti.ims.connectionmanagerservice</instance>
       </interface>
   </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.am</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IQcRilAudio</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.ims.factory</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IImsFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.data.factory</name>
        <transport>hwbinder</transport>
        <version>2.2</version>
        <interface>
            <name>IFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.5::IRadio/slot1</fqname>
        <fqname>@1.5::IRadio/slot2</fqname>
        <fqname>@1.2::ISap/slot1</fqname>
        <fqname>@1.2::ISap/slot2</fqname>
    </hal>
    <hal format="hidl">
      <name>android.hardware.radio.config</name>
      <transport>hwbinder</transport>
      <version>1.1</version>
      <interface>
        <name>IRadioConfig</name>
        <instance>default</instance>
      </interface>
    </hal>
    <!-- Neural Network HAL -->
    <hal format="hidl">
        <name>android.hardware.neuralnetworks</name>
        <transport>hwbinder</transport>
        <fqname>@1.3::IDevice/qti-default</fqname>
        <fqname>@1.3::IDevice/qti-dsp</fqname>
        <fqname>@1.3::IDevice/qti-gpu</fqname>
    </hal>
    <!-- keymaster -->
    <hal format="hidl">
       <name>android.hardware.keymaster</name>
       <transport>hwbinder</transport>
       <fqname>@4.0::IKeymasterDevice/default</fqname>
       <fqname>@4.1::IKeymasterDevice/strongbox</fqname>
     </hal>
     <hal format="hidl">
        <name>android.hardware.power.stats</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IPowerStats</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.weaver</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IWeaver</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.dumpstate</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IDumpstateDevice</name>
            <instance>default</instance>
        </interface>
      </hal>
    <hal format="hidl">
        <name>hardware.google.bluetooth.sar</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IBluetoothSar</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>hardware.google.bluetooth.bt_channel_avoidance</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IBTChannelAvoidance</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.tui_comm</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ITuiComm</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.oemlock</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOemLock</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.qtiradio</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IQtiRadio</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.radio.qtiradio</name>
        <transport>hwbinder</transport>
        <version>2.4</version>
        <interface>
            <name>IQtiRadio</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.tetheroffload.config</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOffloadConfig</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.tetheroffload.control</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOffloadControl</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- Auth Secret HAL -->
    <hal format="hidl">
        <name>android.hardware.authsecret</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IAuthSecret</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- QSEECom HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.qseecom</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IQSEECom</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- QSPM HAL service -->
    <hal format="hidl">
        <name>vendor.qti.qspmhal</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IQspmhal</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.qti.hardware.qteeconnector</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IAppConnector</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IGPAppConnector</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- DSP Service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.dsp</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IDspService</name>
            <instance>dspservice</instance>
        </interface>
    </hal>
</manifest>
