diff --git a/proprietary/vendor/bin/hvdcp_opti b/proprietary/vendor/bin/hvdcp_opti new file mode 100755 index 0000000..1489ac1 Binary files /dev/null and b/proprietary/vendor/bin/hvdcp_opti differ diff --git a/proprietary/vendor/bin/init.qti.chg_policy.sh b/proprietary/vendor/bin/init.qti.chg_policy.sh new file mode 100755 index 0000000..fe679b3 --- /dev/null +++ b/proprietary/vendor/bin/init.qti.chg_policy.sh @@ -0,0 +1,48 @@ +#! /vendor/bin/sh + +# +# Copyright (c) 2019-2021 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# Copyright (c) 2019 The Linux Foundation. All rights reserved. +# + +export PATH=/vendor/bin + +soc_id=`getprop ro.vendor.qti.soc_id` +if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 450 ] || [ "$soc_id" -eq 475 ] || [ "$soc_id" -eq 497 ] || [ "$soc_id" -eq 498 ] || [ "$soc_id" -eq 499 ] || [ "$soc_id" -eq 515 ]; then + setprop persist.vendor.hvdcp_opti.start 2 + exit 0 +fi + +if [ "$soc_id" -eq 441 ] || [ "$soc_id" -eq 471 ]; then + #Scuba does not support usb-pd or charge pumps + find /sys/class/power_supply/battery/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/bms/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/main/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/usb/ -type f -maxdepth 1 | xargs chown system.system +else + find /sys/class/power_supply/battery/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/bms/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/main/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/usb/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/charge_pump_master/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/pc_port/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/dc/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/power_supply/parallel/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/usbpd/usbpd0/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/qc-vdm/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/charge_pump/ -type f -maxdepth 1 | xargs chown system.system + find /sys/class/qcom-battery/ -type f -maxdepth 1 | xargs chown system.system + + for i in 0 1 2 3 4 5 6 7 8 9 + do + devname=`cat /sys/bus/iio/devices/iio:device$i/name` + if [[ "$devname" == *smb* ]] || [[ "$devname" == *qg* ]] || [[ "$devname" == *div2_cp* ]] || [[ "$devname" == *div2-cp* ]]; then + find /sys/bus/iio/devices/iio:device$i/ -type f -maxdepth 1 | xargs chown system.system + fi + done +fi + +setprop persist.vendor.hvdcp_opti.start 1 diff --git a/proprietary/vendor/etc/charger_fstab.qti b/proprietary/vendor/etc/charger_fstab.qti new file mode 100644 index 0000000..ae50aac --- /dev/null +++ b/proprietary/vendor/etc/charger_fstab.qti @@ -0,0 +1,14 @@ +# +# Copyright (c) 2019 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. +# + +# Android fstab file. +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +# +/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait diff --git a/proprietary/vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc b/proprietary/vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc new file mode 100644 index 0000000..ea53277 --- /dev/null +++ b/proprietary/vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc @@ -0,0 +1,43 @@ +# Copyright (c) 2019-2020, Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. +# + +service vendor.hvdcp_opti /vendor/bin/hvdcp_opti + class main + user system + group system wakelock + capabilities BLOCK_SUSPEND WAKE_ALARM + disabled + +service vendor.qti-chg-policy-sh /vendor/bin/init.qti.chg_policy.sh + class core + user root + oneshot + disabled + +on boot + enable vendor.qti-chg-policy-sh + start vendor.qti-chg-policy-sh + +on charger + chown radio wakelock /sys/power/wake_lock + chmod 0660 /sys/power/wake_lock + chown radio wakelock /sys/power/wake_unlock + chmod 0660 /sys/power/wake_unlock + mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system + mount_all /vendor/etc/charger_fstab.qti --early + enable vendor.qti-chg-policy-sh + start vendor.qti-chg-policy-sh + +on property:persist.vendor.hvdcp_opti.start=2 + rmdir /mnt/vendor/persist/hvdcp_opti + setprop persist.vendor.hvdcp_opti.start 0 + +on property:persist.vendor.hvdcp_opti.start=1 + mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system + enable vendor.hvdcp_opti + start vendor.hvdcp_opti + setprop persist.vendor.hvdcp_opti.start 0 diff --git a/sm6225-common-vendor.mk b/sm6225-common-vendor.mk index 774b7e0..8ece727 100644 --- a/sm6225-common-vendor.mk +++ b/sm6225-common-vendor.mk @@ -99,6 +99,7 @@ PRODUCT_COPY_FILES += \ vendor/motorola/sm6225-common/proprietary/vendor/bin/cnd:$(TARGET_COPY_OUT_VENDOR)/bin/cnd \ vendor/motorola/sm6225-common/proprietary/vendor/bin/cnss-daemon:$(TARGET_COPY_OUT_VENDOR)/bin/cnss-daemon \ vendor/motorola/sm6225-common/proprietary/vendor/bin/dpmQmiMgr:$(TARGET_COPY_OUT_VENDOR)/bin/dpmQmiMgr \ + vendor/motorola/sm6225-common/proprietary/vendor/bin/hvdcp_opti:$(TARGET_COPY_OUT_VENDOR)/bin/hvdcp_opti \ vendor/motorola/sm6225-common/proprietary/vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti:$(TARGET_COPY_OUT_VENDOR)/bin/hw/android.hardware.bluetooth@1.0-service-qti \ vendor/motorola/sm6225-common/proprietary/vendor/bin/hw/android.hardware.drm@1.3-service.widevine:$(TARGET_COPY_OUT_VENDOR)/bin/hw/android.hardware.drm@1.3-service.widevine \ vendor/motorola/sm6225-common/proprietary/vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti:$(TARGET_COPY_OUT_VENDOR)/bin/hw/android.hardware.gatekeeper@1.0-service-qti \ @@ -117,6 +118,7 @@ PRODUCT_COPY_FILES += \ vendor/motorola/sm6225-common/proprietary/vendor/bin/imsqmidaemon:$(TARGET_COPY_OUT_VENDOR)/bin/imsqmidaemon \ vendor/motorola/sm6225-common/proprietary/vendor/bin/imsrcsd:$(TARGET_COPY_OUT_VENDOR)/bin/imsrcsd \ vendor/motorola/sm6225-common/proprietary/vendor/bin/init.qcom.sensors.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.sensors.sh \ + vendor/motorola/sm6225-common/proprietary/vendor/bin/init.qti.chg_policy.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.chg_policy.sh \ vendor/motorola/sm6225-common/proprietary/vendor/bin/ks:$(TARGET_COPY_OUT_VENDOR)/bin/ks \ vendor/motorola/sm6225-common/proprietary/vendor/bin/loc_launcher:$(TARGET_COPY_OUT_VENDOR)/bin/loc_launcher \ vendor/motorola/sm6225-common/proprietary/vendor/bin/lowi-server:$(TARGET_COPY_OUT_VENDOR)/bin/lowi-server \ @@ -143,6 +145,7 @@ PRODUCT_COPY_FILES += \ vendor/motorola/sm6225-common/proprietary/vendor/bin/vendor.qti.hardware.soter@1.0-provision:$(TARGET_COPY_OUT_VENDOR)/bin/vendor.qti.hardware.soter@1.0-provision \ vendor/motorola/sm6225-common/proprietary/vendor/bin/vendor.qti.qspmhal@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/vendor.qti.qspmhal@1.0-service \ vendor/motorola/sm6225-common/proprietary/vendor/bin/xtra-daemon:$(TARGET_COPY_OUT_VENDOR)/bin/xtra-daemon \ + vendor/motorola/sm6225-common/proprietary/vendor/etc/charger_fstab.qti:$(TARGET_COPY_OUT_VENDOR)/etc/charger_fstab.qti \ vendor/motorola/sm6225-common/proprietary/vendor/etc/cne/mwqem.conf:$(TARGET_COPY_OUT_VENDOR)/etc/cne/mwqem.conf \ vendor/motorola/sm6225-common/proprietary/vendor/etc/cne/profileMwqem.xml:$(TARGET_COPY_OUT_VENDOR)/etc/cne/profileMwqem.xml \ vendor/motorola/sm6225-common/proprietary/vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/cne/wqeclient/ATT/ATT_profile1.xml \ @@ -207,6 +210,7 @@ PRODUCT_COPY_FILES += \ vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.cdsprpc-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.cdsprpc-service.rc \ vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.alarm@1.0-service.rc \ vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc \ + vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc \ vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.hardware.iop@2.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.iop@2.0-service.rc \ vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.perf@2.2-service.rc \ vendor/motorola/sm6225-common/proprietary/vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc \