# Copyright (c) 2013-2014,2018, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # * Neither the name of The Linux Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # import /vendor/etc/init/hw/init.mmi.rc import /vendor/etc/init/hw/init.${ro.boot.device}.rc on early-init exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_apr audio_adsp_loader audio_q6_notifier audio_q6 audio_usf audio_native audio_pinctrl_wcd audio_swr audio_platform audio_swr_ctrl audio_hdmi audio_wcd9xxx audio_wcd_core audio_wsa881x_analog audio_wsa881x audio_mbhc audio_stub audio_digital_cdc audio_analog_cdc audio_wcd_cpe audio_cpe_lsm audio_wcd9335 audio_machine_sdm450 audio_machine_ext_sdm450 write /proc/sys/kernel/sched_boost 1 mkdir /firmware 0771 system system symlink /data/tombstones /tombstones on init setprop ro.vendor.fsg-id ${ro.boot.fsg-id} setprop ro.vendor.hw.dualsim ${ro.boot.dualsim} setprop ro.vendor.hw.device ${ro.boot.device} setprop ro.vendor.hw.radio ${ro.boot.radio} setprop ro.vendor.hw.revision ${ro.boot.revision} setprop ro.vendor.carrier ${ro.boot.carrier} setprop ro.vendor.boot.cid ${ro.boot.cid} setprop ro.vendor.boot.radio ${ro.boot.radio} setprop ro.vendor.boot.powerup_reason ${ro.boot.powerup_reason} setprop ro.vendor.boot.bl_state ${ro.boot.bl_state} setprop ro.vendor.boot.serialno ${ro.boot.serialno} setprop ro.vendor.zygote ${ro.zygote} setprop ro.vendor.hw.hwrev 99999 setprop ro.vendor.boot.hwrev 99999 # Translate MMI property in order to keep consistent with QCOM on property:ro.vendor.hw.dualsim=true setprop persist.radio.multisim.config dsds on property:ro.vendor.hw.dualsim=false setprop persist.radio.multisim.config "" on fs wait /dev/block/platform/soc/${ro.boot.bootdevice} symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice mount_all /vendor/etc/fstab.qcom write /proc/sys/vm/swappiness 100 chown root system /mnt/vendor/persist chmod 0771 /mnt/vendor/persist mkdir /mnt/vendor/persist/data 0700 system system mkdir /mnt/vendor/persist/bms 0700 root system # Reloading context for NPI uses /mnt/vendor/persist exec u:r:vendor_toolbox:s0 root audio bluetooth graphics media net_raw system vendor_rfs vendor_rfs_shared -- /vendor/bin/toybox_vendor find /mnt/vendor/persist -type d -exec /vendor/bin/toybox_vendor setfattr -x security.sehash {} \; restorecon_recursive /mnt/vendor/persist write /proc/sys/vm/swappiness 100 #write /sys/kernel/boot_adsp/boot 1 #wait /dev/block/bootdevice/by-name/oem #mount ext4 /dev/block/bootdevice/by-name/oem /oem ro nosuid nodev barrier=1 on post-fs # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 start vendor.qseecomd exec - system system -- /vendor/bin/init.qti.qseecomd.sh on post-fs-data mkdir /data/tombstones 0771 system system mkdir /tombstones/modem 0771 system system mkdir /tombstones/lpass 0771 system system mkdir /tombstones/wcnss 0771 system system mkdir /tombstones/dsps 0771 system system mkdir /persist/data/sfs 0700 system system mkdir /persist/data/tz 0700 system system mkdir /data/misc/dts 0770 media audio mkdir /data/vendor/hbtp 0750 system system mkdir /data/vendor/tloc 0700 system drmrpc #Create folder for mm-qcamera-daemon mkdir /data/vendor/camera 0770 camera camera #start camera server as daemon service qcamerasvr /system/vendor/bin/mm-qcamera-daemon class main user camera group camera system inet input graphics on init write /dev/stune/foreground/schedtune.sched_boost_no_override 1 write /dev/stune/top-app/schedtune.sched_boost_no_override 1 write /dev/stune/schedtune.colocate 0 write /dev/stune/background/schedtune.colocate 0 write /dev/stune/foreground/schedtune.colocate 0 write /dev/stune/top-app/schedtune.colocate 1 write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 # Allow usb charging to be disabled peristently on property:persist.usb.chgdisabled=1 write /sys/class/power_supply/battery/charging_enabled 0 on property:persist.usb.chgdisabled=0 write /sys/class/power_supply/battery/charging_enabled 1 # FM on property:hw.fm.init=0 write /sys/module/radio_iris_transport/parameters/fmsmd_set 0 on property:hw.fm.init=1 write /sys/module/radio_iris_transport/parameters/fmsmd_set 1 service vendor.qseecomd /vendor/bin/qseecomd class core user root group root service perfd /system/vendor/bin/perfd class main user root disabled service thermal-engine /system/vendor/bin/thermal-engine class main user root socket thermal-send-client stream 0666 system system socket thermal-recv-client stream 0660 system system socket thermal-recv-passive-client stream 0666 system system socket thermal-send-rule stream 0660 system system group root system service audiod /system/vendor/bin/audiod class late_start user system group system on boot start rmt_storage insmod /system/lib/modules/adsprpc.ko # access permission for secure touch chmod 0660 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable chmod 0440 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch chmod 0660 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable chmod 0440 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch # Add a cpuset for the camera daemon # We want all cores for camera mkdir /dev/cpuset/camera-daemon write /dev/cpuset/camera-daemon/cpus 0-3 write /dev/cpuset/camera-daemon/mems 0 chown cameraserver cameraserver /dev/cpuset/camera-daemon chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks chmod 0660 /dev/cpuset/camera-daemon/tasks ####Regionalization config and prop files#### chmod 0644 /persist/speccfg/spec chmod 0644 /persist/speccfg/devicetype chmod 0644 /persist/speccfg/mbnversion chmod 0644 /persist/speccfg/.not_triggered chmod 0644 /persist/speccfg/vendor_ro.prop chmod 0644 /persist/speccfg/vendor_persist.prop chmod 0644 /persist/speccfg/submask chmod 0644 /persist/speccfg/partition chown system system /persist/speccfg/spec chown system system /persist/speccfg/devicetype chown system system /persist/speccfg/mbnversion chown system system /persist/speccfg/.not_triggered chown system system /persist/speccfg/vendor_ro.prop chown system system /persist/speccfg/vendor_persist.prop chown system system /persist/speccfg/submask chown system system /persist/speccfg/partition # access permission for wlan chown system system /mnt/vendor/persist/WCNSS_qcom_wlan_nv.bin #USB controller configuration write /sys/module/g_android/parameters/mtp_tx_req_len 131072 write /sys/module/g_android/parameters/mtp_rx_req_len 131072 write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports BAM2BAM_IPA setprop vendor.usb.rndis.func.name "rndis_bam" setprop vendor.usb.rmnet.func.name "rmnet_bam" setprop vendor.usb.rmnet.inst.name "rmnet" setprop vendor.usb.dpl.inst.name "dpl" #Turn on GPU rate stats through gcc_oxili_gfx3d_clk chown system system /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats chmod 0664 /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats write /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats 1 on property:init.svc.surfaceflinger=stopped stop ppd on property:init.svc.surfaceflinger=running start ppd on property:init.svc.surfaceflinger=restarting stop ppd on property:init.svc.zygote=stopped stop ppd on property:init.svc.zygote=running start ppd on property:init.svc.zygote=restarting stop ppd service wcnss-service /system/vendor/bin/wcnss_service class late_start user system group system wifi radio oneshot on charger wait /dev/block/bootdevice/by-name/system mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1 setprop persist.sys.usb.config mass_storage start qcom-post-boot setprop persist.sys.usb.config mass_storage on charger && property:ro.boot.usbconfigfs=true setprop sys.usb.configfs 1 on charger && property:ro.boot.usbconfigfs=false setprop sys.usb.configfs 0 ## imsdatadaemon starts with root and UID will be downgraded to SYSTEM. service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon class main user radio socket ims_qmid stream 0660 system radio group radio log diag # imsdatadaemon starts with root and UID will be downgraded to SYSTEM. service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon class main user radio socket ims_datad stream 0660 system radio group radio wifi inet log diag disabled on property:vendor.ims.QMI_DAEMON_STATUS=1 start vendor.imsdatadaemon service vendor.ims_rtp_daemon /vendor/bin/ims_rtp_daemon class main user radio group radio vendor_qti_diag inet log service vendor.imsrcsservice /system/vendor/bin/imsrcsd class main user system group radio diag inet log wakelock on property:vendor.ims.DATA_DAEMON_STATUS=1 restart vendor.ims_rtp_daemon service adsprpcd /system/vendor/bin/adsprpcd class main user media group media service vendor.per_mgr /system/vendor/bin/pm-service class core user system group system net_raw service vendor.per_proxy /system/vendor/bin/pm-proxy class core user system group system disabled on property:init.svc.vendor.per_mgr=running start vendor.per_proxy on property:sys.shutdown.requested=* stop vendor.per_proxy stop vendor.ims_rtp_daemon service energy-awareness /system/vendor/bin/energy-awareness class main user root group system oneshot on boot write /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/fw_name PR1702898-s3528t_00260005_00380008.img write /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/update_fw 1