1#
2# Copyright (C) 2018 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.usb.rc
18import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.diag.rc
19import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.logging.rc
20import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.mpssrfs.rc
21import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.power.rc
22
23service vendor.charger /charger
24    class charger
25    seclabel u:r:charger:s0
26    user system
27    group system wakelock input
28    capabilities SYS_BOOT
29    file /dev/kmsg w
30    file /sys/fs/pstore/console-ramoops-0 r
31    file /sys/fs/pstore/console-ramoops r
32    file /proc/last_kmsg r
33
34on early-init
35    mount debugfs debugfs /sys/kernel/debug
36    chmod 0755 /sys/kernel/debug
37
38    # Disable EAS
39    write /sys/kernel/debug/sched_features NO_ENERGY_AWARE
40    mount_all /vendor/etc/fstab.persist --early
41
42# Skip init trigger for charger mode
43on early-init && property:ro.boot.mode=charger
44    setprop vendor.skip.init 1
45
46on init
47    # Load display primaries
48    start color_init
49
50    # Boot time fs tuning
51    write /sys/block/sda/queue/iostats 0
52    write /sys/block/sda/queue/scheduler cfq
53    write /sys/block/sda/queue/iosched/slice_idle 0
54    write /sys/block/sda/queue/read_ahead_kb 2048
55    write /sys/block/sda/queue/nr_requests 256
56    write /sys/block/sde/queue/iostats 0
57    write /sys/block/sde/queue/scheduler cfq
58    write /sys/block/sde/queue/iosched/slice_idle 0
59    write /sys/block/sde/queue/read_ahead_kb 2048
60    write /sys/block/sde/queue/nr_requests 256
61    write /sys/block/sdf/queue/iostats 0
62    write /sys/block/sdf/queue/scheduler cfq
63    write /sys/block/sdf/queue/iosched/slice_idle 0
64    write /sys/block/sdf/queue/read_ahead_kb 2048
65    write /sys/block/sdf/queue/nr_requests 256
66    write /sys/block/dm-0/queue/read_ahead_kb 2048
67    write /sys/block/dm-1/queue/read_ahead_kb 2048
68    write /sys/block/dm-2/queue/read_ahead_kb 2048
69    write /sys/block/dm-3/queue/read_ahead_kb 2048
70    write /sys/block/dm-4/queue/read_ahead_kb 2048
71    write /sys/block/dm-5/queue/read_ahead_kb 2048
72    write /sys/block/dm-6/queue/read_ahead_kb 2048
73
74    # Disable UFS powersaving
75    write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0
76    write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 0
77
78    # Disable powersaving
79    write /sys/module/lpm_levels/parameters/sleep_disabled 1
80
81    wait /dev/block/platform/soc/${ro.boot.bootdevice}
82    symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
83
84    # start qseecomd early as we mount system/ vendor/ early
85    # vold needs keymaster that needs qseecomd
86    start vendor.qseecomd
87    start keymaster-4-0
88
89    start vendor.citadeld
90    start vendor.keymaster-4-0-citadel
91
92    # Loading kernel modules in background
93    start insmod_sh
94
95    # bring back all cores
96    write /sys/devices/system/cpu/cpu0/online 1
97    write /sys/devices/system/cpu/cpu1/online 1
98    write /sys/devices/system/cpu/cpu2/online 1
99    write /sys/devices/system/cpu/cpu3/online 1
100    write /sys/devices/system/cpu/cpu4/online 1
101    write /sys/devices/system/cpu/cpu5/online 1
102    write /sys/devices/system/cpu/cpu6/online 1
103    write /sys/devices/system/cpu/cpu7/online 1
104
105    # configure governor settings for little cluster
106    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
107    write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500
108    write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000
109
110    # configure governor settings for big cluster
111    write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor schedutil
112    write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500
113    write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000
114
115    # configure governor settings for big big CPU
116    write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor schedutil
117    write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500
118    write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000
119
120    # ZRAM setup
121    write /sys/block/zram0/comp_algorithm lz4
122    write /proc/sys/vm/page-cluster 0
123
124    # Some user code relies on ro.boot.hardware.revision
125    setprop ro.boot.hardware.revision ${ro.revision}
126
127    # set default schedTune value for foreground/top-app
128    write /dev/stune/foreground/schedtune.prefer_idle 1
129    write /dev/stune/top-app/schedtune.boost 10
130    write /dev/stune/top-app/schedtune.prefer_idle 1
131
132    # create a cpuset for camera-specific processes
133    mkdir /dev/cpuset/camera-daemon
134    write /dev/cpuset/camera-daemon/cpus 0-7
135    write /dev/cpuset/camera-daemon/mems 0
136    chown system system /dev/cpuset/camera-daemon
137    chown system system /dev/cpuset/camera-daemon/tasks
138    chmod 0664 /dev/cpuset/camera-daemon/tasks
139
140    # create an stune group for camera-specific processes
141    mkdir /dev/stune/camera-daemon
142    write /dev/stune/camera-daemon/schedtune.prefer_idle 1
143    write /dev/stune/camera-daemon/schedtune.boost 0
144    chown system system /dev/stune/camera-daemon
145    chown system system /dev/stune/camera-daemon/tasks
146    chmod 0664 /dev/stune/camera-daemon/tasks
147
148    # Wireless charging
149    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/rxdata
150    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/txdata
151    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/rxlen
152    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/txlen
153    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/ccreset
154    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/status
155    chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/version
156
157    # Allow PAI targeting per hardware SKU
158    setprop ro.oem.key1 ${ro.boot.hardware.sku}
159
160    # Property used by vintf for sku specific manifests
161    setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
162
163# b/134578585
164on charger
165    trigger fs
166    start system_suspend
167    start vendor.qrtr-ns
168    start irsc_util
169    start tftp_server
170    start rmt_storage
171    start modem_svc
172    start vendor.per_mgr
173
174    # Health HAL
175    chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode
176
177on late-init
178    setprop vendor.thermal.config thermal_info_config.json
179    chown system system /sys/devices/virtual/thermal/tz-by-name/sdm-therm-monitor/trip_point_0_temp
180    chown system system /sys/devices/virtual/thermal/tz-by-name/sdm-therm-monitor/trip_point_0_hyst
181    chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_temp
182    chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_hyst
183    chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode
184
185# Override thermal HAL config for JAWS board
186on fs && property:ro.revision="DEV1.0"
187    setprop vendor.thermal.config thermal_info_config_jaws.json
188
189on fs
190    mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early
191
192    mkdir /mnt/vendor/persist/audio 0770 media audio
193    mkdir /mnt/vendor/persist/data 0700 system system
194    mkdir /mnt/vendor/persist/display 0770 system graphics
195    mkdir /mnt/vendor/persist/haptics 0770 system system
196    mkdir /mnt/vendor/persist/rfs 0770 root system
197    mkdir /mnt/vendor/persist/hlos_rfs 0770 root system
198    mkdir /mnt/vendor/persist/secnvm 0770 system system
199    mkdir /mnt/vendor/persist/oslo 0755 system system
200    mkdir /mnt/vendor/persist/touch 0770 system system
201    chmod 0770 /mnt/vendor/persist/rfs
202    chmod 0770 /mnt/vendor/persist/rfs/shared
203    chmod 0770 /mnt/vendor/persist/rfs/msm
204    chmod 0770 /mnt/vendor/persist/rfs/msm/adsp
205    chmod 0770 /mnt/vendor/persist/rfs/msm/mpss
206    chmod 0770 /mnt/vendor/persist/rfs/msm/slpi
207    chmod 0770 /mnt/vendor/persist/rfs/mdm
208    chmod 0770 /mnt/vendor/persist/rfs/mdm/adsp
209    chmod 0770 /mnt/vendor/persist/rfs/mdm/mpss
210    chmod 0770 /mnt/vendor/persist/rfs/mdm/slpi
211    chmod 0770 /mnt/vendor/persist/rfs/mdm/tn
212    chmod 0770 /mnt/vendor/persist/rfs/apq
213    chmod 0770 /mnt/vendor/persist/rfs/apq/gnss
214    chmod 0770 /mnt/vendor/persist/hlos_rfs
215
216    # for cycle count backup
217    mkdir /mnt/vendor/persist/battery 0700 system system
218
219    restorecon_recursive /mnt/vendor/persist
220
221on post-fs
222    # set RLIMIT_MEMLOCK to 64MB
223    setrlimit 8 67108864 67108864
224
225    # Wait qseecomd started
226    wait_for_prop vendor.sys.listeners.registered true
227
228    # load IPA FWs
229    # This must be started when vendor.sys.listeners.registered is true
230    write /dev/ipa 1
231
232on late-fs
233    # Start services for bootanim
234    wait_for_prop vendor.display.native_display_primaries_ready 1
235    setprop ro.surface_flinger.display_primary_red ${vendor.display.primary_red}
236    setprop ro.surface_flinger.display_primary_green ${vendor.display.primary_green}
237    setprop ro.surface_flinger.display_primary_blue ${vendor.display.primary_blue}
238    setprop ro.surface_flinger.display_primary_white ${vendor.display.primary_white}
239    start surfaceflinger
240    start bootanim
241    start vendor.hwcomposer-2-3
242    start vendor.configstore-hal
243    start vendor.qti.hardware.display.allocator
244    start vendor.light-1-1
245
246    # Wait for keymaster HALs (TEE and StrongBox)
247    exec_start wait_for_strongbox
248
249
250    # Mount RW partitions which need run fsck
251    mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late
252    # Boot time fs tune
253    write /sys/block/dm-7/queue/read_ahead_kb 2048
254
255    # Required for time_daemon
256    mkdir /mnt/vendor/persist/time 0770 system system
257
258    # Start time daemon early so that the system time can be set early
259    start time_daemon
260
261    # Init sensor specific services
262    start init-sensors-sh
263
264    # turn off vblank irq immediately after turning off
265    write /sys/module/drm/parameters/vblankoffdelay -1
266
267on post-fs-data
268    mkdir /vendor/data/tombstones 0771 system system
269    mkdir /tombstones/modem 0771 system system
270    mkdir /tombstones/lpass 0771 system system
271    mkdir /tombstones/wcnss 0771 system system
272    mkdir /tombstones/dsps 0771 system system
273    mkdir /data/vendor/hbtp 0750 system system
274    mkdir /data/vendor/tloc 0700 system drmrpc
275    mkdir /data/vendor/nnhal 0700 system system
276    mkdir /data/vendor/time 0770 system system
277    mkdir /data/vendor/modem_fdr 0700 root system
278    mkdir /data/vendor/display 0770 system graphics
279    mkdir /data/vendor/camera 0770 system system
280    mkdir /data/vendor/hardware/airbrush 0770 vendor_airbrush vendor_airbrush
281    mkdir /data/vendor/hardware/airbrush/manager 0770 vendor_airbrush vendor_airbrush
282    mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system
283    mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera 0770 system system
284    mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera/facessd 0770 system system
285    mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera/ultradepth 0770 system system
286
287on zygote-start
288    # zygote is started in common init.rc
289    # and now we can continue initialize /data/
290    mkdir /data/vendor/ipa 0770 radio radio
291    chown radio radio /data/vendor/ipa
292
293    # Create the directories used by the Wireless subsystem
294    mkdir /data/vendor/wifi 0771 wifi wifi
295    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
296    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
297
298    # Create the directories used by CnE subsystem
299    mkdir /data/vendor/connectivity 0771 radio radio
300    chown radio radio /data/vendor/connectivity
301
302    # Create directory for radio
303    mkdir /data/vendor/radio 0773 system radio
304    mkdir /data/vendor/modem_stat 0771 system radio
305    write /data/vendor/modem_stat/debug.txt ""
306    chown system radio /data/vendor/modem_stat/debug.txt
307    chmod 0664 /data/vendor/modem_stat/debug.txt
308
309    # Mark the copy complete flag to not completed
310    write /data/vendor/radio/copy_complete 0
311    chown radio radio /data/vendor/radio/copy_complete
312    chmod 0660 /data/vendor/radio/copy_complete
313
314    # File flags for prebuilt ril db file
315    write /data/vendor/radio/prebuilt_db_support 1
316    chown radio radio /data/vendor/radio/prebuilt_db_support
317    chmod 0400 /data/vendor/radio/prebuilt_db_support
318    write /data/vendor/radio/db_check_done 0
319    chown radio radio /data/vendor/radio/db_check_done
320    chmod 0660 /data/vendor/radio/db_check_done
321
322    # Create directories for Location services
323    mkdir /data/vendor/location 0770 gps gps
324    mkdir /data/vendor/location/mq 0770 gps gps
325    mkdir /data/vendor/location/xtwifi 0770 gps gps
326    mkdir /dev/socket/location 0770 gps gps
327    mkdir /dev/socket/location/mq 0770 gps gps
328    mkdir /dev/socket/location/xtra 0770 gps gps
329
330    #Create directories for wifihal services
331    mkdir /dev/socket/wifihal 0770 wifi wifi
332    chmod 2770 /dev/socket/wifihal
333
334    # Create directory for audio delta files
335    mkdir /data/vendor/audio 0770 audio audio
336    mkdir /data/vendor/audio/acdbdata 0770 media audio
337    mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
338
339on early-boot
340    # Set up sensors-related directories and permissions
341    chmod 775 /mnt/vendor/persist/sensors
342    chmod 664 /mnt/vendor/persist/sensors/sensors_settings
343    chown root system /mnt/vendor/persist/sensors/registry
344    chmod 775 /mnt/vendor/persist/sensors/registry
345    chown root system /mnt/vendor/persist/sensors/registry/registry
346    chmod 775 /mnt/vendor/persist/sensors/registry/registry
347    chmod 664 /mnt/vendor/persist/sensors/registry/registry/sensors_registry
348    chown system root /mnt/vendor/persist/sensors/sensors_settings
349    chown root root /mnt/vendor/persist/sensors/registry/registry/sensors_settings
350
351    mkdir /data/vendor/sensors 0770
352    chown system system /data/vendor/sensors
353
354    chmod 770 /mnt/vendor/persist/audio
355    chmod 660 /mnt/vendor/persist/audio/audio.cal
356    chown media audio /mnt/vendor/persist/audio
357    chown audioserver audio /mnt/vendor/persist/audio/audio.cal
358
359    # Set up haptics-related directories and permissions
360    chmod 770 /mnt/vendor/persist/haptics
361    chmod 440 /mnt/vendor/persist/haptics/cs40l25a.cal
362    chown system system /mnt/vendor/persist/haptics
363    chown system system /mnt/vendor/persist/haptics/cs40l25a.cal
364
365    # Set up oslo-related directories and permissions
366    chmod 755 /mnt/vendor/persist/oslo
367    chmod 660 /mnt/vendor/persist/oslo/oslo.cal
368    chmod 644 /mnt/vendor/persist/oslo/tx_power.cal
369    chown system system /mnt/vendor/persist/oslo
370    chown system system /mnt/vendor/persist/oslo/oslo.cal
371    chown system system /mnt/vendor/persist/oslo/tx_power.cal
372
373    # Set up touch directories and permissions
374    chmod 770 /mnt/vendor/persist/touch
375    chown system system /mnt/vendor/persist/touch
376
377    # Permission for lights driver
378    chown system system /sys/class/backlight/panel0-backlight/brightness
379    chown system system /sys/class/backlight/panel0-backlight/vr_mode
380    chown system system /sys/class/backlight/panel0-backlight/hbm_mode
381
382    # Wait for insmod_sh to finish all modules
383    wait_for_prop vendor.all.modules.ready 1
384
385    # Update dm-verity state and set partition.*.verified properties
386    verity_update_state
387
388    # Wait for insmod_sh to finish all boot devices
389    wait_for_prop vendor.all.devices.ready 1
390
391    # Permission for Vibrator
392    chown system system /sys/class/leds/vibrator/device/asp_enable
393    chown system system /sys/class/leds/vibrator/device/comp_enable
394    chown system system /sys/class/leds/vibrator/device/cp_dig_scale
395    chown system system /sys/class/leds/vibrator/device/cp_trigger_duration
396    chown system system /sys/class/leds/vibrator/device/cp_trigger_index
397    chown system system /sys/class/leds/vibrator/device/cp_trigger_q_sub
398    chown system system /sys/class/leds/vibrator/device/cp_trigger_queue
399    chown system system /sys/class/leds/vibrator/device/dig_scale
400    chown system system /sys/class/leds/vibrator/device/exc_enable
401    chown system system /sys/class/leds/vibrator/device/f0_stored
402    chown system system /sys/class/leds/vibrator/device/fw_rev
403    chown system system /sys/class/leds/vibrator/device/gpio1_fall_dig_scale
404    chown system system /sys/class/leds/vibrator/device/gpio1_fall_index
405    chown system system /sys/class/leds/vibrator/device/gpio1_rise_dig_scale
406    chown system system /sys/class/leds/vibrator/device/gpio1_rise_index
407    chown system system /sys/class/leds/vibrator/device/heartbeat
408    chown system system /sys/class/leds/vibrator/device/hw_reset
409    chown system system /sys/class/leds/vibrator/device/num_waves
410    chown system system /sys/class/leds/vibrator/device/q_stored
411    chown system system /sys/class/leds/vibrator/device/redc_comp_enable
412    chown system system /sys/class/leds/vibrator/device/redc_stored
413    chown system system /sys/class/leds/vibrator/device/standby_timeout
414    chown system system /sys/class/leds/vibrator/device/vbatt_max
415    chown system system /sys/class/leds/vibrator/device/vbatt_min
416
417    # Permission for Rainbow sensor
418    chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_enable
419    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable
420    chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_read_byte
421    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte
422    chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte
423    chmod 0660 /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte
424    chown system system /dev/vd6281
425    chmod 0660 /dev/vd6281
426    chown system system /mnt/vendor/persist/camera/rals_fac_test
427    chmod 0660 /mnt/vendor/persist/camera/rals_fac_test
428
429    # Permission for Dot and Flood
430    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_enable
431    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_enable
432    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_certified
433    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_certified
434    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_write_byte
435    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_write_byte
436    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_silego_validated
437    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_silego_validated
438    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_read_byte
439    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_read_byte
440    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/itoc_cali_data_store
441    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/itoc_cali_data_store
442    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/get_silego_state
443    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/get_silego_state
444    chown system system /dev/lm36011_flood
445    chmod 0660 /dev/lm36011_flood
446    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_enable
447    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_enable
448    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_certified
449    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_certified
450    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_write_byte
451    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_write_byte
452    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_silego_validated
453    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_silego_validated
454    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_read_byte
455    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_read_byte
456    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/itoc_cali_data_store
457    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/itoc_cali_data_store
458    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/get_silego_state
459    chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/get_silego_state
460    chown system system /dev/lm36011_dot
461    chmod 0660 /dev/lm36011_dot
462
463    # Permission for camera sensor
464    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type
465    chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type
466    chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type
467    chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type
468
469    # FG cycle count read from dumpstate + backup restore from health HAL (and pixelstats)
470    chown system system /sys/class/power_supply/maxfg/cycle_counts_bins
471    chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/cycle_counts
472
473    # Permission for Pixelstats
474    chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right
475    chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_read_cnt
476    chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_write_cnt
477    chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_unmap_cnt
478    chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_sync_cnt
479    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/codec_state
480    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/wdsp_stat
481    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/codec_state
482    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/wdsp_stat
483
484    # iaxxx dsp pn for HardwareInfo
485    chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/hwinfo_part_number
486    chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/hwinfo_part_number
487
488    # Permission for Health Storage HAL
489    chown system system /sys/devices/platform/soc/1d84000.ufshc/manual_gc
490
491    # Permissions for reading display native color gamut
492    chown system graphics /mnt/vendor/persist/display/native_gamut.csv
493
494    # Permission to report knowles framework info
495    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/fw_version
496    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/host_version
497    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/package_version
498    chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/plugin_version
499
500    chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/file_version
501    chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/host_version
502    chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/package_version
503    chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/plugin_version
504
505on boot
506    # This location is used by QCRIL to host UNIX domain
507    # socket files used for internal IPC within QCRIL
508    # modules
509    mkdir /dev/socket/qmux_radio 0770 radio radio
510    chmod 2770 /dev/socket/qmux_radio
511
512    setprop wifi.interface wlan0
513
514    chown system system /sys/kernel/hbtp/display_pwr
515    start rmt_storage
516    start rfs_access
517
518    # default country code
519    setprop ro.boot.wificountrycode 00
520
521    # WLAN debug access
522    chown system system /d/icnss/stats
523
524service init-radio-sh /vendor/bin/init.radio.sh
525    class late_start
526    user radio
527    group root radio
528    oneshot
529
530on property:init.svc.vendor.charger=running
531    stop vendor.qseecomd
532    stop keymaster-4-0
533
534    setprop sys.usb.configfs 1
535    setprop vendor.setup.power 1
536
537    # keep one LITTLE and one big
538    write /sys/devices/system/cpu/cpu1/online 0
539    write /sys/devices/system/cpu/cpu2/online 0
540    write /sys/devices/system/cpu/cpu3/online 0
541    write /sys/devices/system/cpu/cpu5/online 0
542    write /sys/devices/system/cpu/cpu6/online 0
543    write /sys/devices/system/cpu/cpu7/online 0
544
545    # Enable thermal mitigation
546    write /sys/devices/virtual/thermal/tz-by-name/backup-charge/mode enabled
547
548on property:sys.boot_completed=1
549    setprop vendor.setup.power 1
550
551    # Runtime fs tuning
552    write /sys/block/sda/queue/read_ahead_kb 128
553    write /sys/block/sda/queue/nr_requests 128
554    write /sys/block/sda/queue/iostats 1
555    write /sys/block/sde/queue/read_ahead_kb 128
556    write /sys/block/sde/queue/nr_requests 128
557    write /sys/block/sde/queue/iostats 1
558    write /sys/block/sdf/queue/read_ahead_kb 128
559    write /sys/block/sdf/queue/nr_requests 128
560    write /sys/block/sdf/queue/iostats 1
561    write /sys/block/dm-0/queue/read_ahead_kb 128
562    write /sys/block/dm-1/queue/read_ahead_kb 128
563    write /sys/block/dm-2/queue/read_ahead_kb 128
564    write /sys/block/dm-3/queue/read_ahead_kb 128
565    write /sys/block/dm-4/queue/read_ahead_kb 128
566    write /sys/block/dm-5/queue/read_ahead_kb 128
567    write /sys/block/dm-6/queue/read_ahead_kb 128
568    write /sys/block/dm-7/queue/read_ahead_kb 128
569
570    # F2FS tuning: issue discard commands up to 128MB
571    write /sys/block/dm-7/queue/discard_max_bytes 134217728
572
573    # Back to default VM settings
574    write /proc/sys/vm/dirty_expire_centisecs 3000
575    write /proc/sys/vm/dirty_background_ratio 10
576
577    # Block layer tuning: discard chunk size up to 128MB
578    # Otherwise, contiguous discards can be merged
579    write /sys/block/sda/queue/discard_max_bytes 134217728
580
581    # Enable ZRAM on boot_complete
582    rm /data/unencrypted/zram_swap
583    swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform}
584    write /proc/sys/vm/swappiness 100
585
586    # Setup runtime cpusets
587    write /dev/cpuset/top-app/cpus 0-7
588    write /dev/cpuset/foreground/cpus 0-3,5-6
589    write /dev/cpuset/background/cpus 0-1
590    write /dev/cpuset/system-background/cpus 0-3
591    write /dev/cpuset/restricted/cpus 0-3
592
593    # Setup runtime blkio
594    # value for group_idle is us
595    write /dev/blkio/blkio.weight 1000
596    write /dev/blkio/background/blkio.weight 200
597    write /dev/blkio/blkio.group_idle 2000
598    write /dev/blkio/background/blkio.group_idle 0
599
600    # UFS health
601    chmod 755 /sys/kernel/debug/ufshcd0
602    chmod 644 /sys/kernel/debug/ufshcd0/show_hba
603    chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats
604    chmod 644 /sys/kernel/debug/ufshcd0/stats/io_stats
605    chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats
606
607    # HardwareInfo files
608    chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/serial_number
609    chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/panel_vendor_name
610    chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/panel_extinfo
611    chmod 644 /sys/kernel/debug/regmap/1-0036/registers
612    chmod 644 /sys/kernel/debug/regmap/1-000b/registers
613    chmod 644 /sys/kernel/debug/regmap/2-0036/registers
614    chmod 644 /sys/kernel/debug/regmap/2-000b/registers
615
616    # Maxim FG dump for dumpstate
617    chown system system /sys/kernel/debug/regmap/1-0036/registers
618    chown system system /sys/kernel/debug/regmap/1-000b/registers
619    chown system system /sys/kernel/debug/google_battery/cycle_count_bins
620    chown system system /sys/kernel/debug/google_battery/ssoc_gdf
621    chown system system /sys/kernel/debug/google_battery/ssoc_rls
622    chown system system /sys/kernel/debug/google_battery/ssoc_uic
623    chown system system /sys/kernel/debug/google_battery/ssoc_uicurve
624    chown system system /sys/kernel/debug/google_charger/pps_op_ua
625    chown system system /sys/kernel/debug/google_charger/pps_out_uv
626
627    # Create pixel-trace.
628    # At this moment, only mm_event is available. If others want to put more,
629    # it should get hard review from pixel-perf-team.
630    mkdir /sys/kernel/debug/tracing/instances/pixel-trace 0755 system system
631    chown system system /sys/kernel/debug/tracing/instances/pixel-trace/trace
632    chmod 0660 /sys/kernel/debug/tracing/instances/pixel-trace/trace
633    chown system system /sys/kernel/debug/tracing/instances/pixel-trace/tracing_on
634    chmod 0660 /sys/kernel/debug/tracing/instances/pixel-trace/tracing_on
635    write /sys/kernel/debug/tracing/instances/pixel-trace/buffer_size_kb 64
636    write /sys/kernel/debug/tracing/instances/pixel-trace/events/mm_event/enable 1
637
638    # Permission for Athletico
639    chown system system /dev/sensor_tunnel
640    chmod 0660 /dev/sensor_tunnel
641    chown system system /dev/iaxxx-module-celldrv
642    chmod 0660 /dev/iaxxx-module-celldrv
643
644service vendor.per_mgr /vendor/bin/pm-service
645    user system
646    group system
647    ioprio rt 4
648
649service per_proxy /vendor/bin/pm-proxy
650    class core
651    user system
652    group system
653    disabled
654
655on property:persist.vendor.modem.esim.reset=done && property:persist.vendor.se.pixel_aram=skipped
656    start vendor.per_mgr
657
658on property:persist.vendor.modem.esim.reset=done && property:persist.vendor.se.pixel_aram=removed
659    start vendor.per_mgr
660
661on property:persist.vendor.modem.esim.reset=noneed && property:persist.vendor.se.pixel_aram=skipped
662    start vendor.per_mgr
663
664on property:persist.vendor.modem.esim.reset=noneed && property:persist.vendor.se.pixel_aram=removed
665    start vendor.per_mgr
666
667on property:sys.boot_completed=1
668    start vendor.per_mgr
669
670on property:init.svc.vendor.per_mgr=running
671    start per_proxy
672
673on property:sys.shutdown.requested=*
674    stop per_proxy
675
676service vendor.qseecomd /vendor/bin/qseecomd
677    class core
678    user root
679    group root
680
681service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-${ro.hardware}-${vendor.thermal.mode:-normal}_mode.conf
682   class main
683   user root
684   socket thermal-send-client stream 0666 system system
685   socket thermal-recv-client stream 0660 system system
686   socket thermal-recv-passive-client stream 0666 system system
687   socket thermal-send-rule stream 0660 system system
688   group root
689
690service init-sensors-sh /vendor/bin/init.sensors.sh
691    class main
692    user root
693    group root system
694    disabled
695    oneshot
696
697service sensors.qti /vendor/bin/sensors.qti
698    class core
699    user system
700    group system
701    # Grants the ability for this daemon to bind IPC router ports so it can
702    # register QMI services
703    capabilities NET_BIND_SERVICE
704
705service vendor.sscrpcd /vendor/bin/sscrpcd sensorspd
706    class core
707    user system
708    group system
709
710service vendor.adsprpcd /vendor/bin/adsprpcd
711   class main
712   user root
713   group media
714   setenv ADSP_LIBRARY_PATH /vendor/dsp;/vendor/lib/rfsa/adsp;/system/lib/rfsa/adsp
715
716service vendor.adsprpcd_audiopd /vendor/bin/adsprpcd audiopd
717   class main
718   user media
719   group media
720
721service vendor.cdsprpcd /vendor/bin/cdsprpcd
722   class main
723   user system
724   group system
725
726service vendor.lowi /vendor/bin/sscrpcd
727   class core
728   user system
729   group system
730
731service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon
732    class main
733    user radio
734    socket ims_qmid stream 0660 system radio
735    group radio log diag
736
737service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon
738    class main
739    user radio
740    socket ims_datad stream 0660 system radio
741    group radio wifi inet log diag
742    disabled
743
744service vendor.imsrcsservice /system/vendor/bin/imsrcsd
745    class main
746    user radio
747    group radio diag inet log wakelock
748
749on property:vendor.ims.QMI_DAEMON_STATUS=1
750    start vendor.imsdatadaemon
751
752service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
753   class main
754   user radio
755   group radio inet log
756
757service cnd /vendor/bin/cnd
758   class main
759   user system
760   group system wifi inet radio wakelock net_admin
761
762service vendor.chre /vendor/bin/chre
763    class late_start
764    user system
765    group system wakelock
766    capabilities BLOCK_SUSPEND
767    socket chre seqpacket 0660 root system
768    shutdown critical
769
770service wait_for_strongbox /vendor/bin/hw/wait_for_strongbox
771    user root
772    group root system
773    priority -20
774    ioprio rt 0
775
776on property:vendor.ims.DATA_DAEMON_STATUS=1
777    restart vendor.ims_rtp_daemon
778
779service vendor.qrtr-ns /vendor/bin/qrtr-ns -f
780   class core
781   user vendor_qrtr
782   group vendor_qrtr
783   capabilities NET_BIND_SERVICE
784
785service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
786   class core
787   user root
788   oneshot
789
790service rmt_storage /vendor/bin/rmt_storage
791    class core
792    user root
793    ioprio rt 0
794    shutdown critical
795
796service tftp_server /vendor/bin/tftp_server
797   class core
798   user root
799   group root system
800
801service modem_svc /vendor/bin/modem_svc -q
802   class core
803   user root
804   group system
805   capabilities NET_BIND_SERVICE
806
807service vendor.ss_ramdump /vendor/bin/subsystem_ramdump
808    class main
809    user root
810    group system
811    disabled
812
813service vendor.ssr_setup /vendor/bin/ssr_setup
814    oneshot
815    disabled
816
817on property:persist.vendor.sys.ssr.restart_level=*
818    start vendor.ssr_setup
819
820on post-fs-data && property:persist.vendor.sys.ssr.enable_ramdumps=1 && property:vendor.skip.init=0
821    write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
822    mkdir /data/vendor/wifidump 771 root system
823    mkdir /data/vendor/ramdump 771 root system
824    mkdir /data/vendor/ssrdump 771 root system
825    mkdir /data/vendor/ssrlog  771 root system
826    start vendor.ss_ramdump
827    start vendor.crash_event_logger
828
829on property:persist.vendor.sys.ssr.enable_ramdumps=0
830    write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
831
832service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
833    -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
834    -g@android:wpa_wlan0
835    #   we will start as root and wpa_supplicant will switch to user wifi
836    #   after setting up the capabilities required for WEXT
837    #   user wifi
838    #   group wifi inet keystore
839    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
840    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
841    interface android.hardware.wifi.supplicant@1.2::ISupplicant default
842    class main
843    socket wpa_wlan0 dgram 660 wifi wifi
844    disabled
845    oneshot
846
847on property:init.svc.vendor.hwcomposer-2-3=stopped
848    stop ppd
849
850on property:init.svc.vendor.hwcomposer-2-3=running
851    start ppd
852
853service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg
854    class main
855    user root
856    group root system
857    disabled
858    oneshot
859
860service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
861    socket msm_irqbalance seqpacket 660 root system
862    class core
863    user root
864    group root
865    writepid /dev/cpuset/system-background/tasks
866
867service pd_mapper /vendor/bin/pd-mapper
868     class core
869     user system
870     group system
871     capabilities NET_BIND_SERVICE
872
873service cnss-daemon /vendor/bin/cnss-daemon -n -l
874   class late_start
875   user system
876   group system inet wifi
877
878service loc_launcher /vendor/bin/loc_launcher
879    class late_start
880    user gps
881    group gps
882
883# Allow access to touch glove_mode sysfs node
884on property:vendor.all.modules.ready=1
885    chown system system /sys/class/spi_master/spi1/spi1.0/glove_mode
886
887# Toggle glove_mode according to touch_sensitivity_mode
888on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
889    write /sys/class/spi_master/spi1/spi1.0/glove_mode 00
890
891on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
892    write /sys/class/spi_master/spi1/spi1.0/glove_mode 01
893
894# Route touch_sensitivity_mode to persist
895on property:debug.touch_sensitivity_mode=0
896    setprop persist.vendor.touch_sensitivity_mode 0
897
898on property:debug.touch_sensitivity_mode=1
899    setprop persist.vendor.touch_sensitivity_mode 1
900
901# turns off tracing right before bugreporting to keep more traces
902on property:init.svc.dumpstatez=running
903    write /d/tracing/instances/pixel-trace/tracing_on 0
904
905on property:init.svc.dumpstatez=stopped
906    write /d/tracing/instances/pixel-trace/tracing_on 1
907
908on property:init.svc.bugreport=running
909    write /d/tracing/instances/pixel-trace/tracing_on 0
910
911on property:init.svc.bugreport=stopped
912    write /d/tracing/instances/pixel-trace/tracing_on 1
913
914# bugreport is triggered by holding down volume down, volume up and power
915service bugreport /system/bin/dumpstate -d -p -B -z \
916        -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
917    class main
918    disabled
919    oneshot
920    keycodes 114 115 116
921
922on property:ro.boot.hardware.dsds=1
923    setprop persist.radio.multisim.config dsds
924
925# DSDS feature
926# Enable 2nd qcrild when the property set to dsds
927on property:persist.radio.multisim.config=dsds
928    start vendor.qcrild2
929
930on property:sys.retaildemo.enabled=1
931    setprop vendor.thermal.mode retail
932    restart vendor.thermal-engine
933
934# charger driver exposes now finer grain control, map demo mode to those properties
935# NOTE: demo mode can only be exit wiping data (which reset the persist properties)
936on property:sys.retaildemo.enabled=1
937    setprop persist.vendor.charge.stop.level 35
938    setprop persist.vendor.charge.start.level 30
939
940on property:persist.vendor.charge.stop.level=*
941    write /sys/devices/platform/soc/soc:google,charger/charge_stop_level ${persist.vendor.charge.stop.level}
942
943on property:persist.vendor.charge.start.level=*
944    write /sys/devices/platform/soc/soc:google,charger/charge_start_level ${persist.vendor.charge.start.level}
945
946# Athletico ramdump monitor
947service vendor.crash_event_logger /vendor/bin/crash_event_logger -m
948    class main
949    user audio
950    group audio system
951    disabled
952
953# Write the dark theme magic to /misc partition.
954service vendor.theme_set /vendor/bin/misc_writer --set-dark-theme
955    disabled
956    oneshot
957
958# Clear the dark theme magic in /misc partition.
959service vendor.theme_clear /vendor/bin/misc_writer --clear-dark-theme
960    disabled
961    oneshot
962
963# Set dark boot flag on dark mode (UiModeManager.MODE_NIGHT_YES == 2).
964on property:persist.sys.theme=2
965    start vendor.theme_set
966
967# Clear the dark boot flag on light mode (UiModeManager.MODE_NIGHT_NO == 1) or auto mode
968# (UiModeManager.MODE_NIGHT_AUTO == 0).
969on property:persist.sys.theme=1
970    start vendor.theme_clear
971
972on property:persist.sys.theme=0
973    start vendor.theme_clear
974
975# For Japan radio builds, always enforce camera shutter sound
976# Since this property is read by the audio server in system service,
977# it should be written by the system init.
978on property:ro.boot.hardware.radio.subtype=1
979    setprop audio.camerasound.force true
980
981on init && property:ro.boot.slot_successful=no
982    write /sys/module/msm_poweroff/parameters/warm_reset 1
983
984# Set or clear the warm reset flag upon the change of system property. The flag itself is set
985# by writing a sysfs file; and the file will be read by kernel.
986on property:ota.warm_reset=1
987    write /sys/module/msm_poweroff/parameters/warm_reset 1
988
989on property:ota.warm_reset=0
990    write /sys/module/msm_poweroff/parameters/warm_reset 0
991