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