• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import /vendor/etc/init/hw/init.gs101.usb.rc
2import android.hardware.drm@1.2-service.widevine.rc
3import init.exynos.sensorhub.rc
4import /vendor/etc/init/hw/init.aoc.rc
5
6on early-init
7    mount_all /vendor/etc/fstab.persist --early
8
9on init
10    # CPU0 cannot be offline
11    chmod 0444 /sys/devices/system/cpu/cpu0/online
12
13    # Set teo as cpu idle governor
14    write /sys/devices/system/cpu/cpuidle/current_governor teo
15
16    # Boot time fs tuning
17    write /sys/block/sda/queue/iostats 0
18    write /sys/block/sda/queue/scheduler bfq
19    write /sys/block/sda/queue/iosched/slice_idle 0
20    write /sys/block/sda/queue/nr_requests 256
21    write /dev/sys/fs/by-name/userdata/data_io_flag 56
22    write /dev/sys/fs/by-name/userdata/node_io_flag 56
23
24    chown system system /proc/vendor_sched/set_task_group_bg
25    chown system system /proc/vendor_sched/set_task_group_cam
26    chown system system /proc/vendor_sched/set_task_group_fg
27    chown system system /proc/vendor_sched/set_task_group_nnapi
28    chown system system /proc/vendor_sched/set_task_group_sys
29    chown system system /proc/vendor_sched/set_task_group_sysbg
30    chown system system /proc/vendor_sched/set_task_group_ta
31    chown system system /proc/vendor_sched/set_task_group_rt
32    chown system system /proc/vendor_sched/set_task_group_sf
33    chown system system /proc/vendor_sched/set_task_group_dex2oat
34    chown system system /proc/vendor_sched/set_task_group_cam_power
35    chown system system /proc/vendor_sched/set_task_group_ota
36    chown system system /proc/vendor_sched/set_proc_group_bg
37    chown system system /proc/vendor_sched/set_proc_group_cam
38    chown system system /proc/vendor_sched/set_proc_group_fg
39    chown system system /proc/vendor_sched/set_proc_group_nnapi
40    chown system system /proc/vendor_sched/set_proc_group_sys
41    chown system system /proc/vendor_sched/set_proc_group_sysbg
42    chown system system /proc/vendor_sched/set_proc_group_ta
43    chown system system /proc/vendor_sched/set_proc_group_rt
44    chown system system /proc/vendor_sched/set_proc_group_sf
45    chown system system /proc/vendor_sched/set_proc_group_dex2oat
46    chown system system /proc/vendor_sched/set_proc_group_cam_power
47    chown system system /proc/vendor_sched/set_proc_group_ota
48    chown system system /proc/vendor_sched/prefer_idle_set
49    chown system system /proc/vendor_sched/prefer_idle_clear
50    chown system system /proc/vendor_sched/pmu_poll_enable
51    chown system system /proc/vendor_sched/pmu_poll_time
52    chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold
53    chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold
54    chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency
55    chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable
56    chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold
57    chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold
58    chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency
59    chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable
60    chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/lcpi_threshold
61    chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/spc_threshold
62    chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency
63    chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable
64
65    chmod 0220 /proc/vendor_sched/set_task_group_bg
66    chmod 0220 /proc/vendor_sched/set_task_group_cam
67    chmod 0220 /proc/vendor_sched/set_task_group_fg
68    chmod 0220 /proc/vendor_sched/set_task_group_nnapi
69    chmod 0220 /proc/vendor_sched/set_task_group_sys
70    chmod 0220 /proc/vendor_sched/set_task_group_sysbg
71    chmod 0220 /proc/vendor_sched/set_task_group_ta
72    chmod 0220 /proc/vendor_sched/set_task_group_rt
73    chmod 0220 /proc/vendor_sched/set_task_group_sf
74    chmod 0220 /proc/vendor_sched/set_task_group_dex2oat
75    chmod 0220 /proc/vendor_sched/set_task_group_cam_power
76    chmod 0220 /proc/vendor_sched/set_task_group_ota
77    chmod 0220 /proc/vendor_sched/set_proc_group_bg
78    chmod 0220 /proc/vendor_sched/set_proc_group_cam
79    chmod 0220 /proc/vendor_sched/set_proc_group_fg
80    chmod 0220 /proc/vendor_sched/set_proc_group_nnapi
81    chmod 0220 /proc/vendor_sched/set_proc_group_sys
82    chmod 0220 /proc/vendor_sched/set_proc_group_sysbg
83    chmod 0220 /proc/vendor_sched/set_proc_group_ta
84    chmod 0220 /proc/vendor_sched/set_proc_group_rt
85    chmod 0220 /proc/vendor_sched/set_proc_group_sf
86    chmod 0220 /proc/vendor_sched/set_proc_group_dex2oat
87    chmod 0220 /proc/vendor_sched/set_proc_group_cam_power
88    chmod 0220 /proc/vendor_sched/set_proc_group_ota
89    chmod 0220 /proc/vendor_sched/prefer_idle_set
90    chmod 0220 /proc/vendor_sched/prefer_idle_clear
91    chmod 0220 /proc/vendor_sched/pmu_poll_enable
92    chmod 0220 /proc/vendor_sched/pmu_poll_time
93
94    wait /dev/block/platform/${ro.boot.boot_devices}
95    symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
96
97    # to access UFS/eMMC sysfs directly
98    symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
99
100    # Disable UFS powersaving
101    write /dev/sys/block/bootdevice/clkgate_enable 0
102
103    start vendor.keymaster-3-0
104
105    # ZRAM setup
106    write /sys/block/zram0/comp_algorithm lz77eh
107    write /proc/sys/vm/page-cluster 0
108
109    # Some user code relies on ro.boot.hardware.revision
110    setprop ro.boot.hardware.revision ${ro.revision}
111
112    # Allow PAI targeting per hardware SKU
113    setprop ro.oem.key1 ${ro.boot.hardware.sku}
114
115    # Property used by vintf for sku specific manifests
116    # Property used by NFC for sku specific configurations
117    setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
118
119    # Support legacy paths
120    symlink /data/app /factory
121
122    # Apply network parameters for high data performance.
123    write /proc/sys/net/core/rmem_default 327680
124    write /proc/sys/net/core/rmem_max 8388608
125    write /proc/sys/net/core/wmem_default 327680
126    write /proc/sys/net/core/wmem_max 8388608
127    write /proc/sys/net/core/optmem_max 20480
128    write /proc/sys/net/core/netdev_max_backlog 10000
129    write /proc/sys/net/ipv4/tcp_rmem "2097152 4194304 8388608"
130    write /proc/sys/net/ipv4/tcp_wmem "262144 524288 8388608"
131    write /proc/sys/net/ipv4/tcp_mem "44259 59012 88518"
132    write /proc/sys/net/ipv4/udp_mem "88518 118025 177036"
133
134    write /sys/class/net/rmnet0/queues/rx-0/rps_cpus fe
135    write /sys/class/net/rmnet1/queues/rx-0/rps_cpus fe
136    write /sys/class/net/rmnet2/queues/rx-0/rps_cpus fe
137    write /sys/class/net/rmnet3/queues/rx-0/rps_cpus fe
138    write /sys/class/net/rmnet4/queues/rx-0/rps_cpus fe
139    write /sys/class/net/rmnet5/queues/rx-0/rps_cpus fe
140    write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe
141    write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe
142
143    # Create UDS structure for base VR services.
144    mkdir /dev/socket/pdx 0775 system system
145    mkdir /dev/socket/pdx/system 0775 system system
146    mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
147    mkdir /dev/socket/pdx/system/performance 0775 system system
148    mkdir /dev/socket/pdx/system/vr 0775 system system
149    mkdir /dev/socket/pdx/system/vr/display 0775 system system
150    mkdir /dev/socket/pdx/system/vr/pose 0775 system system
151    mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
152
153    # Boot time 183626384
154    write /proc/vendor_sched/ta_uclamp_min 1024
155    write /proc/vendor_sched/ta_prefer_idle 1
156    write /proc/vendor_sched/fg_uclamp_min 1024
157    write /proc/vendor_sched/fg_prefer_idle 1
158    write /proc/vendor_sched/sys_uclamp_min 1024
159    write /proc/vendor_sched/sys_prefer_idle 1
160
161    # governor setting
162    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
163    write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
164    write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
165    write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_scale_pow 2
166    write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
167    write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
168    write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
169    write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor sched_pixel
170    write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/up_rate_limit_us 500
171    write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000
172
173    # RT uclamp setting
174    write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
175
176    # change permissions and default values for camera-daemon cpu controller
177    chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min
178    chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max
179    chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive
180    chown system system /dev/cpuctl/camera-daemon/cgroup.procs
181
182    mkdir /dev/cpuset/camera-daemon-high-group
183    write /dev/cpuset/camera-daemon-high-group/cpus 0-7
184    write /dev/cpuset/camera-daemon-high-group/mems 0
185    chown system system /dev/cpuset/camera-daemon-high-group/tasks
186    chmod 0664 /dev/cpuset/camera-daemon-high-group/tasks
187
188    mkdir /dev/cpuset/camera-daemon-mid-group
189    write /dev/cpuset/camera-daemon-mid-group/cpus 0-7
190    write /dev/cpuset/camera-daemon-mid-group/mems 0
191    chown system system /dev/cpuset/camera-daemon-mid-group/tasks
192    chmod 0664 /dev/cpuset/camera-daemon-mid-group/tasks
193
194    mkdir /dev/cpuset/camera-daemon-mid-high-group
195    write /dev/cpuset/camera-daemon-mid-high-group/cpus 0-7
196    write /dev/cpuset/camera-daemon-mid-high-group/mems 0
197    chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks
198    chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks
199
200    write /proc/vendor_sched/cam_prefer_idle 1
201    write /proc/vendor_sched/cam_uclamp_min 1
202
203    chown system system /dev/cpuset/cgroup.procs
204
205    # nanohub sensor
206    chmod 0664 /dev/nanohub
207    chmod 0664 /dev/nanohub_comms
208    chown system system /dev/nanohub
209    chown system system /dev/nanohub_comms
210
211    # logbuffer
212    chown system system /dev/logbuffer_maxfg
213    chown system system /dev/logbuffer_maxfg_base
214    chown system system /dev/logbuffer_maxfg_flip
215    chown system system /dev/logbuffer_maxfg_monitor
216    chown system system /dev/logbuffer_maxfg_base_monitor
217    chown system system /dev/logbuffer_maxfg_flip_monitor
218    chown system system /dev/logbuffer_maxq
219    chown system system /dev/logbuffer_google,cpm
220    chown system system /dev/logbuffer_rtx
221    chown system system /dev/logbuffer_ssoc
222    chown system system /dev/logbuffer_ttf
223    chown system system /dev/logbuffer_tcpm
224    chown system system /dev/logbuffer_usbpd
225    chown system system /dev/logbuffer_pogo_transport
226    chown system system /dev/logbuffer_wireless
227    chown system system /dev/logbuffer_pca9468
228    chown system system /dev/logbuffer_cpm
229    chown system system /dev/logbuffer_bd
230
231    # Dump maxfg
232    chown system system /sys/class/power_supply/maxfg/m5_model_state
233    chown system system /sys/class/power_supply/maxfg_base/m5_model_state
234
235    # Dump eeprom
236    chown system system /sys/devices/platform/10970000.hsi2c/i2c-8/8-0050/eeprom
237    chown system system /sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom
238    chown system system /sys/devices/platform/10970000.hsi2c/i2c-6/6-0050/eeprom
239    chown system system /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom
240    chown system system /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom
241    chown system system /dev/battery_history
242
243    # Modem temperature driver
244    chown radio system /sys/devices/platform/cp-tm1/cp_temp
245
246    # Loading common kernel modules in background
247    start insmod_sh_common
248
249    # Charge stats (write 0)
250    chown system system /sys/class/power_supply/battery/charge_stats
251
252    # Pca Charge stats (write 0)
253    chown system system /sys/class/power_supply/pca9468-mains/device/chg_stats
254
255    # Wireless Charge stats (write 0)
256    chown system system /sys/class/power_supply/wireless/device/charge_stats
257
258    # Thermal Charge stats (write 0)
259    chown system system /sys/devices/platform/google,charger/thermal_stats
260
261    # Google Charger stats (write 0)
262    chown system system /sys/devices/platform/google,charger/charge_stats
263
264    # Permission for wireless charging fan
265    chown system system /sys/devices/platform/google,charger/thermal_dc_fan_alarm
266    chown system system /sys/devices/platform/google,cpm/thermal_mdis_fan_alarm
267
268    # Permission for wireless charging
269    chown system system /sys/class/power_supply/wireless/capacity
270    chown system system /sys/class/power_supply/wireless/device/rtx
271    chown system system /sys/class/power_supply/wireless/device/rxdata
272    chown system system /sys/class/power_supply/wireless/device/txdata
273    chown system system /sys/class/power_supply/wireless/device/rxlen
274    chown system system /sys/class/power_supply/wireless/device/txlen
275    chown system system /sys/class/power_supply/wireless/device/ccreset
276    chown system system /sys/class/power_supply/wireless/device/status
277    chown system system /sys/class/power_supply/wireless/device/version
278    chown system system /sys/class/power_supply/wireless/device/features
279    chown system system /sys/class/power_supply/wireless/device/authtype
280
281    # Adaptive charge
282    chown system system /sys/class/power_supply/battery/charge_deadline
283
284    # Battery Defender
285    chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_cnt
286    chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_dry_run
287    chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_enable
288    chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_recharge_soc
289    chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_reset_sec
290    chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_clear
291    chown system system /sys/devices/platform/google,battery/power_supply/battery/health_safety_margin
292    chown system system /sys/devices/platform/google,battery/power_supply/battery/aacr_state
293    chown system system /sys/devices/platform/google,battery/power_supply/battery/aacr_cycle_max
294    chown system system /sys/devices/platform/google,battery/power_supply/battery/aacr_cycle_grace
295    chown system system /sys/devices/platform/google,charger/bd_drainto_soc
296    chown system system /sys/devices/platform/google,charger/bd_recharge_soc
297    chown system system /sys/devices/platform/google,charger/bd_recharge_voltage
298    chown system system /sys/devices/platform/google,charger/bd_resume_abs_temp
299    chown system system /sys/devices/platform/google,charger/bd_resume_soc
300    chown system system /sys/devices/platform/google,charger/bd_resume_temp
301    chown system system /sys/devices/platform/google,charger/bd_resume_time
302    chown system system /sys/devices/platform/google,charger/bd_temp_dry_run
303    chown system system /sys/devices/platform/google,charger/bd_temp_enable
304    chown system system /sys/devices/platform/google,charger/bd_trigger_temp
305    chown system system /sys/devices/platform/google,charger/bd_trigger_time
306    chown system system /sys/devices/platform/google,charger/bd_trigger_voltage
307    chown system system /sys/devices/platform/google,charger/bd_clear
308    chown system system /sys/devices/platform/google,charger/charge_start_level
309    chown system system /sys/devices/platform/google,charger/charge_stop_level
310    chown system system /sys/devices/platform/google,cpm/dc_ctl
311    # Important to include dd_state as it's used in battery defender in charger mode
312    chown system system /sys/devices/platform/google,charger/dd_state
313    chown system system /sys/devices/platform/google,charger/dd_settings
314
315    # Power Stats HAL
316    chown system system /dev/bbd_pwrstat
317
318    # start watchdogd
319    start watchdogd
320
321    # Add a boost for NNAPI HAL
322    write /proc/vendor_sched/nnapi_prefer_idle 0
323    write /proc/vendor_sched/nnapi_uclamp_min 512
324
325    # Add memlat governor settings
326    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/polling_interval 10
327    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/polling_interval 10
328    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/polling_interval 10
329    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/polling_interval 10
330    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/polling_interval 10
331    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/polling_interval 10
332    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/polling_interval 10
333    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/polling_interval 10
334    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/mem_latency/ratio_ceil 400
335    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/mem_latency/ratio_ceil 400
336    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/mem_latency/ratio_ceil 400
337    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/mem_latency/ratio_ceil 400
338    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/mem_latency/ratio_ceil 2700
339    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/mem_latency/ratio_ceil 2700
340    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/ratio_ceil 3200
341    write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/ratio_ceil 3200
342
343on init && property:ro.boot.hw.soc.rev=0
344    setprop vendor.powerhal.config powerhint_a0.json
345
346on init && property:ro.boot.hw.soc.rev=1
347    setprop vendor.powerhal.config powerhint_a1.json
348
349on init && property:ro.boot.hw.soc.rev=0
350    # STOPSHIP b/177967147 disable SICD
351    write /sys/devices/platform/cpupm/cpupm/sicd 0
352
353on init && property:ro.boot.hw.soc.rev=1
354    # STOPSHIP b/177967147 disable SICD
355    write /sys/devices/platform/cpupm/cpupm/sicd 0
356
357on late-fs
358    # Start bootanimation class before mount
359    start bootanim
360    class_start animation
361
362    # Mount RW partitions which need run fsck
363    mount_all --late
364
365on post-fs-data
366    # Log data folder
367    mkdir /data/vendor 0771 radio system
368    mkdir /data/vendor/log 0771 radio system
369    mkdir /data/vendor/log/cbd 0771 radio system
370    mkdir /data/vendor/log/rfsd 0771 radio system
371
372    mkdir /data/exynos/log 0771 radio system
373    mkdir /data/vendor/rild 0771 radio system
374    mkdir /data/vendor/dump 0771 radio system
375    mkdir /data/vendor/slog 0771 system system
376
377    # PixelLogger log paths.
378    mkdir /data/vendor/radio 773 system radio
379    mkdir /data/vendor/radio/logs 773 system radio
380    mkdir /data/vendor/radio/logs/always-on 777 system radio
381
382    # Modem extended log folder
383    mkdir /data/vendor/radio/extended_logs 0770 radio system
384
385    # Modem MDS log folder
386    mkdir /data/vendor/radio/mds 0771 radio system
387
388    # Unzipped modem images folder
389    mkdir /data/vendor/radio/image 0771 radio system
390
391    # Modem stat folder
392    mkdir /data/vendor/modem_stat 0771 radio system
393    write /data/vendor/modem_stat/debug.txt ""
394    chown radio system /data/vendor/modem_stat/debug.txt
395    chmod 0664 /data/vendor/modem_stat/debug.txt
396
397    # Modem replay folder
398    mkdir /mnt/vendor/modem_userdata/replay 0775 radio system
399
400    # Write display MIPI frequency from Modem
401    chown system system /sys/devices/platform/1c2c0000.drmdsim/hs_clock
402    chown system system /sys/devices/platform/1c2d0000.drmdsim/hs_clock
403    chmod 0664 /sys/devices/platform/1c2c0000.drmdsim/hs_clock
404    chmod 0664 /sys/devices/platform/1c2d0000.drmdsim/hs_clock
405
406    setprop vold.post_fs_data_done 1
407    setprop wifi.direct.interface p2p-dev-wlan0
408    setprop wifi.aware.interface aware_nmi0
409
410# IPSEC PIDDIR for VoWiFi
411    mkdir /data/vendor/misc 0771 root system
412    mkdir /data/vendor/misc/vpn 0771 root system
413
414# Permissions Camera
415    mkdir /data/vendor/camera 0770 system camera
416    mkdir /data/vendor/camera/catpipe 0770 system camera
417    chmod 0755 /sys/kernel/debug/tracing
418    restorecon /sys/kernel/debug/tracing/trace_marker
419
420    # ranging sensor
421    chown system system /dev/stmvl53l1_ranging
422    chmod 0660 /dev/stmvl53l1_ranging
423
424    # Factory calibration files
425    chmod 0771 /mnt/vendor/persist/camera
426    chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
427    chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
428    chmod 0771 /mnt/vendor/persist/camera/rear
429
430# Audio dump and debug
431    mkdir /data/vendor/audio 0770 audio audio
432
433# Create the directories for Darwinn HAL.
434    mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system
435    mkdir /data/vendor/hal_neuralnetworks_darwinn/checksum_cache 0770 system system
436    mkdir /data/vendor/edgetpu 0770 system system
437    mkdir /data/vendor/edgetpu/cache 0770 system system
438
439# Compatibility path for TPU
440    symlink /dev/abrolhos /dev/edgetpu
441
442on zygote-start
443    # For PixelLogger configuration file.
444    chmod 0771 /data/vendor/wifi
445    write /proc/vendor_sched/sys_uclamp_min 0
446
447on post-fs-data
448    # Create the directories used by the Wireless subsystem
449    mkdir /data/vendor/wifi 0771 wifi wifi
450    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
451    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
452
453# Gatekeeper data
454    mkdir /data/vendor/gk 0771 system system
455
456# HWC data
457    mkdir /data/vendor/log/hwc 0771 system graphics
458
459# Video data
460    mkdir /data/vendor/media 0700 mediacodec mediacodec
461
462on post-fs-data
463    # GPS
464    mkdir /data/vendor/gps 0771 system system
465    chown system system /data/vendor/gps
466    rm /data/vendor/gps/gps_started
467    rm /data/vendor/gps/glonass_started
468    rm /data/vendor/gps/beidou_started
469    rm /data/vendor/gps/smd_started
470    rm /data/vendor/gps/sv_cno.info
471
472    chown gps system /sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby
473    chmod 0664 /dev/ttyBCM
474    chown gps system /dev/ttyBCM
475    chmod 0664 /dev/bbd_control
476    chown gps system /dev/bbd_control
477    chmod 0664 /dev/bbd_patch
478    chown gps system /dev/bbd_patch
479    chmod 0664 /dev/bbd_sensor
480    chown gps system /dev/bbd_sensor
481
482on early-boot
483    # Wait for insmod_sh to finish all common modules
484    wait_for_prop vendor.common.modules.ready 1
485
486    # Permission for Health Storage HAL
487    chown system system /dev/sys/block/bootdevice/manual_gc
488
489    # Permission for Pixelstats
490    chown system system /dev/sys/block/bootdevice/slowio_read_cnt
491    chown system system /dev/sys/block/bootdevice/slowio_write_cnt
492    chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
493    chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
494
495on boot
496
497    # Allow to access debugfs for system:system
498    chmod 0755 /sys/kernel/debug
499    chown system system /sys/kernel/debug
500
501    #setprop ro.radio.noril no
502
503    # default country code
504    setprop ro.boot.wificountrycode 00
505
506    # Set up kernel tracing, but disable it by default
507    chmod 0222 /sys/kernel/debug/tracing/trace_marker
508    write /sys/kernel/debug/tracing/tracing_on 0
509
510    # Change permission for A-Box firmware logs file & GPR dump
511    chown audioserver system /sys/devices/platform/17c50000.abox/reset
512    chown audioserver system /sys/devices/platform/17c50000.abox/service
513    chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/gpr
514    chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_sram
515    chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_dram
516    chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_iva
517    chown audioserver system /sys/kernel/debug/abox/log-00
518
519# Permission for USB SELECT
520    chown system system /sys/class/android_usb/android0/enable
521    chmod 0660 /sys/class/android_usb/android0/enable
522    chown system system /sys/class/android_usb/android0/idVendor
523    chmod 0660 /sys/class/android_usb/android0/idVendor
524    chown system system /sys/class/android_usb/android0/idProduct
525    chmod 0660 /sys/class/android_usb/android0/idProduct
526    chown system system /sys/class/android_usb/android0/f_diag/clients
527    chmod 0660 /sys/class/android_usb/android0/f_diag/clients
528    chown system system /sys/class/android_usb/android0/functions
529    chmod 0660 /sys/class/android_usb/android0/functions
530    chown system system /sys/class/android_usb/android0/bDeviceClass
531    chmod 0660 /sys/class/android_usb/android0/bDeviceClass
532
533# Permission for UART SWITCH
534    chmod 0660 /sys/class/sec/switch/uart_sel
535    chown system system /sys/class/sec/switch/uart_sel
536
537# VTS sysfs file permission
538    chown audioserver system /sys/devices/platform/13810000.vts/vts_svoice_model
539    chown audioserver system /sys/devices/platform/13810000.vts/vts_google_model
540    chmod 0660 /sys/devices/platform/13810000.vts/vts_svoice_model
541    chmod 0660 /sys/devices/platform/13810000.vts/vts_google_model
542
543# WLAN firmware/driver path
544    chown wifi wifi /sys/module/bcmdhd/parameters/nvram_path
545    chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path
546
547on property:persist.vendor.radio.no_modem_board=1
548    setprop ro.radio.noril yes
549
550on fs
551    mount_all --early
552    restorecon_recursive /mnt/vendor/efs
553    chown radio system /mnt/vendor/efs
554    restorecon_recursive /mnt/vendor/efs_backup
555    chown radio system /mnt/vendor/efs_backup
556    restorecon_recursive /mnt/vendor/modem_userdata
557    chown radio system /mnt/vendor/modem_userdata
558
559    # for cycle count backup
560    mkdir /mnt/vendor/persist/battery 0700 system system
561
562    restorecon_recursive /mnt/vendor/persist
563    restorecon_recursive /mnt/vendor/persist/aoc
564    restorecon_recursive /mnt/vendor/persist/audio
565    restorecon_recursive /mnt/vendor/persist/sensors
566    restorecon_recursive /mnt/vendor/persist/battery
567    restorecon_recursive /mnt/vendor/persist/modem
568    # Set up display-related directories and permissions
569    # Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
570    restorecon_recursive /mnt/vendor/persist/display
571    mkdir /mnt/vendor/persist/data/sfs 0700 system system
572    mkdir /mnt/vendor/persist/data/tz 0700 system system
573    mkdir /mnt/vendor/persist/touch 0770 system system
574    mkdir /mnt/vendor/persist/audio 0770 system system
575    chown media audio /mnt/vendor/persist/audio
576
577# Permissions for ION
578    chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
579    chown system system /sys/class/ion_cma/ion_video_ext/isolated
580
581# Permissions for hwcomposer
582    chown system system /sys/class/backlight/panel0-backlight/als_table
583    chown system system /sys/class/backlight/panel0-backlight/brightness
584    chown system system /sys/class/backlight/panel0-backlight/dimming_on
585    chown system system /sys/class/backlight/panel0-backlight/hbm_mode
586    chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode
587    chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
588    chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
589    chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
590    chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit
591    chown system system /sys/module/drm/parameters/vblankoffdelay
592    chown system system /sys/class/dqe0/atc/ambient_light
593    chown system system /sys/class/dqe0/atc/st
594    chown system system /sys/class/dqe0/atc/en
595    chown system system /sys/class/dqe0/atc/lt
596    chown system system /sys/class/dqe0/atc/ns
597    chown system system /sys/class/dqe0/atc/dither
598    chown system system /sys/class/dqe0/atc/pl_w1
599    chown system system /sys/class/dqe0/atc/pl_w2
600    chown system system /sys/class/dqe0/atc/ctmode
601    chown system system /sys/class/dqe0/atc/pp_en
602    chown system system /sys/class/dqe0/atc/upgrade_on
603    chown system system /sys/class/dqe0/atc/tdr_max
604    chown system system /sys/class/dqe0/atc/tdr_min
605    chown system system /sys/class/dqe0/atc/back_light
606    chown system system /sys/class/dqe0/atc/dstep
607    chown system system /sys/class/dqe0/atc/scale_mode
608    chown system system /sys/class/dqe0/atc/threshold_1
609    chown system system /sys/class/dqe0/atc/threshold_2
610    chown system system /sys/class/dqe0/atc/threshold_3
611    chown system system /sys/class/dqe0/atc/gain_limit
612    chown system system /sys/class/dqe0/atc/lt_calc_ab_shift
613    chown system system /sys/devices/platform/1c300000.drmdecon/early_wakeup
614    chmod 0660 /sys/devices/platform/1c300000.drmdecon/early_wakeup
615    chown system system /sys/devices/platform/1c302000.drmdecon/early_wakeup
616    chmod 0660 /sys/devices/platform/1c302000.drmdecon/early_wakeup
617
618# Copy DRM Key
619#    copy /system/app/wv.keys /factory/wv.keys
620
621# Permission for DRM Key
622#    chmod 0644 /factory/wv.keys
623
624# Permission for flashlight control for HAL3.3
625# The Istor espresso board does not have the flash led h/w, So the below permission line are blocked.
626# If you want to test the flashlight in board which have the flash led h/w, Enable the below blocked lines.
627    chmod 0660 /sys/class/camera/flash/rear_torch_flash
628    chown system camera /sys/class/camera/flash/rear_torch_flash
629#load ecd firmware
630    write /proc/ecd/load_firmware 1
631
632service abox /vendor/bin/main_abox 17c50000.abox
633    class late_start
634    user audioserver
635    group audioserver
636    seclabel u:r:abox:s0
637
638# GPS
639service lhd /vendor/bin/hw/lhd /vendor/etc/gnss/lhd.conf
640    class main
641    user gps
642    group system inet net_raw sdcard_rw
643    ioprio be 0
644
645service gpsd /vendor/bin/hw/gpsd -c /vendor/etc/gnss/gps.xml
646    class main
647    user gps
648    group system gps radio inet wakelock sdcard_rw net_raw
649    ioprio be 0
650
651service scd /vendor/bin/hw/scd /vendor/etc/gnss/scd.conf
652    class main
653    user gps
654    group system inet net_raw wakelock
655    ioprio be 0
656
657service gnss_service /vendor/bin/hw/android.hardware.gnss@2.1-service-brcm
658    class hal
659    user gps
660    group system gps radio
661    ioprio be 0
662    priority -1
663
664# disable gps service if no gps h/w
665on property:vendor.ril.cbd.svc=0
666    stop gpsd
667    stop lhd
668    stop scd
669
670# on userdebug and eng builds, enable kgdb on the serial console
671on property:ro.debuggable=1
672    write /sys/module/kgdboc/parameters/kgdboc ttyFIQ1
673    write /sys/module/fiq_debugger/parameters/kgdb_enable 1
674
675# Touch
676on property:vendor.device.modules.ready=1
677    chown system system /sys/class/spi_master/spi11/spi11.0/stm_fts_cmd
678    chown system system /sys/class/spi_master/spi11/spi11.0/glove_mode
679    chown system system /sys/class/spi_master/spi6/spi6.0/stm_fts_cmd
680    chown system system /sys/class/spi_master/spi6/spi6.0/glove_mode
681    chown system system /sys/devices/virtual/sec/tsp/fw_version
682    chown system system /sys/devices/virtual/sec/tsp/cmd
683    chown system system /sys/devices/virtual/sec/tsp/cmd_result
684    chown system system /sys/devices/virtual/sec/tsp/status
685    chown system system /sys/class/spi_master/spi11/spi11.0/input/nvt_touch/force_touch_active
686    chown system system /sys/class/spi_master/spi11/spi11.0/input/nvt_touch/nvt_dttw_mode
687    # Allow access to touch
688    chown system input /dev/touch_offload
689    chmod 660 /dev/touch_offload
690
691# Route touch_sensitivity_mode to persist
692on property:debug.touch_sensitivity_mode=0
693    setprop persist.vendor.touch_sensitivity_mode 0
694
695on property:debug.touch_sensitivity_mode=1
696    setprop persist.vendor.touch_sensitivity_mode 1
697
698on property:init.svc.vendor.charger=running
699    stop keymaster-4-0
700
701    setprop sys.usb.configfs 1
702    setprop vendor.setup.power 1
703
704    # keep one little and one big
705    write /sys/devices/system/cpu/cpu1/online 0
706    write /sys/devices/system/cpu/cpu2/online 0
707    write /sys/devices/system/cpu/cpu3/online 0
708    write /sys/devices/system/cpu/cpu5/online 0
709    write /sys/devices/system/cpu/cpu6/online 0
710    write /sys/devices/system/cpu/cpu7/online 0
711
712on property:sys.boot_completed=1
713
714    # Runtime fs tuning
715    write /sys/block/sda/queue/nr_requests 64
716    write /sys/block/sda/queue/iostats 1
717    write /dev/sys/fs/by-name/userdata/data_io_flag 8
718    write /dev/sys/fs/by-name/userdata/node_io_flag 8
719
720    # Permission for Pixelstats
721    chown system system /dev/sys/fs/by-name/userdata/compr_written_block
722    chown system system /dev/sys/fs/by-name/userdata/compr_saved_block
723    chown system system /dev/sys/fs/by-name/userdata/compr_new_inode
724    chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
725    chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
726
727    # Enable ZRAM on boot_complete
728    swapon_all /vendor/etc/fstab.${ro.board.platform}
729    write /proc/sys/vm/swappiness 100
730
731    # Back to default VM settings
732    write /proc/sys/vm/dirty_expire_centisecs 3000
733    write /proc/sys/vm/dirty_background_ratio 10
734
735    # Enable UFS powersaving
736    write /dev/sys/block/bootdevice/clkgate_enable 1
737
738    # Reset DDR frequency
739    write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
740    write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
741
742    # Setup final cpuset
743    write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
744    write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
745    write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-1}
746    write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
747    write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
748    write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
749    setprop vendor.powerhal.init 1
750
751    # Setup final cpu.uclamp
752    write /proc/vendor_sched/ta_uclamp_min 1
753    write /proc/vendor_sched/fg_uclamp_min 0
754    write /proc/vendor_sched/sys_prefer_idle 0
755    # cfs_rq clamp is using tg->uclamp setting
756    # align it with the vendor_group setting
757    write /proc/vendor_sched/bg_uclamp_max 512
758    write /dev/cpuctl/background/cpu.uclamp.max 50
759    write /proc/vendor_sched/sysbg_uclamp_max 512
760    write /dev/cpuctl/system-background/cpu.uclamp.max 50
761    write /proc/vendor_sched/dex2oat_uclamp_max 615
762    write /dev/cpuctl/dex2oat/cpu.uclamp.max 60
763    write /proc/vendor_sched/ota_uclamp_max 410
764
765    # Set PMU freq limit parameters
766    write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold 2
767    write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold 59
768    write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency 1401000
769    write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold 6
770    write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold 64
771    write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency 1826000
772    write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/lcpi_threshold 5
773    write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/spc_threshold 69
774    write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency 2507000
775    write /proc/vendor_sched/pmu_poll_time 10
776
777    # Disable PMU freq limit
778    write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1
779    write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1
780    write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable 1
781    write /proc/vendor_sched/pmu_poll_enable 0
782
783    # Setup groups for SF (RT used for SF RE, SF used for SF main)
784    write /proc/vendor_sched/rt_uclamp_min 161
785    write /proc/vendor_sched/rt_prefer_idle 1
786    write /proc/vendor_sched/sf_uclamp_min 39
787    write /proc/vendor_sched/sf_prefer_idle 1
788
789    # Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%)
790    write /dev/cpuctl/background/cpu.shares 1024
791    write /dev/cpuctl/system-background/cpu.shares 1024
792    write /dev/cpuctl/dex2oat/cpu.shares 512
793    write /dev/cpuctl/system/cpu.shares 20480
794    # We only have system and background groups holding tasks and the groups below are empty
795    write /dev/cpuctl/camera-daemon/cpu.shares 20480
796    write /dev/cpuctl/foreground/cpu.shares 20480
797    write /dev/cpuctl/nnapi-hal/cpu.shares 20480
798    write /dev/cpuctl/rt/cpu.shares 20480
799    write /dev/cpuctl/top-app/cpu.shares 20480
800
801    # gvotables for dumpstate
802    chown system system /sys/kernel/debug/gvotables
803
804    # AOC reset permission
805    chown root system /sys/devices/platform/19000000.aoc/reset
806    chmod 0220 /sys/devices/platform/19000000.aoc/reset
807
808    # write serialno to battery path for pairing
809    write /sys/class/power_supply/battery/dev_sn ${ro.boot.serialno}
810
811# Test Harness Mode default battery profile.
812on  property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0
813    setprop persist.vendor.charge.stop.level 70
814    setprop persist.vendor.charge.start.level 35
815    setprop vendor.battery.defender.disable 1
816
817# Extremely restricted battery profile.
818on  property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1
819    setprop persist.vendor.charge.stop.level 50
820    setprop persist.vendor.charge.start.level 35
821    setprop vendor.battery.defender.disable 1
822
823# Normal behavior (as if the device was a regular device)
824on  property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2
825    setprop persist.vendor.charge.stop.level 100
826    setprop persist.vendor.charge.start.level 0
827
828# Unrestricted, allows charging to 100%
829on  property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3
830    setprop persist.vendor.charge.stop.level 100
831    setprop persist.vendor.charge.start.level 0
832    setprop vendor.battery.defender.disable 1
833
834# ACA (Adaptice Charge Always On) persist properties
835on property:persist.vendor.adaptive.charge.soc=*
836    write /sys/class/power_supply/battery/charge_limit ${persist.vendor.adaptive.charge.soc}
837
838service insmod_sh_common /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.gs101.cfg
839    class main
840    user root
841    group root system
842    disabled
843    oneshot
844
845# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
846service watchdogd /system/bin/watchdogd 10 20
847    class core
848    oneshot
849    seclabel u:r:watchdogd:s0
850
851# bugreport is triggered by holding down volume down, volume up and power
852service bugreport /system/bin/dumpstate -d -p -z
853    class main
854    disabled
855    oneshot
856    keycodes 114 115 116
857
858# Proxy for Secure Storage
859on post-fs-data
860    mkdir /data/vendor/rebootescrow 0770 hsm hsm
861    start vendor.rebootescrow-citadel
862    mkdir /data/vendor/ss 0770 root system
863    mkdir /mnt/vendor/persist/ss 0770 root system
864    restorecon_recursive /mnt/vendor/persist/ss
865    symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
866    chown root system /data/vendor/ss/persist
867    chmod 0770 /data/vendor/ss/persist
868
869    restart storageproxyd
870
871service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 \
872        -r /dev/sg1 -p /data/vendor/ss -t ufs
873    class early_hal
874    user root
875
876# Write build info to kdebuginfo
877on property:ro.build.fingerprint=*
878    write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint}
879
880# Bluetooth
881on post-fs-data
882    chown bluetooth system /sys/devices/platform/175b0000.serial/serial0/serial0-0/bluetooth/hci0/rfkill0/state
883    chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill0/state
884    chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill2/state
885    chown bluetooth system /proc/bluetooth/sleep/btwake
886    chown bluetooth system /proc/bluetooth/sleep/lpm
887    chown bluetooth system /proc/bluetooth/sleep/btwrite
888
889# ODPM
890on fs
891    chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-0/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/iio:device1/enabled_rails
892    chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-0/0-001f/s2mpg10-meter/s2mpg10-odpm/iio:device1/enabled_rails
893    chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-1/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device0/enabled_rails
894    chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-1/1-002f/s2mpg11-meter/s2mpg11-odpm/iio:device0/enabled_rails
895
896    chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-6/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
897    chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-6/6-001f/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
898    chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-7/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
899    chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-7/7-002f/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
900
901    chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-7/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
902    chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-7/7-001f/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
903    chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-8/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
904    chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-8/8-002f/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
905
906on post-fs-data
907    mkdir /data/vendor/powerstats 0771 system system
908    chown system system /data/vendor/powerstats
909
910on property:vendor.thermal.link_ready=1
911    # BCL
912    write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_light_clk_ratio 0xfff041c5
913    write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu2_light_clk_ratio 0xfff041c5
914    write /sys/devices/virtual/pmic/mitigation/clock_ratio/gpu_heavy_clk_ratio 0xfff04385
915    write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_heavy_clk_ratio 0xfff041c3
916    write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu2_heavy_clk_ratio 0xfff041c3
917    write /dev/thermal/tz-by-name/smpl_gm/policy user_space
918    write /dev/thermal/tz-by-name/vdroop1/policy user_space
919    write /dev/thermal/tz-by-name/vdroop2/policy user_space
920    write /dev/thermal/tz-by-name/ocp_cpu1/policy user_space
921    write /dev/thermal/tz-by-name/ocp_cpu2/policy user_space
922    write /dev/thermal/tz-by-name/ocp_tpu/policy user_space
923    write /dev/thermal/tz-by-name/ocp_gpu/policy user_space
924    write /dev/thermal/tz-by-name/soft_ocp_cpu1/policy user_space
925    write /dev/thermal/tz-by-name/soft_ocp_cpu2/policy user_space
926    write /dev/thermal/tz-by-name/soft_ocp_tpu/policy user_space
927    write /dev/thermal/tz-by-name/soft_ocp_gpu/policy user_space
928    write /dev/thermal/tz-by-name/soc/policy user_space
929    write /dev/thermal/tz-by-name/batoilo/policy user_space
930    write /sys/devices/virtual/pmic/mitigation/triggered_lvl/smpl_lvl 3100
931    write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x1
932    write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x1
933    write /sys/devices/virtual/pmic/mitigation/clock_div/cpu2_clk_div 0x1
934    chown system system /dev/thermal/tz-by-name/soc/mode
935    chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_temp
936    chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst
937    chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_temp
938    chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_hyst
939    chown system system /dev/thermal/tz-by-name/vdroop1/trip_point_0_temp
940    chown system system /dev/thermal/tz-by-name/vdroop1/trip_point_0_hyst
941    chown system system /dev/thermal/tz-by-name/smpl_gm/trip_point_0_temp
942    chown system system /dev/thermal/tz-by-name/smpl_gm/trip_point_0_hyst
943    chown system system /dev/thermal/tz-by-name/ocp_cpu1/trip_point_0_temp
944    chown system system /dev/thermal/tz-by-name/ocp_cpu1/trip_point_0_hyst
945    chown system system /dev/thermal/tz-by-name/ocp_cpu2/trip_point_0_temp
946    chown system system /dev/thermal/tz-by-name/ocp_cpu2/trip_point_0_hyst
947    chown system system /dev/thermal/tz-by-name/ocp_tpu/trip_point_0_temp
948    chown system system /dev/thermal/tz-by-name/ocp_tpu/trip_point_0_hyst
949    chown system system /dev/thermal/tz-by-name/ocp_gpu/trip_point_0_temp
950    chown system system /dev/thermal/tz-by-name/ocp_gpu/trip_point_0_hyst
951    chown system system /dev/thermal/tz-by-name/soft_ocp_cpu1/trip_point_0_temp
952    chown system system /dev/thermal/tz-by-name/soft_ocp_cpu1/trip_point_0_hyst
953    chown system system /dev/thermal/tz-by-name/soft_ocp_cpu2/trip_point_0_temp
954    chown system system /dev/thermal/tz-by-name/soft_ocp_cpu2/trip_point_0_hyst
955    chown system system /dev/thermal/tz-by-name/soft_ocp_tpu/trip_point_0_temp
956    chown system system /dev/thermal/tz-by-name/soft_ocp_tpu/trip_point_0_hyst
957    chown system system /dev/thermal/tz-by-name/soft_ocp_gpu/trip_point_0_temp
958    chown system system /dev/thermal/tz-by-name/soft_ocp_gpu/trip_point_0_hyst
959    chown system system /dev/thermal/tz-by-name/soc/trip_point_0_temp
960    chown system system /dev/thermal/tz-by-name/soc/trip_point_0_hyst
961    # Thermal
962    chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_temp
963    chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_hyst
964    chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_temp
965    chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_hyst
966    chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/trip_point_0_temp
967    chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/trip_point_0_hyst
968    chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/emul_temp
969    chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote
970    chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote
971    chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote
972    chown system system /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote
973    chown system system /dev/thermal/cdev-by-name/tpu_cooling/user_vote
974    chown system system /dev/thermal/cdev-by-name/fcc/cur_state
975    chown system system /dev/thermal/cdev-by-name/dc_icl/cur_state
976    chown system system /dev/thermal/cdev-by-name/wlc_fcc/cur_state
977    chown system system /dev/thermal/cdev-by-name/usbc-port/cur_state
978
979on charger
980    write /proc/vendor_sched/sys_uclamp_min 0
981    write /proc/vendor_sched/sys_prefer_idle 0
982
983    # Use charger thermal config
984    setprop vendor.thermal.config "thermal_info_config_charge.json"
985
986    # Wait for insmod_sh to finish all common modules
987    wait_for_prop vendor.common.modules.ready 1
988
989    # Create thermal symlink in off charging mode
990    mkdir /dev/thermal 0750 system system
991    mkdir /dev/thermal/tz-by-name 0750 system system
992    mkdir /dev/thermal/cdev-by-name 0750 system system
993    start vendor.thermal.symlinks
994
995on property:vendor.disable.bcl.control=1
996    write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0
997
998on property:vendor.disable.bcl.control=0
999    write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 1
1000
1001# UFS
1002on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
1003    # Enable UFS powersaving in Off Mode Charger
1004    write /dev/sys/block/bootdevice/clkgate_enable 1
1005    # Disable dock-defend in Off Mode Charger
1006    write /sys/devices/platform/google,charger/dd_state -1
1007
1008# Cpuset experiment
1009on property:persist.device_config.vendor_system_native.top-app_cpuset=*
1010    write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
1011on property:persist.device_config.vendor_system_native.foreground_cpuset=*
1012    write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
1013on property:persist.device_config.vendor_system_native.background_cpuset=*
1014    write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-1}
1015on property:persist.device_config.vendor_system_native.system-background_cpuset=*
1016    write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
1017on property:persist.device_config.vendor_system_native.restricted_cpuset=*
1018    write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
1019on property:persist.device_config.vendor_system_native.camera-daemon_cpuset=*
1020    write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
1021