sm6225-common: Add vintf configurations
* And add missing radio manifests from stock ROM.
Change-Id: I566dc5c688d9ee981dddeae8aabcfe6ee0fcb9c8
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index dcb7015..caaec12 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -55,6 +55,18 @@
# Hardware
BOARD_USES_QCOM_HARDWARE := true
+# HIDL
+DEVICE_FRAMEWORK_MANIFEST_FILE += $(COMMON_PATH)/configs/vintf/framework_manifest.xml
+DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
+ hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
+ hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \
+ vendor/lineage/config/device_framework_matrix.xml
+DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
+DEVICE_MANIFEST_FILE += \
+ $(COMMON_PATH)/configs/vintf/manifest.xml \
+ $(COMMON_PATH)/configs/vintf/manifest_radio.xml \
+ $(COMMON_PATH)/configs/vintf/manifest_xiaomi.xml
+
# Platform
TARGET_BOARD_PLATFORM := bengal
TARGET_BOARD_SUFFIX := _515
diff --git a/configs/vintf/framework_manifest.xml b/configs/vintf/framework_manifest.xml
new file mode 100644
index 0000000..6a5ae77
--- /dev/null
+++ b/configs/vintf/framework_manifest.xml
@@ -0,0 +1,34 @@
+<!-- Copyright (c) 2018-2025, 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="framework">
+ <hal format="hidl">
+ <name>vendor.qti.hardware.qccsyshal</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.2::IQccsyshal/qccsyshal</fqname>
+ </hal>
+</manifest>
diff --git a/configs/vintf/manifest.xml b/configs/vintf/manifest.xml
new file mode 100644
index 0000000..45f5976
--- /dev/null
+++ b/configs/vintf/manifest.xml
@@ -0,0 +1,235 @@
+<!-- Copyright (c) 2019-2025 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="5.0" type="device" target-level="7">
+ <hal format="hidl">
+ <name>android.hardware.audio</name>
+ <transport>hwbinder</transport>
+ <fqname>@7.0::IDevicesFactory/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.audio.effect</name>
+ <transport>hwbinder</transport>
+ <fqname>@7.0::IEffectsFactory/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.bluetooth</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IBluetoothHci/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.camera.provider</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.4::ICameraProvider/legacy/0</fqname>
+ </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>
+ <hal format="hidl">
+ <name>android.hardware.gatekeeper</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IGatekeeper/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.tetheroffload.config</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IOffloadConfig/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.tetheroffload.control</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IOffloadControl/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>com.qualcomm.qti.dpm.api</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IdpmQmi/dpmQmiService</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>com.qualcomm.qti.imscmservice</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.2::IImsCmService/qti.ims.connectionmanagerservice</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>com.qualcomm.qti.uceservice</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.3::IUceService/com.qualcomm.qti.uceservice</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.data.factory</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.7::IFactory/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.AGMIPC</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IAGM/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.alarm</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IAlarm/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.bluetooth_audio</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.0::IBluetoothAudioProvidersFactory/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.bluetooth_sar</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IBluetoothSar/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.btconfigstore</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.0::IBTConfigStore/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.cacert</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IService/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.camera.postproc</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IPostProcService/camerapostprocservice</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.capabilityconfigstore</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::ICapabilityConfigStore/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.data.latency</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::ILinkLatency/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.dpmservice</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IDpmService/DpmService</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.dsp</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IDspService/dspservice</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.factory</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IFactory/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.fm</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IFmHci/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.iop</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.0::IIop/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.mwqemadapter</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IMwqemAdapter/MwqemAdapter</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.pal</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IPAL/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.qccvndhal</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IQccvndhal/qccvndhal</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.qseecom</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IQSEECom/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.qteeconnector</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IAppConnector/default</fqname>
+ <fqname>@1.0::IGPAppConnector/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.secureprocessor.device</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::ISecureProcessor/qti-tee</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.sensorscalibrate</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::ISensorsCalibrate/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.soter</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::ISoter/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.wifi.wifilearner</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IWifiStats/wifiStats</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.wifidisplaysession</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IWifiDisplaySession/wifidisplaysession</fqname>
+ <fqname>@1.0::IWifiDisplaySessionAudioTrack/wifidisplaysessionaudiotrack</fqname>
+ <fqname>@1.0::IWifiDisplaySessionImageTrack/wifidisplaysessionimagetrack</fqname>
+ <fqname>@1.0::IWifiDisplaySessionVideoTrack/wifidisplaysessionvideotrack</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.ims.callinfo</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IService/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.ims.factory</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IImsFactory/default</fqname>
+ <fqname>@2.2::IImsFactory/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.imsrtpservice</name>
+ <transport>hwbinder</transport>
+ <fqname>@3.1::IRTPService/imsrtpservice</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.qspmhal</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IQspmhal/default</fqname>
+ </hal>
+</manifest>
diff --git a/configs/vintf/manifest_radio.xml b/configs/vintf/manifest_radio.xml
new file mode 100644
index 0000000..9be3cb8
--- /dev/null
+++ b/configs/vintf/manifest_radio.xml
@@ -0,0 +1,44 @@
+<manifest version="5.0" type="device" target-level="7">
+ <hal format="hidl">
+ <name>android.hardware.radio</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.2::ISap/slot1</fqname>
+ <fqname>@1.2::ISap/slot2</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.data.connection</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IDataConnection/slot1</fqname>
+ <fqname>@1.1::IDataConnection/slot2</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.data.iwlan</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.1::IIWlan/slot1</fqname>
+ <fqname>@1.1::IIWlan/slot2</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.radio.lpa</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IUimLpa/UimLpa0</fqname>
+ <fqname>@1.0::IUimLpa/UimLpa1</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.radio.uim</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.2::IUim/Uim0</fqname>
+ <fqname>@1.2::IUim/Uim1</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.radio.uim_remote_client</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IUimRemoteServiceClient/uimRemoteClient0</fqname>
+ <fqname>@1.0::IUimRemoteServiceClient/uimRemoteClient1</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.qti.hardware.radio.uim_remote_server</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IUimRemoteServiceServer/uimRemoteServer0</fqname>
+ <fqname>@1.0::IUimRemoteServiceServer/uimRemoteServer1</fqname>
+ </hal>
+</manifest>
diff --git a/configs/vintf/manifest_xiaomi.xml b/configs/vintf/manifest_xiaomi.xml
new file mode 100644
index 0000000..7487a29
--- /dev/null
+++ b/configs/vintf/manifest_xiaomi.xml
@@ -0,0 +1,28 @@
+<!--
+ Copyright (C) 2025 The LineageOS Project
+ SPDX-License-Identifier: Apache-2.0
+-->
+<manifest version="5.0" type="device">
+ <hal format="hidl">
+ <name>com.fingerprints.extension</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IFingerprintEngineering/default</fqname>
+ <fqname>@1.0::IFingerprintNavigation/default</fqname>
+ <fqname>@1.0::IFingerprintSensorTest/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.goodix.hardware.biometrics.fingerprint</name>
+ <transport>hwbinder</transport>
+ <fqname>@2.1::IGoodixFingerprintDaemon/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.xiaomi.hardware.fingerprintextension</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IXiaomiFingerprint/default</fqname>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.xiaomi.hardware.fx.tunnel</name>
+ <transport>hwbinder</transport>
+ <fqname>@1.0::IMiFxTunnel/default</fqname>
+ </hal>
+</manifest>
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 9780165..a9077a4 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -823,8 +823,19 @@
vendor/etc/seccomp_policy/qms.policy
vendor/etc/telephony_packages.xml
vendor/etc/vintf/manifest/android.hardware.radio.config.xml
+vendor/etc/vintf/manifest/android.hardware.radio.data.xml
+vendor/etc/vintf/manifest/android.hardware.radio.messaging.xml
+vendor/etc/vintf/manifest/android.hardware.radio.modem.xml
+vendor/etc/vintf/manifest/android.hardware.radio.network.xml
+vendor/etc/vintf/manifest/android.hardware.radio.sim.xml
+vendor/etc/vintf/manifest/android.hardware.radio.voice.xml
+vendor/etc/vintf/manifest/dataconnection-saidl.xml
vendor/etc/vintf/manifest/deviceinfo-saidl.xml
+vendor/etc/vintf/manifest/qcrilhook-saidl.xml
vendor/etc/vintf/manifest/qms-saidl.xml
+vendor/etc/vintf/manifest/qtiradio-saidl.xml
+vendor/etc/vintf/manifest/vendor.qti.hardware.radio.am.xml
+vendor/etc/vintf/manifest/vendor.qti.hardware.radio.ims.xml
vendor/etc/vintf/manifest/vendor.qti.hardware.radio.qtiradioconfig.xml
vendor/lib64/deviceInfoServiceModuleNr.so
vendor/lib64/libQtiRilLoadable.so
@@ -1022,6 +1033,8 @@
system_ext/etc/init/wfdservice.rc
system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml
system_ext/etc/seccomp_policy/wfdservice64.policy
+system_ext/etc/vintf/manifest/vendor.qti.hardware.sigma_miracast.xml
+system_ext/etc/vintf/manifest/vendor.qti.hardware.sigma_miracast_aidl.xml
system_ext/etc/wfdconfigsink.xml
system_ext/lib64/libmmosal.so
system_ext/lib64/libmmparser_lite.so