diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 2b4c131..939688f 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -65,7 +65,9 @@ TARGET_SURFACEFLINGER_UDFPS_LIB := //hardware/xiaomi:libudfps_extension.xiaomi
endif
# FM
+ifeq ($(TARGET_HAS_FM),true)
BOARD_HAVE_QCOM_FM := true
+endif
# Init
TARGET_INIT_VENDOR_LIB ?= //$(COMMON_PATH):init_xiaomi_msmnile
@@ -203,6 +205,9 @@ DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(COMMON_PATH)/framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml
DEVICE_MANIFEST_FILE += $(COMMON_PATH)/manifest.xml
+ifeq ($(TARGET_HAS_FM),true)
+DEVICE_MANIFEST_FILE += $(COMMON_PATH)/manifest_fm.xml
+endif
DEVICE_MATRIX_FILE += $(COMMON_PATH)/compatibility_matrix.xml
ODM_MANIFEST_SKUS += nfc
ODM_MANIFEST_NFC_FILES := $(COMMON_PATH)/manifest_nfc.xml
diff --git a/extract-files.sh b/extract-files.sh
index 966f060..70773fd 100755
--- a/extract-files.sh
+++ b/extract-files.sh
@@ -67,6 +67,7 @@ if [ -z "${ONLY_FIRMWARE}" ] && [ -z "${ONLY_TARGET}" ]; then
setup_vendor "${DEVICE_COMMON}" "${VENDOR_COMMON:-$VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
+ extract "${MY_DIR}/proprietary-files-fm.txt" "${SRC}" "${KANG}" --section "${SECTION}"
fi
if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" ]; then
diff --git a/manifest.xml b/manifest.xml
index 4e9619e..4a06c47 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -154,11 +154,6 @@
hwbinder
@1.0::IDspService/dspservice
-
- vendor.qti.hardware.fm
- hwbinder
- @1.0::IFmHci/default
-
vendor.qti.hardware.qccvndhal
hwbinder
diff --git a/manifest_fm.xml b/manifest_fm.xml
new file mode 100644
index 0000000..6c106ed
--- /dev/null
+++ b/manifest_fm.xml
@@ -0,0 +1,7 @@
+
+
+ vendor.qti.hardware.fm
+ hwbinder
+ @1.0::IFmHci/default
+
+
diff --git a/msmnile.mk b/msmnile.mk
index 779a32f..7ec0906 100644
--- a/msmnile.mk
+++ b/msmnile.mk
@@ -187,10 +187,12 @@ PRODUCT_PACKAGES += \
endif
# FM
+ifeq ($(TARGET_HAS_FM),true)
PRODUCT_PACKAGES += \
FM2 \
libqcomfm_jni \
qcom.fmradio
+endif
# Gatekeeper
PRODUCT_PACKAGES += \
diff --git a/proprietary-files-fm.txt b/proprietary-files-fm.txt
new file mode 100644
index 0000000..fdcdc6e
--- /dev/null
+++ b/proprietary-files-fm.txt
@@ -0,0 +1,14 @@
+# All unpinned blobs below are extracted from vayu_global-user 13 RKQ1.200826.002 V14.0.3.0.TJUMIXM release-keys
+
+# FM
+system_ext/lib/fm_helium.so
+system_ext/lib/libfm-hci.so
+system_ext/lib/vendor.qti.hardware.fm@1.0.so
+system_ext/lib64/fm_helium.so
+system_ext/lib64/libfm-hci.so
+system_ext/lib64/vendor.qti.hardware.fm@1.0.so
+vendor/bin/fm_qsoc_patches
+vendor/etc/init/init.qti.fm.rc
+vendor/etc/init.qti.fm.sh
+vendor/lib/hw/vendor.qti.hardware.fm@1.0-impl.so
+vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 74b6e15..62f4c2d 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -253,18 +253,7 @@ vendor/lib64/libtzdrmgenprov.so
vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
# FM
-system_ext/lib/fm_helium.so
-system_ext/lib/libfm-hci.so
-system_ext/lib/vendor.qti.hardware.fm@1.0.so
-system_ext/lib64/fm_helium.so
-system_ext/lib64/libfm-hci.so
-system_ext/lib64/vendor.qti.hardware.fm@1.0.so
-vendor/bin/fm_qsoc_patches
-vendor/etc/init/init.qti.fm.rc
-vendor/etc/init.qti.fm.sh
-vendor/lib/hw/vendor.qti.hardware.fm@1.0-impl.so
vendor/lib/vendor.qti.hardware.fm@1.0.so
-vendor/lib64/hw/vendor.qti.hardware.fm@1.0-impl.so
vendor/lib64/vendor.qti.hardware.fm@1.0.so
# Gatekeeper
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
index 43d1f44..7633871 100755
--- a/setup-makefiles.sh
+++ b/setup-makefiles.sh
@@ -30,6 +30,11 @@ write_headers "andromeda cepheus crux nabu raphael vayu"
# The standard common blobs
write_makefiles "${MY_DIR}/proprietary-files.txt" true
+# Include IR blobs if needed
+printf "\n%s\n" "ifeq (\$(TARGET_HAS_FM),true)" >> "${PRODUCTMK}"
+write_makefiles "${MY_DIR}/proprietary-files-fm.txt" true
+printf "%s\n" "endif" >> "${PRODUCTMK}"
+
# Finish
write_footers