<!-- Copyright (c) 2018-2020 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.

==========================================================================
Changes from Qualcomm Innovation Center are provided under the following license:

Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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="7">
    <hal format="hidl">
        <name>android.hardware.camera.provider</name>
        <transport>hwbinder</transport>
        <version>2.4</version>
        <interface>
            <name>ICameraProvider</name>
            <instance>legacy/0</instance>
        </interface>
    </hal>
    <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>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>
    <!-- graphics renderscript-->
    <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>
    <!-- Iop HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.iop</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IIop</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- secure element -->
    <hal format="hidl">
       <name>android.hardware.secure_element</name>
       <transport>hwbinder</transport>
       <version>1.2</version>
       <interface>
           <name>ISecureElement</name>
           <instance>SIM1</instance>
           <instance>SIM2</instance>
           <instance>eSE1</instance>
       </interface>
    </hal>
    <!-- eSEPowerManager -->
    <hal format="hidl">
        <name>vendor.qti.esepowermanager</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IEsePowerManager</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>
    <!-- QTEEConnector HAL service -->
    <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>
    <!--  Soter service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.soter</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ISoter</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- NFC HIDL service -->
    <hal format="hidl">
        <name>android.hardware.nfc</name>
        <transport>hwbinder</transport>
        <version>1.2</version>
        <interface>
            <name>INfc</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.nxp.hardware.nfc</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>INqNfc</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- WifiStats HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.wifi.wifilearner</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IWifiStats</name>
            <instance>wifiStats</instance>
        </interface>
    </hal>
    <!-- WFD HAL Service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.wifidisplaysession</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IWifiDisplaySession</name>
            <instance>wifidisplaysession</instance>
        </interface>
        <interface>
            <name>IWifiDisplaySessionVideoTrack</name>
            <instance>wifidisplaysessionvideotrack</instance>
        </interface>
        <interface>
            <name>IWifiDisplaySessionAudioTrack</name>
            <instance>wifidisplaysessionaudiotrack</instance>
        </interface>
        <interface>
            <name>IWifiDisplaySessionImageTrack</name>
            <instance>wifidisplaysessionimagetrack</instance>
        </interface>
    </hal>
    <!-- AGM service-->
    <hal format="hidl">
        <name>vendor.qti.hardware.AGMIPC</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IAGM</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- Audio PAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.pal</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IPAL</name>
            <instance>default</instance>
        </interface>
        <fqname>@1.0::IPAL/default</fqname>
    </hal>
    <hal format="hidl">
       <name>android.hardware.gatekeeper</name>
       <transport>hwbinder</transport>
       <impl level="generic"></impl>
       <version>1.0</version>
       <interface>
           <name>IGatekeeper</name>
           <instance>default</instance>
       </interface>
    </hal>
    <!-- SensorCal HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.sensorscalibrate</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ISensorsCalibrate</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.ims.factory</name>
       <transport>hwbinder</transport>
       <version>1.1</version>
       <version>2.2</version>
       <interface>
         <name>IImsFactory</name>
         <instance>default</instance>
       </interface>
   </hal>
   <hal format="hidl">
        <name>vendor.qti.data.factory</name>
        <transport>hwbinder</transport>
        <version>2.7</version>
        <interface>
            <name>IFactory</name>
            <instance>default</instance>
        </interface>
   </hal>
   <!-- Tether Offload -->
   <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.1</version>
      <interface>
          <name>IOffloadControl</name>
          <instance>default</instance>
      </interface>
   </hal>
   <hal format="hidl">
      <name>vendor.qti.hardware.data.iwlan</name>
      <transport>hwbinder</transport>
      <version>1.1</version>
      <interface>
          <name>IIWlan</name>
          <instance>slot1</instance>
          <instance>slot2</instance>
      </interface>
   </hal>
   <!-- Data Link Latency -->
   <hal format="hidl">
        <name>vendor.qti.hardware.data.latency</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ILinkLatency</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>
   <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.cacert</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IService</name>
            <instance>default</instance>
        </interface>
   </hal>
   <!-- dpm QMI hal service -->
   <hal format="hidl">
        <name>com.qualcomm.qti.dpm.api</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IdpmQmi</name>
            <instance>dpmQmiService</instance>
        </interface>
   </hal>
    <!-- DpmService HAL service -->
   <hal format="hidl">
       <name>vendor.qti.hardware.dpmservice</name>
       <transport>hwbinder</transport>
       <version>1.1</version>
       <interface>
           <name>IDpmService</name>
           <instance>DpmService</instance>
       </interface>
   </hal>
    <hal format="hidl">
        <name>android.hardware.drm</name>
        <transport>hwbinder</transport>
        <fqname>@1.3::ICryptoFactory/wfdhdcp</fqname>
        <fqname>@1.3::IDrmFactory/wfdhdcp</fqname>
    </hal>

    <!-- IRADIO -->
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.2::ISap/slot1</fqname>
        <fqname>@1.2::ISap/slot2</fqname>
    </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>

    <!-- RIL UIM LPA -->
    <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>

    <!-- RIL UIM -->
    <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>

   <!-- IMS RTP Service -->
    <hal format="hidl">
        <name>vendor.qti.imsrtpservice</name>
        <transport>hwbinder</transport>
        <version>3.1</version>
        <interface>
            <name>IRTPService</name>
            <instance>imsrtpservice</instance>
        </interface>
    </hal>

    <!-- Factory HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.factory</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- Secure image data processor HAL Service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.secureprocessor.device</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ISecureProcessor</name>
            <instance>qti-tee</instance>
        </interface>
    </hal>
    <!-- bluetooth -->
    <hal format="hidl">
        <name>android.hardware.bluetooth</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IBluetoothHci</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.bluetooth_audio</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IBluetoothAudioProvidersFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl">
        <name>vendor.qti.hardware.btconfigstore</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IBTConfigStore</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- BluetoothSar service-->
    <hal format="hidl">
        <name>vendor.qti.hardware.bluetooth_sar</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IBluetoothSar</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- CapabilityConfigStore HAL Service  -->
    <hal format="hidl">
        <name>vendor.qti.hardware.capabilityconfigstore</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>ICapabilityConfigStore</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!-- fm -->
    <hal format="hidl">
        <name>vendor.qti.hardware.fm</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IFmHci</name>
            <instance>default</instance>
        </interface>
    </hal>

    <!-- Alarm HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.alarm</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IAlarm</name>
            <instance>default</instance>
        </interface>
    </hal>

    <!--ANT-->
    <hal format="hidl">
        <name>com.dsi.ant</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IAnt</name>
            <instance>default</instance>
        </interface>
    </hal>
    <!--ANT-->

    <!-- Camera PostProcessing service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.camera.postproc</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IPostProcService</name>
            <instance>camerapostprocservice</instance>
        </interface>
    </hal>
    <!--  QCC HAL Service -->
    <hal format="hidl">
       <name>vendor.qti.hardware.qccvndhal</name>
       <transport>hwbinder</transport>
       <version>1.0</version>
       <interface>
           <name>IQccvndhal</name>
           <instance>qccvndhal</instance>
       </interface>
    </hal>
    <!-- eMBMS HAL Service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.embmssl</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IEmbms</name>
            <instance>embmsslServer0</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>
    <!-- MwqemAdapter HAL service -->
    <hal format="hidl">
        <name>vendor.qti.hardware.mwqemadapter</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IMwqemAdapter</name>
            <instance>MwqemAdapter</instance>
        </interface>
    </hal>
</manifest>
