diff --git a/Android.bp b/Android.bp
index 128abb3..bde7664 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4564,6 +4564,62 @@ cc_prebuilt_library_shared {
soc_specific: true,
}
+cc_prebuilt_library_shared {
+ name: "libdapparamstorage",
+ owner: "xiaomi",
+ strip: {
+ none: true,
+ },
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/lib64/libdapparamstorage.so",
+ ],
+ shared_libs: [
+ "libcutils",
+ "libutils",
+ "liblog",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ prefer: true,
+ soc_specific: true,
+}
+
+cc_prebuilt_library_shared {
+ name: "libdeccfg",
+ owner: "xiaomi",
+ strip: {
+ none: true,
+ },
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/lib64/libdeccfg.so",
+ ],
+ shared_libs: [
+ "libhidlbase",
+ "vendor.dolby.hardware.dms@2.0",
+ "libcutils",
+ "libutils",
+ "liblog",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ prefer: true,
+ soc_specific: true,
+}
+
cc_prebuilt_library_shared {
name: "libdfintf",
owner: "xiaomi",
@@ -4657,6 +4713,38 @@ cc_prebuilt_library_shared {
soc_specific: true,
}
+cc_prebuilt_library_shared {
+ name: "libdlbdsservice",
+ owner: "xiaomi",
+ strip: {
+ none: true,
+ },
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/lib64/libdlbdsservice.so",
+ ],
+ shared_libs: [
+ "libutils",
+ "libstagefright_foundation-v33",
+ "liblog",
+ "libxml2",
+ "libdapparamstorage",
+ "libsqlite",
+ "libhidlbase",
+ "vendor.dolby.hardware.dms@2.0",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ prefer: true,
+ soc_specific: true,
+}
+
cc_prebuilt_library_shared {
name: "libecoengine",
owner: "xiaomi",
@@ -24750,6 +24838,96 @@ cc_prebuilt_library_shared {
soc_specific: true,
}
+cc_prebuilt_library_shared {
+ name: "libswdap",
+ owner: "xiaomi",
+ strip: {
+ none: true,
+ },
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/lib64/soundfx/libswdap.so",
+ ],
+ shared_libs: [
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libaudioutils",
+ "libdapparamstorage",
+ "libhidlbase",
+ "vendor.dolby.hardware.dms@2.0",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ relative_install_path: "soundfx",
+ prefer: true,
+ soc_specific: true,
+}
+
+cc_prebuilt_library_shared {
+ name: "vendor.dolby.hardware.dms@2.0-impl",
+ owner: "xiaomi",
+ strip: {
+ none: true,
+ },
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so",
+ ],
+ shared_libs: [
+ "libhidlbase",
+ "libutils",
+ "liblog",
+ "libdapparamstorage",
+ "libdlbdsservice",
+ "vendor.dolby.hardware.dms@2.0",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ prefer: true,
+ soc_specific: true,
+}
+
+cc_prebuilt_library_shared {
+ name: "vendor.dolby.hardware.dms@2.0",
+ owner: "xiaomi",
+ strip: {
+ none: true,
+ },
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so",
+ ],
+ shared_libs: [
+ "libhidlbase",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ prefer: true,
+ soc_specific: true,
+}
+
cc_prebuilt_library_shared {
name: "vendor.mediatek.hardware.apuware.apusys-V5-ndk-vendor",
stem: "vendor.mediatek.hardware.apuware.apusys-V5-ndk",
@@ -33445,6 +33623,15 @@ prebuilt_etc_xml {
soc_specific: true,
}
+prebuilt_etc_xml {
+ name: "manifest_vendor.dolby.hardware.dms.xml",
+ owner: "xiaomi",
+ src: "proprietary/vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml",
+ filename_from_src: true,
+ sub_dir: "vintf/manifest",
+ soc_specific: true,
+}
+
prebuilt_etc_xml {
name: "mapper.mediatek.xml",
owner: "xiaomi",
@@ -34242,6 +34429,38 @@ cc_prebuilt_binary {
soc_specific: true,
}
+cc_prebuilt_binary {
+ name: "vendor.dolby.hardware.dms@2.0-service",
+ owner: "xiaomi",
+ target: {
+ android_arm64: {
+ srcs: [
+ "proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service",
+ ],
+ shared_libs: [
+ "liblog",
+ "libutils",
+ "libhidlbase",
+ "libdapparamstorage",
+ "libdlbdsservice",
+ "vendor.dolby.hardware.dms@2.0",
+ "vendor.dolby.hardware.dms@2.0-impl",
+ "libc++",
+ "libc",
+ "libm",
+ "libdl",
+ ],
+ },
+ },
+ compile_multilib: "64",
+ strip: {
+ none: true,
+ },
+ prefer: true,
+ relative_install_path: "hw",
+ soc_specific: true,
+}
+
cc_prebuilt_binary {
name: "vendor.mediatek.hardware.gpuserv-service",
owner: "xiaomi",
diff --git a/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service b/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service
new file mode 100755
index 0000000..bd2b853
Binary files /dev/null and b/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service differ
diff --git a/proprietary/vendor/etc/dolby/dax-default.xml b/proprietary/vendor/etc/dolby/dax-default.xml
new file mode 100644
index 0000000..21e36af
--- /dev/null
+++ b/proprietary/vendor/etc/dolby/dax-default.xml
@@ -0,0 +1,1588 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc b/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc
new file mode 100644
index 0000000..03b7d0d
--- /dev/null
+++ b/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc
@@ -0,0 +1,6 @@
+service dms-hal-2-0 /vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service
+ class hal
+ user media
+ group audio media
+on post-fs-data
+ mkdir /data/vendor/dolby 0770 media media
diff --git a/proprietary/vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml b/proprietary/vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml
new file mode 100644
index 0000000..f52fb36
--- /dev/null
+++ b/proprietary/vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml
@@ -0,0 +1,11 @@
+
+
+ vendor.dolby.hardware.dms
+ hwbinder
+ 2.0
+
+ IDms
+ default
+
+
+
diff --git a/proprietary/vendor/lib64/libdapparamstorage.so b/proprietary/vendor/lib64/libdapparamstorage.so
new file mode 100644
index 0000000..92a7088
Binary files /dev/null and b/proprietary/vendor/lib64/libdapparamstorage.so differ
diff --git a/proprietary/vendor/lib64/libdeccfg.so b/proprietary/vendor/lib64/libdeccfg.so
new file mode 100644
index 0000000..9715bfb
Binary files /dev/null and b/proprietary/vendor/lib64/libdeccfg.so differ
diff --git a/proprietary/vendor/lib64/libdlbdsservice.so b/proprietary/vendor/lib64/libdlbdsservice.so
new file mode 100644
index 0000000..f124bdd
Binary files /dev/null and b/proprietary/vendor/lib64/libdlbdsservice.so differ
diff --git a/proprietary/vendor/lib64/soundfx/libswdap.so b/proprietary/vendor/lib64/soundfx/libswdap.so
new file mode 100644
index 0000000..4872f83
Binary files /dev/null and b/proprietary/vendor/lib64/soundfx/libswdap.so differ
diff --git a/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so
new file mode 100644
index 0000000..a4584bd
Binary files /dev/null and b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so differ
diff --git a/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so
new file mode 100644
index 0000000..669c2a7
Binary files /dev/null and b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so differ
diff --git a/rodin-vendor.mk b/rodin-vendor.mk
index bba3d42..3b5cc04 100644
--- a/rodin-vendor.mk
+++ b/rodin-vendor.mk
@@ -477,6 +477,7 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/rodin/proprietary/vendor/etc/camera/mimotion_f5b.bin:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mimotion_f5b.bin \
vendor/xiaomi/rodin/proprietary/vendor/etc/camera/mimotion_f5w.bin:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mimotion_f5w.bin \
vendor/xiaomi/rodin/proprietary/vendor/etc/camera/mt6899/gma_custom.txt:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mt6899/gma_custom.txt \
+ vendor/xiaomi/rodin/proprietary/vendor/etc/dolby/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
vendor/xiaomi/rodin/proprietary/vendor/etc/ecc_list.xml:$(TARGET_COPY_OUT_VENDOR)/etc/ecc_list.xml \
vendor/xiaomi/rodin/proprietary/vendor/etc/ecc_list_OP01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/ecc_list_OP01.xml \
vendor/xiaomi/rodin/proprietary/vendor/etc/ecc_list_OP02.xml:$(TARGET_COPY_OUT_VENDOR)/etc/ecc_list_OP02.xml \
@@ -544,6 +545,7 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/rodin/proprietary/vendor/etc/init/secure_element-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/secure_element-service.rc \
vendor/xiaomi/rodin/proprietary/vendor/etc/init/tee-supplicant.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/tee-supplicant.rc \
vendor/xiaomi/rodin/proprietary/vendor/etc/init/touch_boost.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/touch_boost.rc \
+ vendor/xiaomi/rodin/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.dolby.hardware.dms@2.0-service.rc \
vendor/xiaomi/rodin/proprietary/vendor/etc/init/vendor.mediatek.hardware.mmagent-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.mediatek.hardware.mmagent-service.rc \
vendor/xiaomi/rodin/proprietary/vendor/etc/init/vendor.mediatek.hardware.mmlpq@V1-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.mediatek.hardware.mmlpq@V1-service.rc \
vendor/xiaomi/rodin/proprietary/vendor/etc/init/vendor.mediatek.hardware.mms-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.mediatek.hardware.mms-service.rc \
@@ -842,9 +844,12 @@ PRODUCT_PACKAGES += \
libconnfem \
libcustom_nvram \
libcvsd_mtk \
+ libdapparamstorage \
+ libdeccfg \
libdfintf \
libdisplayfeature \
libdisplayfeatureservice \
+ libdlbdsservice \
libecoengine \
libfeature.hdr10 \
libfeaturepolicy \
@@ -1444,6 +1449,9 @@ PRODUCT_PACKAGES += \
rodinsc820csultra_mipi_raw_4_tuning \
rodinsc820csultra_mipi_raw_IdxMgr \
rodinsc820csultra_mipi_raw_tuning \
+ libswdap \
+ vendor.dolby.hardware.dms@2.0-impl \
+ vendor.dolby.hardware.dms@2.0 \
vendor.mediatek.hardware.apuware.apusys-V5-ndk-vendor \
vendor.mediatek.hardware.apuware.utils-V1-ndk-vendor \
vendor.mediatek.hardware.apuware.utils@2.0-vendor \
@@ -1749,6 +1757,7 @@ PRODUCT_PACKAGES += \
manifest_mmlpq.xml \
manifest_mtkgpuserv.xml \
manifest_uievent.xml \
+ manifest_vendor.dolby.hardware.dms.xml \
mapper.mediatek.xml \
vendor.xiaomi.hardware.aidlbgservice-service.xml \
vendor.xiaomi.hardware.displayfeature_aidl-service.xml \
@@ -1781,6 +1790,7 @@ PRODUCT_PACKAGES += \
camerahalserver \
mtkfusionrild \
tetheroffloadservice \
+ vendor.dolby.hardware.dms@2.0-service \
vendor.mediatek.hardware.gpuserv-service \
vendor.mediatek.hardware.mmagent-service \
vendor.mediatek.hardware.mmlpq@V1-service \