zenfone7: Import LA.UM.9.12.r1-17600.04-SMxx50.QSSI14.0 init script changes
Change-Id: Ief25c42e7b92800e573c4e289acfbc382b987ab1
diff --git a/prebuilt/vendor/bin/init.class_main.sh b/prebuilt/vendor/bin/init.class_main.sh
index c4159fc..8ecdf08 100755
--- a/prebuilt/vendor/bin/init.class_main.sh
+++ b/prebuilt/vendor/bin/init.class_main.sh
@@ -33,12 +33,12 @@
baseband=`getprop ro.baseband`
sgltecsfb=`getprop persist.vendor.radio.sglte_csfb`
datamode=`getprop persist.vendor.data.mode`
+low_ram=`getprop ro.config.low_ram`
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
@@ -86,12 +86,10 @@
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
@@ -129,11 +127,15 @@
case "$datamode" in
"tethered")
start vendor.dataqti
- start vendor.dataadpl
+ if [ "$low_ram" != "true" ]; then
+ start vendor.dataadpl
+ fi
;;
"concurrent")
start vendor.dataqti
- start vendor.dataadpl
+ if [ "$low_ram" != "true" ]; then
+ start vendor.dataadpl
+ fi
;;
*)
;;
diff --git a/prebuilt/vendor/bin/init.qcom.early_boot.sh b/prebuilt/vendor/bin/init.qcom.early_boot.sh
index 2dce395..fc90810 100755
--- a/prebuilt/vendor/bin/init.qcom.early_boot.sh
+++ b/prebuilt/vendor/bin/init.qcom.early_boot.sh
@@ -1,6 +1,6 @@
#! /vendor/bin/sh
-# Copyright (c) 2012-2013,2016,2018-2020 The Linux Foundation. All rights reserved.
+# Copyright (c) 2012-2013,2016,2018-2021 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:
@@ -26,6 +26,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+#Changes from Qualcomm Innovation Center are provided under the following license:
+#Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+#SPDX-License-Identifier: BSD-3-Clause-Clear
+#
export PATH=/vendor/bin
@@ -255,6 +259,9 @@
# 196610 is decimal for 0x30002 to report version 3.2
case "$soc_hwid" in
294|295|296|297|298|313|353|354|363|364)
+ # Disable adsprpcd_sensorspd daemon
+ setprop vendor.fastrpc.disable.adsprpcd_sensorspd.daemon 1
+
setprop vendor.opengles.version 196610
if [ $soc_hwid = 354 ]
then
@@ -262,10 +269,13 @@
log -t BOOT -p i "SDM429 early_boot prop set for: HwID '$soc_hwid'"
fi
;;
- 303|307|308|309|320)
+ 303|307|308|309|320|386|436)
# Vulkan is not supported for 8917 variants
setprop vendor.opengles.version 196608
setprop persist.graphics.vulkan.disable true
+ setprop vendor.gralloc.disable_ahardware_buffer 1
+ # Disable adsprpcd_sensorspd daemon
+ setprop vendor.fastrpc.disable.adsprpcd_sensorspd.daemon 1
;;
*)
setprop vendor.opengles.version 196608
@@ -335,13 +345,40 @@
setprop vendor.media.target.version 3
fi
;;
+ 476)
+ # Fraser soc_id 476
+ setprop vendor.display.enable_qsync_idle 1
+ ;;
esac
;;
"bengal")
case "$soc_hwid" in
- 441)
+ 441|473)
+ # 441 is for scuba and 473 for scuba iot qcm
+ setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
+ setprop vendor.media.target.version 2
+ setprop vendor.gralloc.disable_ubwc 1
+ setprop vendor.display.enhance_idle_time 1
+ setprop vendor.netflix.bsp_rev ""
+ # 196609 is decimal for 0x30001 to report version 3.1
+ setprop vendor.opengles.version 196609
+ sku_ver=`cat /sys/devices/platform/soc/5a00000.qcom,vidc1/sku_version` 2> /dev/null
+ if [ $sku_ver -eq 1 ]; then
+ setprop vendor.media.target.version 3
+ fi
+ ;;
+ 471|474)
+ # 471 is for scuba APQ and 474 for scuba iot qcs
setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
setprop vendor.gralloc.disable_ubwc 1
+ setprop vendor.display.enhance_idle_time 1
+ setprop vendor.netflix.bsp_rev ""
+ ;;
+ 518|561|586)
+ setprop vendor.media.target.version 3
+ ;;
+ 585)
+ setprop vendor.media.target.version 4
;;
esac
;;
@@ -390,7 +427,27 @@
;;
esac
;;
+ "holi")
+ setprop vendor.media.target_variant "_holi"
+ ;;
esac
+case "$target" in
+ "msm8937")
+ case "$soc_hwid" in
+ 386|354|353|303)
+ # enable qrtr-ns service for kernel 4.14 or above
+ KernelVersionStr=`cat /proc/sys/kernel/osrelease`
+ KernelVersionS=${KernelVersionStr:2:2}
+ KernelVersionA=${KernelVersionStr:0:1}
+ KernelVersionB=${KernelVersionS%.*}
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 14 ]; then
+ setprop init.svc.vendor.qrtrns.enable 1
+ fi
+ ;;
+ esac
+ ;;
+ esac
baseband=`getprop ro.baseband`
#enable atfwd daemon all targets except sda, apq, qcs
@@ -444,6 +501,14 @@
*)
;;
esac
+
+case "$product" in
+ "msmnile_gvmgh")
+ setprop vendor.display.lcd_density 160
+ ;;
+ *)
+ ;;
+esac
# Setup display nodes & permissions
# HDMI can be fb1 or fb2
# Loop through the sysfs nodes and determine
diff --git a/prebuilt/vendor/bin/init.qcom.post_boot.sh b/prebuilt/vendor/bin/init.qcom.post_boot.sh
index 28cb63c..0ad8315 100755
--- a/prebuilt/vendor/bin/init.qcom.post_boot.sh
+++ b/prebuilt/vendor/bin/init.qcom.post_boot.sh
@@ -26,50 +26,217 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+# Changes from Qualcomm Innovation Center are provided under the following license:
+# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+# SPDX-License-Identifier: BSD-3-Clause-Clear
+#
function 8953_sched_dcvs_eas()
{
- #governor settings
- echo 1 > /sys/devices/system/cpu/cpu0/online
- echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 1401600 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq
- #default value for hispeed_load is 90, for 8953 and sdm450 it should be 85
- echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ #governor settings
+ echo 1 > /sys/devices/system/cpu/cpu0/online
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 1401600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8953 and sdm450 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
+
+ echo 652800 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+
+ #input boost params
+ echo 1401600 > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+
+ # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
+ echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
+
+ # Enable bus-dcvs
+ for device in /sys/devices/platform/soc
+ do
+ for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 34 > $cpubw/bw_hwmon/io_percent
+ echo 0 > $cpubw/bw_hwmon/guard_band_mbps
+ echo 20 > $cpubw/bw_hwmon/hist_memory
+ echo 10 > $cpubw/bw_hwmon/hyst_length
+ echo 1600 > $cpubw/bw_hwmon/idle_mbps
+ echo 20 > $cpubw/bw_hwmon/low_power_delay
+ echo 34 > $cpubw/bw_hwmon/low_power_io_percent
+ echo "1611 3221 5859 6445 7104" > $cpubw/bw_hwmon/mbps_zones
+ echo 4 > $cpubw/bw_hwmon/sample_ms
+ echo 250 > $cpubw/bw_hwmon/up_scale
+ echo 1611 > $cpubw/min_freq
+ done
+ done
+ else
+ #governor settings
+ echo 1 > /sys/devices/system/cpu/cpu0/online
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 1401600 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8953 and sdm450 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load
+
+ echo 652800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+
+ fi
}
function 8917_sched_dcvs_eas()
{
- #governor settings
- echo 1 > /sys/devices/system/cpu/cpu0/online
- echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 1094400 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq
- #default value for hispeed_load is 90, for 8917 it should be 85
- echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ #governor settings
+ echo 1 > /sys/devices/system/cpu/cpu0/online
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 1094400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8917 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
+
+ echo 960000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+
+ #input boost params
+ echo 1094400 > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+
+ # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
+ echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost
+
+ # Enable bus-dcvs
+ for device in /sys/devices/platform/soc
+ do
+ for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 20 > $cpubw/bw_hwmon/io_percent
+ echo 30 > $cpubw/bw_hwmon/guard_band_mbps
+ done
+ done
+ else
+ #governor settings
+ echo 1 > /sys/devices/system/cpu/cpu0/online
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 1094400 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8917 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpufreq/schedutil/hispeed_load
+
+ echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ fi
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+ fi
}
function 8937_sched_dcvs_eas()
{
- # enable governor for perf cluster
- echo 1 > /sys/devices/system/cpu/cpu0/online
- echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
- #default value for hispeed_load is 90, for 8937 it should be 85
- echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
- ## enable governor for power cluster
- echo 1 > /sys/devices/system/cpu/cpu4/online
- echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
- #default value for hispeed_load is 90, for 8937 it should be 85
- echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ # enable governor for perf cluster
+ echo 1 > /sys/devices/system/cpu/cpu0/online
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 1094400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8937 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
+ echo 960000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+
+ ## enable governor for power cluster
+ echo 1 > /sys/devices/system/cpu/cpu4/online
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
+ #set the hispeed_freq
+ echo 768000 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8937 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rtg_boost_freq
+
+ echo 768000 > /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq
+
+ #input boost params
+ echo 109440 > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+
+ # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
+ echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
+
+ # Enable bus-dcvs
+ for device in /sys/devices/platform/soc
+ do
+ for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 20 > $cpubw/bw_hwmon/io_percent
+ echo 30 > $cpubw/bw_hwmon/guard_band_mbps
+ done
+ done
+ else
+ # enable governor for perf cluster
+ echo 1 > /sys/devices/system/cpu/cpu0/online
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8937 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
+ ## enable governor for power cluster
+ echo 1 > /sys/devices/system/cpu/cpu4/online
+ echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
+ #set the hispeed_freq
+ echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
+ #default value for hispeed_load is 90, for 8937 it should be 85
+ echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
+
+ echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
+ fi
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+ fi
}
function configure_automotive_sku_parameters() {
@@ -78,12 +245,19 @@
echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
echo 1171200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq
echo 1785600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+ echo 902400000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/min_freq
+ echo 902400000 > /sys/class/devfreq/18321110.qcom,cpu4-cpu-l3-lat/min_freq
+ echo 902400000 > /sys/class/devfreq/18321110.qcom,cpu7-cpu-l3-lat/min_freq
+ echo 1612800000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/max_freq
+ echo 1612800000 > /sys/class/devfreq/18321110.qcom,cpu4-cpu-l3-lat/max_freq
+ echo 1612800000 > /sys/class/devfreq/18321110.qcom,cpu7-cpu-l3-lat/max_freq
echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq
echo 902400000 > /sys/class/devfreq/soc\:qcom,cpu7-cpu-l3-lat/min_freq
echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq
echo 1612800000 > /sys/class/devfreq/soc\:qcom,cpu7-cpu-l3-lat/max_freq
+
#read feature id from nvram
reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4`
feature_id=$(((reg_val >> 20) & 0xFF))
@@ -103,6 +277,50 @@
fi
}
+function configure_automotive_sku_parameters_sa8195() {
+
+ #Setting the min supported frequencies
+ echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ echo 1171200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/min_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu4-cpu-l3-lat/min_freq
+ echo 1651200000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/max_freq
+ echo 1651200000 > /sys/class/devfreq/18321110.qcom,cpu4-cpu-l3-lat/max_freq
+ echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
+ echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq
+ echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
+ echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq
+
+ #read feature id
+ reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4`
+ feature_id=$(((reg_val >> 20) & 0xFF))
+
+ #setting min gpu freq to 392 MHz
+ echo 4 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
+ if [ $feature_id == 0 ]; then
+ echo "feature_id is 0 for SA8195AA"
+
+ #setting max cpu freq to 2.496GHz
+ echo 2496000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
+ #setting max gpu freq to 530 MHz
+ echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
+ echo 1804 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
+ elif [ $feature_id == 1 ] || [ $feature_id == 2 ]; then
+ echo "feature_id is 1 for external SA8195AB"
+ echo "feature_id is 2 for internal SA8195AB"
+
+ #setting max cpu freq to 2.496GHz
+ echo 2496000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
+ #setting max gpu freq to 670 MHz
+ echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
+ echo 2092 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
+ elif [ $feature_id == 3 ]; then
+ echo "feature_id is 3 for external SA8195AC"
+ else
+ echo "unknown feature_id value" $feature_id
+ fi
+}
+
function configure_sku_parameters() {
#read feature id from nvram
@@ -127,13 +345,18 @@
echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq
echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq
echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/min_freq
+ echo 1017600000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/min_freq
+ echo 1017600000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq
echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq
echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
- echo {class:ddr, res:fixed, val: 1016} > /sys/kernel/debug/aop_send_message
+ echo 1016 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
setprop vendor.sku_identified 1
+ setprop vendor.sku_name "SA6145"
elif [ $feature_id == 5 ]; then
echo "SKU Configured : SA6150"
echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
@@ -152,14 +375,19 @@
echo 998400 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq
echo 1708800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq
echo 1708800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/min_freq
+ echo 1363200000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/min_freq
+ echo 1363200000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq
echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq
echo 2 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
- echo {class:ddr, res:fixed, val: 1333} > /sys/kernel/debug/aop_send_message
+ echo 1333 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
setprop vendor.sku_identified 1
-elif [ $feature_id == 4 || $feature_id == 3 ]; then
+ setprop vendor.sku_name "SA6150"
+elif [ $feature_id == 4 ] || [ $feature_id == 3 ]; then
echo "SKU Configured : SA6155"
echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
@@ -177,15 +405,20 @@
echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq
echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq
echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/min_freq
+ echo 1363200000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/min_freq
+ echo 1363200000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq
echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq
echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
- echo {class:ddr, res:fixed, val: 1555} > /sys/kernel/debug/aop_send_message
+ echo 1555 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
setprop vendor.sku_identified 1
+ setprop vendor.sku_name "SA6155"
else
- echo "unknown feature_id value" $feature_id
+ echo "SKU Configured : SA6155"
echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
@@ -202,13 +435,18 @@
echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq
echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq
echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/min_freq
+ echo 1363200000 > /sys/class/devfreq/18321110.qcom,cpu0-cpu-l3-lat/max_freq
+ echo 940800000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/min_freq
+ echo 1363200000 > /sys/class/devfreq/18321110.qcom,cpu6-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq
echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq
echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
- echo {class:ddr, res:fixed, val: 1555} > /sys/kernel/debug/aop_send_message
+ echo 1555 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
setprop vendor.sku_identified 1
+ setprop vendor.sku_name "SA6155"
fi
}
@@ -470,22 +708,48 @@
function sdm660_sched_schedutil_dcvs() {
- # configure governor settings for little cluster
- echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
- echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
- echo 1401600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ # configure governor settings for little cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 1401600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+ echo 633600 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+ echo 902400 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
- # configure governor settings for big cluster
- echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
- echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
- echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
+ # configure governor settings for big cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
+ echo 1401600 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
+ echo 1113600 > /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rtg_boost_freq
+ else
+ # configure governor settings for little cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
+ echo 1401600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+
+ # configure governor settings for big cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
+ echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
+ fi
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
- echo "0:1401600" > /sys/module/cpu_boost/parameters/input_boost_freq
- echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+ #if the kernel version >=4.19,set input_boost_freq accordingly
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ echo "0:1401600" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
+ echo 40 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
+ else
+ echo "0:1401600" > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+ fi
# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
@@ -520,24 +784,37 @@
echo 1600 > $cpubw/bw_hwmon/idle_mbps
done
- for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat
- do
- echo "mem_latency" > $memlat/governor
- echo 10 > $memlat/polling_interval
- echo 400 > $memlat/mem_latency/ratio_ceil
- done
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -le 14 ]; then
+ for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat
+ do
+ echo "mem_latency" > $memlat/governor
+ echo 10 > $memlat/polling_interval
+ echo 400 > $memlat/mem_latency/ratio_ceil
+ done
- for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor*
- do
- echo "compute" > $latfloor/governor
- echo 10 > $latfloor/polling_interval
- done
-
+ for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor*
+ do
+ echo "compute" > $latfloor/governor
+ echo 10 > $latfloor/polling_interval
+ done
+ fi
done
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+ fi
+
}
target=`getprop ro.board.platform`
+KernelVersionStr=`cat /proc/sys/kernel/osrelease`
+KernelVersionS=${KernelVersionStr:2:2}
+KernelVersionA=${KernelVersionStr:0:1}
+KernelVersionB=${KernelVersionS%.*}
+
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
@@ -547,36 +824,32 @@
# Zram disk - 75% for Go devices.
# For 512MB Go device, size = 384MB, set same for Non-Go.
# For 1GB Go device, size = 768MB, set same for Non-Go.
- # For >=2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB.
+ # For 2GB Go device, size = 1536MB, set same for Non-Go.
+ # For >2GB Non-Go devices, size = 50% of RAM size. Limit the size to 4GB.
# And enable lz4 zram compression for Go targets.
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
- let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
diskSizeUnit=M
-
- # use MB avoid 32 bit overflow
- if [ $RamSizeGB -gt 8 ]; then
- let zRamSizeMB=4096
- elif [ $RamSizeGB -le 8 -a $RamSizeGB -gt 7 ]; then
- let zRamSizeMB="($RamSizeGB/2 - 1) * 1024"
+ if [ $RamSizeGB -le 2 ]; then
+ let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
+ else
+ let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
fi
- #if [ "$low_ram" == "true" ]; then
+ # use MB avoid 32 bit overflow
+ if [ $zRamSizeMB -gt 4096 ]; then
+ let zRamSizeMB=4096
+ fi
+
+ if [ "$low_ram" == "true" ]; then
echo lz4 > /sys/block/zram0/comp_algorithm
- #fi
+ fi
if [ -f /sys/block/zram0/disksize ]; then
if [ -f /sys/block/zram0/use_dedup ]; then
echo 1 > /sys/block/zram0/use_dedup
fi
- if [ $MemTotal -le 524288 ]; then
- echo 402653184 > /sys/block/zram0/disksize
- elif [ $MemTotal -le 1048576 ]; then
- echo 805306368 > /sys/block/zram0/disksize
- else
- zramDiskSize=$zRamSizeMB$diskSizeUnit
- echo $zramDiskSize > /sys/block/zram0/disksize
- fi
+ echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize
# ZRAM may use more memory than it saves if SLAB_STORE_USER
# debug option is enabled.
@@ -645,6 +918,13 @@
fi
}
+function disable_ppr()
+{
+ if [ -f /sys/module/process_reclaim/parameters/enable_process_reclaim ]; then
+ echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim
+ fi
+}
+
function configure_memory_parameters() {
# Set Memory parameters.
#
@@ -668,7 +948,7 @@
ProductName=`getprop ro.product.name`
low_ram=`getprop ro.config.low_ram`
-if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] ; then
+if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] || [ "$ProductName" == "sdmshrike_au" ]; then
# Enable ZRAM
configure_zram_parameters
configure_read_ahead_kb_values
@@ -676,11 +956,9 @@
echo 100 > /proc/sys/vm/swappiness
else
arch_type=`uname -m`
- MemTotalStr=`cat /proc/meminfo | grep MemTotal`
- MemTotal=${MemTotalStr:16:8}
# Set parameters for 32-bit Go targets.
- if [ $MemTotal -le 1048576 ] && [ "$low_ram" == "true" ]; then
+ if [ "$low_ram" == "true" ]; then
# Disable KLMK, ALMK, PPR & Core Control for Go devices
echo 0 > /sys/module/lowmemorykiller/parameters/enable_lmk
echo 0 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
@@ -738,9 +1016,9 @@
echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper
fi
- if [ "$ProductName" != "bengal_32" ]; then
- #bengal_32 has appcompaction enabled. So not needed
- # Set PPR parametersi for other targets
+ if [[ "$ProductName" != "bengal"* ]]; then
+ #bengal has appcompaction enabled. So not needed
+ # Set PPR parameters for other targets
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
@@ -767,6 +1045,16 @@
fi
fi
+ if [[ "$ProductName" == "bengal"* ]]; then
+ #Set PPR nomap parameters for bengal targets
+ echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim
+ echo 50 > /sys/module/process_reclaim/parameters/pressure_min
+ echo 70 > /sys/module/process_reclaim/parameters/pressure_max
+ echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff
+ echo 0 > /sys/module/process_reclaim/parameters/per_swap_size
+ echo 7680 > /sys/module/process_reclaim/parameters/tsk_nomap_swap_sz
+ fi
+
# Set allocstall_threshold to 0 for all targets.
# Set swappiness to 100 for all targets
echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold
@@ -817,6 +1105,31 @@
;;
esac
+# For Kodiak target for which cdsp is defective, we read remote cdsp status from fastrpc node
+# and if its value is false we disable cdsp daemon by setting the cdsp disable propety to true
+case "$target" in
+ "lahaina")
+ if [ -f /sys/devices/soc0/chip_family ]; then
+ chip_family_id=`cat /sys/devices/soc0/chip_family`
+ else
+ chip_family_id=-1
+ fi
+
+ case "$chip_family_id" in
+ "0x76")
+ if [ -f /sys/devices/platform/soc/soc:qcom,msm_fastrpc/remote_cdsp_status ]; then
+ remote_cdsp_status=`cat /sys/devices/platform/soc/soc:qcom,msm_fastrpc/remote_cdsp_status`
+ else
+ remote_cdsp_status=-1
+ fi
+
+ if [ $remote_cdsp_status -eq 0 ]; then
+ setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
+ fi
+ esac
+ ;;
+esac
+
case "$target" in
"msm7201a_ffa" | "msm7201a_surf")
echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
@@ -2102,16 +2415,12 @@
done
#if the kernel version >=4.9,use the schedutil governor
- KernelVersionStr=`cat /proc/sys/kernel/osrelease`
- KernelVersionS=${KernelVersionStr:2:2}
- KernelVersionA=${KernelVersionStr:0:1}
- KernelVersionB=${KernelVersionS%.*}
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then
8953_sched_dcvs_eas
else
8953_sched_dcvs_hmp
+ echo 652800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
fi
- echo 652800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
# Bring up all cores online
echo 1 > /sys/devices/system/cpu/cpu1/online
@@ -2150,6 +2459,10 @@
# Set Memory parameters
configure_memory_parameters
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ disable_ppr
+ fi
;;
esac
case "$soc_id" in
@@ -2228,7 +2541,8 @@
# configure governor settings for little cluster
echo 1 > /sys/devices/system/cpu/cpu0/online
echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
echo 1363200 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
#default value for hispeed_load is 90, for sdm632 it should be 85
echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
@@ -2241,7 +2555,8 @@
# configure governor settings for big cluster
echo 1 > /sys/devices/system/cpu/cpu4/online
echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
echo 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
#default value for hispeed_load is 90, for sdm632 it should be 85
echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
@@ -2362,42 +2677,41 @@
# core_ctl is not needed for 8917. Disable it.
disable_core_ctl
- for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
- do
- echo "cpufreq" > $devfreq_gov
- done
-
- for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor
- do
- echo "bw_hwmon" > $devfreq_gov
- for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+ if [ $KernelVersionA -le 4 ] && [ $KernelVersionB -le 9 ]; then
+ for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
do
- echo 20 > $cpu_io_percent
+ echo "cpufreq" > $devfreq_gov
done
- for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps
- do
- echo 30 > $cpu_guard_band
- done
- done
- for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
- do
- echo 40 > $gpu_bimc_io_percent
- done
+ for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor
+ do
+ echo "bw_hwmon" > $devfreq_gov
+ for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+ do
+ echo 20 > $cpu_io_percent
+ done
+ for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps
+ do
+ echo 30 > $cpu_guard_band
+ done
+ done
+
+ for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
+ do
+ echo 40 > $gpu_bimc_io_percent
+ done
+ fi
# disable thermal core_control to update interactive gov settings
echo 0 > /sys/module/msm_thermal/core_control/enabled
- KernelVersionStr=`cat /proc/sys/kernel/osrelease`
- KernelVersionS=${KernelVersionStr:2:2}
- KernelVersionA=${KernelVersionStr:0:1}
- KernelVersionB=${KernelVersionS%.*}
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then
8917_sched_dcvs_eas
else
8917_sched_dcvs_hmp
+ echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
fi
- echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+
# re-enable thermal core_control now
echo 1 > /sys/module/msm_thermal/core_control/enabled
@@ -2422,6 +2736,10 @@
echo 1 > /proc/sys/kernel/power_aware_timer_migration
# Set Memory parameters
configure_memory_parameters
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ disable_ppr
+ fi
;;
*)
;;
@@ -2447,43 +2765,41 @@
#disable sched_boost in 8937
echo 0 > /proc/sys/kernel/sched_boost
- for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
- do
- echo "cpufreq" > $devfreq_gov
- done
-
- for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor
- do
- echo "bw_hwmon" > $devfreq_gov
- for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+ if [ $KernelVersionA -le 4 ] && [ $KernelVersionB -le 9 ]; then
+ for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
do
- echo 20 > $cpu_io_percent
+ echo "cpufreq" > $devfreq_gov
done
- for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps
- do
- echo 30 > $cpu_guard_band
- done
- done
- for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
- do
- echo 40 > $gpu_bimc_io_percent
- done
+ for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor
+ do
+ echo "bw_hwmon" > $devfreq_gov
+ for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+ do
+ echo 20 > $cpu_io_percent
+ done
+ for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps
+ do
+ echo 30 > $cpu_guard_band
+ done
+ done
+
+ for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
+ do
+ echo 40 > $gpu_bimc_io_percent
+ done
+ fi
# disable thermal core_control to update interactive gov and core_ctl settings
echo 0 > /sys/module/msm_thermal/core_control/enabled
- KernelVersionStr=`cat /proc/sys/kernel/osrelease`
- KernelVersionS=${KernelVersionStr:2:2}
- KernelVersionA=${KernelVersionStr:0:1}
- KernelVersionB=${KernelVersionS%.*}
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 9 ]; then
8937_sched_dcvs_eas
else
8937_sched_dcvs_hmp
+ echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
fi
- echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
- echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
# Disable L2-GDHS low power modes
echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled
echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled
@@ -2523,6 +2839,9 @@
echo 1 > /proc/sys/kernel/power_aware_timer_migration
# Set Memory parameters
configure_memory_parameters
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ disable_ppr
+ fi
;;
*)
@@ -2540,51 +2859,104 @@
esac
# Apply settings for sdm429/sda429/sdm439/sda439
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
- for cpubw in /sys/class/devfreq/*qcom,mincpubw*
- do
- echo "cpufreq" > $cpubw/governor
- done
+ for device in /sys/devices/platform/soc
+ do
+ for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 20 > $cpubw/bw_hwmon/io_percent
+ echo 30 > $cpubw/bw_hwmon/guard_band_mbps
+ done
+ done
+ else
+ for cpubw in /sys/class/devfreq/*qcom,mincpubw*
+ do
+ echo "cpufreq" > $cpubw/governor
+ done
- for cpubw in /sys/class/devfreq/*qcom,cpubw*
- do
- echo "bw_hwmon" > $cpubw/governor
- echo 20 > $cpubw/bw_hwmon/io_percent
- echo 30 > $cpubw/bw_hwmon/guard_band_mbps
- done
+ for cpubw in /sys/class/devfreq/*qcom,cpubw*
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 20 > $cpubw/bw_hwmon/io_percent
+ echo 30 > $cpubw/bw_hwmon/guard_band_mbps
+ done
- for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
- do
- echo 40 > $gpu_bimc_io_percent
- done
+ for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
+ do
+ echo 40 > $gpu_bimc_io_percent
+ done
+ fi
case "$soc_id" in
"353" | "363" )
# Apply settings for sdm439/sda439
- # configure schedutil governor settings
- # enable governor for perf cluster
echo 1 > /sys/devices/system/cpu/cpu0/online
- echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 1497600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
- echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
- echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ echo 1 > /sys/devices/system/cpu/cpu4/online
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+
+ # configure schedutil governor settings
+ # enable governor for perf cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+
+ #set the hispeed_freq
+ echo 1497600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ echo 80 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
+ echo 960000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+
+ #input boost params
+ echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+
+ ## enable governor for power cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
+
+ #set the hispeed_freq
+ echo 998400 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
+ echo 85 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rtg_boost_freq
+ echo 768000 > /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq
+ else
+ # configure schedutil governor settings
+ # enable governor for perf cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
+
+ #set the hispeed_freq
+ echo 1497600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+ echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
+ echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+
+ ## enable governor for power cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
+
+ #set the hispeed_freq
+ echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
+ echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
+ echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
+ fi
+
# sched_load_boost as -6 is equivalent to target load as 85.
echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost
-
- ## enable governor for power cluster
- echo 1 > /sys/devices/system/cpu/cpu4/online
- echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
- echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
- echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
- # sched_load_boost as -6 is equivalent to target load as 85.
echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
@@ -2628,12 +3000,39 @@
# Apply settings for sdm429/sda429
# configure schedutil governor settings
echo 1 > /sys/devices/system/cpu/cpu0/online
- echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us
- #set the hispeed_freq
- echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
- echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
- echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+
+ #set the hispeed_freq
+ echo 1305600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ echo 80 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_load
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
+ echo 960000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+ #input boost params
+
+ echo 1305600 > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
+ else
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
+
+ #set the hispeed_freq
+ echo 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+ echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
+ echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ fi
+
# sched_load_boost as -6 is equivalent to target load as 85.
echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
@@ -2650,6 +3049,10 @@
# Set Memory parameters
configure_memory_parameters
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
+ disable_ppr
+ fi
+
#disable sched_boost
echo 0 > /proc/sys/kernel/sched_boost
@@ -2711,12 +3114,14 @@
panel=${panel:2:4}
fi
- if [ $panel -gt 1080 ]; then
- echo 2 > /proc/sys/kernel/sched_window_stats_policy
- echo 5 > /proc/sys/kernel/sched_ravg_hist_size
- else
- echo 3 > /proc/sys/kernel/sched_window_stats_policy
- echo 3 > /proc/sys/kernel/sched_ravg_hist_size
+ if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -le 14 ]; then
+ if [ $panel -gt 1080 ]; then
+ echo 2 > /proc/sys/kernel/sched_window_stats_policy
+ echo 5 > /proc/sys/kernel/sched_ravg_hist_size
+ else
+ echo 3 > /proc/sys/kernel/sched_window_stats_policy
+ echo 3 > /proc/sys/kernel/sched_ravg_hist_size
+ fi
fi
#Apply settings for sdm660, sdm636,sda636
case "$soc_id" in
@@ -2740,10 +3145,6 @@
echo 0-3 > /dev/cpuset/system-background/cpus
#if the kernel version >=4.14,use the schedutil governor
- KernelVersionStr=`cat /proc/sys/kernel/osrelease`
- KernelVersionS=${KernelVersionStr:2:2}
- KernelVersionA=${KernelVersionStr:0:1}
- KernelVersionB=${KernelVersionS%.*}
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 14 ]; then
sdm660_sched_schedutil_dcvs
else
@@ -2778,6 +3179,9 @@
;;
esac
+ # Disable cdsprpcd daemon for sdm630
+ setprop vendor.fastrpc.disable.cdsprpcd.daemon 1
+
# Setting b.L scheduler parameters
echo 85 > /proc/sys/kernel/sched_upmigrate
echo 85 > /proc/sys/kernel/sched_downmigrate
@@ -3078,7 +3482,7 @@
fi
case "$soc_id" in
- "394" )
+ "394" | "467" | "468" )
# Core control parameters on big
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
@@ -3445,7 +3849,7 @@
fi
case "$soc_id" in
- "400" | "440" )
+ "400" | "440" | "476" )
# Core control parameters on silver
echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
@@ -3516,8 +3920,7 @@
# Set Memory parameters
configure_memory_parameters
- rev=`cat /sys/devices/soc0/revision`
- if [ $rev == "2.0" ] || [ $rev == "2.0.2" ]; then
+ if [ `cat /sys/devices/soc0/revision` == "2.0" ]; then
# r2.0 related changes
echo "0:1075200" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
echo 610000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq
@@ -3732,7 +4135,6 @@
do
echo 1 > /sys/devices/virtual/npu/msm_npu/pwr
echo "bw_hwmon" > $npullccbw/governor
- echo 40 > $npullccbw/polling_interval
echo "2288 4577 7110 9155 12298 14236 16265" > $npullccbw/bw_hwmon/mbps_zones
echo 4 > $npullccbw/bw_hwmon/sample_ms
echo 100 > $npullccbw/bw_hwmon/io_percent
@@ -3741,6 +4143,7 @@
echo 30 > $npullccbw/bw_hwmon/down_thres
echo 0 > $npullccbw/bw_hwmon/guard_band_mbps
echo 250 > $npullccbw/bw_hwmon/up_scale
+ echo 40 > $npullccbw/polling_interval
echo 0 > /sys/devices/virtual/npu/msm_npu/pwr
done
done
@@ -3771,7 +4174,7 @@
fi
case "$soc_id" in
- "417" | "420" | "444" | "445" )
+ "417" | "420" | "444" | "445" | "469" | "470" )
# Core control is temporarily disabled till bring up
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
@@ -3809,6 +4212,9 @@
echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rtg_boost_freq
+ echo "0:1017600" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
+ echo 80 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
+
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
@@ -3877,9 +4283,112 @@
;;
esac
+ #power/perf tunings for khaje
+ case "$soc_id" in
+ "518" | "561" | "585" | "586" )
+
+ # Core control parameters on big
+ echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
+ echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
+ echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
+ echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
+ echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
+ echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
+
+ # Setting b.L scheduler parameters
+ echo 65 > /proc/sys/kernel/sched_downmigrate
+ echo 71 > /proc/sys/kernel/sched_upmigrate
+ echo 85 > /proc/sys/kernel/sched_group_downmigrate
+ echo 100 > /proc/sys/kernel/sched_group_upmigrate
+
+ # cpuset settings
+ echo 0-3 > /dev/cpuset/background/cpus
+ echo 0-3 > /dev/cpuset/system-background/cpus
+
+
+ # configure governor settings for little cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
+ echo 1516800 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+ echo 691200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq
+
+ # configure governor settings for big cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
+ echo 1344000 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
+ echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rtg_boost_freq
+
+ echo "0:1190000" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
+ echo 80 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
+
+ echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
+
+ # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
+ echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
+ echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
+ echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
+ echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
+
+ # Set Memory parameters
+ configure_memory_parameters
+
+ # Enable bus-dcvs
+
+ for device in /sys/devices/platform/soc
+ do
+ for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 50 > $cpubw/polling_interval
+ echo 762 > $cpubw/min_freq
+ echo "2288 3440 4173 5195 5859 7759 10322 11863 13763 15960" > $cpubw/bw_hwmon/mbps_zones
+ echo 85 > $cpubw/bw_hwmon/io_percent
+ echo 4 > $cpubw/bw_hwmon/sample_ms
+ echo 90 > $cpubw/bw_hwmon/decay_rate
+ echo 190 > $cpubw/bw_hwmon/bw_step
+ echo 20 > $cpubw/bw_hwmon/hist_memory
+ echo 0 > $cpubw/bw_hwmon/hyst_length
+ echo 80 > $cpubw/bw_hwmon/down_thres
+ echo 0 > $cpubw/bw_hwmon/guard_band_mbps
+ echo 250 > $cpubw/bw_hwmon/up_scale
+ echo 1600 > $cpubw/bw_hwmon/idle_mbps
+ done
+
+ done
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+
+ # colcoation v3 disabled
+ echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost
+ echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation
+
+ # Turn off scheduler boost at the end
+ echo 0 > /proc/sys/kernel/sched_boost
+
+ echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled
+ echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled
+ echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled
+ echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled
+ # Turn on sleep modes
+ echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
+
+ ;;
+ esac
+
# Scuba perf/power tunings
case "$soc_id" in
- "441" )
+ "441" | "471" | "473" | "474" )
# Quad-core device. disable core_ctl
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
@@ -3936,22 +4445,14 @@
echo 1600 > $cpubw/bw_hwmon/idle_mbps
done
- for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat
- do
- echo "mem_latency" > $memlat/governor
- echo 10 > $memlat/polling_interval
- echo 400 > $memlat/mem_latency/ratio_ceil
- done
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
- for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor*
- do
- echo "compute" > $latfloor/governor
- echo 10 > $latfloor/polling_interval
- done
done
# Disable low power modes. Enable it after LPM stable
- echo 1 > /sys/module/lpm_levels/parameters/sleep_disabled
+ echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
;;
esac
@@ -4756,6 +5257,211 @@
case "$target" in
"msmnile")
+ # cpuset parameters
+ target_varient=`getprop ro.build.product`
+ if [ "$target_varient" == "msmnile_gvmq" ] || [ "$target_varient" == "msmnile_gvmgh" ]; then
+ echo 4-7 > /dev/cpuset/background/cpus
+ echo 4-7 > /dev/cpuset/system-background/cpus
+
+ # Enable oom_reaper
+ if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then
+ echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper
+ else
+ echo 1 > /proc/sys/vm/reap_mem_on_sigkill
+ fi
+ # Disable wsf, beacause we are using efk.
+ # wsf Range : 1..1000 So set to bare minimum value 1.
+ echo 1 > /proc/sys/vm/watermark_scale_factor
+
+ # Disable wsf, beacause we are using efk.
+ # wsf Range : 1..1000 So set to bare minimum value 1.
+ echo 1 > /proc/sys/vm/watermark_scale_factor
+ # Enable oom_reaper
+ echo 1 > /proc/sys/vm/reap_mem_on_sigkill
+
+ else
+ # Core control parameters for gold
+ echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
+ echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
+ echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
+ echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
+ echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
+
+ # Core control parameters for gold+
+ echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus
+ echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres
+ echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres
+ echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms
+ echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres
+ # Controls how many more tasks should be eligible to run on gold CPUs
+ # w.r.t number of gold CPUs available to trigger assist (max number of
+ # tasks eligible to run on previous cluster minus number of CPUs in
+ # the previous cluster).
+ #
+ # Setting to 1 by default which means there should be at least
+ # 4 tasks eligible to run on gold cluster (tasks running on gold cores
+ # plus misfit tasks on silver cores) to trigger assitance from gold+.
+ echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh
+
+ # Disable Core control on silver
+ echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
+
+ # Setting b.L scheduler parameters
+ echo 95 95 > /proc/sys/kernel/sched_upmigrate
+ echo 85 85 > /proc/sys/kernel/sched_downmigrate
+ echo 100 > /proc/sys/kernel/sched_group_upmigrate
+ echo 10 > /proc/sys/kernel/sched_group_downmigrate
+
+ echo 0-3 > /dev/cpuset/background/cpus
+ echo 0-3 > /dev/cpuset/system-background/cpus
+
+
+
+ # configure governor settings for silver cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
+ echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+ echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
+
+ # configure governor settings for gold cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
+ echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
+
+ # configure governor settings for gold+ cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
+ echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
+
+ # configure input boost settings
+ echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms
+
+ # Disable wsf, beacause we are using efk.
+ # wsf Range : 1..1000 So set to bare minimum value 1.
+ echo 1 > /proc/sys/vm/watermark_scale_factor
+
+ # Enable oom_reaper
+ if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then
+ echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper
+ else
+ echo 1 > /proc/sys/vm/reap_mem_on_sigkill
+ fi
+
+ # Enable bus-dcvs
+ for device in /sys/devices/platform/soc
+ do
+ for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
+ echo 4 > $cpubw/bw_hwmon/sample_ms
+ echo 50 > $cpubw/bw_hwmon/io_percent
+ echo 20 > $cpubw/bw_hwmon/hist_memory
+ echo 10 > $cpubw/bw_hwmon/hyst_length
+ echo 30 > $cpubw/bw_hwmon/down_thres
+ echo 0 > $cpubw/bw_hwmon/guard_band_mbps
+ echo 250 > $cpubw/bw_hwmon/up_scale
+ echo 1600 > $cpubw/bw_hwmon/idle_mbps
+ echo 14236 > $cpubw/max_freq
+ echo 40 > $cpubw/polling_interval
+ done
+
+ for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
+ do
+ echo "bw_hwmon" > $llccbw/governor
+ echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones
+ echo 4 > $llccbw/bw_hwmon/sample_ms
+ echo 80 > $llccbw/bw_hwmon/io_percent
+ echo 20 > $llccbw/bw_hwmon/hist_memory
+ echo 10 > $llccbw/bw_hwmon/hyst_length
+ echo 30 > $llccbw/bw_hwmon/down_thres
+ echo 0 > $llccbw/bw_hwmon/guard_band_mbps
+ echo 250 > $llccbw/bw_hwmon/up_scale
+ echo 1600 > $llccbw/bw_hwmon/idle_mbps
+ echo 6881 > $llccbw/max_freq
+ echo 40 > $llccbw/polling_interval
+ done
+
+ for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw
+ do
+ echo 1 > /sys/devices/virtual/npu/msm_npu/pwr
+ echo "bw_hwmon" > $npubw/governor
+ echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones
+ echo 4 > $npubw/bw_hwmon/sample_ms
+ echo 80 > $npubw/bw_hwmon/io_percent
+ echo 20 > $npubw/bw_hwmon/hist_memory
+ echo 6 > $npubw/bw_hwmon/hyst_length
+ echo 30 > $npubw/bw_hwmon/down_thres
+ echo 0 > $npubw/bw_hwmon/guard_band_mbps
+ echo 250 > $npubw/bw_hwmon/up_scale
+ echo 0 > $npubw/bw_hwmon/idle_mbps
+ echo 40 > $npubw/polling_interval
+ echo 0 > /sys/devices/virtual/npu/msm_npu/pwr
+ done
+ done
+ fi
+ # Turn off scheduler boost at the end
+ echo 0 > /proc/sys/kernel/sched_boost
+ echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
+
+ # memlat specific settings are moved to seperate file under
+ # device/target specific folder
+ setprop vendor.dcvs.prop 1
+
+ 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 [ -f /sys/devices/soc0/platform_subtype_id ]; then
+ platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
+ fi
+
+ case "$hw_platform" in
+ "MTP" | "Surf" | "RCM" )
+ # Start Host based Touch processing
+ case "$platform_subtype_id" in
+ "0" | "1" | "2" | "3" | "4")
+ start_hbtp
+ ;;
+ esac
+ ;;
+ "HDK" )
+ if [ -d /sys/kernel/hbtpsensor ] ; then
+ start_hbtp
+ fi
+ ;;
+ esac
+
+ echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
+ configure_memory_parameters
+ target_type=`getprop ro.hardware.type`
+ 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 [ "$target_type" == "automotive" ]; then
+ # update frequencies
+ if [ "$soc_id" == "340" ] | [ "$soc_id" == "405" ]; then #sa8195
+ configure_automotive_sku_parameters_sa8195
+ else #sa8155
+ configure_automotive_sku_parameters
+ fi
+ fi
+ ;;
+esac
+
+case "$target" in
+ "sdmshrike")
# Core control parameters for gold
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
@@ -4799,7 +5505,7 @@
# configure governor settings for silver cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
- echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
@@ -4807,14 +5513,14 @@
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
- echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
# configure governor settings for gold+ cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
- echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
@@ -4842,6 +5548,7 @@
for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
do
echo "bw_hwmon" > $cpubw/governor
+ echo 40 > $cpubw/polling_interval
echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
echo 4 > $cpubw/bw_hwmon/sample_ms
echo 50 > $cpubw/bw_hwmon/io_percent
@@ -4852,12 +5559,12 @@
echo 250 > $cpubw/bw_hwmon/up_scale
echo 1600 > $cpubw/bw_hwmon/idle_mbps
echo 14236 > $cpubw/max_freq
- echo 40 > $cpubw/polling_interval
done
for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
do
echo "bw_hwmon" > $llccbw/governor
+ echo 40 > $llccbw/polling_interval
echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones
echo 4 > $llccbw/bw_hwmon/sample_ms
echo 80 > $llccbw/bw_hwmon/io_percent
@@ -4868,13 +5575,13 @@
echo 250 > $llccbw/bw_hwmon/up_scale
echo 1600 > $llccbw/bw_hwmon/idle_mbps
echo 6881 > $llccbw/max_freq
- echo 40 > $llccbw/polling_interval
done
for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw
do
echo 1 > /sys/devices/virtual/npu/msm_npu/pwr
echo "bw_hwmon" > $npubw/governor
+ echo 40 > $npubw/polling_interval
echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones
echo 4 > $npubw/bw_hwmon/sample_ms
echo 80 > $npubw/bw_hwmon/io_percent
@@ -4884,14 +5591,42 @@
echo 0 > $npubw/bw_hwmon/guard_band_mbps
echo 250 > $npubw/bw_hwmon/up_scale
echo 0 > $npubw/bw_hwmon/idle_mbps
- echo 40 > $npubw/polling_interval
echo 0 > /sys/devices/virtual/npu/msm_npu/pwr
done
- done
- # memlat specific settings are moved to seperate file under
- # device/target specific folder
- setprop vendor.dcvs.prop 1
+ #Enable mem_latency governor for L3, LLCC, and DDR scaling
+ for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat
+ do
+ echo "mem_latency" > $memlat/governor
+ echo 10 > $memlat/polling_interval
+ echo 400 > $memlat/mem_latency/ratio_ceil
+ done
+
+ #Enable userspace governor for L3 cdsp nodes
+ for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat
+ do
+ echo "cdspl3" > $l3cdsp/governor
+ done
+
+ #Enable compute governor for gold latfloor
+ for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor*
+ do
+ echo "compute" > $latfloor/governor
+ echo 10 > $latfloor/polling_interval
+ done
+
+ #Gold L3 ratio ceil
+ for l3gold in $device/*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/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat
+ do
+ echo 20000 > $l3prime/mem_latency/ratio_ceil
+ done
+ done
if [ -f /sys/devices/soc0/hw_platform ]; then
hw_platform=`cat /sys/devices/soc0/hw_platform`
@@ -4907,7 +5642,7 @@
"MTP" | "Surf" | "RCM" )
# Start Host based Touch processing
case "$platform_subtype_id" in
- "0" | "1" | "2" | "3" | "4")
+ "0" | "1")
start_hbtp
;;
esac
@@ -4919,16 +5654,47 @@
;;
esac
+ #Setting the min and max supported frequencies
+ reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4`
+ feature_id=$(((reg_val >> 20) & 0xFF))
+
+ #Setting the min supported frequencies
+ echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ echo 1171200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
+ echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq
+ echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/min_freq
+ echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq
+ echo 1651200000 > /sys/class/devfreq/soc\:qcom,cpu4-cpu-l3-lat/max_freq
+ #setting min gpu freq to 392 MHz
+ echo 4 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
+ if [ $feature_id == 0 ]; then
+ echo "feature_id is 0 for SA8195AA"
+
+ #setting max cpu freq to 2.496GHz
+ echo 2496000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
+ #setting max gpu freq to 530 MHz
+ echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
+ echo 1804 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
+ elif [ $feature_id == 1 ] || [ $feature_id == 2 ]; then
+ echo "feature_id is 1 for external SA8195AB"
+ echo "feature_id is 2 for internal SA8195AB"
+
+ #setting max cpu freq to 2.496GHz
+ echo 2496000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
+ #setting max gpu freq to 670 MHz
+ echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
+ echo 2092 > /sys/devices/platform/soc/soc:aop-set-ddr-freq/set_ddr_capped_freq
+ elif [ $feature_id == 3 ]; then
+ echo "feature_id is 3 for external SA8195AC"
+ else
+ echo "unknown feature_id value" $feature_id
+ fi
+
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
configure_memory_parameters
- target_type=`getprop ro.hardware.type`
- if [ "$target_type" == "automotive" ]; then
- # update frequencies
- configure_automotive_sku_parameters
- fi
-
;;
esac
+
case "$target" in
"kona")
rev=`cat /sys/devices/soc0/revision`
@@ -4979,8 +5745,8 @@
# configure governor settings for silver cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
- echo 20000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
- echo 500 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
if [ $rev == "2.0" ] || [ $rev == "2.1" ]; then
echo 1248000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
else
@@ -4995,15 +5761,15 @@
# configure governor settings for gold cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
- echo 20000 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
- echo 500 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
echo 1574400 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
# configure governor settings for gold+ cluster
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
- echo 20000 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us
- echo 500 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us
+ echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
if [ $rev == "2.0" ] || [ $rev == "2.1" ]; then
echo 1632000 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
else
@@ -5392,7 +6158,7 @@
start mpdecision
echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb
;;
- "msm8909" | "msm8916" | "msm8937" | "msm8952" | "msm8953" | "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "msmsteppe" | "sm6150" | "kona" | "lito" | "trinket" | "atoll" | "bengal" | "lahaina" )
+ "msm8909" | "msm8916" | "msm8937" | "msm8952" | "msm8953" | "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "msmsteppe" | "sm6150" | "kona" | "lito" | "trinket" | "atoll" | "bengal" | "sdmshrike")
setprop vendor.post_boot.parsed 1
;;
"apq8084")
diff --git a/prebuilt/vendor/bin/init.qcom.sh b/prebuilt/vendor/bin/init.qcom.sh
index 02c0394..b80e98a 100755
--- a/prebuilt/vendor/bin/init.qcom.sh
+++ b/prebuilt/vendor/bin/init.qcom.sh
@@ -456,7 +456,7 @@
case "$buildvariant" in
"userdebug" | "eng")
#set default loglevel to KERN_INFO
- echo "6 6 1 7" > /proc/sys/kernel/printk
+ echo "4 6 1 7" > /proc/sys/kernel/printk
;;
*)
#set default loglevel to KERN_WARNING
diff --git a/prebuilt/vendor/etc/init/hw/init.qcom.rc b/prebuilt/vendor/etc/init/hw/init.qcom.rc
index 98640de..cdd7d99 100644
--- a/prebuilt/vendor/etc/init/hw/init.qcom.rc
+++ b/prebuilt/vendor/etc/init/hw/init.qcom.rc
@@ -24,12 +24,14 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-
+# Changes from Qualcomm Innovation Center are provided under the following license:
+# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+# SPDX-License-Identifier: BSD-3-Clause-Clear
+#
import /vendor/etc/init/hw/init.asus.usb.rc
import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.qcom.factory.rc
-import /vendor/etc/init/hw/init.qcom.test.rc
#ASUS_BSP +++ frank_tao "[ZS670KS][Thermal] Thermal Service"
import init.asus.thermald_ZS670KS.rc
@@ -60,6 +62,9 @@
chown system graphics /sys/kernel/debug/sync/sw_sync
chmod 0666 /sys/kernel/debug/sync/sw_sync
+ #Disable UFS clock scaling
+ write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 0
+
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
# Load WIGIG platform driver
@@ -95,6 +100,16 @@
chown system system /mnt/vendor/persist/data/pfm/licenses
chmod 0775 /mnt/vendor/persist/data/pfm/licenses
+ chown system system /mnt/vendor/persist/data/pfm/licenses/store_0
+ chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_0
+ chown system system /mnt/vendor/persist/data/pfm/licenses/store_1
+ chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_1
+ chown system system /mnt/vendor/persist/data/pfm/licenses/store_2
+ chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_2
+ chown system system /mnt/vendor/persist/data/pfm/licenses/store_3
+ chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_3
+ chown system system /mnt/vendor/persist/data/pfm/licenses/store_4
+ chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_4
on boot
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
@@ -151,13 +166,9 @@
setprop ro.telephony.call_ring.multiple false
- #enable camera read sensors data
- setprop persist.camera.gyro.disable 0
-
#Remove SUID bit for iproute2 ip tool
chmod 0755 /system/bin/ip
-
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
setprop net.tcp.2g_init_rwnd 10
@@ -170,9 +181,9 @@
# an ack packet comes out of order
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
- # Set the console loglevel to < KERN_INFO
+ # Set the console loglevel to < KERN_WARN
# Set the default message loglevel to KERN_INFO
- write /proc/sys/kernel/printk "6 6 1 7"
+ write /proc/sys/kernel/printk "4 6 1 7"
# Allow access for CCID command/response timeout configuration
chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
@@ -180,9 +191,7 @@
# bond0 used by FST Manager
chown wifi wifi /sys/class/net/bond0/bonding/queue_id
- # Allow access to emmc rawdump block partition and dload sysfs node
- chown root system /dev/block/bootdevice/by-name/rawdump
- chmod 0660 /dev/block/bootdevice/by-name/rawdump
+ # Allow access to emmc dload sysfs node
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump
@@ -213,11 +222,10 @@
# ASUS_BSP +++ ClayWang "For checking support front RGB or not"
setprop ro.asus.screen.colortemp.enable 0
# ASUS_BSP --- ClayWang "For checking support front RGB or not"
-
+
# Create vpp directory
mkdir /mnt/vendor/persist/vpp 0770 media media
-
# Create hvdcp_opti directory
mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
@@ -270,6 +278,9 @@
# Change lm related dirs
mkdir /data/vendor/lm 0700 root root
+ # Create directory used by powermodule
+ mkdir /data/vendor/pwr 0700 root root
+
# Create directory used by media clients
mkdir /data/vendor/media 0770 mediacodec media
@@ -365,6 +376,7 @@
mkdir /dev/socket/location 0770 gps gps
mkdir /dev/socket/location/mq 0770 gps gps
mkdir /dev/socket/location/xtra 0770 gps gps
+ mkdir /dev/socket/location/dgnss 0770 gps gps
#Create directories for wifihal services
mkdir /dev/socket/wifihal 0770 wifi wifi
@@ -567,6 +579,8 @@
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
+ #Enable UFS clock scaling back
+ write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
#Reset read ahead for dm-0 and dm-1 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
@@ -587,12 +601,12 @@
mkdir /data/core 0777 root root
write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e"
-on property:init.svc.wpa_supplicant=stopped
- stop dhcpcd
-
on property:vendor.media.target.version=*
setprop vendor.sys.media.target.version ${vendor.media.target.version}
+on property:vendor.netflix.bsp_rev=*
+ setprop ro.netflix.bsp_rev ${vendor.netflix.bsp_rev}
+
on property:vendor.media.target_variant=*
setprop ro.media.xml_variant.codecs ${vendor.media.target_variant}
setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant}
@@ -652,14 +666,6 @@
group radio diag
disabled
-# Adjust socket buffer to enlarge TCP receive window for high bandwidth
-# but only if ro.data.large_tcp_window_size property is set.
-on property:ro.data.large_tcp_window_size=true
- write /proc/sys/net/ipv4/tcp_adv_win_scale 2
-
-on property:sys.sysctl.tcp_adv_win_scale=*
- write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
-
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
@@ -707,18 +713,6 @@
disabled
oneshot
-service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL
- group system dhcp
- class main
- disabled
- oneshot
-
-service iprenew_eth0 /system/bin/dhcpcd -n
- group system dhcp
- class main
- disabled
- oneshot
-
service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
@@ -814,18 +808,6 @@
user gps
group gps
-service drmdiag /system/vendor/bin/drmdiagapp
- class late_start
- user root
- disabled
- oneshot
-
-on property:drmdiag.load=1
- start drmdiag
-
-on property:drmdiag.load=0
- stop drmdiag
-
service qcom-sh /vendor/bin/init.qcom.sh
class late_start
user root
@@ -844,13 +826,6 @@
disabled
oneshot
-service qti-testscripts /system/bin/sh /product/etc/init.qcom.testscripts.sh
- class late_start
- user root
- disabled
- oneshot
- seclabel u:r:qti-testscripts:s0
-
service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh
class late_start
group wifi inet
@@ -865,7 +840,6 @@
on property:sys.boot_completed=1
start qcom-post-boot
- start qti-testscripts
on property:ro.vendor.ril.mbn_copy_completed=1
write /data/vendor/radio/copy_complete 1
@@ -888,18 +862,6 @@
disabled
oneshot
-service ims_regmanager /system/vendor/bin/exe-ims-regmanagerprocessnative
- class late_start
- group net_bt_admin inet radio wifi
- disabled
-
-on property:persist.ims.regmanager.mode=1
- start ims_regmanager
-
-on property:ro.data.large_tcp_window_size=true
- # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
- write /proc/sys/net/ipv4/tcp_adv_win_scale 2
-
service battery_monitor /system/bin/battery_monitor
user system
group system
@@ -1100,17 +1062,6 @@
disabled
oneshot
-# Logcat dump daemon, dumps logs to logdump partition
-service logdumpd /system/bin/logcat -b all -v threadtime -D -w /dev/block/bootdevice/by-name/logdump
- class core
- writepid /dev/cpuset/system-background/tasks
- seclabel u:r:logdumpd:s0
- disabled
-
-# Logdumpd is enabled only for userdebug non-perf build
-on property:ro.logdumpd.enabled=1
- start logdumpd
-
service time_daemon /vendor/bin/time_daemon
class main
user system
@@ -1171,10 +1122,3 @@
ioprio rt 4
writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
onrestart restart audioserver
-
-# Enable port-bridge service by logTool
-on property:persist.vendor.port_bridge=1
- start vendor.port-bridge
-
-on property:persist.vendor.port_bridge=0
- stop vendor.port-bridge
diff --git a/prebuilt/vendor/etc/ueventd.rc b/prebuilt/vendor/etc/ueventd.rc
index 856ba82..0b5d815 100644
--- a/prebuilt/vendor/etc/ueventd.rc
+++ b/prebuilt/vendor/etc/ueventd.rc
@@ -33,7 +33,7 @@
# the DIAG device node is not world writable/readable.
/dev/diag 0660 system oem_2901
/dev/mhi_*_pipe_4 0660 system system
-
+/dev/virt-eavb 0660 system audio
/dev/genlock 0666 system system
/dev/wlan 0660 wifi wifi
/dev/kgsl 0666 system system
@@ -41,6 +41,7 @@
/dev/kgsl-2d0 0666 root root
/dev/kgsl-2d1 0666 root root
/dev/ion 0664 system system
+/dev/membuf 0664 system system
/dev/rtc0 0660 system system
/dev/smd0 0660 system system
/dev/smd4 0660 system system
@@ -58,6 +59,8 @@
/dev/ipa_adpl 0660 system oem_2905
/dev/synx_device 0660 root camera
/dev/hab 0666 system system
+/dev/hgsl 0666 system system
+/dev/iio:device* 0664 system system
#permissions for UFS RPMB BSG device node
/dev/0:0:0:49476 0600 system system
@@ -69,6 +72,7 @@
/dev/smd2 0660 bluetooth bluetooth
/dev/smd3 0660 bluetooth bluetooth
/dev/btpower 0660 bluetooth system
+/dev/btfmslim 0660 bluetooth system
#permissions for pta
/dev/pta 0660 system system
@@ -124,13 +128,15 @@
/dev/hsicctl16 0640 radio radio
/dev/mhi_*_pipe_14 0640 radio radio
/dev/mhi_*_pipe_16 0640 radio radio
-/dev/mhi_*_pipe_32 0660 radio net_bt
+/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/hdmi_bdg_irq_handler 0660 system camera
+/dev/dp_bdg_irq_handler 0660 system camera
/dev/qseecom 0660 system drmrpc
/dev/qce 0660 system drmrpc
/dev/smcinvoke 0660 system drmrpc
@@ -143,6 +149,7 @@
/dev/sp_nvm 0660 system system
/dev/sp_ssr 0660 system system
/dev/sp_keymaster 0660 system system
+/dev/sp_keymaster_ssr 0660 system system
/dev/sec_nvm_* 0660 system system
/dev/cryptoapp 0660 system system
/dev/spdaemon_ssr 0660 system system
@@ -174,13 +181,20 @@
#qvr
/dev/qvr_external_sensor_ioctl 0660 system system
-/sys/kernel/qvr_external_sensor/fd 0660 system system
+/dev/bus/usb/* 0660 root usb
+/dev/hidraw* 0660 root usb
+
+#rawdump
+/dev/block/platform/soc/*/by-name/rawdump 0660 root 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
+/sys/devices/platform/soc/*.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system
+/sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system
+/sys/devices/platform/soc/17a10040.qcom,wcn6750/net/wlan*/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
@@ -191,7 +205,6 @@
/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
@@ -225,6 +238,7 @@
/dev/msm_preproc_ctl 0660 system audio
/dev/msm_rtac 0660 system audio
/dev/msm_voicememo 0660 system audio
+/dev/virt_sndcard_ctl 0660 system audio
/dev/ttyHSL1 0660 system system
/dev/ttyHS1 0660 system system
/dev/mdm 0660 system radio
@@ -235,6 +249,8 @@
/dev/i2c-5 0660 media media
/dev/avtimer 0660 system audio
/dev/spidev2.0 0660 system audio
+/dev/spidev22.0 0660 system audio
+/dev/spidev10.0 0660 system audio
# DVB devices
/dev/dvb/adapter0/demux* 0440 media media
@@ -383,6 +399,9 @@
/sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics
+#KGSL
+/sys/class/kgsl/kgsl-3d0 perfcounter 0660 root shell
+
# sys-fs display
/sys/class/graphics/fb* hpd 0664 system graphics
/sys/class/graphics/fb* res_info 0664 system graphics
@@ -412,3 +431,69 @@
/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
+
+/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card*/sde-crtc-* lineptr_value 0664 system graphics
+*/
+
+/sys/devices/platform/soc/ae00000.qcom,mdss_mdp power/control 0664 system graphics
+
+#asm330 sensor
+#common sensors files
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/enable 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/length 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/watermark 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* discharded_samples 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* current_timestamp_clock 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_flush 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_watermark 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_watermark_max 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* mount_matrix 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* name 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* sampling_frequency 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* sampling_frequency_available 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_type 0664 system system
+
+# standard iio accel attributes
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_scale_available 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_x_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_x_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_y_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_y_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_z_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_z_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_type 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_type 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_type 0664 system system
+
+# standard iio gyro attributes
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_scale_available 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_x_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_x_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_y_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_y_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_z_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_z_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_type 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_type 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_en 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_index 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_type 0664 system system
+
+
+# standard iio temp attributes
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_offset 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_raw 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale 0664 system system
+/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale_available 0664 system system