<!-- 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="4">
    <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>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>
    <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>
    <hal format="hidl">
        <name>android.hardware.soundtrigger</name>
        <transport>hwbinder</transport>
        <version>2.3</version>
        <interface>
            <name>ISoundTriggerHw</name>
            <instance>default</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>
    <!-- video Codec2 hal -->
    <hal format="hidl">
        <name>android.hardware.media.c2</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IComponentStore</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- /video Codec2 hal -->
    <!-- video omx hal -->
    <hal format="hidl">
        <name>android.hardware.media.omx</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>1.0</version>
        <interface>
            <name>IOmx</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IOmxStore</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- /video omx hal -->
    <!-- display -->
    <hal format="hidl">
        <name>android.hardware.graphics.allocator</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>3.0</version>
        <version>4.0</version>
        <interface>
            <name>IAllocator</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.mapper</name>
        <transport arch="32+64">passthrough</transport>
        <impl level="generic"></impl>
        <version>3.0</version>
        <version>4.0</version>
        <interface>
            <name>IMapper</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.display.allocator</name>
        <transport>hwbinder</transport>
        <version>3.0</version>
        <version>4.0</version>
        <interface>
            <name>IQtiAllocator</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.display.mapper</name>
        <transport arch="32+64">passthrough</transport>
        <version>3.0</version>
        <version>4.0</version>
        <interface>
            <name>IQtiMapper</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>android.hardware.graphics.composer</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>2.4</version>
        <interface>
            <name>IComposer</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.display.config</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>1.11</version>
        <interface>
            <name>IDisplayConfig</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.configstore</name>
        <transport>hwbinder</transport>
        <impl level="generic"></impl>
        <version>1.1</version>
        <interface>
            <name>ISurfaceFlingerConfigs</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.0::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>
    <!-- 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.5</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>
    <!-- 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>
    <!-- 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>
    <!-- IMS CM Service -->
    <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.4::IRadio/slot1</fqname>
        <fqname>@1.4::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>
    <!-- keymaster -->
    <hal format="hidl">
       <name>android.hardware.keymaster</name>
       <transport>hwbinder</transport>
       <fqname>@4.0::IKeymasterDevice/default</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>
    <!-- light HAL -->
    <hal format="hidl">
        <name>android.hardware.light</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>ILight</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>hardware.google.light</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>ILight</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>
    <!-- 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>
    <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>
</manifest>
