diff --git a/common.mk b/common.mk
index c4cb511..5db51e2 100644
--- a/common.mk
+++ b/common.mk
@@ -150,6 +150,17 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
fastbootd
+# Fingerprint
+PRODUCT_PACKAGES += \
+ android.hardware.biometrics.common-V2-ndk.vendor \
+ android.hardware.biometrics.fingerprint-V2-ndk.vendor
+
+PRODUCT_PACKAGES += \
+ android.hardware.biometrics.fingerprint-service.samsung
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
@@ -211,6 +222,7 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
fstab.ramplus \
+ init.fingerprint.rc \
init.nfc.samsung.rc \
init.ramplus.rc \
init.samsung.bsp.rc \
diff --git a/init/Android.bp b/init/Android.bp
index ab212ad..331d716 100644
--- a/init/Android.bp
+++ b/init/Android.bp
@@ -15,6 +15,13 @@ prebuilt_etc {
vendor: true,
}
+prebuilt_etc {
+ name: "init.fingerprint.rc",
+ src: "init.fingerprint.rc",
+ sub_dir: "init",
+ vendor: true,
+}
+
prebuilt_etc {
name: "init.nfc.samsung.rc",
src: "init.nfc.samsung.rc",
diff --git a/init/init.fingerprint.rc b/init/init.fingerprint.rc
new file mode 100644
index 0000000..f214181
--- /dev/null
+++ b/init/init.fingerprint.rc
@@ -0,0 +1,39 @@
+on boot
+ write /sys/class/sec/tsp/cmd "fod_enable,1,1,0"
+
+# Fingerprint sensor
+ chmod 0660 /dev/esfp0
+ chown system system /dev/esfp0
+
+ chmod 0660 /dev/goodix_fp
+ chown system system /dev/goodix_fp
+
+ chmod 0660 /dev/qbt2000_fd
+ chmod 0660 /dev/qbt2000_ipc
+ chmod 0660 /dev/qbtspi
+ chown system system /dev/qbt2000_fd
+ chown system system /dev/qbt2000_ipc
+ chown system system /dev/qbtspi
+
+ chown system radio /sys/class/fingerprint/fingerprint/type_check
+ chown system radio /sys/class/fingerprint/fingerprint/name
+ chown system radio /sys/class/fingerprint/fingerprint/vendor
+ chown system radio /sys/class/fingerprint/fingerprint/adm
+ chown system radio /sys/class/fingerprint/fingerprint/bfs_values
+ chown system radio /sys/class/fingerprint/fingerprint/position
+ chown system radio /sys/class/fingerprint/fingerprint/cbgecnt
+ chown system radio /sys/class/fingerprint/fingerprint/intcnt
+ chown system radio /sys/class/fingerprint/fingerprint/resetcnt
+ chown system radio /sys/class/fingerprint/fingerprint/wuhbtest
+ chown system radio /sys/class/fingerprint/fingerprint/rb
+
+ mkdir /data/vendor/misc 0770 system system
+ mkdir /data/vendor/misc/qti_fp 0770 system system
+ mkdir /data/vendor/misc/qti_fp/bg_estimation 0770 system system
+ mkdir /data/vendor/misc/qti_fp/calib_test 0770 system system
+ mkdir /data/vendor/misc/qti_fp/template 0770 system system
+
+ mkdir /data/vendor/biometrics 0770 system system
+ mkdir /data/vendor/fpSnrTest 0770 system system
+ mkdir /efs/biometrics 0770 system system
+ mkdir /efs/biometrics/meta 0770 system system
diff --git a/proprietary-files.txt b/proprietary-files.txt
index fb41462..0fdfa00 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -896,23 +896,12 @@ vendor/lib/libfidoauthnr_v2.so
vendor/lib64/libfidoauthnr_v2.so
# Fingerprint
-vendor/etc/init/fingerprint_common.rc
-vendor/etc/init/init.fingerprint.rc
-vendor/lib/libegis_fp_normal_sensor_test.so
-vendor/lib/libgf_in_system_lib.so
-vendor/lib/libqfp_sensortest.so
-vendor/lib/libsfp_sensor.so
-vendor/lib/libsfp_teegw.so
-vendor/lib/libsynaFpSensorTestNwd.so
-vendor/lib/vendor.qti.hardware.fingerprint@1.0.so
-vendor/lib64/android.hardware.biometrics.fingerprint-V2-ndk.so
vendor/lib64/libegis_fp_normal_sensor_test.so
vendor/lib64/libgf_in_system_lib.so
vendor/lib64/libqfp_sensortest.so
vendor/lib64/libsfp_sensor.so
vendor/lib64/libsfp_teegw.so
vendor/lib64/libsynaFpSensorTestNwd.so
-vendor/lib64/vendor.qti.hardware.fingerprint@1.0.so
vendor/lib64/vendor.samsung.hardware.biometrics.fingerprint-V1-ndk.so
# Frcmc
diff --git a/vintf/device_framework_matrix.xml b/vintf/device_framework_matrix.xml
index 07a5349..f946c2f 100644
--- a/vintf/device_framework_matrix.xml
+++ b/vintf/device_framework_matrix.xml
@@ -131,4 +131,12 @@
default
+
+ android.hardware.biometrics.fingerprint
+ 2
+
+ IFingerprint
+ default
+
+