sm8250-common: Import vendor scripts from stock

* And discard our old ones while at it.

Change-Id: Ibe6d792d0c881b984d5ab0cfeb84473726d3303a
This commit is contained in:
LuK1337 2021-01-04 22:10:46 +01:00
parent a334c62857
commit 1cb8d81976
34 changed files with 12845 additions and 15 deletions

View file

@ -101,9 +101,38 @@ PRODUCT_PACKAGES += \
# Common init scripts # Common init scripts
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
fstab.qcom \
ftm_power_config.sh \
init.class_main.sh \
init.crda.sh \
init.cust.rc \
init.mdm.sh \
init.oem.debug.rc \
init.oem.minidump.sdx55m.rc \
init.oem.rc \
init.oem.sec.rc \
init.oem_ftm.rc \
init.oplus_chg.sh \
init.qcom.class_core.sh \
init.qcom.coex.sh \
init.qcom.early_boot.sh \
init.qcom.efs.sync.sh \
init.qcom.factory.rc \
init.qcom.post_boot.sh \
init.qcom.rc \ init.qcom.rc \
init.qcom.sdio.sh \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.qti.chg_policy.sh \
init.qti.dcvs.sh \
init.qti.ims.sh \
init.qti.qcv.sh \
init.recovery.qcom.rc \ init.recovery.qcom.rc \
ueventd.qcom.rc init.target.rc \
ueventd.qcom.rc \
vendor.oem_ftm.rc \
vendor.oem_ftm_svc_disable.rc
# Display # Display
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \

View file

@ -1,25 +1,259 @@
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := init.class_main.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.class_main.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.crda.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.crda.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.mdm.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.mdm.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.oplus_chg.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.oplus_chg.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.class_core.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.class_core.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.coex.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.coex.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.early_boot.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.early_boot.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.efs.sync.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.efs.sync.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.post_boot.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.post_boot.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.sdio.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.sdio.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.usb.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qcom.usb.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qti.chg_policy.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qti.chg_policy.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qti.dcvs.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qti.dcvs.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qti.ims.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qti.ims.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qti.qcv.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := bin/init.qti.qcv.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := fstab.qcom
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/fstab.qcom
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := ftm_power_config.sh
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/ftm_power_config.sh
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.cust.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.cust.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.oem.debug.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.oem.debug.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.oem_ftm.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.oem_ftm.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.oem.minidump.sdx55m.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.oem.minidump.sdx55m.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.oem.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.oem.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.oem.sec.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.oem.sec.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.factory.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.factory.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.rc LOCAL_MODULE := init.qcom.rc
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.rc LOCAL_SRC_FILES := etc/init.qcom.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/init LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.usb.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.usb.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT) include $(BUILD_PREBUILT)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.qcom.rc LOCAL_MODULE := init.recovery.qcom.rc
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.qcom.rc LOCAL_SRC_FILES := etc/init.recovery.qcom.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT) include $(BUILD_PREBUILT)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := ueventd.qcom.rc LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/ueventd.qcom.rc LOCAL_SRC_FILES := etc/init.target.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := vendor.oem_ftm.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/vendor.oem_ftm.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := vendor.oem_ftm_svc_disable.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/vendor.oem_ftm_svc_disable.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := ueventd.qcom.rc
LOCAL_MODULE_STEM := ueventd.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := ueventd.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
include $(BUILD_PREBUILT) include $(BUILD_PREBUILT)

153
rootdir/bin/init.class_main.sh Executable file
View file

@ -0,0 +1,153 @@
#! /vendor/bin/sh
# Copyright (c) 2013-2014, 2019 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
#
# start ril-daemon only for targets on which radio is present
#
baseband=`getprop ro.baseband`
sgltecsfb=`getprop persist.vendor.radio.sglte_csfb`
datamode=`getprop persist.vendor.data.mode`
qcrild_status=true
case "$baseband" in
"apq" | "sda" | "qcs" )
setprop ro.vendor.radio.noril yes
stop ril-daemon
stop vendor.ril-daemon
stop vendor.qcrild
esac
case "$baseband" in
"msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3" | "sdm" | "sdx" | "sm6")
# For older modem packages launch ril-daemon.
if [ -f /vendor/firmware_mnt/verinfo/ver_info.txt ]; then
modem=`cat /vendor/firmware_mnt/verinfo/ver_info.txt |
sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' |
sed 's/.*MPSS.\(.*\)/\1/g' | cut -d \. -f 1`
if [ "$modem" = "AT" ]; then
version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt |
sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' |
sed 's/.*AT.\(.*\)/\1/g' | cut -d \- -f 1`
if [ ! -z $version ]; then
if [ "$version" \< "3.1" ]; then
qcrild_status=false
fi
fi
elif [ "$modem" = "TA" ]; then
version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt |
sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' |
sed 's/.*TA.\(.*\)/\1/g' | cut -d \- -f 1`
if [ ! -z $version ]; then
if [ "$version" \< "3.0" ]; then
qcrild_status=false
fi
fi
elif [ "$modem" = "JO" ]; then
version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt |
sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' |
sed 's/.*JO.\(.*\)/\1/g' | cut -d \- -f 1`
if [ ! -z $version ]; then
if [ "$version" \< "3.2" ]; then
qcrild_status=false
fi
fi
elif [ "$modem" = "TH" ]; then
qcrild_status=false
fi
fi
if [ "$qcrild_status" = "true" ]; then
# Make sure both rild, qcrild are not running at same time.
# This is possible with vanilla aosp system image.
stop ril-daemon
stop vendor.ril-daemon
start vendor.qcrild
else
start ril-daemon
start vendor.ril-daemon
fi
case "$baseband" in
"svlte2a" | "csfb")
start qmiproxy
;;
"sglte" | "sglte2" )
if [ "x$sgltecsfb" != "xtrue" ]; then
start qmiproxy
else
setprop persist.vendor.radio.voice.modem.index 0
fi
;;
esac
multisim=`getprop persist.radio.multisim.config`
if [ "$multisim" = "dsds" ] || [ "$multisim" = "dsda" ]; then
if [ "$qcrild_status" = "true" ]; then
start vendor.qcrild2
else
start vendor.ril-daemon2
fi
elif [ "$multisim" = "tsts" ]; then
if [ "$qcrild_status" = "true" ]; then
start vendor.qcrild2
start vendor.qcrild3
else
start vendor.ril-daemon2
start vendor.ril-daemon3
fi
fi
case "$datamode" in
"tethered")
start vendor.dataqti
start vendor.dataadpl
;;
"concurrent")
start vendor.dataqti
start vendor.dataadpl
;;
*)
;;
esac
esac
#
# Allow persistent faking of bms
# User needs to set fake bms charge in persist.vendor.bms.fake_batt_capacity
#
fake_batt_capacity=`getprop persist.vendor.bms.fake_batt_capacity`
case "$fake_batt_capacity" in
"") ;; #Do nothing here
* )
echo "$fake_batt_capacity" > /sys/class/power_supply/battery/capacity
;;
esac

35
rootdir/bin/init.crda.sh Executable file
View file

@ -0,0 +1,35 @@
#! /vendor/bin/sh
# Copyright (c) 2012, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
country=`getprop wlan.crda.country`
# crda takes input in COUNTRY environment variable
if [ $country != "" ]
then
COUNTRY="$country" /system/bin/crda
fi

34
rootdir/bin/init.mdm.sh Executable file
View file

@ -0,0 +1,34 @@
#! /vendor/bin/sh
# Copyright (c) 2013, 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 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
baseband=`getprop ro.baseband`
if [ "$baseband" = "mdm" ] || [ "$baseband" = "mdm2" ]; then
start vendor.mdm_helper
fi

22
rootdir/bin/init.oplus_chg.sh Executable file
View file

@ -0,0 +1,22 @@
#! /vendor/bin/sh
export PATH=/vendor/bin
prefix="/sys/class/oplus_chg"
if [[ -d "$prefix" ]]
then
for i in `ls "$prefix"`
do
for j in `ls "$prefix"/"$i"`
do
#skip directories to prevent possible security issues.
if [[ -d "$prefix"/"$i"/"$j" ]]
then
continue
else
chown -h system.system "$prefix"/"$i"/"$j"
fi
done
done
fi

View file

@ -0,0 +1,216 @@
#!/vendor/bin/sh
# Copyright (c) 2012-2013, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
# Set platform variables
target=`getprop ro.board.platform`
if [ -f /sys/devices/soc0/hw_platform ]; then
soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null
else
soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null
fi
if [ -f /sys/devices/soc0/soc_id ]; then
soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null
else
soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null
fi
if [ -f /sys/devices/soc0/platform_version ]; then
soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null
else
soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null
fi
# Dynamic Memory Managment (DMM) provides a sys file system to the userspace
# that can be used to plug in/out memory that has been configured as unstable.
# This unstable memory can be in Active or In-Active State.
# Each of which the userspace can request by writing to a sys file.
#
# ro.dev.dmm = 1; Indicates that DMM is enabled in the Android User Space. This
# property is set in the Android system properties file.
#
# If ro.dev.dmm.dpd.start_address is set here then the target has a memory
# configuration that supports DynamicMemoryManagement.
init_DMM()
{
block=-1
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm8960")
;;
*)
return
;;
esac
mem="/sys/devices/system/memory"
op=`cat $mem/movable_start_bytes`
case "$op" in
"0")
log -p i -t DMM DMM Disabled. movable_start_bytes not set: $op
;;
"$mem/movable_start_bytes: No such file or directory ")
log -p i -t DMM DMM Disabled. movable_start_bytes does not exist: $op
;;
*)
log -p i -t DMM DMM available. movable_start_bytes at $op
movable_start_bytes=0x`cat $mem/movable_start_bytes`
block_size_bytes=0x`cat $mem/block_size_bytes`
block=$((#${movable_start_bytes}/${block_size_bytes}))
chown -h system.system $mem/memory$block/state
chown -h system.system $mem/probe
chown -h system.system $mem/active
chown -h system.system $mem/remove
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
echo $movable_start_bytes > $mem/probe
case "$?" in
"0")
log -p i -t DMM $movable_start_bytes to physical hotplug succeeded.
;;
*)
log -p e -t DMM $movable_start_bytes to physical hotplug failed.
return
;;
esac
echo online > $mem/memory$block/state
case "$?" in
"0")
log -p i -t DMM \'echo online\' to logical hotplug succeeded.
;;
*)
log -p e -t DMM \'echo online\' to logical hotplug failed.
return
;;
esac
;;
esac
setprop ro.dev.dmm.dpd.start_address $movable_start_bytes
setprop ro.dev.dmm.dpd.block $block
;;
esac
case "$target" in
"msm8960")
return
;;
esac
# For 7X30 targets:
# ro.dev.dmm.dpd.start_address is set when the target has a 2x256Mb memory
# configuration. This is also used to indicate that the target is capable of
# setting EBI-1 to Deep Power Down or Self Refresh.
op=`cat $mem/low_power_memory_start_bytes`
case "$op" in
"0")
log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes not set:$op
;;
"$mem/low_power_memory_start_bytes No such file or directory ")
log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes does not exist:$op
;;
*)
log -p i -t DMM Self-Refresh-Only available. low_power_memory_start_bytes at $op
;;
esac
}
#
# For controlling console and shell on console on 8960 - perist.serial.enable 8960
# On other target use default ro.debuggable property.
#
serial=`getprop persist.serial.enable`
dserial=`getprop ro.debuggable`
case "$target" in
"msm8960")
case "$serial" in
"0")
echo 0 > /sys/devices/platform/msm_serial_hsl.0/console
;;
"1")
echo 1 > /sys/devices/platform/msm_serial_hsl.0/console
start console
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
;;
"msm8610" | "msm8974" | "msm8226")
case "$serial" in
"0")
echo 0 > /sys/devices/f991f000.serial/console
;;
"1")
echo 1 > /sys/devices/f991f000.serial/console
start console
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
insmod /system/lib/modules/ss_mfcinit.ko
insmod /system/lib/modules/ss_vencoder.ko
insmod /system/lib/modules/ss_vdecoder.ko
chmod -h 0666 /dev/ss_mfc_reg
chmod -h 0666 /dev/ss_vdec
chmod -h 0666 /dev/ss_venc
init_DMM
;;
"msm8960")
init_DMM
;;
esac

115
rootdir/bin/init.qcom.coex.sh Executable file
View file

@ -0,0 +1,115 @@
#! /vendor/bin/sh
# Copyright (c) 2009-2010, 2012, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
LOG_TAG="qcom-bt-wlan-coex"
LOG_NAME="${0}:"
coex_pid=""
ath_wlan_supported=`getprop wlan.driver.ath`
loge ()
{
/system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
}
logi ()
{
/system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@"
}
failed ()
{
loge "$1: exit code $2"
exit $2
}
start_coex ()
{
case "$ath_wlan_supported" in
"2")
echo "ATH WLAN Chip ID AR6004 is enabled"
/system/bin/abtfilt -d -z -n -m -a -w wlan0 &
;;
"1")
echo "ATH WLAN Chip ID is enabled"
# Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter.
/system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
;;
"0")
echo "WCN WLAN Chip ID is enabled"
# Must have -o turned on to avoid daemon (otherwise we cannot get pid)
/system/bin/btwlancoex -o $opt_flags &
;;
*)
echo "NO WLAN Chip ID is enabled, so enabling ATH as default"
# Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter.
/system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
;;
esac
coex_pid=$!
logi "start_coex: pid = $coex_pid"
}
kill_coex ()
{
logi "kill_coex: pid = $coex_pid"
kill -TERM $coex_pid
# this shell doesn't exit now -- wait returns for normal exit
}
# mimic coex options parsing -- maybe a waste of effort
USAGE="${0} [-o] [-c] [-r] [-i] [-h]"
while getopts "ocrih" f
do
case $f in
o | c | r | i | h) opt_flags="$opt_flags -$f" ;;
\?) echo $USAGE; exit 1;;
esac
done
# init does SIGTERM on ctl.stop for service
trap "kill_coex" TERM INT
#Selectively start coex module
target=`getprop ro.board.platform`
if [ "$target" == "msm8960" ] && [ "$ath_wlan_supported" != "2" ]; then
logi "btwlancoex/abtfilt is not needed"
else
# Build settings may not produce the coex executable
if ls /system/bin/btwlancoex || ls /system/bin/abtfilt
then
start_coex
wait $coex_pid
logi "Coex stopped"
else
logi "btwlancoex/abtfilt not available"
fi
fi
exit 0

View file

@ -0,0 +1,495 @@
#! /vendor/bin/sh
# Copyright (c) 2012-2013,2016,2018-2020 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
export PATH=/vendor/bin
# Set platform variables
if [ -f /sys/devices/soc0/hw_platform ]; then
soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null
else
soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null
fi
if [ -f /sys/devices/soc0/soc_id ]; then
soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null
else
soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null
fi
if [ -f /sys/devices/soc0/platform_version ]; then
soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null
else
soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null
fi
if [ -f /sys/class/drm/card0-DSI-1/modes ]; then
echo "detect" > /sys/class/drm/card0-DSI-1/status
mode_file=/sys/class/drm/card0-DSI-1/modes
while read line; do
fb_width=${line%%x*};
break;
done < $mode_file
elif [ -f /sys/class/graphics/fb0/virtual_size ]; then
res=`cat /sys/class/graphics/fb0/virtual_size` 2> /dev/null
fb_width=${res%,*}
fi
log -t BOOT -p i "MSM target '$1', SoC '$soc_hwplatform', HwID '$soc_hwid', SoC ver '$soc_hwver'"
#For drm based display driver
vbfile=/sys/module/drm/parameters/vblankoffdelay
if [ -w $vbfile ]; then
echo -1 > $vbfile
else
log -t DRM_BOOT -p w "file: '$vbfile' or perms doesn't exist"
fi
function set_density_by_fb() {
#put default density based on width
if [ -z $fb_width ]; then
setprop vendor.display.lcd_density 320
else
if [ $fb_width -ge 1600 ]; then
setprop vendor.display.lcd_density 640
elif [ $fb_width -ge 1440 ]; then
setprop vendor.display.lcd_density 560
elif [ $fb_width -ge 1080 ]; then
setprop vendor.display.lcd_density 480
elif [ $fb_width -ge 720 ]; then
setprop vendor.display.lcd_density 320 #for 720X1280 resolution
elif [ $fb_width -ge 480 ]; then
setprop vendor.display.lcd_density 240 #for 480X854 QRD resolution
else
setprop vendor.display.lcd_density 160
fi
fi
}
target=`getprop ro.board.platform`
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
case "$soc_hwplatform" in
"FFA" | "SVLTE_FFA")
# linking to surf_keypad_qwerty.kcm.bin instead of surf_keypad_numeric.kcm.bin so that
# the UI keyboard works fine.
ln -s /system/usr/keychars/surf_keypad_qwerty.kcm.bin /system/usr/keychars/surf_keypad.kcm.bin
;;
"Fluid")
setprop vendor.display.lcd_density 240
setprop qcom.bt.dev_power_class 2
;;
*)
ln -s /system/usr/keychars/surf_keypad_qwerty.kcm.bin /system/usr/keychars/surf_keypad.kcm.bin
;;
esac
;;
"sm6150")
case "$soc_hwplatform" in
"ADP")
setprop vendor.display.lcd_density 160
;;
esac
case "$soc_hwid" in
365|366)
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
setprop vendor.media.target.version 1
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 2
fi
;;
355|369|377|384)
setprop vendor.chre.enabled 0
;;
*)
esac
;;
"msm8660")
case "$soc_hwplatform" in
"Fluid")
setprop vendor.display.lcd_density 240
;;
"Dragon")
setprop ro.sound.alsa "WM8903"
;;
esac
;;
"msm8960")
# lcd density is write-once. Hence the separate switch case
case "$soc_hwplatform" in
"Liquid")
if [ "$soc_hwver" == "196608" ]; then # version 0x30000 is 3D sku
setprop ro.sf.hwrotation 90
fi
setprop vendor.display.lcd_density 160
;;
"MTP")
setprop vendor.display.lcd_density 240
;;
*)
case "$soc_hwid" in
"109")
setprop vendor.display.lcd_density 160
;;
*)
setprop vendor.display.lcd_density 240
;;
esac
;;
esac
#Set up composition type based on the target
case "$soc_hwid" in
87)
#8960
setprop debug.composition.type dyn
;;
153|154|155|156|157|138)
#8064 V2 PRIME | 8930AB | 8630AB | 8230AB | 8030AB | 8960AB
setprop debug.composition.type c2d
;;
*)
esac
;;
"msm8974")
case "$soc_hwplatform" in
"Liquid")
setprop vendor.display.lcd_density 160
# Liquid do not have hardware navigation keys, so enable
# Android sw navigation bar
setprop ro.hw.nav_keys 0
;;
"Dragon")
setprop vendor.display.lcd_density 240
;;
*)
setprop vendor.display.lcd_density 320
;;
esac
;;
"msm8226")
case "$soc_hwplatform" in
*)
setprop vendor.display.lcd_density 320
;;
esac
;;
"msm8610" | "apq8084" | "mpq8092")
case "$soc_hwplatform" in
*)
setprop vendor.display.lcd_density 240
;;
esac
;;
"apq8084")
case "$soc_hwplatform" in
"Liquid")
setprop vendor.display.lcd_density 320
# Liquid do not have hardware navigation keys, so enable
# Android sw navigation bar
setprop ro.hw.nav_keys 0
;;
"SBC")
setprop vendor.display.lcd_density 200
# SBC do not have hardware navigation keys, so enable
# Android sw navigation bar
setprop qemu.hw.mainkeys 0
;;
*)
setprop vendor.display.lcd_density 480
;;
esac
;;
"msm8996")
case "$soc_hwplatform" in
"Dragon")
setprop vendor.display.lcd_density 240
setprop qemu.hw.mainkeys 0
;;
"ADP")
setprop vendor.display.lcd_density 160
setprop qemu.hw.mainkeys 0
;;
"SBC")
setprop vendor.display.lcd_density 240
setprop qemu.hw.mainkeys 0
;;
*)
setprop vendor.display.lcd_density 560
;;
esac
;;
"msm8937" | "msm8940")
# Set vendor.opengles.version based on chip id.
# MSM8937 and MSM8940 variants supports OpenGLES 3.1
# 196608 is decimal for 0x30000 to report version 3.0
# 196609 is decimal for 0x30001 to report version 3.1
# 196610 is decimal for 0x30002 to report version 3.2
case "$soc_hwid" in
294|295|296|297|298|313|353|354|363|364)
setprop vendor.opengles.version 196610
if [ $soc_hwid = 354 ]
then
setprop vendor.media.target.version 1
log -t BOOT -p i "SDM429 early_boot prop set for: HwID '$soc_hwid'"
fi
;;
303|307|308|309|320)
# Vulkan is not supported for 8917 variants
setprop vendor.opengles.version 196608
setprop persist.graphics.vulkan.disable true
;;
*)
setprop vendor.opengles.version 196608
;;
esac
;;
"msm8909")
case "$soc_hwplatform" in
*)
setprop persist.graphics.vulkan.disable true
;;
esac
;;
"msm8998" | "apq8098_latv")
case "$soc_hwplatform" in
*)
setprop vendor.display.lcd_density 560
;;
esac
;;
"sdm845")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
;;
esac
;;
"msmnile")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
;;
esac
;;
"kona")
case "$soc_hwplatform" in
*)
setprop vendor.media.target_variant "_kona"
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
;;
esac
;;
"lito")
case "$soc_hwid" in
400|440)
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 1
fi
;;
434|459)
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
setprop vendor.media.target.version 2
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 3
fi
;;
esac
;;
"bengal")
case "$soc_hwid" in
441)
setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
setprop vendor.gralloc.disable_ubwc 1
;;
esac
;;
"sdm710" | "msmpeafowl")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
sku_ver=`cat /sys/devices/platform/soc/aa00000.qcom,vidc1/sku_version` 2> /dev/null
if [ $sku_ver -eq 1 ]; then
setprop vendor.media.target.version 1
fi
;;
esac
;;
"msm8953")
cap_ver = 1
if [ -e "/sys/devices/platform/soc/1d00000.qcom,vidc/capability_version" ]; then
cap_ver=`cat /sys/devices/platform/soc/1d00000.qcom,vidc/capability_version` 2> /dev/null
else
cap_ver=`cat /sys/devices/soc/1d00000.qcom,vidc/capability_version` 2> /dev/null
fi
if [ $cap_ver -eq 1 ]; then
setprop vendor.media.target.version 1
fi
;;
#Set property to differentiate SDM660 & SDM455
#SOC ID for SDM455 is 385
"sdm660")
case "$soc_hwplatform" in
*)
if [ $fb_width -le 1600 ]; then
setprop vendor.display.lcd_density 560
else
setprop vendor.display.lcd_density 640
fi
if [ $soc_hwid -eq 385 ]; then
setprop vendor.media.target.version 1
fi
;;
esac
;;
esac
baseband=`getprop ro.baseband`
#enable atfwd daemon all targets except sda, apq, qcs
case "$baseband" in
"apq" | "sda" | "qcs" )
setprop persist.vendor.radio.atfwd.start false;;
*)
setprop persist.vendor.radio.atfwd.start true;;
esac
#set default lcd density
#Since lcd density has read only
#property, it will not overwrite previous set
#property if any target is setting forcefully.
set_density_by_fb
# set Lilliput LCD density for ADP
product=`getprop ro.build.product`
case "$product" in
"msmnile_au")
setprop vendor.display.lcd_density 160
echo 902400000 > /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq
echo 1612800000 > /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/max_freq
echo 902400000 > /sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/min_freq
echo 1612800000 > /sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/max_freq
;;
*)
;;
esac
case "$product" in
"sm6150_au")
setprop vendor.display.lcd_density 160
;;
*)
;;
esac
case "$product" in
"sdmshrike_au")
setprop vendor.display.lcd_density 160
;;
*)
;;
esac
case "$product" in
"msmnile_gvmq")
setprop vendor.display.lcd_density 160
;;
*)
;;
esac
# Setup display nodes & permissions
# HDMI can be fb1 or fb2
# Loop through the sysfs nodes and determine
# the HDMI(dtv panel)
function set_perms() {
#Usage set_perms <filename> <ownership> <permission>
chown -h $2 $1
chmod $3 $1
}
# check for the type of driver FB or DRM
fb_driver=/sys/class/graphics/fb0
if [ -e "$fb_driver" ]
then
# check for mdp caps
file=/sys/class/graphics/fb0/mdp/caps
if [ -f "$file" ]
then
setprop vendor.gralloc.disable_ubwc 1
cat $file | while read line; do
case "$line" in
*"ubwc"*)
setprop vendor.gralloc.enable_fb_ubwc 1
setprop vendor.gralloc.disable_ubwc 0
esac
done
fi
else
set_perms /sys/devices/virtual/hdcp/msm_hdcp/min_level_change system.graphics 0660
fi
# allow system_graphics group to access pmic secure_mode node
set_perms /sys/class/lcd_bias/secure_mode system.graphics 0660
set_perms /sys/class/leds/wled/secure_mode system.graphics 0660
boot_reason=`cat /proc/sys/kernel/boot_reason`
reboot_reason=`getprop ro.boot.alarmboot`
if [ "$boot_reason" = "3" ] || [ "$reboot_reason" = "true" ]; then
setprop ro.vendor.alarm_boot true
else
setprop ro.vendor.alarm_boot false
fi
# copy GPU frequencies to vendor property
if [ -f /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies ]; then
gpu_freq=`cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies` 2> /dev/null
setprop vendor.gpu.available_frequencies "$gpu_freq"
fi

View file

@ -0,0 +1,35 @@
#! /vendor/bin/sh
# Copyright (c) 2012, 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.
#
#
PATH=/system/bin:$PATH
export PATH
cat /sys/devices/platform/rs300000a7.65536/force_sync
cat /sys/devices/platform/rs300100a7.65536/force_sync

5569
rootdir/bin/init.qcom.post_boot.sh Executable file

File diff suppressed because it is too large Load diff

78
rootdir/bin/init.qcom.sdio.sh Executable file
View file

@ -0,0 +1,78 @@
#! /vendor/bin/sh
# Copyright (c) 2010, 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.
#
# For successful WLAN card detection, WLAN needs SDIO polling turned on.
# This script can be used to turn on/off SDIO polling on appropriate
# SDIO slot on the MSM target (e.g. slot 3 on 7x30 surf).
arg=$1
target=`getprop ro.board.platform`
case "$target" in
"msm7627_6x")
echo 1 > /sys/devices/platform/msm_sdcc.1/polling
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627_ffa")
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627_surf")
echo 1 > /sys/devices/platform/msm_sdcc.1/polling
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627a")
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7630_surf")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm7630_1x")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm7630_fusion")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm8660")
echo 1 > /sys/devices/platform/msm_sdcc.4/polling
;;
"msm8660_csfb")
echo 1 > /sys/devices/platform/msm_sdcc.4/polling
;;
esac
exit 0

465
rootdir/bin/init.qcom.sh Executable file
View file

@ -0,0 +1,465 @@
#! /vendor/bin/sh
# Copyright (c) 2009-2016, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
target=`getprop ro.board.platform`
low_ram=`getprop ro.config.low_ram`
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
else
platformid=`cat /sys/devices/system/soc/soc0/id`
fi
start_battery_monitor()
{
if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then
chown -h root.system /sys/module/pm8921_bms/parameters/*
chown -h root.system /sys/module/qpnp_bms/parameters/*
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl
chmod 0660 /sys/module/qpnp_bms/parameters/*
chmod 0660 /sys/module/pm8921_bms/parameters/*
mkdir -p /data/bms
chown -h root.system /data/bms
chmod 0770 /data/bms
start battery_monitor
fi
}
start_charger_monitor()
{
if ls /sys/module/qpnp_charger/parameters/charger_monitor; then
chown -h root.system /sys/module/qpnp_charger/parameters/*
chown -h root.system /sys/class/power_supply/battery/input_current_max
chown -h root.system /sys/class/power_supply/battery/input_current_trim
chown -h root.system /sys/class/power_supply/battery/input_current_settled
chown -h root.system /sys/class/power_supply/battery/voltage_min
chmod 0664 /sys/class/power_supply/battery/input_current_max
chmod 0664 /sys/class/power_supply/battery/input_current_trim
chmod 0664 /sys/class/power_supply/battery/input_current_settled
chmod 0664 /sys/class/power_supply/battery/voltage_min
chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor
start charger_monitor
fi
}
start_vm_bms()
{
if [ -e /dev/vm_bms ]; then
chown -h root.system /sys/class/power_supply/bms/current_now
chown -h root.system /sys/class/power_supply/bms/voltage_ocv
chmod 0664 /sys/class/power_supply/bms/current_now
chmod 0664 /sys/class/power_supply/bms/voltage_ocv
start vm_bms
fi
}
start_msm_irqbalance_8939()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
case "$platformid" in
"239" | "293" | "294" | "295" | "304" | "338" | "313" | "353" | "354")
start vendor.msm_irqbalance;;
"349" | "350" )
start vendor.msm_irqbal_lb;;
esac
fi
}
start_msm_irqbalance_msmnile()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance_kona()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance_lito()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance_atoll()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance660()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
case "$platformid" in
"317" | "321" | "324" | "325" | "326" | "336" | "345" | "346" | "360" | "393")
start vendor.msm_irqbalance;;
"318" | "327" | "385")
start vendor.msm_irqbl_sdm630;;
esac
fi
}
start_msm_irqbalance()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
baseband=`getprop ro.baseband`
echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr
case "$baseband" in
"svlte2a")
start bridgemgrd
;;
esac
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
if [ -f /sys/devices/soc0/hw_platform ]; then
value=`cat /sys/devices/soc0/hw_platform`
else
value=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$value" in
"Fluid")
start profiler_daemon;;
esac
;;
"msm8660" )
if [ -f /sys/devices/soc0/hw_platform ]; then
platformvalue=`cat /sys/devices/soc0/hw_platform`
else
platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
esac
;;
"msm8960")
case "$baseband" in
"msm")
start_battery_monitor;;
esac
if [ -f /sys/devices/soc0/hw_platform ]; then
platformvalue=`cat /sys/devices/soc0/hw_platform`
else
platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
"Liquid")
start profiler_daemon;;
esac
;;
"msm8974")
platformvalue=`cat /sys/devices/soc0/hw_platform`
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
"Liquid")
start profiler_daemon;;
esac
case "$baseband" in
"msm")
start_battery_monitor
;;
esac
start_charger_monitor
;;
"sdm660")
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$soc_id" in
"317" | "324" | "325" | "326" | "318" | "327" )
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
start_msm_irqbalance660
;;
"apq8084")
platformvalue=`cat /sys/devices/soc0/hw_platform`
case "$platformvalue" in
"Fluid")
start profiler_daemon;;
"Liquid")
start profiler_daemon;;
esac
;;
"msm8226")
start_charger_monitor
;;
"msm8610")
start_charger_monitor
;;
"msm8916")
start_vm_bms
start_msm_irqbalance_8939
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/platform_subtype_id ]; then
platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
fi
case "$soc_id" in
"239")
case "$hw_platform" in
"Surf")
case "$platform_subtype_id" in
"1")
setprop qemu.hw.mainkeys 0
;;
esac
;;
"MTP")
case "$platform_subtype_id" in
"3")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
;;
esac
;;
"msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket" | "bengal")
start_msm_irqbalance
;;
"msm8996")
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
fi
case "$hw_platform" in
"MTP" | "CDP")
#Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership.
for count in 0 1 2 3 4 5 6 7 8 9 10
do
dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count
if [ -d "$dir" ]; then
chmod 0660 $dir/secure_touch_enable
chmod 0440 $dir/secure_touch
chown system.drmrpc $dir/secure_touch_enable
chown system.drmrpc $dir/secure_touch
break
fi
done
;;
esac
;;
"msm8909")
start_vm_bms
;;
"msmnile")
start_msm_irqbalance_msmnile
;;
"kona")
start_msm_irqbalance_kona
;;
"lito")
start_msm_irqbalance_lito
;;
"atoll")
start_msm_irqbalance_atoll
;;
"msm8937")
start_msm_irqbalance_8939
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
if [ "$low_ram" != "true" ]; then
case "$soc_id" in
"294" | "295" | "303" | "307" | "308" | "309" | "313" | "320" | "353" | "354" | "363" | "364")
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
fi
;;
"msm8953")
start_msm_irqbalance_8939
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$soc_id" in
"293" | "304" | "338" | "351" | "349" | "350" )
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
;;
"sdm710")
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
soc_id=`cat /sys/devices/system/soc/soc0/id`
fi
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
else
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
fi
case "$soc_id" in
"336" | "337" | "347" | "360" | "393" )
case "$hw_platform" in
"Surf")
setprop qemu.hw.mainkeys 0
;;
"MTP")
setprop qemu.hw.mainkeys 0
;;
"RCM")
setprop qemu.hw.mainkeys 0
;;
"QRD")
setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
;;
esac
#
# Make modem config folder and copy firmware config to that folder for RIL
#
if [ -f /data/vendor/modem_config/ver_info.txt ]; then
prev_version_info=`cat /data/vendor/modem_config/ver_info.txt`
else
prev_version_info=""
fi
cur_version_info=`cat /vendor/firmware_mnt/verinfo/ver_info.txt`
if [ ! -f /vendor/firmware_mnt/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then
# add W for group recursively before delete
chmod g+w -R /data/vendor/modem_config/*
rm -rf /data/vendor/modem_config/*
# preserve the read only mode for all subdir and files
cp --preserve=m -dr /vendor/firmware_mnt/image/modem_pr/mcfg/configs/* /data/vendor/modem_config
cp --preserve=m -d /vendor/firmware_mnt/verinfo/ver_info.txt /data/vendor/modem_config/
cp --preserve=m -d /vendor/firmware_mnt/image/modem_pr/mbn_ota.txt /data/vendor/modem_config/
# the group must be root, otherwise this script could not add "W" for group recursively
chown -hR radio.root /data/vendor/modem_config/*
fi
chmod g-w /data/vendor/modem_config
setprop ro.vendor.ril.mbn_copy_completed 1
#check build variant for printk logging
#current default minimum boot-time-default
buildvariant=`getprop ro.build.type`
case "$buildvariant" in
"userdebug" | "eng")
#set default loglevel to KERN_INFO
echo "6 6 1 7" > /proc/sys/kernel/printk
;;
*)
#set default loglevel to KERN_WARNING
echo "4 4 1 4" > /proc/sys/kernel/printk
;;
esac

252
rootdir/bin/init.qcom.usb.sh Executable file
View file

@ -0,0 +1,252 @@
#!/vendor/bin/sh
# Copyright (c) 2012-2018, 2020 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.
#
#
# Set platform variables
soc_hwplatform=`cat /sys/devices/soc0/hw_platform 2> /dev/null`
soc_machine=`cat /sys/devices/soc0/machine 2> /dev/null`
soc_machine=${soc_machine:0:2}
soc_id=`cat /sys/devices/soc0/soc_id 2> /dev/null`
#
# Check ESOC for external modem
#
# Note: currently only a single MDM/SDX is supported
#
esoc_name=`cat /sys/bus/esoc/devices/esoc0/esoc_name 2> /dev/null`
target=`getprop ro.board.platform`
#
# Override USB default composition
#
# If USB persist config not set, set default configuration
if [ "$(getprop persist.vendor.usb.config)" == "" -a "$(getprop ro.build.type)" != "user" -a \
"$(getprop init.svc.vendor.usb-gadget-hal-1-0)" != "running" ]; then
if [ "$esoc_name" != "" ]; then
setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb
#BSP add for 5G diag port config
setprop persist.vendor.sdx50m.online 1
else
setprop persist.vendor.sdx50m.online 0
case "$(getprop ro.baseband)" in
"apq")
setprop persist.vendor.usb.config diag,adb
;;
*)
case "$soc_hwplatform" in
"Dragon" | "SBC")
setprop persist.vendor.usb.config diag,adb
;;
*)
case "$soc_machine" in
"SA")
setprop persist.vendor.usb.config diag,adb
;;
*)
case "$target" in
"msm8996")
setprop persist.vendor.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
;;
"msm8909")
setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb
;;
"msm8937")
if [ -d /config/usb_gadget ]; then
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
else
case "$soc_id" in
"313" | "320")
setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb
;;
*)
setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb
;;
esac
fi
;;
"msm8953")
if [ -d /config/usb_gadget ]; then
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
else
setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb
fi
;;
"msm8998" | "sdm660" | "apq8098_latv")
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,adb
;;
"sdm845" | "sdm710")
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
;;
"msmnile" | "sm6150" | "trinket" | "lito" | "atoll" | "bengal" | "lahaina")
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb
;;
*)
setprop persist.vendor.usb.config diag,adb
;;
esac
;;
esac
;;
esac
;;
esac
fi
fi
# This check is needed for GKI 1.0 targets where QDSS is not available
if [ "$(getprop persist.vendor.usb.config)" == "diag,serial_cdev,rmnet,dpl,qdss,adb" -a \
! -d /config/usb_gadget/g1/functions/qdss.qdss ]; then
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
fi
# Start peripheral mode on primary USB controllers for Automotive platforms
case "$soc_machine" in
"SA")
if [ -f /sys/bus/platform/devices/a600000.ssusb/mode ]; then
default_mode=`cat /sys/bus/platform/devices/a600000.ssusb/mode`
case "$default_mode" in
"none")
echo peripheral > /sys/bus/platform/devices/a600000.ssusb/mode
;;
esac
fi
;;
esac
# check configfs is mounted or not
if [ -d /config/usb_gadget ]; then
# Chip-serial is used for unique MSM identification in Product string
msm_serial=`cat /sys/devices/soc0/serial_number`;
msm_serial_hex=`printf %08X $msm_serial`
machine_type=`cat /sys/devices/soc0/machine`
#ifdef VENDOR_EDIT
#Fix product name for Android Auto/Ubuntu
product_string=`getprop ro.product.model`
if [ "$product_string" == "" ]; then
product_string="OnePlus"
fi
#else
#product_string="$machine_type-$soc_hwplatform _SN:$msm_serial_hex"
#endif
echo "$product_string" > /config/usb_gadget/g1/strings/0x409/product
setprop vendor.usb.product_string "$product_string"
# ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy
serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber 2> /dev/null`
if [ "$serialnumber" == "" ]; then
serialno=1234567
echo $serialno > /config/usb_gadget/g1/strings/0x409/serialnumber
fi
setprop vendor.usb.configfs 1
fi
#
# Initialize RNDIS Diag option. If unset, set it to 'none'.
#
diag_extra=`getprop persist.vendor.usb.config.extra`
if [ "$diag_extra" == "" ]; then
setprop persist.vendor.usb.config.extra none
fi
# enable rps cpus on msm8937 target
setprop vendor.usb.rps_mask 0
case "$soc_id" in
"294" | "295" | "353" | "354")
setprop vendor.usb.rps_mask 40
;;
esac
#
# Initialize UVC conifguration.
#
if [ -d /config/usb_gadget/g1/functions/uvc.0 ]; then
cd /config/usb_gadget/g1/functions/uvc.0
echo 3072 > streaming_maxpacket
echo 1 > streaming_maxburst
mkdir control/header/h
ln -s control/header/h control/class/fs/
ln -s control/header/h control/class/ss
mkdir -p streaming/uncompressed/u/360p
echo "666666\n1000000\n5000000\n" > streaming/uncompressed/u/360p/dwFrameInterval
mkdir -p streaming/uncompressed/u/720p
echo 1280 > streaming/uncompressed/u/720p/wWidth
echo 720 > streaming/uncompressed/u/720p/wWidth
echo 29491200 > streaming/uncompressed/u/720p/dwMinBitRate
echo 29491200 > streaming/uncompressed/u/720p/dwMaxBitRate
echo 1843200 > streaming/uncompressed/u/720p/dwMaxVideoFrameBufferSize
echo 5000000 > streaming/uncompressed/u/720p/dwDefaultFrameInterval
echo "5000000\n" > streaming/uncompressed/u/720p/dwFrameInterval
mkdir -p streaming/mjpeg/m/360p
echo "666666\n1000000\n5000000\n" > streaming/mjpeg/m/360p/dwFrameInterval
mkdir -p streaming/mjpeg/m/720p
echo 1280 > streaming/mjpeg/m/720p/wWidth
echo 720 > streaming/mjpeg/m/720p/wWidth
echo 29491200 > streaming/mjpeg/m/720p/dwMinBitRate
echo 29491200 > streaming/mjpeg/m/720p/dwMaxBitRate
echo 1843200 > streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
echo 5000000 > streaming/mjpeg/m/720p/dwDefaultFrameInterval
echo "5000000\n" > streaming/mjpeg/m/720p/dwFrameInterval
echo 0x04 > /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
mkdir -p streaming/h264/h/960p
echo 1920 > streaming/h264/h/960p/wWidth
echo 960 > streaming/h264/h/960p/wWidth
echo 40 > streaming/h264/h/960p/bLevelIDC
echo "333667\n" > streaming/h264/h/960p/dwFrameInterval
mkdir -p streaming/h264/h/1920p
echo "333667\n" > streaming/h264/h/1920p/dwFrameInterval
mkdir streaming/header/h
ln -s streaming/uncompressed/u streaming/header/h
ln -s streaming/mjpeg/m streaming/header/h
ln -s streaming/h264/h streaming/header/h
ln -s streaming/header/h streaming/class/fs/
ln -s streaming/header/h streaming/class/hs/
ln -s streaming/header/h streaming/class/ss/
fi
#ifdef VENDOR_EDIT
#Enable diag and adb for FTM
boot_mode=`getprop ro.boot.ftm_mode`
echo "boot_mode: $boot_mode" > /dev/kmsg
case "$boot_mode" in
"ftm_at" | "ftm_rf" | "ftm_wlan" | "ftm_mos")
setprop sys.usb.config diag,adb
setprop persist.sys.usb.config diag,adb
echo "AFTER boot_mode: diag,adb" > /dev/kmsg
esac
#endif

View file

@ -0,0 +1,38 @@
#! /vendor/bin/sh
#
# Copyright (c) 2019-2020 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 ]; then
setprop persist.vendor.hvdcp_opti.start 0
rm -rf /mnt/vendor/persist/hvdcp_opti
exit 0
fi
prefix="/sys/class/"
#List of folder for ownership update
arr=( "power_supply/battery/" "power_supply/usb/" "power_supply/main/" "power_supply/charge_pump_master/" "power_supply/pc_port/" "power_supply/dc/" "power_supply/bms/" "power_supply/parallel/" "usbpd/usbpd0/" "qc-vdm/" "charge_pump/" "qcom-battery/" )
for i in "${arr[@]}"
do
for j in `ls "$prefix""$i"`
do
#skip directories to prevent possible security issues.
if [[ -d "$prefix""$i""$j" ]]
then
continue
else
chown -h system.system "$prefix""$i""$j"
fi
done
done
#@bsp, 2020/05/11, remove hvdcp_opti service
#setprop persist.vendor.hvdcp_opti.start 1

77
rootdir/bin/init.qti.dcvs.sh Executable file
View file

@ -0,0 +1,77 @@
#! /vendor/bin/sh
#
# Copyright (c) 2020, 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.
#
for device in /sys/devices/platform/soc
do
for memlat in $device/*qcom,devfreq-l3/*cpu*-lat/devfreq/*cpu*-lat
do
echo "mem_latency" > $memlat/governor
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
#Enable mem_latency governor for LLCC and DDR scaling
for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat
do
echo "mem_latency" > $memlat/governor
echo 8 > $memlat/polling_interval
echo 400 > $memlat/mem_latency/ratio_ceil
done
#Enable compute governor for gold latfloor
for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor*
do
echo "compute" > $latfloor/governor
echo 8 > $latfloor/polling_interval
done
for qoslat in $device/*qoslat/devfreq/*qoslat
do
echo "mem_latency" > $qoslat/governor
echo 10 > $qoslat/polling_interval
echo 50 > $qoslat/mem_latency/ratio_ceil
done
for l3cdsp in $device/*qcom,devfreq-l3/*cdsp-l3-lat/devfreq/*cdsp-l3-lat
do
echo "cdspl3" > $l3cdsp/governor
done
#Gold L3 ratio ceil
for l3gold in $device/*qcom,devfreq-l3/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat
do
echo 4000 > $l3gold/mem_latency/ratio_ceil
done
#Prime L3 ratio ceil
for l3prime in $device/*qcom,devfreq-l3/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat
do
echo 20000 > $l3prime/mem_latency/ratio_ceil
done
done;

57
rootdir/bin/init.qti.ims.sh Executable file
View file

@ -0,0 +1,57 @@
#! /vendor/bin/sh
# Copyright (c) 2014, 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.
#
#
dir0=/data
trigger_file=$dir0/ims_disabled
ims_disabled=`getprop persist.vendor.ims.disabled`
target=`getprop ro.build.product`
#if [ ! -e $trigger_file ]; then
# for future use in doing conditional debugging
#else
#
#fi
echo "$ims_disabled"
echo "$target"
if [ "$ims_disabled" = "0" ]; then
echo "ims will be enabled"
setprop vendor.service.qti.ims.enabled 1
exit
fi
if [ "$ims_disabled" = "1" ] || [ "$target" = "msm8909_512" ]; then
echo "ims is disabled"
setprop vendor.service.qti.ims.enabled 0
else
echo "ims is enabled"
setprop vendor.service.qti.ims.enabled 1
fi

19
rootdir/bin/init.qti.qcv.sh Executable file
View file

@ -0,0 +1,19 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
soc_id=`cat /sys/devices/soc0/soc_id` 2> /dev/null
# Store soc_id in ro.vendor.qti.soc_id
setprop ro.vendor.qti.soc_id $soc_id
# For chipsets in QCV family, convert soc_id to soc_name
# and store it in ro.vendor.qti.soc_name.
if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 456 ]; then
setprop ro.vendor.qti.soc_name lahaina
elif [ "$soc_id" -eq 450 ]; then
setprop ro.vendor.qti.soc_name shima
fi

View file

@ -41,7 +41,7 @@ product /product e
vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,sync wait,check,formattable,wrappedkey,first_stage_mount /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,sync wait,check,formattable,wrappedkey,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=ice,wrappedkey,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=512M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=ice,wrappedkey,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=512M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
#/devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer #/devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer

View file

@ -0,0 +1,44 @@
#!/system/bin/sh
echo "ftm_power_config start" >> /dev/kmsg
bootmode=`getprop ro.vendor.factory.mode`
/vendor/bin/sh /vendor/bin/init.qcom.post_boot.sh
sleep 5
echo 0 > /sys/devices/system/cpu/cpu4/online
echo 0 > /sys/devices/system/cpu/cpu5/online
echo 0 > /sys/devices/system/cpu/cpu6/online
echo 0 > /sys/devices/system/cpu/cpu7/online
sleep 10
echo 0 > /sys/devices/system/cpu/cpu3/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 518400 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 883200 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo "ftm_power_config ftrace config start" >> /dev/kmsg
echo 0 > /sys/kernel/debug/tracing/tracing_on
echo "" > /sys/kernel/debug/tracing/set_event
echo "" > /sys/kernel/debug/tracing/trace
echo power:cpu_idle power:cpu_frequency power:cpu_frequency_switch_start msm_low_power:* sched:sched_switch sched:sched_wakeup sched:sched_wakeup_new sched:sched_enq_deq_task >> /sys/kernel/debug/tracing/set_event
echo power:memlat_dev_update power:memlat_dev_meas msm_bus:bus_update_request msm_bus:* power:bw_hwmon_update power:bw_hwmon_meas >> /sys/kernel/debug/tracing/set_event
echo power:bw_hwmon_meas power:bw_hwmon_update>> /sys/kernel/debug/tracing/set_event
echo clk:clk_set_rate clk:clk_enable clk:clk_disable >> /sys/kernel/debug/tracing/set_event
echo power:clock_set_rate power:clock_enable power:clock_disable msm_bus:bus_update_request >> /sys/kernel/debug/tracing/set_event
echo cpufreq_interactive:cpufreq_interactive_target cpufreq_interactive:cpufreq_interactive_setspeed >> /sys/kernel/debug/tracing/set_event
echo irq:* >> /sys/kernel/debug/tracing/set_event
echo mdss:mdp_mixer_update mdss:mdp_sspp_change mdss:mdp_commit >> /sys/kernel/debug/tracing/set_event
echo workqueue:* >> /sys/kernel/debug/tracing/set_event
echo kgsl:kgsl_pwrlevel kgsl:kgsl_buslevel kgsl:kgsl_pwr_set_state >> /sys/kernel/debug/tracing/set_event
echo regulator:regulator_set_voltage_complete regulator:regulator_disable_complete regulator:regulator_enable_complete >> /sys/kernel/debug/tracing/set_event
echo thermal:* >> /sys/kernel/debug/tracing/set_event
cat /sys/kernel/debug/tracing/set_event
echo 40000 > /sys/kernel/debug/tracing/buffer_size_kb
cat /sys/kernel/debug/tracing/buffer_size_kb
sleep 5
echo "ftm_power_config capture ftrace start" >> /dev/kmsg
echo 0 > /sys/kernel/debug/tracing/tracing_on && cat /sys/kernel/debug/tracing/trace > /data/local/trace.txt && echo 0 > /sys/kernel/debug/tracing/tracing_on && echo "" > /sys/kernel/debug/tracing/trace && sleep 1 && echo 1 > /sys/kernel/debug/tracing/tracing_on && sleep 40 && echo 0 > /sys/kernel/debug/tracing/tracing_on && cat /sys/kernel/debug/tracing/trace > /mnt/vendor/op2/trace.txt&
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
baseband=`getprop ro.baseband`
echo "ftm_power_config done baseband=$baseband" >> /dev/kmsg

21
rootdir/etc/init.cust.rc Normal file
View file

@ -0,0 +1,21 @@
on post-fs-data && property:ro.boot.cust=8
mount ext4 /dev/block/bootdevice/by-name/oem_cust1${ro.boot.slot_suffix} /oem ro barrier=1 discard context=u:object_r:oemfs:s0
mount overlay overlay /product/media/audio lowerdir=/oem/product/media/audio:/product/media/audio,context=u:object_r:system_file:s0
mount overlay overlay /system/reserve lowerdir=/oem/system/reserve:/system/reserve,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/app lowerdir=/oem/system_ext/app:/system_ext/app,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/priv-app lowerdir=/oem/system_ext/priv-app:/system_ext/priv-app,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/etc lowerdir=/oem/system_ext/etc:/system_ext/etc,context=u:object_r:system_file:s0
setprop ro.config.alarm_alert wake_up_samurai.ogg
setprop ro.config.mms_notification in_game_sms.ogg
setprop ro.config.notification_sound audition.ogg
setprop ro.config.ringtone rock.ogg
on post-fs-data && property:ro.boot.cust=9
mount ext4 /dev/block/bootdevice/by-name/oem_cust2${ro.boot.slot_suffix} /oem ro barrier=1 discard context=u:object_r:oemfs:s0
mount overlay overlay /system/app lowerdir=/oem/system/app:/system/app,context=u:object_r:system_file:s0
mount overlay overlay /system/priv-app lowerdir=/oem/system/priv-app:/system/priv-app,context=u:object_r:system_file:s0
mount overlay overlay /system/reserve lowerdir=/oem/system/reserve:/system/reserve,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/app lowerdir=/oem/system_ext/app:/system_ext/app,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/priv-app lowerdir=/oem/system_ext/priv-app:/system_ext/priv-app,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/etc/permissions lowerdir=/oem/system_ext/etc/permissions:/system_ext/etc/permissions,context=u:object_r:system_file:s0
mount overlay overlay /system_ext/etc/sysconfig lowerdir=/oem/system_ext/etc/sysconfig:/system_ext/etc/sysconfig,context=u:object_r:system_file:s0

View file

@ -0,0 +1,82 @@
##################################################################################
### VENDOR_EDIT, OEM All rights reserved.
###
### File: - init.oem.debug.rc
###
### ------------------------------- Revision History: ----------------------------
### <author> <data> <version> <desc>
### ------------------------------------------------------------------------------
##################################################################################
################################## Trigger Point Begin ###########################################
on late-init
write /proc/sys/kernel/hung_task_timeout_secs 60
write /proc/sys/kernel/hung_task_selective_monitoring 0
on property:persist.vendor.enable.powerkey.dump=1
write /sys/module/qpnp_power_on/parameters/long_pwr_dump_enabled 1
on property:persist.vendor.enable.powerkey.dump=0
write /sys/module/qpnp_power_on/parameters/long_pwr_dump_enabled 0
on property:vendor.sys.oem.long_pwr_dump=1
write /sys/module/qpnp_power_on/parameters/pwr_dump_enabled 1
on property:vendor.sys.oem.long_pwr_dump=0
write /sys/module/qpnp_power_on/parameters/pwr_dump_enabled 0
on property:vendor.sys.oem.long_debug_suspend=1
write /d/clk/debug_suspend 1
on property:vendor.sys.oem.long_debug_suspend=0
write /d/clk/debug_suspend 0
on property:persist.vendor.oem.dump=1 && property:persist.vendor.oem.ssrdump=0
write /sys/module/msm_poweroff/parameters/download_mode 1
write /sys/kernel/dload/dload_mode full
write /sys/kernel/dload/emmc_dload 0
write /proc/otrace_on 7978
write /proc/restart_level_all 1
write /proc/sys/kernel/printk "4 6 1 7"
setprop persist.vendor.oem.pmsg.enable 1
write /sys/class/sdx5x_rf_cable/rf_cable/oem_dump 1
on property:persist.vendor.oem.dump=0 && property:persist.vendor.oem.ssrdump=0
write /sys/module/msm_poweroff/parameters/download_mode 1
write /sys/kernel/dload/dload_mode mini
write /sys/kernel/dload/emmc_dload 1
write /proc/otrace_on 0
write /proc/restart_level_all 0
write /proc/sys/kernel/printk "1 6 1 7"
setprop persist.vendor.oem.pmsg.enable 0
write /sys/class/sdx5x_rf_cable/rf_cable/oem_dump 0
on property:persist.vendor.oem.dump=0 && property:persist.vendor.oem.ssrdump=1
write /sys/module/msm_poweroff/parameters/download_mode 1
write /sys/kernel/dload/dload_mode full
write /sys/kernel/dload/emmc_dload 0
write /proc/otrace_on 7978
write /proc/restart_level_all 0
write /proc/sys/kernel/printk "4 6 1 7"
setprop persist.vendor.oem.pmsg.enable 0
write /sys/class/sdx5x_rf_cable/rf_cable/oem_dump 0
on property:persist.vendor.oem.twice.modemdump=1
write /sys/kernel/dload/oem_modemdump twice
on property:persist.vendor.oem.twice.modemdump=0
write /sys/kernel/dload/oem_modemdump fusion
on property:vendor.oem.enroll.index=*
exec_background - root root -- /system_ext/bin/oem_on_gatekeeper_change.sh enroll
exec_background - root root -- /system_ext/bin/oem_back_up_sec.sh enroll
on property:vendor.oem.verify.pass.index=*
exec_background - root root -- /system_ext/bin/oem_on_gatekeeper_change.sh pass
exec_background - root root -- /system_ext/bin/oem_back_up_sec.sh pass
on property:vendor.oem.verify.fail.index=*
exec_background - root root -- /system_ext/bin/oem_on_gatekeeper_change.sh fail
exec_background - root root -- /system_ext/bin/oem_back_up_sec.sh fail

View file

@ -0,0 +1,73 @@
##################################################################################
### VENDOR_EDIT, OEM All rights reserved.
###
### File: - init.oem.minidump.sdx55m.rc
###
### ------------------------------- Revision History: ----------------------------
### <author> <data> <version> <desc>
### kimmy.yang@oneplus.com 2020/04/22 v1 provide the permission
### kimmy.yang@oneplus.com 2020/08/05 v1.2 Add new ELF for CR upgraded
### ------------------------------------------------------------------------------
##################################################################################
################################## Trigger Point Begin ###########################################
on fs
mkdir /mnt/vendor/modemdump 0771 system system
wait /dev/block/bootdevice/by-name/modemdump
mount ext4 /dev/block/bootdevice/by-name/modemdump /mnt/vendor/modemdump noatime nosuid nodev barrier=1
chown root system /mnt/vendor/modemdump
chmod 0771 /mnt/vendor/modemdump
mkdir /mnt/vendor/modemdump/SDX55M 0770
chown root system /mnt/vendor/modemdump/SDX55M
restorecon_recursive /mnt/vendor/modemdump
on property:vendor.sys.mount.modemdump=1
mount ext4 /dev/block/bootdevice/by-name/modemdump /mnt/vendor/modemdump noatime nosuid nodev barrier=1
on property:vendor.sys.mount.modemdump=0
umount /mnt/vendor/modemdump
exec /system/bin/e2fsck -y /dev/block/bootdevice/by-name/modemdump
write /dev/kmsg "umount modemdump success"
write /sys/module/esoc_mdm_4x/parameters/mdm_umount_state 1
on property:persist.sys.oem.minidump_chmod=1
chmod 0770 /mnt/vendor/modemdump/SDX55M
chmod 0660 /mnt/vendor/modemdump/SDX55M/load.cmm
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_AMSS_HEAP_0.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_0.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_1.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_10.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_11.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_12.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_2.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_3.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_4.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_5.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_6.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_7.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_8.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_GEN_DUMP_9.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_INT_HEAP_0.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_INT_HEAP_1.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_MDMP_LOG.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_MDMP_LOG1.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_MPSS_HEAP_0.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_MPSS_HEAP_1.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_MPSS_INT_HEA.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_MPSS_VAR_TAB.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_mss_key_aes.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_mss_key_iv.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_mss_key_mac.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_PBUS_LOG.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_PMIC_PON.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_PMON_HIS.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_QSH_MDUMP.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_RST_STAT.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_SHRDIMEM.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_SMEM_VER.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_SMEMINFO.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_TZ_DIAG.BIN
chmod 0660 /mnt/vendor/modemdump/SDX55M/md_mss_compr_ar.BIN
setprop persist.sys.oem.minidump_chmod 0

839
rootdir/etc/init.oem.rc Normal file
View file

@ -0,0 +1,839 @@
#################################################################################
### VENDOR_EDIT, OEM All rights reserved.
###
### File: - init.oem.rc
### Author: jiangyonggao
### all oem triger & init are here
### ------------------------------- Revision History: ----------------------------
### <author> <data> <version> <desc>
### ------------------------------------------------------------------------------
### jiangyg@PM 2013-10-21 Create this file
##################################################################################
#Load WLAN driver
import /vendor/etc/init/hw/init.cust.rc
on property:wlan.driver.status=ok
start load_wlan_driver
service load_wlan_driver /vendor/bin/sh /vendor/bin/load_wlan_driver
class main
disabled
oneshot
on charger
setprop persist.vendor.oem.dump 0
setprop persist.vendor.oem.ssrdump 0
start oemlogkit
#@bsp, 2019/08/22 Add dash charging
service dashd /vendor/bin/dashd
class core
critical
seclabel u:r:dashd:s0
group root system
#bsp, 2020/01/04 Add wireless charge
service wlchgd /vendor/bin/wlchgd
class main
disabled
seclabel u:r:wlchgd:s0
group root system
on fs
mount ext4 /dev/block/bootdevice/by-name/op1 /mnt/vendor/op1 ro barrier=1 discard context=u:object_r:op1_file:s0
mount ext4 /dev/block/bootdevice/by-name/op2 /mnt/vendor/op2 noatime nosuid nodev barrier=1
chown system system /mnt/vendor/op2
#yankelong add
chown system system /sys/class/leds/vibrator/haptic_audio_ai_input
chown system system /sys/class/leds/vibrator/haptic_audio_tp_input
chown system system /sys/class/leds/vibrator/haptic_audio_tp_size
chown audioserver audioserver /sys/class/leds/vibrator/register
chown system system /sys/class/leds/vibrator/vmax_mv
chmod 660 /sys/class/leds/vibrator/vmax_mv
chmod 660 /sys/class/leds/vibrator/rtp
chmod 660 /sys/class/leds/vibrator/haptic_audio_tp_time
chmod 644 /sys/class/leds/vibrator/haptic_osc_data
chmod 660 /sys/class/leds/vibrator/ram_test
chmod 644 /sys/class/leds/vibrator/ram_update
chmod 644 /sys/class/leds/vibrator/f0_cali_data
chown system system /sys/class/leds/vibrator/activate
chown system system /sys/class/leds/vibrator/brightness
chown system system /sys/class/leds/vibrator/duration
chown system system /sys/class/leds/vibrator/state
chown system system /sys/class/leds/vibrator/rf_hz
chown system system /sys/class/leds/vibrator/lra_resistance
chown system system /sys/class/leds/vibrator/gain
chown system system /sys/class/leds/vibrator/vmax
chown system system /sys/class/leds/vibrator/index
chown system system /sys/class/leds/vibrator/activate_mode
chown system system /sys/class/leds/vibrator/seq
chown system audio /sys/class/leds/vibrator/rtp
chown system audio /sys/class/leds/vibrator/haptic_audio_tp_time
chown system system /sys/class/leds/vibrator/loop
chown system system /sys/class/leds/vibrator/ignore_store
chown system system /sys/class/leds/vibrator/osc_cali
chown system system /sys/class/leds/vibrator/haptic_osc_data
chown system system /sys/class/leds/vibrator/ram_test
chown system system /sys/class/leds/vibrator/ram_update
chown system system /sys/class/leds/vibrator/f0_cali_data
#ifdef VENDOR_EDIT
# /* 20200330 david shih */
chown system system /sys/module/proc/parameters/dbg_buf
#endif
chown system system /sys/class/leds/vibrator/cali
chown system system /sys/module/lpm_levels/parameters/sleep_disabled
restorecon /sys/class/leds/vibrator/activate
restorecon /sys/class/leds/vibrator/brightness
restorecon /sys/class/leds/vibrator/duration
restorecon /sys/class/leds/vibrator/state
#change ownership and premission for awinic haptic shock with music
chown audioserver audioserver /dev/awinic_haptic
chown audioserver audioserver /sys/class/leds/vibrator/haptic_audio
chown audioserver audioserver /sys/class/leds/vibrator/gun_type
chown audioserver audioserver /sys/class/leds/vibrator/bullet_nr
chmod 777 /sys/class/leds/vibrator/gun_type
chmod 777 /sys/class/leds/vibrator/bullet_nr
chmod 777 /sys/class/leds/vibrator/register
# /* add for aging apk to set node */
chown system system /sys/class/power_supply/battery/is_aging_test
chown system system /sys/class/power_supply/battery/dump_reg
#add for tri_state_key
chown system system /sys/bus/platform/devices/soc/soc\:tri_state_key/hall_data_calib
chown system system /sys/bus/platform/devices/soc/soc\:tri_state_key/hall_set_value
#add for tp firmware update
write /sys/devices/platform/soc/a94000.i2c/i2c-4/4-004b/tp_fw_update 0
write /sys/devices/platform/soc/a94000.i2c/i2c-4/4-0048/tp_fw_update 0
#add for tp debug log
chown system system /proc/touchpanel/tp_debug_log
chown system system /proc/touchpanel/tp_switch_dead_zone
chown system system /proc/touchpanel/tp_switch_corner_dead_l_zone
chown system system /proc/touchpanel/tp_switch_corner_dead_p_zone
# /* add for wireless charge */
chown system system /proc/wireless/enable_tx
chown system system /proc/wireless/enable_rx
chown system system /proc/wireless/epp_or_bpp
chown system system /proc/wireless/current_out
chown system system /proc/wireless/rx_voltage
chown system system /proc/wireless/charge_pump_en
chown system system /proc/wireless/deviated
chown system system /proc/wireless/quiet_mode
chown system system /proc/wireless/fast_skin_threld
chown system system /proc/enhance_dash
#ifdef VENDOR_EDIT
#uma.mahesh@Imaging 2020/4/8 add for factory item
chown system system /sys/class/leds/led:torch_0/brightness
chmod 666 /sys/class/leds/led:torch_0/brightness
chown system system /sys/class/leds/led:torch_1/brightness
chmod 666 /sys/class/leds/led:torch_1/brightness
chown system system /sys/class/leds/led:switch_0/brightness
chmod 666 /sys/class/leds/led:switch_0/brightness
chown system system /sys/class/leds/led:switch_1/brightness
chmod 666 /sys/class/leds/led:switch_1/brightness
chown system system /sys/class/leds/led:switch_2/brightness
chmod 666 /sys/class/leds/led:switch_2/brightness
chown system system /sys/class/leds/led:torch_2/brightness
chmod 666 /sys/class/leds/led:torch_2/brightness
chown system system /sys/class/leds/led:switch_3/brightness
chmod 666 /sys/class/leds/led:switch_3/brightness
mkdir /mnt/vendor/persist/camera 0777 system system
#add for laser
chown system system /dev/stmvl53l1_ranging
chmod 0666 /dev/stmvl53l1_ranging
start vl53l1_daemon_main
#add for ams-tof
chown system system /sys/kernel/tof_control/app0/capture
chmod 666 /sys/kernel/tof_control/app0/capture
chown system system /sys/kernel/tof_control/app0/app0_get_fac_calib
chmod 666 /sys/kernel/tof_control/app0/app0_get_fac_calib
chown system system /sys/kernel/tof_control/app0/app0_get_distance
chmod 666 /sys/kernel/tof_control/app0/app0_get_distance
chown system system /sys/kernel/tof_control/app0/app0_read_peak_crosstalk
chmod 666 /sys/kernel/tof_control/app0/app0_read_peak_crosstalk
#add for ois debug
chown system system /sys/kernel/ois_control/dump_registers
chmod 666 /sys/kernel/ois_control/dump_registers
#endif
# Power@bsp, 2020/2/27, add for thermal
chown system system /dev/msm_thermal
chown system system /dev/skin_thermal
chown system system /dev/modem_skin_thermal
chown system system /dev/mmw0_thermal
chown system system /dev/mmw1_thermal
chown system system /dev/mmw2_thermal
chmod 0664 /dev/msm_thermal
chmod 0664 /dev/skin_thermal
chmod 0664 /dev/modem_skin_thermal
chmod 0664 /dev/mmw0_thermal
chmod 0664 /dev/mmw1_thermal
chmod 0664 /dev/mmw2_thermal
#ifdef VENDOR_EDIT
#if OP_FEATURE_MM_ADSP_MINIDUMP == 1
# zhangrun@MM, 2020/09/12, implement to collect adsp minidump
chmod 664 /dev/ramdump_adsp
#endif
#ifdef VENDOR_EDIT
# BSP add for display 2020/04/17 @Leo_BSP
chmod 0666 /sys/class/drm/card0-DSI-1/hbm
chmod 0666 /sys/class/drm/card0-DSI-1/hbm_brightness
chmod 0666 /sys/class/backlight/panel0-backlight/brightness
#endif
# ken.lin@ASTI, 2019/6/21, add for fsc
chown system system /sys/module/fsc/parameters/enable
chmod 0664 /sys/module/fsc/parameters/enable
on boot
#ifdef VENDOR_EDIT
chmod 0666 /dev/goodix_fp
chmod 0660 /sys/devices/platform/soc/soc:fingerprint_detect/sensor_version
chown system system /sys/devices/platform/soc/soc:fingerprint_detect/sensor_version
chmod 0666 /proc/touchpanel/touch_hold
chown system system /proc/touchpanel/touch_hold
chmod 0664 sys/devices/platform/soc/soc:goodix_fp/screen_state
chown system system sys/devices/platform/soc/soc:goodix_fp/screen_state
chmod 0666 /dev/qseecom
#endif
#Leo@BSP 2020/04/17 add for qsee_log tz_log
chmod 0666 /proc/tzdbg/qsee_log
chmod 0666 /proc/tzdbg/tz_log
#Norman@Connectivity 2020/04/24 add for default country code
setprop ro.boot.wificountrycode 00
#Brandon@Conn 2020/07/24 add for default uicc support
setprop persist.vendor.radio.uicc_se_enabled true
#martin.li@BSP, 2019/12/03,support for EngineeringMode tool start
chown system system /proc/rf_cable_config
chown system system /proc/rf_factory_mode
#martin.li@BSP, 2019/12/03,support for EngineeringMode tool end
#ifdef VENDOR_EDIT
#Set TCP MTU probing to automatic
write /proc/sys/net/ipv4/tcp_mtu_probing 1
#endif /*VENDOR_EDIT*/
on init
setprop vendor.boot.verifiedbootstate ${ro.boot.verifiedbootstate}
setprop vendor.boot.hw_version ${ro.boot.hw_version}
#@bsp, 2019/08/22 Add dash charging
chown system system /dev/dash
chmod 0664 /dev/dash
#restorecon /dev/dash
chown system system /dev/wlchg
chmod 0664 /dev/wlchg
#restorecon /dev/wlchg
on post-fs
#ifdef VENDOR_EDIT
#oscar.wei@SYSTEM, 2019/10/02, [AN-604] opdiagnose porting, create folder and binary file.
mkdir /mnt/vendor/persist/OPDiagnose 0770 system system
chmod 660 /mnt/vendor/persist/OPDiagnose/opdiagnosedata
chown system system /mnt/vendor/persist/OPDiagnose/opdiagnosedata
#endif
chmod 0664 /sys/module/qpnp_smb5/parameters/usb_connector_temp
chown system system /sys/module/qpnp_smb5/parameters/usb_connector_temp
chmod 0664 /sys/module/qpnp_smb5/parameters/disable_connector_protect
chown system system /sys/module/qpnp_smb5/parameters/disable_connector_protect
chmod 0664 /sys/module/qpnp_smb5/parameters/usb_interval_temp
chown system system /sys/module/qpnp_smb5/parameters/usb_interval_temp
chmod 0664 /sys/module/qpnp_smb5/parameters/call_on
chown radio radio /sys/module/qpnp_smb5/parameters/call_on
chmod 0666 /sys/module/qpnp_smb5/parameters/video_call_on
chown system system /sys/module/qpnp_smb5/parameters/video_call_on
chown system system /proc/skin_temp_thrd/fastchg_thd
chown system system /proc/skin_temp_thrd/fastchg_lcdoff_thd
chown system system /proc/skin_temp_thrd/norchg_thd
chown system system /proc/skin_temp_thrd/norchg_lcdoff_thd
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_cur_freq
chmod 0444 /sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_cur_freq
#ifdef VENDOR_EDIT
#brandon.zeng@Conn,2020/05/08. add for nfc pnscr tool
chown system system /system/xbin/nfc_trasmit_start.sh
chmod 0777 /system/xbin/nfc_trasmit_start.sh
chown system system /system/xbin/nfc_trasmit_stop.sh
chmod 0777 /system/xbin/nfc_trasmit_stop.sh
chown system system system/xbin/pnscr
chmod 0777 system/xbin/pnscr
#endif
#ifdef VENDOR_EDIT
# /* create a empty file for wifi hal to write mac address */
mkdir /mnt/vendor/persist/qca6390 0770 wifi wifi
write /mnt/vendor/persist/qca6390/wlan_mac.bin ""
chown wifi wifi /mnt/vendor/persist/qca6390/wlan_mac.bin
copy /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini
chown wifi wifi /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini
# /* create a empty file for wifi hal to write qca6490 mac address */
write /mnt/vendor/persist/wlan_mac.bin ""
chown wifi wifi /mnt/vendor/persist/wlan_mac.bin
# /* Implement the function of forced Chain0/1 insmod WCNSS_qcom_cfg.ini */
copy /vendor/etc/wifi/WCNSS_qcom_cfg.ini /mnt/vendor/persist/WCNSS_qcom_cfg.ini
chown wifi wifi /mnt/vendor/persist/WCNSS_qcom_cfg.ini
#endif
#ifdef VENDOR_EDIT
#henry.cao@system, add for engineermode
mkdir /mnt/vendor/persist/engineermode 0777 system system
#endif
chown system system /proc/ship_mode
chown system system /dev/param
#ifdef VENDOR_EDIT
#create path for NV items
#ifdef VENDOR_EDIT
#ken.chenxm@SYSTEM, 2019/10/10, add for [OSP-3172] charging optimizated
chown system system /sys/class/power_supply/battery/op_disable_charge
chmod 660 /sys/class/power_supply/battery/op_disable_charge
chown system system /sys/class/power_supply/bms/battery_h
chmod 660 /sys/class/power_supply/bms/battery_h
#endif
#ifdef VENDOR_EDIT
#randle.liu@optimization, 2020/04/24, [OSP-6116] avoid waking up when wireless charging disconnects
chown system system /sys/class/power_supply/wireless/icon_delay
chmod 660 /sys/class/power_supply/wireless/icon_delay
#endif
#jay.fa@OPTI, 2020/08/12, add for [OPTI-42] hypnus
chown root system /sys/class/thermal/cooling_device0/cur_state
chown root system /sys/class/thermal/cooling_device1/cur_state
chown root system /sys/class/thermal/cooling_device2/cur_state
chown root system /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chown root system /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chown root system /sys/class/thermal/cooling_device14/cur_state
chmod 660 /sys/class/thermal/cooling_device0/cur_state
chmod 660 /sys/class/thermal/cooling_device1/cur_state
chmod 660 /sys/class/thermal/cooling_device2/cur_state
chmod 660 /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chmod 660 /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chmod 660 /sys/class/thermal/cooling_device14/cur_state
on post-fs-data
mkdir /data/vendor/oemnvitems 0771 radio radio
#brandon.zeng@Conn,2020/08/11. move data path to post-fs-data
mkdir /data/vendor/nfc 0770 nfc nfc
# Ted.Lin@ASTI 2019/06/12 add for CONFIG_HOUSTON
chown system system /sys/module/houston/parameters/fps_boost
chown system system /sys/module/houston/parameters/fps_data_sync
chown system system /sys/module/houston/parameters/perf_ready
chown system system /sys/module/houston/parameters/ais_enable
chown system system /sys/module/houston/parameters/sample_rate_ms
chown system system /sys/module/houston/parameters/ht_enable
chown system system /sys/module/houston/parameters/fps_boost_enable
chown system system /sys/module/houston/parameters/fps_boost_strategy
chown system system /sys/module/houston/parameters/tb_ctl
chown system system /sys/module/houston/parameters/tb_enable
chown system system /sys/module/houston/parameters/reset
chown system system /sys/module/houston/parameters/hwui_boost_enable
chown system system /sys/module/houston/parameters/fuse_boost
chown system system /dev/ht_ctl
chown system system /sys/module/pccore/parameters/params
chown system system /sys/module/tpd/parameters/tpd_enable
chown system system /sys/module/tpd/parameters/tpd_cmds
chown system system /sys/module/tpd/parameters/tpd_id
chown system system /sys/module/tpd/parameters/tpd_dynamic
chown system system /sys/module/fuse/parameters/shortcircuit
chown system system /sys/module/fuse/parameters/sct_mode
# fps stabilizer
chown system system /sys/module/houston/parameters/efps_max
chown system system /sys/module/houston/parameters/fps_boost_strategy
chown system system /sys/module/houston/parameters/egl_buf
chown system system /sys/module/houston/parameters/ht_online_config_update
# Ted.Lin@ASTI 2019/06/12 add for CONFIG_CONTROL_CENTER
chown system system /dev/cc_ctl
chown system system /proc/cc_ctl
#endif /* VENDOR_EDIT */
#ifdef VENDOR_EDIT
# TomCheng@Core ,2020/06/22, HDCP provision key feature
mkdir /mnt/vendor/persist/hdcp/media_dump 0770 mediaex mediadrm
mkdir /mnt/vendor/persist/hdcp 775 media mediadrm
restorecon /mnt/vendor/persist/hdcp
#endif
# ifdef VENDOR_EDIT
# denzel.chen@performance, 2020/05/12, add for OPBRITN-3462
chmod 664 /sys/module/memplus_core/parameters/memory_plus_wake_memex
chown system system /sys/module/memplus_core/parameters/memory_plus_wake_memex
# endif
# neil.sun@Connectivity, 2020/08/12, add for wifi minidump
mkdir /data/vendor/ramdump/wifi 0770 system system
#if OP_FEATURE_MM_ADSP_MINIDUMP == 1
# zhangrun@MM, 2020/09/12, implement to collect adsp minidump
mkdir /data/vendor/ramdump/adsp 0770 system system
# endif
# add for SMT test enters WLAN FTM test in non-signaling
service wififtmserver /vendor/bin/sh vendor/bin/wifi_ftm
class late_start
user root
group root
disabled
oneshot
on property:vendor.wlan.ftm.up=1
start wififtmserver
on property:persist.vendor.oem.wifi.chain=1
copy /vendor/etc/wifi/WCNSS_qcom_cfg_setchain.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini
start service_setChain
on property:persist.vendor.oem.wifi.chain=2
copy /vendor/etc/wifi/WCNSS_qcom_cfg_setchain.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini
start service_setChain
on property:persist.vendor.oem.wifi.chain=0
copy /vendor/etc/wifi/qca6390/WCNSS_qcom_cfg.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini
start service_setChain
on property:persist.vendor.oem.wifi.chain=3
copy /vendor/etc/wifi/WCNSS_qcom_cfg_roam.ini /mnt/vendor/persist/qca6390/WCNSS_qcom_cfg.ini
service service_setChain /vendor/bin/sh /vendor/bin/wifi_setChain ${persist.vendor.oem.wifi.chain}
class main
user root
group root system
disabled
oneshot
on property:persist.vendor.oem.wifi.txenable=1
start service_wifi_txEnable
service service_wifi_txEnable /vendor/bin/sh /vendor/bin/wifi_txEnable
class main
user root
group root system
disabled
oneshot
on init
mount tmpfs none /sys/fs/cgroup mode=0750,uid=0,gid=1000
mkdir /sys/fs/cgroup/freezer 0750 root system
mount cgroup none /sys/fs/cgroup/freezer freezer
chmod 777 /sys/fs/cgroup/freezer
mkdir /sys/fs/cgroup/net_cls
chmod 777 /sys/fs/cgroup/net_cls
mount cgroup none /sys/fs/cgroup/net_cls net_cls
chmod 777 /sys/fs/cgroup/net_cls/tasks
mkdir /sys/fs/cgroup/net_cls/background 0777
chmod 777 /sys/fs/cgroup/net_cls/background/tasks
#ifdef VENDOR_EDIT
setprop persist.vendor.mdm_helper.fail_action cold_reset,s3_reset,panic
#endif
# alex.huang@Connectivity, 2020/04/29, Porting *#8019# function
#ifdef VENDOR_EDIT
service wifisocket /system_ext/bin/diag_system_socket_log -a 181.157.1.200 -p 2500 -r 10000 -c 1
user root
group root system oem_2901
disabled
oneshot
seclabel u:r:logserver:s0
service wifisocket-mdm /system_ext/bin/diag_system_socket_log -a 181.157.1.200 -p 2500 -r 10000 -c 2
user root
group root system oem_2901
disabled
oneshot
seclabel u:r:logserver:s0
service wifisocket-stop /system_ext/bin/diag_system_socket_log -k
user root
group root system oem_2901
disabled
oneshot
seclabel u:r:logserver:s0
service wifisocket-mdm-stop /system_ext/bin/diag_system_socket_log -k
user root
group root system oem_2901
disabled
oneshot
seclabel u:r:logserver:s0
service oemsysd /vendor/bin/oem-system-daemon
class main
user root
group root system oem_2901
disabled
seclabel u:r:ftmdaemon:s0
on property:vendor.service.wifi.socket.enable=1
start oemsysd
start wifisocket
on property:vendor.service.wifi.socket.enable=0
stop oemsysd
start wifisocket-stop
on property:vendor.service.wifi.socket.mdm.enable=1
start oemsysd
start wifisocket-mdm
on property:vendor.service.wifi.socket.mdm.enable=0
stop oemsysd
start wifisocket-mdm-stop
#endif
service ftmdaemon /system/vendor/bin/ftmdaemon -n
class late_start
user root
group wifi root system oem_2901
disabled
oneshot
seclabel u:r:ftmdaemon:s0
service wifi_ftm_up /vendor/bin/sh /vendor/bin/wifi_ftm_up
class late_start
user root
group root
disabled
oneshot
service reload_wlan_driver /vendor/bin/sh /vendor/bin/reload_wlan_driver
class late_start
user root
group root
disabled
oneshot
#ifdef VENDOR_EDIT
#yuquan.fei@Connectivity, 2020/05/06, porting wlan logs functions
service stop_pktlog /system/vendor/bin/stoppktlog
class main
user system
group system wifi inet net_admin sdcard_rw media_rw diag
disabled
oneshot
#endif
# denzel.chen@performance, 2020/05/12, add for OPBRITN-3462
# system server cannot write to /proc/sys files,
# and chown/chmod does not work for /proc/sys/ entries.
# So proxy writes through init.
on property:sys.sysctl.watermark_boost_factor=*
write /proc/sys/vm/watermark_boost_factor ${sys.sysctl.watermark_boost_factor}
#ifdef VENDOR_EDIT
on property:vendor.wlan.ftm.daemon=on
start wifi_ftm_up
start ftmdaemon
on property:vendor.wlan.ftm.daemon=off
stop ftmdaemon
start reload_wlan_driver
on property:vendor.wlan.write.con_mode=*
write /sys/module/wlan/parameters/con_mode ${vendor.wlan.write.con_mode}
#ifdef VENDOR_EDIT
#binson.xu@oneplus.com, 2019/02/17, add for write alikey
service mvalikey /system/bin/cp -rp /sdcard/.lii /mnt/vendor/op2/
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service rmalikey /system/bin/rm -r /mnt/vendor/op2/.lii
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
#endif
# ken.lin@ASTI, 2019/6/21, add for memplus
service memplus_config /vendor/bin/sh /vendor/etc/vendor.memplus.sh
user root
disabled
oneshot
seclabel u:r:vendor_qti_init_shell:s0
on property:persist.vendor.memplus.enable=*
start memplus_config
on property:persist.sys.memplus.swappiness=*
write /proc/sys/vm/swappiness ${persist.sys.memplus.swappiness}
on property:persist.sys.memplus.direct_swappiness=*
write /proc/sys/vm/direct_swappiness ${persist.sys.memplus.direct_swappiness}
#ifdef VENDOR_EDIT
#brandon.zeng@Conn,2020/05/08. add for nfc pnscr tool
service nfctransmitstart /system/bin/sh /system/xbin/nfc_trasmit_start.sh
class late_start
user nfc
group nfc
disabled
oneshot
service nfctransmitstop /system/bin/sh /system/xbin/nfc_trasmit_stop.sh
class late_start
user nfc
group nfc
disabled
oneshot
on property:nfc.transmit.start=1
start nfctransmitstart
on property:nfc.transmit.start=0
stop nfctransmitstart
on property:nfc.transmit.stop=1
start nfctransmitstop
on property:nfc.transmit.stop=0
stop nfctransmitstop
#endif
#ifdef VENDOR_EDIT
on property:sys.usb.config=diag,adb && property:sys.usb.configfs=1
start wifitestdiag
service wifitestdiag /vendor/bin/wifi_diag
class main
user root
group root system oem_2901
disabled
seclabel u:r:ftmdaemon:s0
#endif
#ifdef VENDOR_EDIT
service vl53l1_daemon_main /vendor/bin/vl53l1_daemon_main
class late_start
user system
group system
socket vl53l1_daemon stream 660 system system
#endif
#oscar.wei@SYSTEM, 2019/10/02, [AN-604] opdiagnose porting : create opdiagnose service
service opdiagnose /system_ext/bin/OPDiagnoseservice
class core
user root
group system
service opdiagdatacopy /system_ext/bin/OPDiagdataCopy
class core
user root
group system everybody
oneshot
disabled
on property:vendor.copy.opdiagnose.data=1
start opdiagdatacopy
service copy_qxdm_log /system_ext/bin/OPDiagdataCopy -q ${copy.qxdm.log}
class core
user root
group system everybody
oneshot
disabled
#endif
#ifdef VENDOR_EDIT
#kim@bsp 2019/10/25 add to fix apsd wrong issue when boot with dash connected
on property:sys.boot_completed=1
write /sys/module/smb5_lib/parameters/sys_boot_complete 1
#@bsp Add OTG switch
on property:persist.sys.oem.otg_support=true
write /sys/class/power_supply/usb/otg_switch 1
on property:persist.sys.oem.otg_support=false
write /sys/class/power_supply/usb/otg_switch 0
#endif
on property:vendor.sys.op.game=1
write /proc/sys/kernel/sched_skip_affinity 1
on property:vendor.sys.op.game=0
write /proc/sys/kernel/sched_skip_affinity 0
#ifdef VENDOR_EDIT
on property:vendor.wlan.sniffer.enabled=1
start launch_sniffer
setprop vendor.wlan.sniffer.status 1
on property:vendor.wlan.sniffer.enabled=0
stop launch_sniffer
start terminate_sniffer
service launch_sniffer /vendor/bin/sh /vendor/bin/launch_sniffer.sh ${vendor.wlan.sniffer.iface} ${vendor.wlan.sniffer.channel} ${vendor.wlan.sniffer.bandwidth}
class main
user root
group root
disabled
oneshot
service terminate_sniffer /vendor/bin/sh /vendor/bin/terminate_sniffer.sh
class main
user root
group root
disabled
oneshot
#endif
#ifdef VENDOR_EDIT
# TomCheng@Core ,2020/06/22, HDCP provision key feature
service mvhdcpkey /system/bin/mv /sdcard/hdcpkey /mnt/vendor/op2/hdcpkey
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service rmhdcpkey /system/bin/rm /mnt/vendor/op2/hdcpkey
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service chmodhdcpkey /system/bin/chmod 777 /mnt/vendor/op2/hdcpkey
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service dphdcp2p2prov /vendor/bin/hdcp2p2prov /mnt/vendor/op2/dphdcp2key /mnt/vendor/op2/DPS_hdcp2
class core
setenv LD_LIBRARY_PATH /vendor/lib64
user root
group root
disabled
oneshot
seclabel u:r:vendor_init:s0
service verifydphdcp2p2prov /vendor/bin/hdcp2p2prov -verify
class core
setenv LD_LIBRARY_PATH /vendor/lib64
user root
group root
disabled
oneshot
seclabel u:r:vendor_init:s0
service mvdphdcp2key /system/bin/mv /sdcard/dphdcp2key /mnt/vendor/op2/dphdcp2key
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service rmdphdcp2key /system/bin/rm /mnt/vendor/op2/dphdcp2key
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service mvdpshdcp2 /system/bin/mv /sdcard/DPS_hdcp2 /mnt/vendor/op2/DPS_hdcp2
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service rmdpshdcp2 /system/bin/rm /mnt/vendor/op2/DPS_hdcp2
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
#endif
service filebuilderd /system_ext/bin/filebuilderd
class core
user root
group root system
disabled
oneshot
seclabel u:r:vold:s0
on property:sys.boot_completed=1 && property:persist.sys.ufs_hpb_disable=1
write /sys/devices/platform/soc/1d84000.ufshc/ufshpb_lu0/release 171
on property:sys.boot_completed=1
write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/tw_enable 1
write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/flush_enable 1
write /sys/devices/platform/soc/1d84000.ufshc/ufstw_lu0/flush_during_hibern_enter 1
# ifdef VENDOR_EDIT
# narci.gu@SYSTEM, 2018/7/23, [AN-709] Add for keymaster key
service KmInstallKeybox19805 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus8T_Key_Attest_0 true
class core
setenv LD_LIBRARY_PATH /vendor/lib64/hw
user system
group root
disabled
oneshot
seclabel u:r:keybox_oem:s0
service KmInstallKeybox20809 /vendor/bin/KmInstallKeybox /mnt/vendor/op2/.lii/keyboxes_ciphered.xml OnePlus8TTMO_Key_Attest_0 true
class core
setenv LD_LIBRARY_PATH /vendor/lib64/hw
user system
group root
disabled
oneshot
seclabel u:r:keybox_oem:s0
service keyboxxml /system/bin/mv /sdcard/.lii /mnt/vendor/op2/
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service rmkeyboxxml /system/bin/rm -rf /mnt/vendor/op2/.lii
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
service chmodkeyboxxmldir /system/bin/chmod 777 -R /mnt/vendor/op2/.lii
class core
user root
group root
disabled
oneshot
seclabel u:r:vold:s0
# endif
#alden.zhang@OPTI, 2020/7/18. [OSP-8064], add for IOLIMIT
on property:persist.sys.iolimiter.enable=true
write /proc/iolimit_enable 1
write /sys/module/oneplus_healthinfo/parameters/ohm_action_ctrl Y
chown system system /sys/module/oneplus_healthinfo
chown system system /sys/module/oneplus_healthinfo/parameters
chown system system /sys/module/oneplus_healthinfo/parameters/ohm_iowait_h_ms
chown system system /sys/module/oneplus_healthinfo/parameters/ohm_iowait_l_ms
chown system system /sys/module/oneplus_healthinfo/parameters/ohm_read_thresh
chown system system /sys/module/oneplus_healthinfo/parameters/ohm_write_thresh
chown system system /sys/module/oneplus_healthinfo/parameters/ohm_sample_time
chown system system /sys/module/oneplus_healthinfo/parameters/ohm_action_ctrl
chown system system /proc/iolimit_enable

View file

@ -0,0 +1,37 @@
##################################################################################
### VENDOR_EDIT, OEM All rights reserved.
###
### File: - init.oem.sec.rc
### Author: tomcheng
### all oem sec triger & init are here
### ------------------------------- Revision History: ----------------------------
### <author> <data> <version> <desc>
### ------------------------------------------------------------------------------
### tomcheng@core 2020-08-17 Workaround for ISTRACKING-73861
##################################################################################
on post-fs
rm /mnt/vendor/op2/sec/enroll/1/dmesg.txt
rm /mnt/vendor/op2/sec/enroll/2/dmesg.txt
rm /mnt/vendor/op2/sec/enroll/3/dmesg.txt
rm /mnt/vendor/op2/sec/enroll/4/dmesg.txt
rm /mnt/vendor/op2/sec/enroll/1/logcat.txt
rm /mnt/vendor/op2/sec/enroll/2/logcat.txt
rm /mnt/vendor/op2/sec/enroll/3/logcat.txt
rm /mnt/vendor/op2/sec/enroll/4/logcat.txt
rm /mnt/vendor/op2/sec/pass/1/dmesg.txt
rm /mnt/vendor/op2/sec/pass/2/dmesg.txt
rm /mnt/vendor/op2/sec/pass/3/dmesg.txt
rm /mnt/vendor/op2/sec/pass/4/dmesg.txt
rm /mnt/vendor/op2/sec/pass/1/logcat.txt
rm /mnt/vendor/op2/sec/pass/2/logcat.txt
rm /mnt/vendor/op2/sec/pass/3/logcat.txt
rm /mnt/vendor/op2/sec/pass/4/logcat.txt
rm /mnt/vendor/op2/sec/fail/1/dmesg.txt
rm /mnt/vendor/op2/sec/fail/2/dmesg.txt
rm /mnt/vendor/op2/sec/fail/3/dmesg.txt
rm /mnt/vendor/op2/sec/fail/4/dmesg.txt
rm /mnt/vendor/op2/sec/fail/1/logcat.txt
rm /mnt/vendor/op2/sec/fail/2/logcat.txt
rm /mnt/vendor/op2/sec/fail/3/logcat.txt
rm /mnt/vendor/op2/sec/fail/4/logcat.txt

View file

@ -0,0 +1,5 @@
#factory load rc
import /vendor/etc/init/hw/vendor.oem_ftm_svc_disable.rc
import /system/etc/init/hw/init.rc
import /vendor/etc/init/hw/vendor.oem_ftm.rc

View file

@ -0,0 +1,258 @@
#
# Copyright (c) 2009-2016, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
# Define fastmmi
service fastmmi /system_ext/bin/mmi
user root
group root
disabled
service vendor.mmid /vendor/bin/mmid
user root
group root
disabled
service mmi_diag /system_ext/bin/mmi_diag
class main
user root
group root oem_2901
disabled
on property:vendor.sys.boot_mode=ffbm
write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
on property:vendor.sys.boot_mode=qmmi
write ${persist.vendor.mmi.misc_dev_path} "qmmi"
on property:vendor.sys.boot_mode=normal
write ${persist.vendor.mmi.misc_dev_path} "normal"
# Creating a scratch storage on /data for factory testing.
on factory-fs && property:ro.bootmode=ffbm-00
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-01
mount tmpfs tmpfs /data
# aligned the usb port with system standard, otherwise if only diag be added
# Then in QMMI mode, the whole Andoid be booted, but due to the ro.bootmode is
# not normal/unknow, then when it apply the default funcs, it will turn to MTP
# which cause the diag/Wwan/modem port all be lost in qmmi mode. Details:
# UsbDeviceManager.java---->getDefaultFunctions and trySetEnabledFunctions
on property:persist.vendor.usb.config=*
setprop persist.sys.usb.qmmi.func ${persist.vendor.usb.config}
on mmi && property:ro.bootmode=ffbm-00
# ========================================================
# This is FFBM only settings.
# ========================================================
#mkdir for factory data files.
mkdir /mnt/vendor/persist/FTM_AP 0750 system system
start fastmmi
# start qcom-post-boot to set the misc partition path property value
start qcom-post-boot
start mmi_diag
on mmi && property:ro.bootmode=ffbm-01
# ========================================================
# This is FFBM only settings.
# ========================================================
#mkdir for factory data files.
mkdir /mnt/vendor/persist/FTM_AP 0750 system system
start fastmmi
## start qcom-post-boot to set the misc partition path property value
start qcom-post-boot
start mmi_diag
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi
setprop sys.usb.config ${persist.vendor.usb.config}
on ffbm
trigger early-fs
trigger factory-fs
trigger fs
trigger post-fs
# Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
# to only mount entries with 'latemount'. This is needed if '--early' is
# specified in the previous mount_all command on the fs stage.
# With /system mounted and properties form /system + /factory available,
# some services can be started.
trigger late-fs
# Now we can mount /data. File encryption requires keymaster to decrypt
# /data, which in turn can only be loaded when system properties are present.
trigger post-fs-data
# Now we can start zygote for devices with file based encryption
trigger zygote-start
# Load persist properties and override properties (if enabled) from /data.
trigger load_persist_props_action
# Remove a file to wake up anything waiting for firmware.
trigger firmware_mounts_complete
trigger early-boot
trigger boot
trigger mmi
# ========================================================
# Start for audio TC
# ========================================================
service vendor.audio_tc53 /vendor/bin/mm-audio-ftm -tc 53
user audio
group audio
disabled
oneshot
service vendor.audio_tc51 /vendor/bin/mm-audio-ftm -tc 51
user audio
group audio
disabled
oneshot
service vendor.audio_tc56 /vendor/bin/mm-audio-ftm -tc 56
user audio
group audio
disabled
oneshot
service vendor.audio_tc222 /vendor/bin/mm-audio-ftm -tc 222
user audio
group audio
disabled
oneshot
service vendor.audio_tc228 /vendor/bin/mm-audio-ftm -tc 228
user audio
group audio
disabled
oneshot
service vendor.audio_tc229 /vendor/bin/mm-audio-ftm -tc 229
user audio
group audio
disabled
oneshot
service vendor.audio_tc230 /vendor/bin/mm-audio-ftm -tc 230
user audio
group audio
disabled
oneshot
service vendor.audio_tc225 /vendor/bin/mm-audio-ftm -tc 225
user audio
group audio
disabled
oneshot
service vendor.audio_tc246 /vendor/bin/mm-audio-ftm -tc 246
user audio
group audio
disabled
oneshot
service vendor.audio_tc247 /vendor/bin/mm-audio-ftm -tc 247
user audio
group audio
disabled
oneshot
service vendor.audio_tc250 /vendor/bin/mm-audio-ftm -tc 250
user audio
group audio
disabled
oneshot
service vendor.audio_tc251 /vendor/bin/mm-audio-ftm -tc 251
user audio
group audio
disabled
oneshot
service vendor.audio_tc252 /vendor/bin/mm-audio-ftm -tc 252
user audio
group audio
disabled
oneshot
service vendor.audio_tc253 /vendor/bin/mm-audio-ftm -tc 253
user audio
group audio
disabled
oneshot
service vendor.audio_tc11 /vendor/bin/mm-audio-ftm -tc 11 -file /data/vendor/audio/ftm_headset_mic_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc101 /vendor/bin/mm-audio-ftm -tc 101 -file /data/vendor/audio/ftm_mic1_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc102 /vendor/bin/mm-audio-ftm -tc 102 -file /data/vendor/audio/ftm_mic2_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc103 /vendor/bin/mm-audio-ftm -tc 103 -file /data/vendor/audio/ftm_mic3_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc104 /vendor/bin/mm-audio-ftm -tc 104 -file /data/vendor/audio/ftm_mic4_record.wav
user audio
group audio
disabled
oneshot
# ========================================================
# End for audio TC
# ========================================================

File diff suppressed because it is too large Load diff

1712
rootdir/etc/init.qcom.usb.rc Normal file

File diff suppressed because it is too large Load diff

275
rootdir/etc/init.target.rc Normal file
View file

@ -0,0 +1,275 @@
# Copyright (c) 2018-2020, 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.
#
#
# kevin@system, 2019/06/08, add carrier rc
import /vendor/etc/init/hw/init.oem.carrier.rc
on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_q6_pdr audio_q6_notifier audio_snd_event audio_apr audio_adsp_loader audio_q6 audio_native audio_usf audio_pinctrl_wcd audio_pinctrl_lpi audio_swr audio_platform audio_hdmi audio_stub audio_wcd_core audio_wsa881x audio_bolero_cdc audio_wsa_macro audio_va_macro audio_rx_macro audio_tx_macro audio_wcd938x audio_wcd938x_slave audio_tfa9894 audio_machine_kona
write /proc/sys/kernel/sched_boost 1
on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1
write /dev/stune/top-app/schedtune.sched_boost_no_override 1
write /dev/stune/schedtune.colocate 0
write /dev/stune/background/schedtune.colocate 0
write /dev/stune/system-background/schedtune.colocate 0
write /dev/stune/foreground/schedtune.colocate 0
write /dev/stune/top-app/schedtune.colocate 1
wait /dev/block/platform/soc/1d84000.ufshc
symlink /dev/block/platform/soc/1d84000.ufshc /dev/block/bootdevice
chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
start logd
on early-fs
start vold
on fs
start hwservicemanager
mkdir /mnt/vendor/spunvm 0660 system system
mkdir /mnt/vendor/op1 0660 system system
mkdir /mnt/vendor/op2 0660 system system
mkdir /mnt/vendor/cust1 0660 system system
mkdir /mnt/vendor/cust2 0660 system system
mkdir /mnt/vendor/my_cota 0660 system system
mount_all /vendor/etc/fstab.qcom --early
#ifdef VENDOR_EDIT
# ajinath@SYSTEM, 2020/01/16, [OSP-2080] Recovery boot reason
wait /mnt/vendor/op2
chown system system /mnt/vendor/op2
mkdir /mnt/vendor/op2/rbr_log 0770 system system
setprop vendor.oem.rbr.log.clean 1
#endif /* VENDOR_EDIT */
chown root system /mnt/vendor/persist
chmod 0771 /mnt/vendor/persist
restorecon_recursive /mnt/vendor/persist
mkdir /mnt/vendor/persist/data 0700 system system
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
write /dev/ipa 1
mkdir /mnt/vendor/op2/recovery 0770 root system
on late-fs
wait_for_prop hwservicemanager.ready true
exec_start wait_for_keymaster
mount_all /vendor/etc/fstab.qcom --late
#ifdef VENDOR_EDIT
# sam.li@SYSTEM,add for mountting reserve.img
#mount_reserve ext4 loop@/data/reserve/reserve.img /system/reserve ro context=u:object_r:system_file:s0
#endif /*VENDOR_EDIT*/
on post-fs-data
mkdir /vendor/data/tombstones 0771 system system
# Enable WLAN cold boot calibration
write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6390/fs_ready 1
#ifdef VENDOR_EDIT
# sam.li@SYSTEM,add for creatting /data/reserve-lib
mkdir /data/reserve-lib 0775 system system
#endif /*VENDOR_EDIT*/
on early-boot
start vendor.sensors
on boot
write /dev/cpuset/audio-app/cpus 1-2
# Add a cpuset for the camera daemon
# We want all cores for camera
mkdir /dev/cpuset/camera-daemon
write /dev/cpuset/camera-daemon/cpus 0-7
write /dev/cpuset/camera-daemon/mems 0
chown cameraserver cameraserver /dev/cpuset/camera-daemon
chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
chmod 0660 /dev/cpuset/camera-daemon/tasks
#USB controller configuration
setprop vendor.usb.rndis.func.name "gsi"
setprop vendor.usb.rmnet.func.name "gsi"
setprop vendor.usb.rmnet.inst.name "rmnet"
setprop vendor.usb.dpl.inst.name "dpl"
setprop vendor.usb.qdss.inst.name "qdss"
setprop vendor.usb.controller a600000.dwc3
#ifdef VENDOR_EDIT
#Load WLAN driver
#exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_qca6390 qca_cld3_qca6490
#endif
#liuhaituo@MM.Audio, 2019/6/17, add for dump audio related codec
chmod 0644 /d/regmap/0-0034/registers
chmod 0644 /d/regmap/0-0035/registers
chmod 0644 /d/regmap/0-0042/registers
#display add 2018/10/19 @lichao_display
chmod 0666 /sys/class/drm/card0-DSI-1/SRGB
chmod 0666 /sys/class/drm/card0-DSI-1/DCI_P3
chmod 0666 /sys/class/drm/card0-DSI-1/hbm
chmod 0666 /sys/class/drm/card0-DSI-1/aod
chmod 0666 /sys/class/drm/card0-DSI-1/night_mode
chmod 0666 /sys/class/drm/card0-DSI-1/panel_serial_number
chmod 0666 /sys/class/drm/card0-DSI-1/oneplus_mode
chmod 0666 /sys/class/drm/card0-DSI-1/adaption_mode
chmod 0666 /sys/class/drm/card0-DSI-1/notify_fppress
chmod 0666 /sys/class/drm/card0-DSI-1/dim_alpha
chmod 0666 /sys/class/drm/card0-DSI-1/notify_dim
chmod 0666 /sys/class/drm/card0-DSI-1/notify_aod
chmod 0666 /sys/class/drm/card0-DSI-1/force_screenfp
chmod 0666 /sys/class/drm/card0-DSI-1/native_display_p3_mode
chmod 0666 /sys/class/drm/card0-DSI-1/native_display_wide_color_mode
chmod 0666 /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode
chmod 0666 /sys/class/drm/card0-DSI-1/hbm_brightness
chmod 0666 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dynamic_dsi_clock
chown radio radio /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dynamic_dsi_clock
chown radio radio /proc/force_reset
chmod 0666 /sys/class/drm/card0-DSI-1/native_display_loading_effect_mode
chmod 0666 /sys/class/drm/card0-DSI-1/native_display_customer_srgb_mode
chmod 0666 /sys/class/drm/card0-DSI-1/native_display_customer_p3_mode
chmod 0666 /sys/class/drm/card0-DSI-1/dimlayer_bl_en
chmod 0666 /sys/class/drm/card0-DSI-1/dither_en
# v-takey.zheng@SYSTEM, 2020/06/03 Add for oemlogkit camera log
chmod 0666 /sys/module/cam_debug_util/parameters/debug_mdl
# ifdef VENDOR_EDIT
# travis.oyang@OPTI, 2020/9/5, Add server for modem sleep info service.
chown system system /proc/rpmh_modem/sleepinfo
chmod 0660 /proc/rpmh_modem/sleepinfo
# endif /* VENDOR_EDIT */
on property:vendor.display.lcd_density=560
setprop dalvik.vm.heapgrowthlimit 256m
on property:vendor.display.lcd_density=640
setprop dalvik.vm.heapgrowthlimit 512m
on boot && property:persist.vendor.usb.controller.default=*
setprop vendor.usb.controller ${persist.vendor.usb.controller.default}
on property:vendor.usb.controller=*
setprop sys.usb.controller ${vendor.usb.controller}
on charger
trigger fs
start vendor.per_mgr
start vendor.mdm_launcher
start vendor.power_off_alarm
setprop sys.usb.controller a600000.dwc3
setprop sys.usb.configfs 1
service vendor.lowi /vendor/bin/sscrpcd
class core
user system
group system wakelock
capabilities BLOCK_SUSPEND
#pd-mapper
service vendor.pd_mapper /vendor/bin/pd-mapper
class core
user system
group system
#Peripheral manager
service vendor.per_mgr /vendor/bin/pm-service
class core
user system
group system
ioprio rt 4
service vendor.per_proxy /vendor/bin/pm-proxy
class core
user system
group system
disabled
service vendor.mdm_helper /vendor/bin/mdm_helper
class core
group system wakelock
disabled
service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh
class core
oneshot
# ifdef VENDOR_EDIT
# travis.oyang@OPTI, 2020/9/3, Add server for modem sleep info service.
service qmi_master_stats_service /vendor/bin/qmi-framework-tests/qmi_master_stats_service
class main
user system
group system
disabled
oneshot
# endif /* VENDOR_EDIT */
on property:init.svc.vendor.per_mgr=running
start vendor.per_proxy
on property:sys.shutdown.requested=*
stop vendor.per_proxy
#rowan.jia@MM.Display, 2020/02/11, add for ltm licenses
#ifdef/* VENDOR_EDIT */
on property:sys.boot_completed=1
copy /vendor/etc/OnePlus_QC_LTM_Commercial_SM8250_2020_02_07.pfm /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-2013248336.pfm
chmod 0600 /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-2013248336.pfm
chown system system /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-2013248336.pfm
#endif /* VENDOR_EDIT */
#yuquan.fei@yuquan.fei, 2020/07/29, use cnss_diag to grab WiFi log
#ifdef/* VENDOR_EDIT */
#on property:vold.decrypt=trigger_restart_framework
# start vendor.cnss_diag
#endif /* VENDOR_EDIT */
service vendor.cnss_diag /system/vendor/bin/cnss_diag -q -f -b 128 -t HELIUM
class main
user system
group system wifi inet sdcard_rw media_rw diag
disabled
oneshot
#ifdef VENDOR_EDIT
# ajinath@SYSTEM, 2020/01/16, [OSP-2080] Recovery boot reason
on property:vendor.oem.rbr.log.clean=1
rm /mnt/vendor/op2/rbr_log/.last_init_boot_failed.log.busy
rm /mnt/vendor/op2/rbr_log/.last_init_boot_failed.log.done
rm /mnt/vendor/op2/rbr_log/last_init_boot_failed.log
rm /mnt/vendor/op2/rbr_log/last_init_boot_failed.1.log
rm /mnt/vendor/op2/rbr_log/last_system_boot_failed.log
rm /mnt/vendor/op2/rbr_log/crash_recovery_log.txt
setprop vendor.oem.rbr.log.clean 0
#endif /* VENDOR_EDIT */
service dcvs-sh /vendor/bin/init.qti.dcvs.sh
class late_start
user root
group root system
disabled
oneshot
on property:vendor.dcvs.prop=1
start dcvs-sh

View file

@ -1,2 +0,0 @@
# Add device block for FRP
/dev/block/platform/soc/1d84000.ufshc/by-name/config 0600 system system

View file

@ -0,0 +1,40 @@
on post-fs-data
chmod 0666 /dev/block/sda6
chmod 0666 /dev/param
service wcnss-service-f /system/bin/wcnss_service -f
class main
user root
group system wifi radio
oneshot
disabled
service factory /vendor/bin/factory
class late_start
disabled
service ftm_power_config /vendor/bin/sh /vendor/etc/init/hw/ftm_power_config.sh
class late_start
user root
disabled
oneshot
on oem_ftm
chmod 0666 /sys/module/sysctl/parameters/oem_en_chg_prk_lv
chmod 0666 /sys/class/drm/card0-DSI-1/panel_serial_number_AT
chown system system /vendor/bin/factory
chmod 0755 /vendor/bin/factory
chown system system /vendor/bin/ptt_socket_app
chmod 0755 /vendor/bin/ptt_socket_app
write /sys/class/power_supply/battery/charging_enabled 0
start qcom-sh
start vendor.qmuxd
start ptt_ffbm
start ftm_power_config
start cnss-daemon
start qcom-c_main-sh
write /dev/kmsg "factory boot mode is:${ro.vendor.factory.mode}"
start vendor.mdm_launcher
on property:ro.vendor.factory.mode=ftm
start factory

View file

@ -0,0 +1,74 @@
# this file should import init.rc and then add some oem defined service
#this service is a non-use service and just use to duplicate real console service
service console /system/bin/xxx
class core
console
disabled
user root
group shell log
oneshot
seclabel u:r:shell:s0
#this service is a non-use service and just use to duplicate real surfaceflinger service
service surfaceflinger /system/bin/xxx
class core
oneshot
disabled
service vendor.fps_hal /vendor/bin/hw/XXX
class hal
user system
group system input uhid everybody
disabled
#disable below services to solve AT current peaks issue start
service zygote /system/bin/xxx
class main
user system
disabled
service zygote_secondary /system/bin/xxx
class main
user root
group root readproc reserved_disk
disabled
service vendor.cdsprpcd /vendor/bin/xxx
class main
user system
disabled
service cameraserver /system/bin/xxx
class late_start
user cameraserver
disabled
service iorapd /system/bin/xxx
class main
user iorapd
disabled
service feature_enabler_client /vendor/bin/xxx
class late_start
user system
disabled
service biometrics_face_service /vendor/bin/hw/xxx
class hal
user system
disabled
#disable below services to solve AT current peaks issue end
service oemasserttip /system/bin/xxx
class main
user system
disabled
service vendor.oneplus.cwb-1-0 /vendor/bin/hw/xxx
oneshot
disabled
service vendor.qti.hardware.display.composer /vendor/bin/hw/xxx
oneshot
disabled

413
rootdir/ueventd.rc Normal file
View file

@ -0,0 +1,413 @@
# Copyright (c) 2012-2015, 2017-2020, 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
#
# Firmware directory Path
# Below macro will be read by uevent and path will
# be added to search path for firmware loading
firmware_directories /vendor/firmware_mnt/image/
# the DIAG device node is not world writable/readable.
/dev/diag 0660 system oem_2901
/dev/mhi_*_pipe_4 0660 system system
/dev/genlock 0666 system system
/dev/wlan 0660 wifi wifi
/dev/kgsl 0666 system system
/dev/kgsl-3d0 0666 system system
/dev/kgsl-2d0 0666 root root
/dev/kgsl-2d1 0666 root root
/dev/ion 0664 system system
/dev/rtc0 0660 system system
/dev/smd0 0660 system system
/dev/smd4 0660 system system
/dev/smd_cxm_qmi 0640 radio radio
/dev/smd5 0660 system system
/dev/smd6 0660 system system
/dev/smd7 0660 bluetooth bluetooth
/dev/ccid_bridge 0660 system system
/dev/ipa 0660 radio radio
/dev/wwan_ioctl 0660 radio radio
/dev/ipaNatTable 0660 radio radio
/dev/rmnet_ctrl 0660 usb usb
/dev/dpl_ctrl 0660 usb usb
/dev/ipa_odl_ctl 0660 radio radio
/dev/ipa_adpl 0660 system oem_2905
/dev/synx_device 0660 root camera
/dev/hab 0666 system system
#permissions for UFS RPMB BSG device node
/dev/0:0:0:49476 0600 system system
#permissions for CSVT
/dev/smd11 0660 radio radio
#permsissions for BT/FM
/dev/smd2 0660 bluetooth bluetooth
/dev/smd3 0660 bluetooth bluetooth
/dev/btpower 0660 bluetooth system
#permissions for pta
/dev/pta 0660 system system
/dev/radio0 0640 system system
/dev/rfcomm0 0660 bluetooth bluetooth
/dev/ttyUSB0 0660 bluetooth bluetooth
/dev/smdcntl0 0640 radio radio
/dev/smdcntl1 0640 radio radio
/dev/smdcntl2 0640 radio radio
/dev/smdcntl3 0640 radio radio
/dev/smdcntl4 0640 radio radio
/dev/smdcntl5 0640 radio radio
/dev/smdcntl6 0640 radio radio
/dev/smdcntl7 0640 radio radio
/dev/smdcntl8 0640 radio radio
/dev/smdcnt_rev0 0640 radio radio
/dev/smdcnt_rev1 0640 radio radio
/dev/smdcnt_rev2 0640 radio radio
/dev/smdcnt_rev3 0640 radio radio
/dev/smdcnt_rev4 0640 radio radio
/dev/smdcnt_rev5 0640 radio radio
/dev/smdcnt_rev6 0640 radio radio
/dev/smdcnt_rev7 0640 radio radio
/dev/smdcnt_rev8 0640 radio radio
/dev/smuxctl32 0640 radio radio
/dev/sdioctl0 0640 radio radio
/dev/sdioctl1 0640 radio radio
/dev/sdioctl2 0640 radio radio
/dev/sdioctl3 0640 radio radio
/dev/sdioctl4 0640 radio radio
/dev/sdioctl5 0640 radio radio
/dev/sdioctl6 0640 radio radio
/dev/sdioctl7 0640 radio radio
/dev/sdioctl8 0640 radio radio
/dev/rmnet_mux_ctrl 0640 radio radio
/dev/hsicctl0 0640 radio radio
/dev/hsicctl1 0640 radio radio
/dev/hsicctl2 0640 radio radio
/dev/hsicctl3 0640 radio radio
/dev/hsicctl4 0640 radio radio
/dev/hsicctl5 0640 radio radio
/dev/hsicctl6 0640 radio radio
/dev/hsicctl7 0640 radio radio
/dev/hsicctl8 0640 radio radio
/dev/hsicctl9 0640 radio radio
/dev/hsicctl10 0640 radio radio
/dev/hsicctl11 0640 radio radio
/dev/hsicctl12 0640 radio radio
/dev/hsicctl13 0640 radio radio
/dev/hsicctl14 0640 radio radio
/dev/hsicctl15 0640 radio radio
/dev/hsicctl16 0640 radio radio
/dev/mhi_*_pipe_14 0640 radio radio
/dev/mhi_*_pipe_16 0640 radio radio
/dev/mhi_*_pipe_32 0640 radio radio
/dev/at_usb0 0640 radio radio
/dev/at_mdm0 0640 radio radio
/dev/video* 0660 system camera
/dev/cvp* 0660 system camera
/dev/media* 0660 system camera
/dev/v4l-subdev* 0660 system camera
/dev/qseecom 0660 system drmrpc
/dev/qce 0660 system drmrpc
/dev/smcinvoke 0660 system drmrpc
/dev/qsee_ipc_irq_spss 0660 system drmrpc
/dev/seemplog 0660 system system
/dev/pft 0660 system drmrpc
/dev/spcom 0660 system system
/dev/spss_utils 0660 system system
/dev/sp_kernel 0660 system system
/dev/sp_nvm 0660 system system
/dev/sp_ssr 0660 system system
/dev/sp_keymaster 0660 system system
/dev/sec_nvm_* 0660 system system
/dev/cryptoapp 0660 system system
/dev/spdaemon_ssr 0660 system system
/dev/spu_hal_ssr 0660 system system
/dev/iuicc* 0660 system system
/dev/gemini0 0660 system camera
/dev/jpeg0 0660 system camera
/dev/jpeg1 0660 system camera
/dev/jpeg2 0660 system camera
/dev/jpeg3 0660 system camera
/dev/adsprpc-smd 0664 system system
/dev/adsprpc-smd-secure 0644 system system
/dev/system_health_monitor 0644 radio system
/dev/mdss_rotator 0664 system system
# liochen@BSP, 2016/12/13, Revise the permissions for FRP and Param
/dev/block/by-name/config 0600 system system
/dev/block/by-name/param 0660 root system
# narci.gu@SYSTEM, 2020/05/13, add for serial number writing by wifi adb
/dev/block/sde72 0600 system system
/dev/block/bootdevice/by-name/reserve1 0600 system system
#QDSS
/dev/byte-cntr 0660 system oem_2902
/dev/mhi_qdss 0660 system oem_2902
/sys/class/qdss_bridge/mhi_qdss mode 0660 system oem_2902
#qg
/dev/qg 0660 system system
/dev/qg_battery 0660 system system
#qvr
/dev/qvr_external_sensor_ioctl 0660 system system
/sys/kernel/qvr_external_sensor/fd 0660 system system
# wlan
/dev/wcnss_wlan 0660 system system
/dev/wcnss_ctrl 0660 system system
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system
/dev/spidev0.0 0660 system audio
/dev/i2c-7 0660 system audio
/dev/msm_camera/* 0660 system camera
/dev/gemini/ 0660 system camera
/dev/mercury0 0660 system camera
/dev/msm_vidc_reg 0660 system audio
/dev/msm_vidc_dec 0660 system audio
/dev/msm_vidc_dec_sec 0660 system audio
/dev/msm_vidc_enc 0660 system audio
/dev/msm_rotator 0660 system system
/dev/hw_random 0600 root root
/dev/sdsprpc-smd 0660 system system
#permissions for audio
/dev/wcd_dsp0_control 0660 system audio
/dev/wcd-dsp-glink 0660 system audio
/dev/audio_slimslave 0660 system audio
/dev/msm_qcelp 0660 system audio
/dev/msm_evrc 0660 system audio
/dev/msm_wma 0660 system audio
/dev/msm_wmapro 0660 system audio
/dev/msm_alac 0660 system audio
/dev/msm_ape 0660 system audio
/dev/msm_amrnb 0660 system audio
/dev/msm_amrwb 0660 system audio
/dev/msm_amrwbplus 0660 system audio
/dev/msm_aac 0660 system audio
/dev/msm_multi_aac 0660 system audio
/dev/msm_aac_in 0660 system audio
/dev/msm_qcelp_in 0660 system audio
/dev/msm_evrc_in 0660 system audio
/dev/msm_amrnb_in 0660 system audio
/dev/msm_amrwb_in 0660 system audio
/dev/msm_a2dp_in 0660 system audio
/dev/msm_ac3 0660 system audio
/dev/msm_audio_cal 0660 system audio
/dev/msm_hweffects 0660 system audio
/dev/msm_cad 0660 system audio
/dev/msm_fm 0660 system audio
/dev/msm_mvs 0660 system audio
/dev/msm_pcm_lp_dec 0660 system audio
/dev/msm_preproc_ctl 0660 system audio
/dev/msm_rtac 0660 system audio
/dev/msm_voicememo 0660 system audio
/dev/ttyHSL1 0660 system system
/dev/ttyHS1 0660 system system
/dev/mdm 0660 system radio
/sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio
/dev/sdio_tty_ciq_00 0660 system system
/dev/tty_sdio_00 0660 system system
/dev/ttyGS0 0660 system system
/dev/i2c-5 0660 media media
/dev/avtimer 0660 system audio
/dev/spidev2.0 0660 system audio
# DVB devices
/dev/dvb/adapter0/demux* 0440 media media
/dev/dvb/adapter0/dvr* 0660 media media
/dev/dvb/adapter0/video* 0660 media media
# Broadcast devices
/dev/tsc_mux0 0660 media media
/dev/tsc_ci0 0660 media media
# sensors
/dev/sensors 0660 system system
/sys/devices/i2c-12/12-* pollrate_ms 0664 system system
/sys/devices/f9925000.i2c/i2c-0/0-* enable 0660 input system
/sys/devices/f9925000.i2c/i2c-0/0-* poll_delay 0660 input system
/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable 0660 input system
/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* poll_delay 0660 input system
/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system
/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system
/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system
/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system
/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable 0660 input system
/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* poll_delay 0660 input system
/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable_wakeup 0660 input system
/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* max_latency 0660 input system
/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* flush 0660 input system
/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* calibrate 0660 input system
/sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system
/sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system
/sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system
/sys/devices/virtual/optical_sensors/lightsensor ls_poll_delay 0660 input system
/sys/devices/virtual/input/input* poll 0660 input system
/sys/devices/virtual/input/input* pollrate_ms 0660 input system
/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch 0440 system drmrpc
/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch_enable 0660 system drmrpc
/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch 0440 system drmrpc
/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch_enable 0660 system drmrpc
/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch 0440 system drmrpc
/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch_enable 0660 system drmrpc
/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch 0440 system drmrpc
/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch_enable 0660 system drmrpc
/sys/devices/platform/soc/a98000.i2c/i2c-2/2-0020/input/input* secure_touch 0440 system drmrpc
/sys/devices/platform/soc/a98000.i2c/i2c-2/2-0020/input/input* secure_touch_enable 0660 system drmrpc
/sys/devices/platform/soc/a84000.i2c/i2c-2/2-0020/input/input* secure_touch 0440 system drmrpc
/sys/devices/platform/soc/a84000.i2c/i2c-2/2-0020/input/input* secure_touch_enable 0660 system drmrpc
# GNSS Device premissions
/dev/gnss_sirf 0660 gps gps
# laser sensor access
/sys/devices/virtual/input/input* enable_ps_sensor 0660 system input
/sys/devices/virtual/input/input* set_delay_ms 0660 system input
/sys/devices/virtual/input/input* do_flush 0660 system input
# vm_bms
/dev/vm_bms 0660 system system
/dev/battery_data 0660 system system
# wlan
/dev/wcnss_wlan 0660 system system
/dev/wcnss_ctrl 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
# wigig
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
#nfc permissions
/dev/nfc-nci 0660 nfc nfc
/dev/nq-nci 0660 nfc nfc
/dev/assd 0660 nfc nfc
# UIO devices
/dev/uio0 0660 system system
/dev/uio1 0660 system system
/dev/uio2 0660 system system
# SSR devices
/dev/subsys_* 0640 system system
# Ultrasound device
/dev/usf1 0660 system system
# Ramdump devices
/dev/ramdump* 0640 system system
# Fingerprint device
/dev/qbt* 0660 system system
/sys/class/fts/touch_aoi aoi_set 0660 root system
/sys/class/fts/touch_aoi power_set 0660 root system
#ImproveTouch device
/dev/hbtp_input 0660 system system
/dev/hbtp_vm 0660 system system
# Add device block for FRP
/dev/block/platform/soc/7824900.sdhci/by-name/config 0600 system system
/dev/block/platform/soc/7464900.sdhci/by-name/frp 0600 system system
/dev/block/platform/soc/624000.ufshc/by-name/frp 0600 system system
/dev/block/platform/soc/1da4000.ufshc/by-name/frp 0600 system system
/dev/block/platform/soc/c0c4000.sdhci/by-name/frp 0600 system system
/dev/block/platform/soc/1d84000.ufshc/by-name/frp 0600 system system
/dev/block/platform/soc/7c4000.sdhci/by-name/frp 0600 system system
/dev/block/platform/soc/4744000.sdhci/by-name/frp 0600 system system
/dev/block/platform/soc/4804000.ufshc/by-name/frp 0600 system system
# This is temporary while using SD card for initial bring-up
/dev/block/platform/soc/8804000.sdhci/by-name/frp 0600 system system
# Kmsg device
/dev/kmsg 0620 root system
# LED class devices
/sys/class/leds/red delay_on 0640 system system
/sys/class/leds/red delay_off 0640 system system
/sys/class/leds/red breath 0640 system system
/sys/class/leds/red trigger 0640 system system
/sys/class/leds/green delay_on 0640 system system
/sys/class/leds/green delay_off 0640 system system
/sys/class/leds/green breath 0640 system system
/sys/class/leds/green trigger 0640 system system
/sys/class/leds/blue delay_on 0640 system system
/sys/class/leds/blue delay_off 0640 system system
/sys/class/leds/blue breath 0640 system system
/sys/class/leds/blue trigger 0640 system system
# NPU device
/dev/msm_npu 0644 system system
# USB role switch
/sys/class/dual_role_usb/* data_role 0660 system system
/sys/class/dual_role_usb/* power_role 0660 system system
/sys/class/dual_role_usb/* mode 0660 system system
#Memory Offline
/sys/devices/system/memory/memory* state 0660 system system
/sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics
# sys-fs display
/sys/class/graphics/fb* hpd 0664 system graphics
/sys/class/graphics/fb* res_info 0664 system graphics
/sys/class/graphics/fb* vendor_name 0664 system graphics
/sys/class/graphics/fb* product_description 0664 system graphics
/sys/class/graphics/fb* video_mode 0664 system graphics
/sys/class/graphics/fb* format_3d 0664 system graphics
/sys/class/graphics/fb* s3d_mode 0664 system graphics
/sys/class/graphics/fb* dynamic_fps 0664 system graphics
/sys/class/graphics/fb* msm_fb_dfps_mode 0664 system graphics
/sys/class/graphics/fb* hdr_stream 0664 system graphics
/sys/class/graphics/fb* cec/enable 0664 system graphics
/sys/class/graphics/fb* cec/logical_addr 0664 system graphics
/sys/class/graphics/fb* cec/rd_msg 0664 system graphics
/sys/class/graphics/fb* pa 0664 system graphics
/sys/class/graphics/fb* cec/wr_msg 0600 system graphics
/sys/class/graphics/fb* hdcp/tp 0664 system graphics
/sys/class/graphics/fb* hdcp2p2/min_level_change 0660 system graphics
/sys/class/graphics/fb* hdmi_audio_cb 0600 audioserver audio
/sys/class/graphics/fb* lineptr_value 0664 system graphics
/sys/class/graphics/fb* msm_fb_persist_mode 0664 system graphics
/sys/class/graphics/fb0 idle_time 0664 system graphics
/sys/class/graphics/fb0 dynamic_fps 0664 system graphics
/sys/class/graphics/fb0 dyn_pu 0664 system graphics
/sys/class/graphics/fb0 modes 0664 system graphics
/sys/class/graphics/fb0 mode 0664 system graphics
/sys/class/graphics/fb0 msm_cmd_autorefresh_en 0664 system graphics