blob: 9c671517922e2106cc23d2f6f0570fcdd493170f [file] [log] [blame]
Thierry Strudelb4d838b2016-04-08 12:54:52 -07001on charger
2write /sys/devices/system/cpu/cpu2/online 0
3write /sys/devices/system/cpu/cpu3/online 0
4write /sys/module/lpm_levels/parameters/sleep_disabled 0
Sandeep Patil9ddfac02017-02-14 16:02:58 -08005wait /dev/block/platform/soc/624000.ufshc
Wei Wang0f101182017-07-20 15:05:22 -07006# Enable UFS powersaving
Wei Wang0f101182017-07-20 15:05:22 -07007write /sys/devices/soc/624000.ufshc/clkgate_enable 1
8write /sys/devices/soc/624000.ufshc/624000.ufshc:ufs_variant/pm_qos_enable 1
9write /sys/module/lpm_levels/parameters/sleep_disabled N
Thierry Strudelb4d838b2016-04-08 12:54:52 -070010
Yifan Hong4a19ed72019-10-16 17:36:36 -070011service vendor.charger /system/bin/charger
Thierry Strudelb4d838b2016-04-08 12:54:52 -070012class charger
Sandeep Patil0c01d7b2016-11-01 14:18:02 -070013seclabel u:r:charger:s0
Thierry Strudelb4d838b2016-04-08 12:54:52 -070014
David Ng0891f7c2013-04-08 13:00:17 -070015on early-init
Nick Kralevich11ea1492017-01-23 20:27:04 +000016mount debugfs debugfs /sys/kernel/debug
17chmod 0755 /sys/kernel/debug
David Ng0891f7c2013-04-08 13:00:17 -070018
Thierry Strudelb4d838b2016-04-08 12:54:52 -070019on init
Wei Wang11f73302017-07-13 12:02:24 -070020# Disable UFS powersaving
Wei Wang11f73302017-07-13 12:02:24 -070021write /sys/devices/soc/624000.ufshc/clkgate_enable 0
22write /sys/devices/soc/624000.ufshc/624000.ufshc:ufs_variant/pm_qos_enable 0
Wei Wang0f101182017-07-20 15:05:22 -070023write /sys/module/lpm_levels/parameters/sleep_disabled Y
Wei Wang11f73302017-07-13 12:02:24 -070024
Wei Wang3a3d8dd2017-08-22 12:13:17 -070025# QSEE rpmb listener need symlink for bootdevice
26wait /dev/block/platform/soc/${ro.boot.bootdevice}
27symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
28
Wei Wangf4a86d52017-03-09 15:46:35 -080029# We have vendor/ as early mount so we can start qseecomd earlier
30# early mount partions e.g. vendor/ will be mounted in init first stage
31# see b/27805372
Jaekyun Seokc3354062017-09-20 13:58:59 +090032start vendor.qseecomd
Wei Wangf4a86d52017-03-09 15:46:35 -080033
Thierry Strudelb4d838b2016-04-08 12:54:52 -070034# Support legacy paths
35symlink /sdcard /mnt/sdcard
36symlink /sdcard /storage/sdcard0
Sanket Khidkikar9f677992015-07-22 18:24:20 -070037
Alex Vakulenko1cc612c2017-01-23 14:26:59 -080038# Setup cpusets used by the VR services.
39mkdir /dev/cpuset/kernel 0750 root system
40write /dev/cpuset/kernel/cpus 0
41write /dev/cpuset/kernel/mems 0
42chown system system /dev/cpuset/kernel/tasks
43chmod 0660 /dev/cpuset/kernel/tasks
44
45mkdir /dev/cpuset/system 0750 root system
46write /dev/cpuset/system/cpus 0
47write /dev/cpuset/system/mems 0
48chown system system /dev/cpuset/system/tasks
49chmod 0660 /dev/cpuset/system/tasks
50
51mkdir /dev/cpuset/system/performance 0750 root system
52write /dev/cpuset/system/performance/cpus 0
53write /dev/cpuset/system/performance/mems 0
54chown system system /dev/cpuset/system/performance/tasks
55chmod 0660 /dev/cpuset/system/performance/tasks
56
57mkdir /dev/cpuset/system/background 0750 root system
58write /dev/cpuset/system/background/cpus 0
59write /dev/cpuset/system/background/mems 0
60chown system system /dev/cpuset/system/background/tasks
61chmod 0660 /dev/cpuset/system/background/tasks
62
63mkdir /dev/cpuset/application 0750 root system
64write /dev/cpuset/application/cpus 0
65write /dev/cpuset/application/mems 0
66chown system system /dev/cpuset/application/tasks
67chmod 0660 /dev/cpuset/application/tasks
68
69mkdir /dev/cpuset/application/performance 0750 root system
70write /dev/cpuset/application/performance/cpus 0
71write /dev/cpuset/application/performance/mems 0
72chown system system /dev/cpuset/application/performance/tasks
73chmod 0660 /dev/cpuset/application/performance/tasks
74
75mkdir /dev/cpuset/application/background 0750 root system
76write /dev/cpuset/application/background/cpus 0
77write /dev/cpuset/application/background/mems 0
78chown system system /dev/cpuset/application/background/tasks
79chmod 0660 /dev/cpuset/application/background/tasks
80
Wei Wang5627a682017-01-19 14:16:27 -080081# set default schedTune value for foreground/top-app (only affects EAS)
82write /dev/stune/foreground/schedtune.prefer_idle 1
83write /dev/stune/top-app/schedtune.boost 10
84write /dev/stune/top-app/schedtune.prefer_idle 1
Glenn Kasten73302932017-09-20 08:27:09 -070085write /dev/stune/rt/schedtune.boost 30
Joel Fernandescb103282017-02-10 13:48:18 -080086write /dev/stune/rt/schedtune.prefer_idle 1
Wei Wang5627a682017-01-19 14:16:27 -080087
Alex Vakulenko1cc612c2017-01-23 14:26:59 -080088# Create UDS structure for base VR services.
89mkdir /dev/socket/pdx 0775 system system
90mkdir /dev/socket/pdx/system 0775 system system
91mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
92mkdir /dev/socket/pdx/system/performance 0775 system system
93mkdir /dev/socket/pdx/system/vr 0775 system system
94mkdir /dev/socket/pdx/system/vr/display 0775 system system
95mkdir /dev/socket/pdx/system/vr/pose 0775 system system
96mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
97
Wei Wang415b4cf2017-05-17 15:01:05 -070098# ZRAM setup
99write /sys/block/zram0/comp_algorithm lz4
100write /proc/sys/vm/page-cluster 0
101
David Ng0891f7c2013-04-08 13:00:17 -0700102on fs
Bowgo Tsai0888f412017-03-24 11:32:14 +0000103mount_all /vendor/etc/fstab.${ro.hardware} --early
David Ng0891f7c2013-04-08 13:00:17 -0700104
105# Keeping following partitions outside fstab file. As user may not have
106# these partition flashed on the device. Failure to mount any partition in fstab file
107# results in failure to launch late-start class.
108
Sandeep Patil9ddfac02017-02-14 16:02:58 -0800109wait /dev/block/platform/soc/624000.ufshc/sda18
110mount ext4 /dev/block/platform/soc/624000.ufshc/by-name/cache /cache nosuid nodev noatime barrier=1
David Ng0891f7c2013-04-08 13:00:17 -0700111
Biswajit Pauld3053312015-07-14 12:38:27 -0700112restorecon_recursive /persist
113mkdir /persist/data 0700 system system
David Ng0891f7c2013-04-08 13:00:17 -0700114
Thierry Strudel1e5ca882018-03-28 19:36:38 -0700115# for android.hardware.health@2.0-service.marlin cycle count backup
116mkdir /persist/battery 0700 system system
117
Wei Wangd1847662016-09-09 10:45:07 -0700118on post-fs
119symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice
Wei Wangf4a86d52017-03-09 15:46:35 -0800120# Wait qseecomd started
Wei Wang8b5bfb82017-02-02 10:48:39 -0800121wait_for_prop sys.listeners.registered true
Wei Wang1b7413b2017-03-27 18:11:26 +0000122
123on late-fs
Wei Wangffd18de2017-01-20 14:16:02 -0800124# Start devices by sysfs trigger
Jaekyun Seokc3354062017-09-20 13:58:59 +0900125start vendor.devstart_sh
Wei Wangd1847662016-09-09 10:45:07 -0700126
Wei Wang0e517b22017-01-27 11:19:52 -0800127# Start services for bootanim
Wei Wang0e517b22017-01-27 11:19:52 -0800128start surfaceflinger
129start bootanim
Jaekyun Seok6b44b4a2017-08-30 10:51:23 +0900130start vendor.hwcomposer-2-1
Hung-ying Tyanab6faec2018-05-24 00:03:52 +0800131start vendor.configstore-hal
Jaekyun Seok6b44b4a2017-08-30 10:51:23 +0900132start vendor.gralloc-2-0
Wei Wang0c53ee02016-11-07 13:49:01 -0800133
Wei Wangecbd7f72018-04-04 14:15:10 -0700134# Wait for hwservicemanager ready since fsck might be triggered in mount_all --late
135# In such case, init won't responce the property_set from hwservicemanager and then
136# cause services for bootanim not running.
137wait_for_prop hwservicemanager.ready true
Wei Wang5f26b6b2017-03-21 16:03:04 -0700138# Mount RW partitions which need run fsck
Bowgo Tsai0888f412017-03-24 11:32:14 +0000139mount_all /vendor/etc/fstab.${ro.hardware} --late
Wei Wang7d447f82016-08-08 11:09:27 -0700140
Wei Wang11f31082016-11-02 22:50:28 -0700141# boot time fs tune
Wei Wang0c53ee02016-11-07 13:49:01 -0800142write /sys/block/sda/queue/iostats 0
Wei Wang11f31082016-11-02 22:50:28 -0700143write /sys/block/sda/queue/scheduler cfq
144write /sys/block/sda/queue/iosched/slice_idle 0
Wei Wang11f31082016-11-02 22:50:28 -0700145write /sys/block/sda/queue/read_ahead_kb 2048
146write /sys/block/sda/queue/nr_requests 256
147write /sys/block/dm-0/queue/read_ahead_kb 2048
Wei Wang11f31082016-11-02 22:50:28 -0700148write /sys/block/dm-1/queue/read_ahead_kb 2048
Wei Wang11f31082016-11-02 22:50:28 -0700149
Naveen Kallab9371ae2017-05-31 17:18:13 -0700150# Start time daemon early so that the system time can be set early
Jaekyun Seokc3354062017-09-20 13:58:59 +0900151start vendor.time_daemon
Naveen Kalla95a21e02017-06-14 17:00:54 -0700152
153on post-fs-data
Wei Wangf4a86d52017-03-09 15:46:35 -0800154# We can start netd here before in is launched in common init.rc on zygote-start
Keun-young Park7f9df402017-01-27 11:17:30 -0800155start netd
Wei Wangffd18de2017-01-20 14:16:02 -0800156# Set sku property
Jaekyun Seokc3354062017-09-20 13:58:59 +0900157start vendor.mid_sh
Naveen Kallab9371ae2017-05-31 17:18:13 -0700158# Wait until the system time is set
159wait_for_prop sys.time.set true
Wei Wang8a042fe2017-02-13 10:23:02 -0800160
Chia-Kai Liang1cc3f752017-05-08 13:35:33 -0700161# b/36601397 Setup debug folders for camera
162mkdir /data/vendor/camera 0770 camera camera
163
Wei Wang8a042fe2017-02-13 10:23:02 -0800164# zygote need to be started after otapreopt which will be done on post-fs-data
Wei Wang75e39252017-03-08 12:43:32 -0800165on zygote-start
Wei Wangf4a86d52017-03-09 15:46:35 -0800166# zygote is started in common init.rc
167# and now we can continue initialize /data/
David Ng0891f7c2013-04-08 13:00:17 -0700168mkdir /data/tombstones 0771 system system
169mkdir /tombstones/modem 0771 system system
170mkdir /tombstones/lpass 0771 system system
171mkdir /tombstones/wcnss 0771 system system
172mkdir /tombstones/dsps 0771 system system
Mallikarjuna Reddy Amireddy466e40d2015-02-02 21:21:39 +0530173mkdir /persist/data/sfs 0700 system system
174mkdir /persist/data/tz 0700 system system
Alexy Josephb5d863f2015-04-03 16:50:44 -0700175mkdir /data/misc/dts 0770 media audio
Kineret Bergeraa0bdc72015-06-24 23:14:39 +0300176mkdir /data/misc/tloc/ 0700 system drmrpc
Avijit Kanti Das80dbde72015-07-16 11:29:15 -0700177mkdir /data/misc/qvop 0660 system system
Dhananjay Kumarf1eb0112015-09-11 19:14:34 +0530178mkdir /data/misc/audio_pp 0771 media audio
Fyodor Kupolov680ae802016-07-22 12:20:40 -0700179mkdir /data/preloads 0775 system system
Fyodor Kupolov645ceec2017-03-14 11:45:30 -0700180mkdir /data/preloads/media 0775 system system
181mkdir /data/preloads/demo 0775 system system
Rukun Maoeba4eca2017-02-07 20:48:47 -0800182mkdir /data/misc/netmgr 0770 system radio
David Ng0891f7c2013-04-08 13:00:17 -0700183
Naveen Ramaraj2df627a2016-08-03 17:27:41 -0700184# Disable verbosity for sensorhub
185write /d/sps/debug_level_option 4
186write /d/sps/log_level_sel 4
187# Write to the base address of BAM pipe
188write /d/sps/bam_addr 122961920
189
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700190# Create directory for TZ Apps
191mkdir /data/misc/qsee 0770 system system
192
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700193mkdir /data/media 0770 media_rw media_rw
194chown media_rw media_rw /data/media
195
196mkdir /data/misc/ipa 0700 net_admin net_admin
197
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700198# Create the directories used by the Wireless subsystem
199mkdir /data/misc/wifi 0770 wifi wifi
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700200mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
Ecco Park3d61b252018-01-31 15:14:53 -0800201mkdir /data/vendor/wifi 0771 wifi wifi
Jeff Vander Stoep66da3792018-01-24 09:08:01 -0800202mkdir /data/vendor/wifi/wpa 0770 wifi wifi
203mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700204mkdir /data/misc/dhcp 0770 dhcp dhcp
205chown dhcp dhcp /data/misc/dhcp
206
207# Create port-bridge log dir
208mkdir /data/misc/port_bridge 0770 radio radio
209chmod 0770 /data/misc/port_bridge
210
211# Create the directories used by CnE subsystem
212mkdir /data/connectivity 0771 system system
213chown system system /data/connectivity
214
215# Create the directories used by DPM subsystem
216mkdir /data/dpm 0771 system system
217chown system system /data/dpm
218
219mkdir /data/dpm/nsrm 0771 system system
220chown system system /data/dpm/nsrm
221
222# Create directory used by audio subsystem
Mikhail Naganov0717eff2017-11-07 09:38:55 -0800223mkdir /data/vendor/audio 0770 audio audio
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700224
225# Create directory for audio delta files
Mikhail Naganov0717eff2017-11-07 09:38:55 -0800226mkdir /data/vendor/audio/acdbdata 0770 media audio
227mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700228
229# Create directory used by the DASH client
230mkdir /data/misc/dash 0770 media audio
231
232# Create directory used by display clients
233mkdir /data/misc/display 0770 system graphics
Marvin Tsaib1f83182016-04-06 18:00:32 +0800234mkdir /persist/display 0770 system graphics
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700235
236# Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
237# We chown/chmod /persist again so because mount is run as root + defaults
238chown system system /persist
239chmod 0771 /persist
240chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
241chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
242chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
243chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
244
245# Chown polling nodes as needed from UI running on system server
246chown system system /sys/devices/platform/msm_sdcc.1/polling
247chown system system /sys/devices/platform/msm_sdcc.2/polling
248chown system system /sys/devices/platform/msm_sdcc.3/polling
249chown system system /sys/devices/platform/msm_sdcc.4/polling
250
251# Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
252mkdir /data/system 0775 system system
253
254# Create directories for Location services
255mkdir /data/misc/location 0770 gps gps
256mkdir /data/misc/location/mq 0770 gps gps
257mkdir /data/misc/location/xtwifi 0770 gps gps
258mkdir /data/misc/location/gpsone_d 0770 system gps
259mkdir /data/misc/location/quipc 0770 gps system
260mkdir /data/misc/location/gsiff 0770 gps gps
261
Iliyan Malchevd2ba87b2017-04-14 12:33:39 -0700262# migrating the GNSS hal to vendor requires this to be relabeled; the
263# directory itself is created by /vendor/bin/xtra-daemon
264chown gps gps /data/misc/location/xtra
265chmod 0750 /data/misc/location/xtra
266chown gps gps /data/misc/location/xtra/socket_hal_xtra
267chmod 0660 /data/misc/location/xtra/socket_hal_xtra
268chown gps gps /data/misc/location/xtra/xtra.sqlite
269
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700270# Create directory from IMS services
271mkdir /data/shared 0755
272chown system system /data/shared
273
274# Create directory for FOTA
275mkdir /data/fota 0771
276chown system system /data/fota
277
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700278# Create /data/time folder for time-services
279mkdir /data/time/ 0700 system system
280
281mkdir /data/audio/ 0770 media audio
282
283# Create a folder for audio delta files
284mkdir /data/audio/acdbdata 0770 media audio
285mkdir /data/audio/acdbdata/delta 0770 media audio
286
287setprop vold.post_fs_data_done 1
288
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700289# Create FM dir for downloader
290mkdir /data/misc/fm 0770 system system
291chmod 0770 /data/misc/fm
292
293# RIDL data
294mkdir /data/misc/SelfHost/ 0710 system shell
295mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell
296mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell
297mkdir /data/misc/SelfHost/storage/ 0700 system shell
298mkdir /data/misc/SelfHost/Running/ 2750 system shell
299mkdir /data/misc/SelfHost/socket/ 2770 system system
300
301# Create PERFD deamon related dirs
302setprop ro.min_freq_0 384000
303mkdir /data/misc/perfd 0755 root system
304chmod 2755 /data/misc/perfd
305mkdir /data/system/perfd 0770 root system
306rm /data/system/perfd/default_values
307chmod 2770 /data/system/perfd
308
309# NFC local data and nfcee xml storage
Ruchi Kandoi9e6486e2017-03-30 11:01:32 -0700310mkdir /data/vendor/nfc 0770 nfc nfc
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700311
312# Create IOP deamon related dirs
313mkdir /data/misc/iop 0770 root system
314
315# Mark the copy complete flag to not completed
316write /data/misc/radio/copy_complete 0
317chown radio radio /data/misc/radio/copy_complete
318chmod 0660 /data/misc/radio/copy_complete
319
320# File flags for prebuilt ril db file
321write /data/misc/radio/prebuilt_db_support 1
322chown radio radio /data/misc/radio/prebuilt_db_support
323chmod 0400 /data/misc/radio/prebuilt_db_support
324write /data/misc/radio/db_check_done 0
325chown radio radio /data/misc/radio/db_check_done
326chmod 0660 /data/misc/radio/db_check_done
327
Srinath Sridharan788621c2016-07-28 17:30:11 -0700328chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
329chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
330chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
331chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
332chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq
333chmod 0660 /sys/class/devfreq/soc:qcom,gpubw/min_freq
334
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700335on early-boot
336# set RLIMIT_MEMLOCK to 64MB
337setrlimit 8 67108864 67108864
338# Allow subsystem (modem etc) debugging
339write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
340write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
341write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
342write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
Sami Tolvanen483ba582016-06-17 17:26:42 -0700343# Update dm-verity state and set partition.*.verified properties
344verity_update_state
Wei Wange9fb5a12017-04-18 15:29:41 -0700345
346# access permission for secure touch
347chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
348chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch
349
350chmod 0664 /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
351chown system graphics /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
352
353chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
354chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch
355
356# Permission for laser sensor driver
357chown camera camera /sys/class/htc_laser/laser/enable_ps_sensor
358
359# Permission for LED driver
360chown system system /sys/class/leds/red/on_off_ms
361chown system system /sys/class/leds/green/on_off_ms
362chown system system /sys/class/leds/blue/on_off_ms
363chown system system /sys/class/leds/red/rgb_start
364chown system system /sys/class/leds/green/rgb_start
365chown system system /sys/class/leds/blue/rgb_start
366chown system system /sys/class/leds/lcd-backlight/low_persistence
367
368# Permission for vibrator amplitude
369chown system system /sys/class/timed_output/vibrator/voltage_level
370
Wei Wang8b5bfb82017-02-02 10:48:39 -0800371# wait for devices
372wait_for_prop sys.qcom.devup 1
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700373
Thierry Strudel1e5ca882018-03-28 19:36:38 -0700374# vendor.health-hal needs to be able to RW
375chown system system /sys/devices/soc/qpnp-fg-17/cycle_counts_bins
376# HardwareInfo needs to be able to read CC bins
377chmod 644 /sys/devices/soc/qpnp-fg-17/cycle_counts_bins
378
Jack Wuf212cc22018-05-08 14:29:55 +0800379# dumpstate needs to read, vendor.health-hal needs to be able to RW
380chown system system /sys/devices/soc/qpnp-fg-17/power_supply/bms/charge_full
381# HardwareInfo needs to be able to read charge_full
382chmod 644 /sys/devices/soc/qpnp-fg-17/power_supply/bms/charge_full
383
David Ng0891f7c2013-04-08 13:00:17 -0700384on boot
Wei Wang0f101182017-07-20 15:05:22 -0700385# from init.power.sh
386# disable thermal hotplug to switch governor
387write /sys/module/msm_thermal/core_control/enabled 0
388
389# bring back main cores CPU 0,2
390write /sys/devices/system/cpu/cpu0/online 1
391write /sys/devices/system/cpu/cpu2/online 1
392
393write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
394
395# EAS: Capping the max frequency of silver core to 1.6GHz
396write /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1593600
397
398write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
399
400# if EAS is present, switch to sched governor (no effect if not EAS)
401write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "sched"
402write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "sched"
403
404# re-enable thermal hotplug
405write /sys/module/msm_thermal/core_control/enabled 1
406
407# Setting b.L scheduler parameters
408write /proc/sys/kernel/sched_migration_fixup 1
409write /proc/sys/kernel/sched_upmigrate 95
410write /proc/sys/kernel/sched_downmigrate 90
411write /proc/sys/kernel/sched_freq_inc_notify 400000
412write /proc/sys/kernel/sched_freq_dec_notify 400000
413write /proc/sys/kernel/sched_spill_nr_run 3
414write /proc/sys/kernel/sched_init_task_load 100
415
416# Exec init.foreground.sh in background
Jaekyun Seokc3354062017-09-20 13:58:59 +0900417start vendor.foreground_sh
Tim Murray137b3822016-06-24 10:19:18 -0700418# add a cpuset for the camera daemon
419# we want all cores for camera
420mkdir /dev/cpuset/camera-daemon
421write /dev/cpuset/camera-daemon/cpus 0-3
422write /dev/cpuset/camera-daemon/mems 0
423chown system system /dev/cpuset/camera-daemon
424chown system system /dev/cpuset/camera-daemon/tasks
425chmod 0664 /dev/cpuset/camera-daemon/tasks
426
Alex Vakulenko1cc612c2017-01-23 14:26:59 -0800427# Update DVR cpusets to boot-time values.
428write /dev/cpuset/kernel/cpus 0-3
429write /dev/cpuset/system/cpus 0-3
430write /dev/cpuset/system/performance/cpus 0-3
431write /dev/cpuset/system/background/cpus 0-3
432write /dev/cpuset/system/cpus 0-3
433write /dev/cpuset/application/cpus 0-3
434write /dev/cpuset/application/performance/cpus 0-3
435write /dev/cpuset/application/background/cpus 0-3
436write /dev/cpuset/application/cpus 0-3
437
Steve Pfetscha78cad82016-02-23 19:31:30 -0800438# Bluetooth
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700439chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
Steve Pfetscha78cad82016-02-23 19:31:30 -0800440chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
441chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700442chown bluetooth bluetooth /proc/bluetooth/sleep/proto
443chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
444chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
445chown system system /sys/module/sco/parameters/disable_esco
446chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
447chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
448chmod 0660 /sys/module/bluetooth_power/parameters/power
449chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
450chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
Steve Pfetscha78cad82016-02-23 19:31:30 -0800451chmod 0660 /sys/class/rfkill/rfkill0/state
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700452chmod 0660 /proc/bluetooth/sleep/proto
Steve Pfetscha78cad82016-02-23 19:31:30 -0800453chown bluetooth net_bt /dev/ttyHS0
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700454chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
455chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
Steve Pfetscha78cad82016-02-23 19:31:30 -0800456chmod 0660 /dev/ttyHS0
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700457chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
458chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
459
460chmod 0660 /dev/ttyHS2
461chown bluetooth bluetooth /dev/ttyHS2
462
Steve Pfetscha78cad82016-02-23 19:31:30 -0800463chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
464chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
465
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700466# Create QMUX deamon socket area
467mkdir /dev/socket/qmux_radio 0770 radio radio
468chmod 2770 /dev/socket/qmux_radio
469mkdir /dev/socket/qmux_audio 0770 media audio
470chmod 2770 /dev/socket/qmux_audio
471mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
472chmod 2770 /dev/socket/qmux_bluetooth
473mkdir /dev/socket/qmux_gps 0770 gps gps
474chmod 2770 /dev/socket/qmux_gps
475
476mkdir /persist/drm 0770 system system
477
478# Create NETMGR daemon socket area
479mkdir /dev/socket/netmgr 0750 radio radio
480
481setprop wifi.interface wlan0
482
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700483setprop ro.telephony.call_ring.multiple false
484
485# Remove SUID bit for iproute2 ip tool
486chmod 0755 /system/bin/ip
487
488chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
489
490# For bridgemgr daemon to inform the USB driver of the correct transport
491chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
492
493# For port-bridge daemon
494chown radio radio /dev/at_mdm0
495chown radio radio /dev/at_usb0
496
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700497setprop net.tcp.2g_init_rwnd 10
498
499# Assign TCP buffer thresholds to be ceiling value of technology maximums
500# Increased technology maximums should be reflected here.
501write /proc/sys/net/core/rmem_max 8388608
502write /proc/sys/net/core/wmem_max 8388608
503
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700504# To prevent out of order acknowledgements from making
505# connection tracking to treat them as not belonging to
506# the connection they belong to.
507# Otherwise, a weird issue happens in which some long
508# connections on high-throughput links get dropped when
509# an ack packet comes out of order
510write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
511
512# Allow access for CCID command/response timeout configuration
513chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
514
515# bond0 used by FST Manager
516chown wifi wifi /sys/class/net/bond0/bonding/queue_id
517
518write /proc/sys/net/ipv6/conf/default/accept_ra_defrtr 1
519
520# bluetooth init
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700521setprop ro.qualcomm.bluetooth.opp true
522setprop ro.qualcomm.bluetooth.hfp true
523setprop ro.qualcomm.bluetooth.hsp true
524setprop ro.qualcomm.bluetooth.pbap true
525setprop ro.qualcomm.bluetooth.ftp true
526setprop ro.qualcomm.bluetooth.nap true
527setprop ro.bluetooth.sap true
528setprop ro.bluetooth.dun true
529setprop ro.qualcomm.bluetooth.map true
530setprop ro.bluetooth.hfp.ver 1.6
Steve Pfetscha78cad82016-02-23 19:31:30 -0800531
Roshan Pius554a37f2016-12-08 18:41:47 -0800532# Wifi firmware reload path
533chown wifi wifi /sys/module/wlan/parameters/fwpath
534
Thierry Strudel3b203822018-03-21 14:41:31 -0700535# QCOM FG SRAM dump for dumpstate
536chown system system /d/fg_memif/data
537chown system system /d/fg_memif/count
538chown system system /d/fg_memif/address
539
Steve Pfetscha78cad82016-02-23 19:31:30 -0800540on property:wc_transport.start_hci=true
Jaekyun Seokc3354062017-09-20 13:58:59 +0900541start vendor.start_hci_filter
Steve Pfetscha78cad82016-02-23 19:31:30 -0800542
543on property:wc_transport.start_hci=false
Jaekyun Seokc3354062017-09-20 13:58:59 +0900544stop vendor.start_hci_filter
Steve Pfetscha78cad82016-02-23 19:31:30 -0800545
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700546on property:wc_transport.start_root=true
Jaekyun Seokc3354062017-09-20 13:58:59 +0900547start vendor.hci_filter_root
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700548
549on property:wc_transport.start_root=false
Jaekyun Seokc3354062017-09-20 13:58:59 +0900550stop vendor.hci_filter_root
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700551
Jaekyun Seokc3354062017-09-20 13:58:59 +0900552service vendor.per_mgr /vendor/bin/pm-service
Ameya Thakurce015092015-02-13 15:18:56 -0800553class core
554user system
Naveen Ramarajbef499f2016-06-20 17:14:06 -0700555group system
Ameya Thakur73e5ce82015-08-07 17:09:37 -0700556ioprio rt 4
Ameya Thakurce015092015-02-13 15:18:56 -0800557
Jaekyun Seokc3354062017-09-20 13:58:59 +0900558service vendor.per_proxy /vendor/bin/pm-proxy
Ameya Thakureae297c2014-11-24 14:46:52 -0800559class core
560user system
561group system
562disabled
563
evan_wongb6466342017-01-05 19:21:22 +0800564on property:ro.build.type=userdebug
565write /sys/class/uio/uio1/device/rtel/rtel 1
566
Jaekyun Seokc3354062017-09-20 13:58:59 +0900567on property:init.svc.vendor.per_mgr=running
568start vendor.per_proxy
Ameya Thakureae297c2014-11-24 14:46:52 -0800569
Marissa Wallfd4cb2a2018-02-20 15:26:05 -0800570on property:sys.uidcpupower=*
Marissa Wall283fce22018-01-19 15:58:27 -0800571write /proc/uid_cpupower/enable 1
572
Marissa Wallfd4cb2a2018-02-20 15:26:05 -0800573on property:sys.uidcpupower=0
Marissa Wall283fce22018-01-19 15:58:27 -0800574write /proc/uid_cpupower/enable 0
575
Ameya Thakureae297c2014-11-24 14:46:52 -0800576on property:sys.shutdown.requested=*
Jaekyun Seokc3354062017-09-20 13:58:59 +0900577stop vendor.per_proxy
Wei Wangec19a5d2017-06-27 15:19:33 -0700578# Disable subsystem restart
579write /sys/module/subsystem_restart/parameters/disable_restart_work 0x9889deed
Ameya Thakureae297c2014-11-24 14:46:52 -0800580
Jaekyun Seokc3354062017-09-20 13:58:59 +0900581service vendor.qseecomd /vendor/bin/qseecomd
AnilKumar Chimataf99a32c2014-10-31 18:39:44 +0530582class core
583user root
584group root
585
Jaekyun Seokc3354062017-09-20 13:58:59 +0900586service vendor.thermal-engine /vendor/bin/thermal-engine -c ${sys.qcom.thermalcfg:-/vendor/etc/thermal-engine.conf}
Todd Poynor894b37b2017-12-05 11:16:47 -0800587class hal
Jenhao Chen523a8212016-03-31 07:13:05 +0800588user root
Joel Galensonfb33e342018-01-30 10:31:30 -0800589group root system diag
Jenhao Chen523a8212016-03-31 07:13:05 +0800590socket thermal-send-client stream 0666 system system
591socket thermal-recv-client stream 0660 system system
592socket thermal-recv-passive-client stream 0666 system system
Shashank Mittal02836142014-04-11 18:00:01 -0700593
Jaekyun Seokc3354062017-09-20 13:58:59 +0900594service vendor.time_daemon /vendor/bin/time_daemon
Naveen Kallab9371ae2017-05-31 17:18:13 -0700595class core
Roman Gezikov0d94c4d2013-12-23 15:53:48 +0200596user root
Aravind Asame0696aa2014-06-26 19:23:12 -0700597group root
Valeri Atamanioukc8162f62013-10-11 01:34:26 +0300598
Jaekyun Seokc3354062017-09-20 13:58:59 +0900599service vendor.adsprpcd /vendor/bin/adsprpcd
Sreesudhan Ramakrish Ramkumar776ef0e2015-04-27 19:57:07 -0700600class main
601user media
602group media
603
Jaekyun Seokc3354062017-09-20 13:58:59 +0900604service vendor.imsqmidaemon /vendor/bin/imsqmidaemon
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700605class main
606user system
607socket ims_qmid stream 0660 system radio
Sivaram Vempati28807692016-06-29 11:46:43 -0700608group radio log diag
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700609
Jaekyun Seokc3354062017-09-20 13:58:59 +0900610service vendor.imsdatadaemon /vendor/bin/imsdatadaemon
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700611class main
612user system
613socket ims_datad stream 0660 system radio
Sivaram Vempati28807692016-06-29 11:46:43 -0700614group system wifi radio inet log diag
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700615disabled
Ameya Thakur8d2147a2015-04-24 17:09:08 -0700616
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700617on property:sys.ims.QMI_DAEMON_STATUS=1
Jaekyun Seokc3354062017-09-20 13:58:59 +0900618start vendor.imsdatadaemon
Garik Badalyan40563c92014-02-05 14:48:39 -0800619
Jaekyun Seokc3354062017-09-20 13:58:59 +0900620service vendor.ims_rtp_daemon /vendor/bin/ims_rtp_daemon
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700621class main
622user system
623socket ims_rtpd stream 0660 system radio
Sivaram Vempati28807692016-06-29 11:46:43 -0700624group radio diag inet log
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700625disabled
626
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700627
628on property:sys.ims.DATA_DAEMON_STATUS=1
Jaekyun Seokc3354062017-09-20 13:58:59 +0900629start vendor.ims_rtp_daemon
Alexy Joseph458a76f2015-03-18 11:48:25 -0700630
Jaekyun Seokc3354062017-09-20 13:58:59 +0900631service vendor.ssr_setup /vendor/bin/ssr_setup
kurt_huangc67ca182016-06-29 02:33:11 +0800632class main
633user root
634group root system
Ed Tame79b8492016-04-05 17:36:52 -0700635oneshot
Ed Tame79b8492016-04-05 17:36:52 -0700636
Jaekyun Seokc3354062017-09-20 13:58:59 +0900637service vendor.ss_ramdump /vendor/bin/subsystem_ramdump
Ed Tame79b8492016-04-05 17:36:52 -0700638class main
chunhsien_linc272e112016-06-07 16:05:33 +0800639user root
640group root system
Ed Tame79b8492016-04-05 17:36:52 -0700641disabled
642
643on property:persist.sys.ssr.enable_ramdumps=1
644write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
Jie Song884c7d02017-04-07 12:26:19 -0700645mkdir /data/vendor/ramdump 761 root system
Sunny Kapdi250180a2017-08-24 16:17:53 -0700646mkdir /data/vendor/ssrdump 771 root system
Jaekyun Seokc3354062017-09-20 13:58:59 +0900647start vendor.ss_ramdump
Ed Tame79b8492016-04-05 17:36:52 -0700648
649on property:persist.sys.ssr.enable_ramdumps=0
650write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
651
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700652service iop /system/bin/iop
653class main
654user root
655group root
656disabled
657
Jaekyun Seokc3354062017-09-20 13:58:59 +0900658service vendor.cnd /vendor/bin/cnd
Jeff Vander Stoep7796a932016-05-26 13:37:54 -0700659user root
Jeff Vander Stoep2faa8332016-06-09 16:04:43 -0700660group root inet wakelock
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700661class late_start
662socket cnd stream 660 root inet
663
Jaekyun Seokc3354062017-09-20 13:58:59 +0900664service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700665class core
666user root
667oneshot
668
Jaekyun Seokc3354062017-09-20 13:58:59 +0900669service vendor.rmt_storage /vendor/bin/rmt_storage
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700670class core
671user root
Jeff Vander Stoepe8470f72016-05-10 16:21:55 -0700672group root system wakelock
Jeff Vander Stoepea9ea882017-07-19 17:20:22 -0700673ioprio rt 0
Keun-young Park12706e22017-07-05 11:47:37 -0700674shutdown critical
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700675
Jaekyun Seokc3354062017-09-20 13:58:59 +0900676service vendor.port-bridge /vendor/bin/port-bridge
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700677class main
678user radio
679group radio system inet
680oneshot
681
Jaekyun Seokc3354062017-09-20 13:58:59 +0900682service vendor.qmiproxy /vendor/bin/qmiproxy
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700683class main
684user radio
685group radio diag
686disabled
687
Jaekyun Seokc3354062017-09-20 13:58:59 +0900688service vendor.netmgrd /vendor/bin/netmgrd
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700689class main
Jeff Vander Stoepbfb216f2016-05-11 10:56:42 -0700690user root
691group root wifi wakelock radio inet
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700692
Roshan Pius5f8f3bb2017-02-23 08:30:49 -0800693service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
Jeff Vander Stoep66da3792018-01-24 09:08:01 -0800694-O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
Jeff Vander Stoepb9bf41a2017-11-30 13:00:27 -0800695-g@android:wpa_wlan0
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700696# we will start as root and wpa_supplicant will switch to user wifi
697# after setting up the capabilities required for WEXT
698# user wifi
699# group wifi inet keystore
Roshan Pius55145012018-02-05 16:18:34 -0800700interface android.hardware.wifi.supplicant@1.0::ISupplicant default
701interface android.hardware.wifi.supplicant@1.1::ISupplicant default
Steven Moreland345054b2019-09-20 14:31:33 -0700702interface android.hardware.wifi.supplicant@1.2::ISupplicant default
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700703class main
704socket wpa_wlan0 dgram 660 wifi wifi
705disabled
706oneshot
707
Jaekyun Seokc3354062017-09-20 13:58:59 +0900708service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700709class late_start
Srinivas Girigowda0641bdc2016-08-25 18:12:51 -0700710user system
Ecco Park5a14bb92017-03-22 11:56:11 -0700711group system inet wifi
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700712
Jaekyun Seokc3354062017-09-20 13:58:59 +0900713service vendor.loc_launcher /vendor/bin/loc_launcher
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700714#loc_launcher will start as root and set its uid to gps
715class late_start
Sivaram Vempati28807692016-06-29 11:46:43 -0700716group gps inet diag wifi
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700717
Jaekyun Seokc3354062017-09-20 13:58:59 +0900718service vendor.init-radio-sh /vendor/bin/init.radio.sh
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700719class late_start
kurt_huangb3b8d6f2016-06-16 02:21:46 +0800720user radio
721group root radio
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700722oneshot
723
Jaekyun Seokc3354062017-09-20 13:58:59 +0900724service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
Tim Murray725790e2016-07-20 19:04:59 -0700725socket msm_irqbalance seqpacket 660 root system
726class core
727user root
728group root
729writepid /dev/cpuset/system-background/tasks
730
Jaekyun Seokc3354062017-09-20 13:58:59 +0900731service vendor.atfwd /vendor/bin/ATFWD-daemon
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700732class late_start
733user system
734group system radio
Wei Wang0a8f8b22016-07-14 14:46:26 -0700735disabled
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700736
Jaekyun Seokc3354062017-09-20 13:58:59 +0900737service vendor.ssr_diag /vendor/bin/ssr_diag
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700738class late_start
739user system
740group system
741disabled
742
Jaekyun Seokc3354062017-09-20 13:58:59 +0900743service vendor.diag_mdlog_start /vendor/bin/diag_mdlog
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700744class late_start
745user shell
746group system diag sdcard_rw sdcard_r media_rw
747disabled
748oneshot
749
Jaekyun Seokc3354062017-09-20 13:58:59 +0900750service vendor.diag_mdlog_stop /vendor/bin/diag_mdlog -k
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700751class late_start
752user shell
753group system diag sdcard_rw sdcard_r media_rw
754disabled
755oneshot
756
Jaekyun Seokc3354062017-09-20 13:58:59 +0900757service vendor.perfd /vendor/bin/perfd
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700758class main
759user root
Jeff Vander Stoepfe1bf6c2016-06-13 14:52:52 -0700760group root system
Tim Murrayb1fc0b12016-07-28 09:11:42 -0700761writepid /dev/cpuset/system-background/tasks
Wei Wang0f101182017-07-20 15:05:22 -0700762disabled
Siqi Lineb3fa042016-05-13 13:35:42 -0700763
764# bugreport is triggered by holding down volume down, volume up and power
765service bugreport /system/bin/dumpstate -d -p -B -z \
766-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
767class main
768disabled
769oneshot
770keycodes 114 115 116
jason_sung7365f612016-05-31 16:17:15 +0800771
Wei Wang0f101182017-07-20 15:05:22 -0700772on property:sys.post_boot.parsed=1
Jaekyun Seokc3354062017-09-20 13:58:59 +0900773start vendor.perfd
Wei Wang0f101182017-07-20 15:05:22 -0700774
jason_sung7365f612016-05-31 16:17:15 +0800775on property:sys.boot_completed=1
Jaekyun Seokc3354062017-09-20 13:58:59 +0900776start vendor.power_sh
Wei Wang0f101182017-07-20 15:05:22 -0700777
Wei Wang11f73302017-07-13 12:02:24 -0700778# Enable UFS powersaving
Wei Wang11f73302017-07-13 12:02:24 -0700779write /sys/devices/soc/624000.ufshc/clkgate_enable 1
780write /sys/devices/soc/624000.ufshc/624000.ufshc:ufs_variant/pm_qos_enable 1
Wei Wang0f101182017-07-20 15:05:22 -0700781write /sys/module/lpm_levels/parameters/sleep_disabled N
Wei Wang11f73302017-07-13 12:02:24 -0700782
Tim Murray0ccba692016-07-28 09:26:20 -0700783# update cpusets now that boot is complete and we want better load balancing
784write /dev/cpuset/top-app/cpus 0-3
Tim Murray0ccba692016-07-28 09:26:20 -0700785write /dev/cpuset/foreground/cpus 0-2
786write /dev/cpuset/background/cpus 0
787write /dev/cpuset/system-background/cpus 0-2
Tim Murray71cead32018-04-13 11:07:56 -0700788write /dev/cpuset/restricted/cpus 0-1
Alex Vakulenko1cc612c2017-01-23 14:26:59 -0800789
790# Update DVR cpusets to runtime values.
791write /dev/cpuset/kernel/cpus 0,1
792write /dev/cpuset/system/performance/cpus 2
793write /dev/cpuset/system/background/cpus 0
794write /dev/cpuset/system/cpus 0,2
795write /dev/cpuset/application/performance/cpus 3
796write /dev/cpuset/application/background/cpus 1
797write /dev/cpuset/application/cpus 1,3
798
Wei Wang11f31082016-11-02 22:50:28 -0700799# end boot time fs tune
Wei Wang38025d92018-07-26 10:57:30 -0700800write /sys/block/sda/queue/read_ahead_kb 128
Wei Wang11f31082016-11-02 22:50:28 -0700801write /sys/block/sda/queue/nr_requests 128
802write /sys/block/dm-0/queue/read_ahead_kb 128
Wei Wang11f31082016-11-02 22:50:28 -0700803write /sys/block/dm-1/queue/read_ahead_kb 128
Wei Wang0c53ee02016-11-07 13:49:01 -0800804write /sys/block/sda/queue/iostats 1
Suprabh Shuklaebff65b2016-07-19 17:28:57 -0700805
Wei Wangc5341492017-10-02 16:13:16 -0700806# UFS health
807chmod 755 /sys/kernel/debug/ufshcd0
Thierry Strudel1e5ca882018-03-28 19:36:38 -0700808chmod 644 /sys/kernel/debug/ufshcd0/err_state
Wei Wangc5341492017-10-02 16:13:16 -0700809chmod 644 /sys/kernel/debug/ufshcd0/power_mode
810chmod 644 /sys/kernel/debug/ufshcd0/host_regs
811chmod 644 /sys/kernel/debug/ufshcd0/show_hba
812chmod 644 /sys/kernel/debug/ufshcd0/dump_device_desc
813chmod 755 /sys/kernel/debug/ufshcd0/stats
814chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats
815chmod 644 /sys/kernel/debug/ufshcd0/stats/query_stats
816chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats
817
Daniel Colascione54a1dc62018-01-08 19:04:28 -0800818# Used immediately below
819trigger sys-boot-completed-set
820
821# We want one opportunity per boot to enable zram, so we
822# use a trigger we fire from the above stanza. If
823# persist.sys.zram_enabled becomes true after boot,
824# we don't want to run swapon_all at that time.
825on sys-boot-completed-set && property:persist.sys.zram_enabled=1
826swapon_all /vendor/etc/fstab.${ro.hardware}
827
Steve Muckle347d1c72017-05-10 16:26:02 -0700828on property:sys.boot_completed=1 && property:ro.build.type=user
829write /proc/sys/kernel/modules_disabled 1
830
Thierry Strudel5b45ee02018-04-03 16:14:51 -0700831## charger driver exposes now finer grain control, map demo mode to those properties
Maggie White62116dd2018-08-17 11:23:41 -0700832# demo mode can only be exited by wiping data which will also reset the persist properties
Suprabh Shuklaebff65b2016-07-19 17:28:57 -0700833on property:sys.retaildemo.enabled=1
Thierry Strudel5b45ee02018-04-03 16:14:51 -0700834setprop persist.vendor.charge.stop.level 35
835setprop persist.vendor.charge.start.level 30
Suprabh Shuklaebff65b2016-07-19 17:28:57 -0700836
Thierry Strudel5b45ee02018-04-03 16:14:51 -0700837on property:persist.vendor.charge.stop.level=*
838write /sys/module/htc_battery/parameters/charge_stop_level ${persist.vendor.charge.stop.level}
839
840on property:persist.vendor.charge.start.level=*
841write /sys/module/htc_battery/parameters/charge_start_level ${persist.vendor.charge.start.level}
Wei Wang0c53ee02016-11-07 13:49:01 -0800842
Jaekyun Seokc3354062017-09-20 13:58:59 +0900843service vendor.devstart_sh /vendor/bin/init.qcom.devstart.sh
Wei Wang0c53ee02016-11-07 13:49:01 -0800844class main
845user root
846group root system
847disabled
848oneshot
849
Jaekyun Seokc3354062017-09-20 13:58:59 +0900850service vendor.foreground_sh /vendor/bin/init.foreground.sh
Wei Wangffd18de2017-01-20 14:16:02 -0800851class main
852user root
853group root system readproc
854disabled
855oneshot
856
Jaekyun Seokc3354062017-09-20 13:58:59 +0900857service vendor.power_sh /vendor/bin/init.power.sh
Wei Wangffd18de2017-01-20 14:16:02 -0800858class main
859user root
860group root system
861disabled
862oneshot
863
Jaekyun Seokc3354062017-09-20 13:58:59 +0900864service vendor.mid_sh /vendor/bin/init.mid.sh
Wei Wangffd18de2017-01-20 14:16:02 -0800865class main
866user root
867group root system
868disabled
869oneshot
Wei Wang54904712018-01-31 10:13:55 -0800870
871# reset thermal-engine when framework dies in VR mode
872on property:init.svc.zygote=restarting && property:sys.qcom.thermalcfg=/vendor/etc/thermal-engine-vr.conf
873setprop sys.qcom.thermalcfg "/vendor/etc/thermal-engine.conf"
874restart vendor.thermal-engine
Mark Salyzyn8d140032018-01-16 09:31:04 -0800875
876# b/70518189 vDSO experiments
877on property:sys.vdso=*
878write /sys/module/vdso/parameters/enable_32 1
879write /sys/module/vdso/parameters/enable_64 1
880
881on property:sys.vdso=false
882write /sys/module/vdso/parameters/enable_32 0
883write /sys/module/vdso/parameters/enable_64 0
884
885on property:sys.vdso=64
886write /sys/module/vdso/parameters/enable_32 0
887
888on property:sys.vdso=32
889write /sys/module/vdso/parameters/enable_64 0
Tao Bao9af37fe2019-06-27 11:31:59 -0700890
891# Write the dark theme magic (`theme-dark`, or 0x7468656d652d6461726b in hex string) to /misc
892# partition. Offset 10814 in vendor space is effectively offset 12862 in /misc partition.
893service vendor.darkboot /vendor/bin/misc_writer --vendor-space-offset 10814 --hex-string 0x7468656d652d6461726b
894disabled
895oneshot
896
897# Clear the 10-byte dark theme magic in /misc partition. Offset 10814 in vendor space is effectively
898# offset 12862 in /misc partition.
899service vendor.darkboot_clear /vendor/bin/misc_writer --vendor-space-offset 10814 --hex-string 0x00000000000000000000
900disabled
901oneshot
902
903# Set the dark boot flag on dark mode (UiModeManager.MODE_NIGHT_YES == 2).
904on property:persist.sys.theme=2
905start vendor.darkboot
906
907# Clear the dark theme flag on light mode (UiModeManager.MODE_NIGHT_NO == 1) or auto mode
908# (UiModeManager.MODE_NIGHT_AUTO == 0).
909on property:persist.sys.theme=1
910start vendor.darkboot_clear
911
912on property:persist.sys.theme=0
913start vendor.darkboot_clear