1# 2# Copyright (C) 2019 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 22import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.power_debug.rc 23 24service vendor.charger /system/bin/charger 25 class charger 26 seclabel u:r:charger:s0 27 user system 28 group system wakelock input 29 capabilities SYS_BOOT 30 file /dev/kmsg w 31 file /sys/fs/pstore/console-ramoops-0 r 32 file /sys/fs/pstore/console-ramoops r 33 file /proc/last_kmsg r 34 35on early-init 36 mount debugfs debugfs /sys/kernel/debug 37 chmod 0755 /sys/kernel/debug 38 39 # Disable EAS 40 write /proc/sys/kernel/sched_energy_aware 0 41 mount_all /vendor/etc/fstab.persist --early 42 43# Disable VDSO on JAWS boards. 44on early-init && property:ro.revision="DEV1.0" 45 write /sys/module/vdso/parameters/enable_32 0 46 47# Skip init trigger for charger mode 48on early-init && property:ro.boot.mode=charger 49 setprop vendor.skip.init 1 50 51on init && property:vendor.skip.init=0 52 # Disable powersaving 53 write /sys/module/lpm_levels/parameters/sleep_disabled 1 54 55 wait /dev/block/platform/${ro.boot.boot_devices} 56 symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice 57 58 # to access UFS/eMMC sysfs directly 59 symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice 60 61 # Disable UFS powersaving 62 write /dev/sys/block/bootdevice/clkgate_enable 0 63 64 # start qseecomd early as we mount system/ vendor/ early 65 # vold needs keymaster that needs qseecomd 66 start vendor.qseecomd 67 start keymaster-4-0 68 69 start vendor.citadeld 70 start vendor.keymaster-4-1-citadel 71 72 # Loading kernel modules in background 73 start insmod_sh 74 75 # bring back all cores 76 write /sys/devices/system/cpu/cpu0/online 1 77 write /sys/devices/system/cpu/cpu1/online 1 78 write /sys/devices/system/cpu/cpu2/online 1 79 write /sys/devices/system/cpu/cpu3/online 1 80 write /sys/devices/system/cpu/cpu4/online 1 81 write /sys/devices/system/cpu/cpu5/online 1 82 write /sys/devices/system/cpu/cpu6/online 1 83 write /sys/devices/system/cpu/cpu7/online 1 84 85 # configure governor settings for little cluster 86 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil 87 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500 88 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000 89 90 # configure governor settings for big cluster 91 write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor schedutil 92 write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us 500 93 write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us 20000 94 95 # ZRAM setup 96 write /sys/block/zram0/comp_algorithm lz4 97 write /proc/sys/vm/page-cluster 0 98 99 # Some user code relies on ro.boot.hardware.revision 100 setprop ro.boot.hardware.revision ${ro.revision} 101 102 # set default schedTune value for foreground/top-app 103 write /dev/stune/foreground/schedtune.prefer_idle 1 104 write /dev/stune/top-app/schedtune.boost 10 105 write /dev/stune/top-app/schedtune.prefer_idle 1 106 107 # set default schedTune value for camera-daemon 108 write /dev/stune/camera-daemon/schedtune.prefer_idle 1 109 write /dev/stune/camera-daemon/schedtune.boost 0 110 111 # Allow PAI targeting per hardware SKU 112 setprop ro.oem.key1 ${ro.boot.hardware.sku} 113 114 # Battery Defender 115 chown system system /sys/devices/platform/soc/soc:google,charger/charge_stop_level 116 chown system system /sys/devices/platform/soc/soc:google,charger/charge_start_level 117 chown system system /sys/devices/platform/soc/soc:google,charger/bd_drainto_soc 118 chown system system /sys/devices/platform/soc/soc:google,charger/bd_recharge_soc 119 chown system system /sys/devices/platform/soc/soc:google,charger/bd_recharge_voltage 120 chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_abs_temp 121 chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_soc 122 chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_temp 123 chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_time 124 chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_temp 125 chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_time 126 chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_voltage 127 chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_enable 128 chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_dry_run 129 chown system system /sys/devices/platform/soc/soc:google,charger/bd_clear 130 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_enable 131 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_recharge_soc 132 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_cnt 133 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_dry_run 134 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_reset_sec 135 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_clear 136 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/health_safety_margin 137 138 # Charge stats (write 0) 139 chown system system /sys/class/power_supply/battery/charge_stats 140 141 # Report max frequency to unity tasks. 142 write /proc/sys/kernel/sched_lib_name "UnityMain,libunity.so" 143 write /proc/sys/kernel/sched_lib_mask_force 255 144 145 # Nfc streset tool name 146 setprop persist.vendor.nfc.streset libstreset 147 148on late-init 149 chown system system /sys/devices/virtual/thermal/tz-by-name/skin-therm-monitor/trip_point_0_temp 150 chown system system /sys/devices/virtual/thermal/tz-by-name/skin-therm-monitor/trip_point_0_hyst 151 chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_temp 152 chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_hyst 153 154on fs 155 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early 156 157 mkdir /mnt/vendor/persist/audio 0770 media audio 158 mkdir /mnt/vendor/persist/data 0700 system system 159 mkdir /mnt/vendor/persist/display 0770 system graphics 160 mkdir /mnt/vendor/persist/haptics 0770 system system 161 mkdir /mnt/vendor/persist/rfs 0770 root system 162 mkdir /mnt/vendor/persist/hlos_rfs 0770 root system 163 mkdir /mnt/vendor/persist/touch 0770 system system 164 chmod 0770 /mnt/vendor/persist/rfs 165 chmod 0770 /mnt/vendor/persist/rfs/shared 166 chmod 0770 /mnt/vendor/persist/rfs/msm 167 chmod 0770 /mnt/vendor/persist/rfs/msm/adsp 168 chmod 0770 /mnt/vendor/persist/rfs/msm/mpss 169 chmod 0770 /mnt/vendor/persist/rfs/msm/slpi 170 chmod 0770 /mnt/vendor/persist/rfs/mdm 171 chmod 0770 /mnt/vendor/persist/rfs/mdm/adsp 172 chmod 0770 /mnt/vendor/persist/rfs/mdm/mpss 173 chmod 0770 /mnt/vendor/persist/rfs/mdm/slpi 174 chmod 0770 /mnt/vendor/persist/rfs/mdm/tn 175 chmod 0770 /mnt/vendor/persist/rfs/apq 176 chmod 0770 /mnt/vendor/persist/rfs/apq/gnss 177 chmod 0770 /mnt/vendor/persist/hlos_rfs 178 179 # for cycle count backup 180 mkdir /mnt/vendor/persist/battery 0700 system system 181 182 restorecon_recursive /mnt/vendor/persist 183 184on post-fs 185 # set RLIMIT_MEMLOCK to 64MB 186 setrlimit 8 67108864 67108864 187 188 # Wait qseecomd started 189 wait_for_prop vendor.sys.listeners.registered true 190 191 # load IPA FWs 192 # This must be started when vendor.sys.listeners.registered is true 193 write /dev/ipa 1 194 195on late-fs 196 # Start services for bootanim 197 #start color_init 198 #wait_for_prop vendor.display.native_display_primaries_ready 1 199 #setprop ro.surface_flinger.display_primary_red ${vendor.display.primary_red} 200 #setprop ro.surface_flinger.display_primary_green ${vendor.display.primary_green} 201 #setprop ro.surface_flinger.display_primary_blue ${vendor.display.primary_blue} 202 #setprop ro.surface_flinger.display_primary_white ${vendor.display.primary_white} 203 # Permission for hwcomposer 204 chown system system /sys/class/backlight/panel0-backlight/brightness 205 chown system system /sys/class/backlight/panel0-backlight/max_brightness 206 chown system system /sys/class/backlight/panel0-backlight/vr_mode 207 chown system system /sys/class/backlight/panel0-backlight/hbm_mode 208 start surfaceflinger 209 start bootanim 210 start vendor.hwcomposer-2-4 211 start vendor.configstore-hal 212 start vendor.qti.hardware.display.allocator 213 start vendor.light-1-1 214 215 # Wait for keymaster HALs (TEE and StrongBox) 216 exec_start wait_for_strongbox 217 218 219 # Mount RW partitions which need run fsck 220 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late 221 222 # Required for time_daemon 223 mkdir /mnt/vendor/persist/time 0770 system system 224 chown system system /mnt/vendor/persist/time/ats_1 225 chown system system /mnt/vendor/persist/time/ats_2 226 chown system system /mnt/vendor/persist/time/ats_3 227 chown system system /mnt/vendor/persist/time/ats_4 228 chown system system /mnt/vendor/persist/time/ats_5 229 chown system system /mnt/vendor/persist/time/ats_6 230 chown system system /mnt/vendor/persist/time/ats_7 231 chown system system /mnt/vendor/persist/time/ats_8 232 chown system system /mnt/vendor/persist/time/ats_9 233 chown system system /mnt/vendor/persist/time/ats_10 234 chown system system /mnt/vendor/persist/time/ats_11 235 chown system system /mnt/vendor/persist/time/ats_12 236 chown system system /mnt/vendor/persist/time/ats_13 237 chown system system /mnt/vendor/persist/time/ats_14 238 chown system system /mnt/vendor/persist/time/ats_15 239 chown system system /mnt/vendor/persist/time/ats_16 240 241 # Start time daemon early so that the system time can be set early 242 start time_daemon 243 244 # Init sensor specific services 245 start init-sensors-sh 246 247 # turn off vblank irq immediately after turning off 248 write /sys/module/drm/parameters/vblankoffdelay -1 249 250 # Write build info to kdebuginfo. 251 write /sys/module/kdebuginfo/parameters/build_info "${ro.product.name}-${ro.build.type} ${ro.build.version.incremental}" 252 253on post-fs-data 254 mkdir /vendor/data/tombstones 0771 system system 255 mkdir /tombstones/modem 0771 system system 256 mkdir /tombstones/lpass 0771 system system 257 mkdir /tombstones/wcnss 0771 system system 258 mkdir /tombstones/dsps 0771 system system 259 mkdir /data/vendor/hbtp 0750 system system 260 mkdir /data/vendor/tloc 0700 system drmrpc 261 mkdir /data/vendor/nnhal 0700 system system 262 mkdir /data/vendor/time 0770 system system 263 mkdir /data/vendor/modem_fdr 0700 root system 264 mkdir /data/vendor/display 0770 system graphics 265 mkdir /data/vendor/camera 0770 system system 266 mkdir /data/vendor/rebootescrow 0770 hsm hsm 267 start vendor.rebootescrow-citadel 268 269on zygote-start 270 # zygote is started in common init.rc 271 # and now we can continue initialize /data/ 272 mkdir /data/vendor/ipa 0770 radio radio 273 chown radio radio /data/vendor/ipa 274 275 # Create the directories used by the Wireless subsystem 276 mkdir /data/vendor/wifi 0771 wifi wifi 277 mkdir /data/vendor/wifi/wpa 0770 wifi wifi 278 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi 279 280 # Create the directories used by CnE subsystem 281 mkdir /data/vendor/connectivity 0771 radio radio 282 chown radio radio /data/vendor/connectivity 283 284 # Create directory for radio 285 mkdir /data/vendor/radio 0773 system radio 286 mkdir /data/vendor/modem_stat 0771 system radio 287 write /data/vendor/modem_stat/debug.txt "" 288 chown system radio /data/vendor/modem_stat/debug.txt 289 chmod 0664 /data/vendor/modem_stat/debug.txt 290 291 # Mark the copy complete flag to not completed 292 write /data/vendor/radio/copy_complete 0 293 chown radio radio /data/vendor/radio/copy_complete 294 chmod 0660 /data/vendor/radio/copy_complete 295 296 # File flags for prebuilt ril db file 297 write /data/vendor/radio/prebuilt_db_support 1 298 chown radio radio /data/vendor/radio/prebuilt_db_support 299 chmod 0400 /data/vendor/radio/prebuilt_db_support 300 write /data/vendor/radio/db_check_done 0 301 chown radio radio /data/vendor/radio/db_check_done 302 chmod 0660 /data/vendor/radio/db_check_done 303 304 # Create directories for Location services 305 mkdir /data/vendor/location 0770 gps gps 306 mkdir /data/vendor/location/mq 0770 gps gps 307 mkdir /data/vendor/location/xtwifi 0770 gps gps 308 mkdir /dev/socket/location 0770 gps gps 309 mkdir /dev/socket/location/mq 0770 gps gps 310 mkdir /dev/socket/location/xtra 0770 gps gps 311 312 #Create directories for wifihal services 313 mkdir /dev/socket/wifihal 0770 wifi wifi 314 chmod 2770 /dev/socket/wifihal 315 316 # Create directory for audio delta files 317 mkdir /data/vendor/audio 0770 audio audio 318 mkdir /data/vendor/audio/acdbdata 0770 media audio 319 mkdir /data/vendor/audio/acdbdata/delta 0770 media audio 320 321on early-boot 322 # Set up sensors-related directories and permissions 323 chmod 775 /mnt/vendor/persist/sensors 324 chmod 664 /mnt/vendor/persist/sensors/sensors_settings 325 chown root system /mnt/vendor/persist/sensors/registry 326 chmod 775 /mnt/vendor/persist/sensors/registry 327 chown root system /mnt/vendor/persist/sensors/registry/registry 328 chmod 775 /mnt/vendor/persist/sensors/registry/registry 329 chmod 664 /mnt/vendor/persist/sensors/registry/registry/sensors_registry 330 chown system root /mnt/vendor/persist/sensors/sensors_settings 331 chown root root /mnt/vendor/persist/sensors/registry/registry/sensors_settings 332 333 mkdir /data/vendor/sensors 0770 334 chown system system /data/vendor/sensors 335 mkdir /data/vendor/sensors/log 0770 336 chown system system /data/vendor/sensors/log 337 338 # Restore SeLinux Context for preventing temp.json with 339 # incorrect security context 340 restorecon /mnt/vendor/persist/sensors/registry/temp.json 341 342 chmod 770 /mnt/vendor/persist/audio 343 chmod 660 /mnt/vendor/persist/audio/audio.cal 344 chown media audio /mnt/vendor/persist/audio 345 chown audioserver audio /mnt/vendor/persist/audio/audio.cal 346 347 # Set up haptics-related directories and permissions 348 chmod 770 /mnt/vendor/persist/haptics 349 chmod 440 /mnt/vendor/persist/haptics/drv2624.cal 350 chown system system /mnt/vendor/persist/haptics 351 chown system system /mnt/vendor/persist/haptics/drv2624.cal 352 353 # Set up touch directories and permissions 354 chmod 770 /mnt/vendor/persist/touch 355 chown system system /mnt/vendor/persist/touch 356 357 # Wait for insmod_sh to finish all modules 358 wait_for_prop vendor.all.modules.ready 1 359 360 # Update dm-verity state and set partition.*.verified properties 361 verity_update_state 362 363 # Wait for insmod_sh to finish all boot devices 364 wait_for_prop vendor.all.devices.ready 1 365 366 # Permission for Vibrator 367 chown system system /sys/class/leds/vibrator/device/mode 368 chown system system /sys/class/leds/vibrator/device/od_clamp 369 chown system system /sys/class/leds/vibrator/device/rtp_input 370 chown system system /sys/class/leds/vibrator/device/scale 371 chown system system /sys/class/leds/vibrator/device/set_sequencer 372 chown system system /sys/class/leds/vibrator/device/autocal_result 373 chown system system /sys/class/leds/vibrator/device/ctrl_loop 374 chown system system /sys/class/leds/vibrator/device/ol_lra_period 375 chown system system /sys/class/leds/vibrator/device/autocal 376 chown system system /sys/class/leds/vibrator/device/lp_trigger_effect 377 chown system system /sys/class/leds/vibrator/device/lra_wave_shape 378 write /sys/class/leds/vibrator/trigger transient 379 380 # Permission for Rainbow sensor 381 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_enable 382 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable 383 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_read_byte 384 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte 385 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte 386 chmod 0660 /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte 387 chown system system /dev/vd6281 388 chmod 0660 /dev/vd6281 389 390 # Permission for Athletico 391 chown system system /dev/sensor_tunnel 392 chmod 0660 /dev/sensor_tunnel 393 394 # Permission for camera sensor 395 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type 396 chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type 397 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type 398 chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type 399 400 # FG cycle count read from dumpstate + backup restore from health HAL (and pixelstats) 401 chown system system /sys/class/power_supply/maxfg/cycle_counts_bins 402 403 # Permission for battery eeprom 404 chown system system /sys/devices/platform/soc/a8c000.i2c/i2c-2/2-0050/2-00500/nvmem 405 chmod 0640 /sys/devices/platform/soc/a8c000.i2c/i2c-2/2-0050/2-00500/nvmem 406 chown system system /dev/battery_history 407 chmod 0644 /dev/battery_history 408 409 # Permission for Pixelstats 410 chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right 411 chown system system /dev/sys/block/bootdevice/slowio_read_cnt 412 chown system system /dev/sys/block/bootdevice/slowio_write_cnt 413 chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt 414 chown system system /dev/sys/block/bootdevice/slowio_sync_cnt 415 416 # Permission for Health Storage HAL 417 chown system system /dev/sys/block/bootdevice/manual_gc 418 419 # Permissions for reading display native color gamut 420 chown system graphics /mnt/vendor/persist/display/native_gamut.csv 421 422on boot 423 # This location is used by QCRIL to host UNIX domain 424 # socket files used for internal IPC within QCRIL 425 # modules 426 mkdir /dev/socket/qmux_radio 0770 radio radio 427 chmod 2770 /dev/socket/qmux_radio 428 429 setprop wifi.interface wlan0 430 431 chown system system /sys/kernel/hbtp/display_pwr 432 start rfs_access 433 434 # default country code 435 setprop ro.boot.wificountrycode 00 436 437 # WLAN debug access 438 chown system system /d/icnss/stats 439 440service init-radio-sh /vendor/bin/init.radio.sh 441 class late_start 442 user radio 443 group root radio 444 oneshot 445 446on property:init.svc.vendor.charger=running 447 stop vendor.qseecomd 448 stop keymaster-4-0 449 450 setprop sys.usb.configfs 1 451 setprop vendor.setup.power 1 452 453 # keep one LITTLE and one big 454 write /sys/devices/system/cpu/cpu1/online 0 455 write /sys/devices/system/cpu/cpu2/online 0 456 write /sys/devices/system/cpu/cpu3/online 0 457 write /sys/devices/system/cpu/cpu4/online 0 458 write /sys/devices/system/cpu/cpu5/online 0 459 write /sys/devices/system/cpu/cpu7/online 0 460 461 # Enable thermal mitigation 462 write /sys/devices/virtual/thermal/tz-by-name/backup-charge/mode enabled 463 464on property:sys.boot_completed=1 465 setprop vendor.setup.power 1 466 467 # Block layer tuning: discard chunk size up to 128MB 468 # Otherwise, contiguous discards can be merged 469 write /sys/block/sda/queue/discard_max_bytes 134217728 470 471 # Back to default VM settings 472 write /proc/sys/vm/dirty_expire_centisecs 3000 473 write /proc/sys/vm/dirty_background_ratio 10 474 475 # Enable ZRAM on boot_complete 476 swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform} 477 write /proc/sys/vm/swappiness 100 478 479 # Setup runtime cpusets 480 write /dev/cpuset/top-app/cpus 0-7 481 write /dev/cpuset/foreground/cpus 0-5,7 482 write /dev/cpuset/background/cpus 4-5 483 write /dev/cpuset/system-background/cpus 2-5 484 write /dev/cpuset/restricted/cpus 2-5 485 486 # Setup runtime blkio 487 # value for group_idle is us 488 write /dev/blkio/blkio.weight 1000 489 write /dev/blkio/background/blkio.weight 200 490 write /dev/blkio/blkio.group_idle 2000 491 write /dev/blkio/background/blkio.group_idle 0 492 493 # UFS health 494 chmod 755 /sys/kernel/debug/ufshcd0 495 chmod 644 /sys/kernel/debug/ufshcd0/show_hba 496 chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats 497 chmod 644 /sys/kernel/debug/ufshcd0/stats/io_stats 498 chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats 499 500 # HardwareInfo needs to be able to read display info 501 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display/panel_info/panel0/serial_number 502 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display/panel_info/panel0/panel_vendor_name 503 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display/panel_info/panel0/panel_extinfo 504 505 # Maxim FG dump for dumpstate 506 chown system system /sys/kernel/debug/regmap/1-0036/registers 507 chown system system /sys/kernel/debug/regmap/1-000b/registers 508 chown system system /sys/kernel/debug/google_battery/cycle_count_bins 509 chown system system /sys/kernel/debug/google_battery/ssoc_gdf 510 chown system system /sys/kernel/debug/google_battery/ssoc_rls 511 chown system system /sys/kernel/debug/google_battery/ssoc_uic 512 chown system system /sys/kernel/debug/google_battery/ssoc_uicurve 513 chown system system /sys/kernel/debug/google_charger/pps_op_ua 514 chown system system /sys/kernel/debug/google_charger/pps_out_uv 515 516 # Permission for bootloader logs 517 chown root log /proc/bldrlog 518 chmod 0444 /proc/bldrlog 519 520service vendor.per_mgr /vendor/bin/pm-service 521 class core 522 user system 523 group system 524 ioprio rt 4 525 526service per_proxy /vendor/bin/pm-proxy 527 class core 528 user system 529 group system 530 disabled 531 532on property:init.svc.vendor.per_mgr=running 533 start per_proxy 534 535on property:sys.shutdown.requested=* 536 stop per_proxy 537 538service vendor.qseecomd /vendor/bin/qseecomd 539 class core 540 user root 541 group root 542 543service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-${ro.hardware}.conf 544 class main 545 user root 546 group root 547 548service init-sensors-sh /vendor/bin/init.sensors.sh 549 class main 550 user root 551 group root system 552 disabled 553 oneshot 554 555service vendor.adsprpcd /vendor/bin/adsprpcd 556 class main 557 user system 558 group media 559 560service vendor.adsprpcd_audiopd /vendor/bin/adsprpcd audiopd 561 class main 562 user media 563 group media 564 565service vendor.adsprpcd_sensorspd /vendor/bin/adsprpcd sensorspd 566 class main 567 user system 568 group system 569 570service vendor.cdsprpcd /vendor/bin/cdsprpcd 571 class main 572 user system 573 group system 574 575service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon 576 class main 577 user radio 578 socket ims_qmid stream 0660 system radio 579 group radio log diag 580 581service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon 582 class main 583 user radio 584 socket ims_datad stream 0660 system radio 585 group radio wifi inet log diag 586 disabled 587 588service vendor.imsrcsservice /system/vendor/bin/imsrcsd 589 class main 590 user radio 591 group radio diag inet log wakelock 592 593on property:vendor.ims.QMI_DAEMON_STATUS=1 594 start vendor.imsdatadaemon 595 596service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon 597 class main 598 user radio 599 group radio inet log 600 601service wait_for_strongbox /vendor/bin/hw/wait_for_strongbox 602 user root 603 group root system 604 priority -20 605 ioprio rt 0 606 607on property:vendor.ims.DATA_DAEMON_STATUS=1 608 restart vendor.ims_rtp_daemon 609 610service vendor.qrtr-ns /vendor/bin/qrtr-ns -f 611 class core 612 user vendor_qrtr 613 group vendor_qrtr 614 capabilities NET_BIND_SERVICE 615 616service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" 617 class core 618 user root 619 oneshot 620 621service tftp_server /vendor/bin/tftp_server 622 class core 623 user root 624 group root system 625 626service modem_svc /vendor/bin/modem_svc -q 627 class core 628 user root 629 group system 630 capabilities NET_BIND_SERVICE 631 632service vendor.ss_ramdump /vendor/bin/subsystem_ramdump 633 class main 634 user root 635 group system 636 disabled 637 638service vendor.ssr_setup /vendor/bin/ssr_setup 639 oneshot 640 disabled 641 642on property:persist.vendor.sys.ssr.restart_level=* 643 start vendor.ssr_setup 644 645on post-fs-data && property:persist.vendor.sys.ssr.enable_ramdumps=1 && property:vendor.skip.init=0 646 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 647 mkdir /data/vendor/wifidump 771 root system 648 mkdir /data/vendor/ramdump 771 root system 649 mkdir /data/vendor/ssrdump 771 root system 650 mkdir /data/vendor/ssrlog 775 root system 651 start vendor.ss_ramdump 652 start vendor.crash_event_logger 653 654on property:persist.vendor.sys.ssr.enable_ramdumps=0 655 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 656 657service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ 658 -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \ 659 -g@android:wpa_wlan0 660 # we will start as root and wpa_supplicant will switch to user wifi 661 # after setting up the capabilities required for WEXT 662 # user wifi 663 # group wifi inet keystore 664 interface android.hardware.wifi.supplicant@1.0::ISupplicant default 665 interface android.hardware.wifi.supplicant@1.1::ISupplicant default 666 interface android.hardware.wifi.supplicant@1.2::ISupplicant default 667 class main 668 socket wpa_wlan0 dgram 660 wifi wifi 669 disabled 670 oneshot 671 672on property:init.svc.vendor.hwcomposer-2-4=stopped 673 stop ppd 674 675on property:init.svc.vendor.hwcomposer-2-4=running 676 start ppd 677 678# charger driver exposes now finer grain control, map demo mode to those properties 679# NOTE: demo mode can only be exit wiping data (which reset the persist properties) 680on property:sys.retaildemo.enabled=1 681 setprop persist.vendor.charge.stop.level 35 682 setprop persist.vendor.charge.start.level 30 683 684# Test Harness Mode default battery profile. Restricted but not too restricted. 685on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0 686 setprop persist.vendor.charge.stop.level 70 687 setprop persist.vendor.charge.start.level 35 688 setprop vendor.battery.defender.disable 1 689 690# Extremely restricted battery profile. 691on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1 692 setprop persist.vendor.charge.stop.level 50 693 setprop persist.vendor.charge.start.level 35 694 setprop vendor.battery.defender.disable 1 695 696# Normal behavior (as if the device was a regular device) 697on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2 698 setprop persist.vendor.charge.stop.level 100 699 setprop persist.vendor.charge.start.level 0 700 701# Unrestricted, allows charging to 100% 702on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3 703 setprop persist.vendor.charge.stop.level 100 704 setprop persist.vendor.charge.start.level 0 705 setprop vendor.battery.defender.disable 1 706 707service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg 708 class main 709 user root 710 group root system 711 disabled 712 oneshot 713 714service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf 715 socket msm_irqbalance seqpacket 660 root system 716 class core 717 user root 718 group root 719 writepid /dev/cpuset/system-background/tasks 720 721service pd_mapper /vendor/bin/pd-mapper 722 class core 723 user system 724 group system 725 capabilities NET_BIND_SERVICE 726 727service cnss-daemon /vendor/bin/cnss-daemon -n -l 728 class late_start 729 user system 730 group system inet wifi 731 732service loc_launcher /vendor/bin/loc_launcher 733 class late_start 734 user gps 735 group gps 736 737# bugreport is triggered by holding down volume down, volume up and power 738service bugreport /system/bin/dumpstate -d -p -z 739 class main 740 disabled 741 oneshot 742 keycodes 114 115 116 743 744on property:ro.boot.hardware.dsds=1 745 setprop persist.radio.multisim.config dsds 746 747# DSDS feature 748# Restart 1st qcrild after SIM config changed 749on property:vendor.radio.sim_num.switch=1to2 && property:persist.radio.multisim.config=dsds 750 restart vendor.qcrild 751 752on property:vendor.radio.sim_num.switch=2to1 && property:persist.radio.multisim.config= 753 restart vendor.qcrild 754 755# Enable 2nd qcrild when the property set to dsds 756on property:persist.radio.multisim.config=dsds 757 start vendor.qcrild2 758 759# For Japan radio builds, always enforce camera shutter sound 760# Since this property is read by the audio server in system service, 761# it should be written by the system init. 762on property:ro.boot.hardware.radio.subtype=1 763 setprop audio.camerasound.force true 764 765on property:persist.sys.device_provisioned=1 766 setprop dalvik.vm.dex2oat-cpu-set 0,1,2,3,4,5,7 767 setprop dalvik.vm.dex2oat-threads 6 768