123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517 |
- #! /vendor/bin/sh
- # Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are met:
- # * Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- # * Redistributions in binary form must reproduce the above copyright
- # notice, this list of conditions and the following disclaimer in the
- # documentation and/or other materials provided with the distribution.
- # * Neither the name of The Linux Foundation nor
- # the names of its contributors may be used to endorse or promote
- # products derived from this software without specific prior written
- # permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- target=`getprop ro.board.platform`
- low_ram=`getprop ro.config.low_ram`
- if [ -f /sys/devices/soc0/soc_id ]; then
- platformid=`cat /sys/devices/soc0/soc_id`
- else
- platformid=`cat /sys/devices/system/soc/soc0/id`
- fi
- start_battery_monitor()
- {
- if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then
- chown -h root.system /sys/module/pm8921_bms/parameters/*
- chown -h root.system /sys/module/qpnp_bms/parameters/*
- chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data
- chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp
- chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl
- chmod 0660 /sys/module/qpnp_bms/parameters/*
- chmod 0660 /sys/module/pm8921_bms/parameters/*
- mkdir -p /data/bms
- chown -h root.system /data/bms
- chmod 0770 /data/bms
- start battery_monitor
- fi
- }
- start_charger_monitor()
- {
- if ls /sys/module/qpnp_charger/parameters/charger_monitor; then
- chown -h root.system /sys/module/qpnp_charger/parameters/*
- chown -h root.system /sys/class/power_supply/battery/input_current_max
- chown -h root.system /sys/class/power_supply/battery/input_current_trim
- chown -h root.system /sys/class/power_supply/battery/input_current_settled
- chown -h root.system /sys/class/power_supply/battery/voltage_min
- chmod 0664 /sys/class/power_supply/battery/input_current_max
- chmod 0664 /sys/class/power_supply/battery/input_current_trim
- chmod 0664 /sys/class/power_supply/battery/input_current_settled
- chmod 0664 /sys/class/power_supply/battery/voltage_min
- chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor
- start charger_monitor
- fi
- }
- start_vm_bms()
- {
- if [ -e /dev/vm_bms ]; then
- chown -h root.system /sys/class/power_supply/bms/current_now
- chown -h root.system /sys/class/power_supply/bms/voltage_ocv
- chmod 0664 /sys/class/power_supply/bms/current_now
- chmod 0664 /sys/class/power_supply/bms/voltage_ocv
- start vm_bms
- fi
- }
- start_msm_irqbalance_8939()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- case "$platformid" in
- "239" | "293" | "294" | "295" | "304" | "338" | "313" | "353" | "354")
- start vendor.msm_irqbalance;;
- "349" | "350" )
- start vendor.msm_irqbal_lb;;
- esac
- fi
- }
- start_msm_irqbalance_msmnile()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- start vendor.msm_irqbalance
- fi
- }
- start_msm_irqbalance_kona()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- start vendor.msm_irqbalance
- fi
- }
- start_msm_irqbalance_lito()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- start vendor.msm_irqbalance
- fi
- }
- start_msm_irqbalance_atoll()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- start vendor.msm_irqbalance
- fi
- }
- start_msm_irqbalance660()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- case "$platformid" in
- "317" | "321" | "324" | "325" | "326" | "336" | "345" | "346" | "360" | "393")
- start vendor.msm_irqbalance;;
- "318" | "327" | "385")
- start vendor.msm_irqbl_sdm630;;
- esac
- fi
- }
- start_msm_irqbalance()
- {
- if [ -f /vendor/bin/msm_irqbalance ]; then
- start vendor.msm_irqbalance
- fi
- }
- baseband=`getprop ro.baseband`
- echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr
- case "$baseband" in
- "svlte2a")
- start bridgemgrd
- ;;
- esac
- case "$target" in
- "msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
- if [ -f /sys/devices/soc0/hw_platform ]; then
- value=`cat /sys/devices/soc0/hw_platform`
- else
- value=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- case "$value" in
- "Fluid")
- start profiler_daemon;;
- esac
- ;;
- "msm8660" )
- if [ -f /sys/devices/soc0/hw_platform ]; then
- platformvalue=`cat /sys/devices/soc0/hw_platform`
- else
- platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- case "$platformvalue" in
- "Fluid")
- start profiler_daemon;;
- esac
- ;;
- "msm8960")
- case "$baseband" in
- "msm")
- start_battery_monitor;;
- esac
- if [ -f /sys/devices/soc0/hw_platform ]; then
- platformvalue=`cat /sys/devices/soc0/hw_platform`
- else
- platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- case "$platformvalue" in
- "Fluid")
- start profiler_daemon;;
- "Liquid")
- start profiler_daemon;;
- esac
- ;;
- "msm8974")
- platformvalue=`cat /sys/devices/soc0/hw_platform`
- case "$platformvalue" in
- "Fluid")
- start profiler_daemon;;
- "Liquid")
- start profiler_daemon;;
- esac
- case "$baseband" in
- "msm")
- start_battery_monitor
- ;;
- esac
- start_charger_monitor
- ;;
- "sdm660")
- if [ -f /sys/devices/soc0/soc_id ]; then
- soc_id=`cat /sys/devices/soc0/soc_id`
- else
- soc_id=`cat /sys/devices/system/soc/soc0/id`
- fi
- if [ -f /sys/devices/soc0/hw_platform ]; then
- hw_platform=`cat /sys/devices/soc0/hw_platform`
- else
- hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- case "$soc_id" in
- "317" | "324" | "325" | "326" | "318" | "327" )
- case "$hw_platform" in
- "Surf")
- setprop qemu.hw.mainkeys 0
- ;;
- "MTP")
- setprop qemu.hw.mainkeys 0
- ;;
- "RCM")
- setprop qemu.hw.mainkeys 0
- ;;
- "QRD")
- setprop qemu.hw.mainkeys 0
- ;;
- esac
- ;;
- esac
- start_msm_irqbalance660
- ;;
- "apq8084")
- platformvalue=`cat /sys/devices/soc0/hw_platform`
- case "$platformvalue" in
- "Fluid")
- start profiler_daemon;;
- "Liquid")
- start profiler_daemon;;
- esac
- ;;
- "msm8226")
- start_charger_monitor
- ;;
- "msm8610")
- start_charger_monitor
- ;;
- "msm8916")
- start_vm_bms
- start_msm_irqbalance_8939
- if [ -f /sys/devices/soc0/soc_id ]; then
- soc_id=`cat /sys/devices/soc0/soc_id`
- else
- soc_id=`cat /sys/devices/system/soc/soc0/id`
- fi
- if [ -f /sys/devices/soc0/platform_subtype_id ]; then
- platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
- fi
- if [ -f /sys/devices/soc0/hw_platform ]; then
- hw_platform=`cat /sys/devices/soc0/hw_platform`
- fi
- case "$soc_id" in
- "239")
- case "$hw_platform" in
- "Surf")
- case "$platform_subtype_id" in
- "1")
- setprop qemu.hw.mainkeys 0
- ;;
- esac
- ;;
- "MTP")
- case "$platform_subtype_id" in
- "3")
- setprop qemu.hw.mainkeys 0
- ;;
- esac
- ;;
- esac
- ;;
- esac
- ;;
- "msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket" | "bengal")
- start_msm_irqbalance
- ;;
- "msm8996")
- if [ -f /sys/devices/soc0/hw_platform ]; then
- hw_platform=`cat /sys/devices/soc0/hw_platform`
- fi
- case "$hw_platform" in
- "MTP" | "CDP")
- #Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership.
- for count in 0 1 2 3 4 5 6 7 8 9 10
- do
- dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count
- if [ -d "$dir" ]; then
- chmod 0660 $dir/secure_touch_enable
- chmod 0440 $dir/secure_touch
- chown system.drmrpc $dir/secure_touch_enable
- chown system.drmrpc $dir/secure_touch
- break
- fi
- done
- ;;
- esac
- ;;
- "msm8909")
- start_vm_bms
- ;;
- "msmnile")
- start_msm_irqbalance_msmnile
- ;;
- "kona")
- start_msm_irqbalance_kona
- ;;
- "lito")
- start_msm_irqbalance_lito
- ;;
- "atoll")
- start_msm_irqbalance_atoll
- ;;
- "msm8937")
- start_msm_irqbalance_8939
- if [ -f /sys/devices/soc0/soc_id ]; then
- soc_id=`cat /sys/devices/soc0/soc_id`
- else
- soc_id=`cat /sys/devices/system/soc/soc0/id`
- fi
- if [ -f /sys/devices/soc0/hw_platform ]; then
- hw_platform=`cat /sys/devices/soc0/hw_platform`
- else
- hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- if [ "$low_ram" != "true" ]; then
- case "$soc_id" in
- "294" | "295" | "303" | "307" | "308" | "309" | "313" | "320" | "353" | "354" | "363" | "364")
- case "$hw_platform" in
- "Surf")
- setprop qemu.hw.mainkeys 0
- ;;
- "MTP")
- setprop qemu.hw.mainkeys 0
- ;;
- "RCM")
- setprop qemu.hw.mainkeys 0
- ;;
- "QRD")
- setprop qemu.hw.mainkeys 0
- ;;
- esac
- ;;
- esac
- fi
- ;;
- "msm8953")
- start_msm_irqbalance_8939
- if [ -f /sys/devices/soc0/soc_id ]; then
- soc_id=`cat /sys/devices/soc0/soc_id`
- else
- soc_id=`cat /sys/devices/system/soc/soc0/id`
- fi
- if [ -f /sys/devices/soc0/hw_platform ]; then
- hw_platform=`cat /sys/devices/soc0/hw_platform`
- else
- hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- case "$soc_id" in
- "293" | "304" | "338" | "351" | "349" | "350" )
- case "$hw_platform" in
- "Surf")
- setprop qemu.hw.mainkeys 0
- ;;
- "MTP")
- setprop qemu.hw.mainkeys 0
- ;;
- "RCM")
- setprop qemu.hw.mainkeys 0
- ;;
- "QRD")
- setprop qemu.hw.mainkeys 0
- ;;
- esac
- ;;
- esac
- ;;
- "sdm710")
- if [ -f /sys/devices/soc0/soc_id ]; then
- soc_id=`cat /sys/devices/soc0/soc_id`
- else
- soc_id=`cat /sys/devices/system/soc/soc0/id`
- fi
- if [ -f /sys/devices/soc0/hw_platform ]; then
- hw_platform=`cat /sys/devices/soc0/hw_platform`
- else
- hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
- fi
- case "$soc_id" in
- "336" | "337" | "347" | "360" | "393" )
- case "$hw_platform" in
- "Surf")
- setprop qemu.hw.mainkeys 0
- ;;
- "MTP")
- setprop qemu.hw.mainkeys 0
- ;;
- "RCM")
- setprop qemu.hw.mainkeys 0
- ;;
- "QRD")
- setprop qemu.hw.mainkeys 0
- ;;
- esac
- ;;
- esac
- ;;
- esac
- #
- # Make modem config folder and copy firmware config to that folder for RIL
- #
- if [ -f /data/vendor/modem_config/ver_info.txt ]; then
- prev_version_info=`cat /data/vendor/modem_config/ver_info.txt`
- else
- prev_version_info=""
- fi
- cur_version_info=`cat /vendor/firmware_mnt/verinfo/ver_info.txt`
- if [ ! -f /vendor/firmware_mnt/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then
- # add W for group recursively before delete
- chmod g+w -R /data/vendor/modem_config/*
- rm -rf /data/vendor/modem_config/*
- # preserve the read only mode for all subdir and files
- cp --preserve=m -dr /vendor/firmware_mnt/image/modem_pr/mcfg/configs/* /data/vendor/modem_config
- cp --preserve=m -d /vendor/firmware_mnt/verinfo/ver_info.txt /data/vendor/modem_config/
- cp --preserve=m -d /vendor/firmware_mnt/image/modem_pr/mbn_ota.txt /data/vendor/modem_config/
- # the group must be root, otherwise this script could not add "W" for group recursively
- chown -hR radio.root /data/vendor/modem_config/*
- fi
- chmod g-w /data/vendor/modem_config
- setprop ro.vendor.ril.mbn_copy_completed 1
- #check build variant for printk logging
- #current default minimum boot-time-default
- buildvariant=`getprop ro.build.type`
- case "$buildvariant" in
- "userdebug" | "eng")
- #set default loglevel to KERN_INFO
- echo "6 6 1 7" > /proc/sys/kernel/printk
- ;;
- *)
- #set default loglevel to KERN_WARNING
- echo "4 4 1 4" > /proc/sys/kernel/printk
- ;;
- esac
- #add permission for block_size, mem_type, mem_size nodes to collect diag over QDSS by ODL
- #application by "oem_2902" group
- chown -h root.oem_2902 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/block_size
- chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/block_size
- chown -h root.oem_2902 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/buffer_size
- chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/buffer_size
- chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/out_mode
- chown -h root.oem_2902 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/block_size
- chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/block_size
- chown -h root.oem_2902 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/buffer_size
- chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/buffer_size
- chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/out_mode
- chmod 660 /sys/devices/platform/soc/1004f000.tmc/coresight-tmc-etr1/enable_sink
- chmod 660 /sys/devices/platform/soc/soc:modem_diag/coresight-modem-diag/enable_source
- chown -h root.oem_2902 /sys/bus/coresight/reset_source_sink
- chmod 660 /sys/bus/coresight/reset_source_sink
- # qcom case
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etf/curr_sink
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etf/enable_sink
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr/curr_sink
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
- chown -h system.system /sys/bus/coresight/devices/coresight-tpiu/curr_sink
- chown -h system.system /sys/bus/coresight/devices/coresight-tpiu/out_mode
- chown -h system.system /sys/bus/coresight/devices/coresight-stm/enable
- chown -h system.system /sys/bus/coresight/devices/coresight-stm/enable_source
- chown -h system.system /sys/bus/coresight/devices/coresight-hwevent/enable
- chown -h system.system /sys/bus/coresight/devices/coresight-stm/hwevent_enable
- chown -h system.system /sys/bus/coresight/devices/coresight-hwevent/setreg
- chown -h system.system /sys/bus/coresight/devices/coresight-swao-csr/timestamp
- chown -h system.system /sys/bus/coresight/devices/coresight-modem-diag/enable_source
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr1/enable_sink
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr1/out_mode
- chown -h system.system /sys/bus/coresight/devices/coresight-tmc-etr1/curr_sink
- # qcom case 05386569
- mkdir /config/stp-policy/coresight-stm:p_ost.policy
- chmod 660 /config/stp-policy/coresight-stm:p_ost.policy
- mkdir /config/stp-policy/coresight-stm:p_ost.policy/default
- chmod 660 /config/stp-policy/coresight-stm:p_ost.policy/default
- echo 0x10 > /sys/bus/coresight/devices/coresight-stm/traceid
- # disable ftrace log on coresight stm buffer
- case "$buildvariant" in
- "eng")
- echo 0 > /sys/bus/coresight/devices/coresight-stm/port_enable
- echo 0x10000003 > /sys/bus/coresight/devices/coresight-stm/port_select
- echo 0xffffffff > /sys/bus/coresight/devices/coresight-stm/port_enable
- ;;
- esac
|