device_google_zumapro/conf/init.zumapro.board.rc
Michael Bestas 19beed9713 Android 15.0.0 Release 21 (BP1A.250305.020)
-----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ8fKCAAKCRDorT+BmrEO
 eGxiAJ9kdOB3bGMC2D+BZ2qX44tDh4U6UwCfZVmV34e2iZoBr1HUvv+PFbdBh44=
 =aWWI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN SSH SIGNATURE-----
 U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgPpdpjxPACTIhnlvYz0GM4BR7FJ
 +rYv3jMbfxNKD3JvcAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
 AAAAQFSO/dKxh4Sd8uhs5QJzCKI6gvYCc8lwQ9mQNatuwPvUcY0egzeoXFaHBFWB6GGqYj
 I2JQr0ogw7/XpRnzDYOA8=
 -----END SSH SIGNATURE-----

Merge tag 'android-15.0.0_r21' into staging/lineage-22.2_merge-android-15.0.0_r21

Android 15.0.0 Release 21 (BP1A.250305.020)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ8fKCAAKCRDorT+BmrEO
# eGxiAJ9kdOB3bGMC2D+BZ2qX44tDh4U6UwCfZVmV34e2iZoBr1HUvv+PFbdBh44=
# =aWWI
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed Mar  5 05:50:32 2025 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [ultimate]

# By Rick Yiu (8) and others
# Via Android (Google) Code Review (59) and others
* tag 'android-15.0.0_r21': (83 commits)
  Reject e911 call during non-emergency satellite session.
  dump_power: add battery caretaker dump into bugreport
  [Pixel VPN] Apply reviewed default permissions
  Configure satellite NIDD APN name for Zuma pro devices
  Add country codes of Canda and EU countries to the satellite allowed list
  Add enhanced geofencing data and satelltie access config json for Zuma Pro
  Add enhanced geofencing data and satelltie access config json for Zuma Pro
  modem_svc: use modem_svc_sit version sepolicy
  Set permission for rampup_multiplier
  Use SCHED_QOS_SENSITIVE_EXTREME_SET for InputPolicy
  Add SCHED_QOS_POWER_EFFICIENCY profiles
  update health HAL dependency
  Add `config_satellite_carrier_roaming_esos_provisioned_class` for  the intent to trigger satellite provisioning
  Change TARGET_RECOVERY_UI_LIB to use fully qualified names in zumapro
  Add `config_satellite_allow_tn_scanning_during_satellite_session` flag.
  Fix kasan logic
  Clean up unnecessary data_connection_5g_plus overlay
  Vibrator: Update compatability matrix
  [NTN][VZW P2P] Add config to enable sending check message datagrams when satellite modem is not connected.
  init: zuma: move sched rate limit to late init
  ...

Change-Id: I9c4e0b550fe27df45e16097bc061315b1219da26
2025-03-09 10:59:35 +02:00

758 lines
35 KiB
Text

import /vendor/etc/init/hw/init.zumapro.usb.rc
import /vendor/etc/init/hw/init.efs.rc
import /vendor/etc/init/hw/init.persist.rc
import android.hardware.drm@1.2-service.widevine.rc
import init.exynos.sensorhub.rc
import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.soc.rc
on early-init
write /proc/sys/kernel/sched_pelt_multiplier 1
write /sys/kernel/mm/lru_gen/enabled n
on init
# CPU0 cannot be offline
chmod 0444 /sys/devices/system/cpu/cpu0/online
# Set teo as cpu idle governor
write /sys/devices/system/cpu/cpuidle/current_governor teo
# Disable util-awareness for mids and bigs
write /proc/vendor_sched/teo_util_threshold "2 1024 1024"
# Boot time fs tuning
write /sys/block/sda/queue/scheduler mq-deadline
chown system system /proc/vendor_sched/groups/bg/set_task_group
chown system system /proc/vendor_sched/groups/cam/set_task_group
chown system system /proc/vendor_sched/groups/fg/set_task_group
chown system system /proc/vendor_sched/groups/nnapi/set_task_group
chown system system /proc/vendor_sched/groups/sys/set_task_group
chown system system /proc/vendor_sched/groups/sys_bg/set_task_group
chown system system /proc/vendor_sched/groups/ta/set_task_group
chown system system /proc/vendor_sched/groups/rt/set_task_group
chown system system /proc/vendor_sched/groups/sf/set_task_group
chown system system /proc/vendor_sched/groups/dex2oat/set_task_group
chown system system /proc/vendor_sched/groups/cam_power/set_task_group
chown system system /proc/vendor_sched/groups/ota/set_task_group
chown system system /proc/vendor_sched/groups/fg_wi/set_task_group
chown system system /proc/vendor_sched/groups/bg/set_proc_group
chown system system /proc/vendor_sched/groups/cam/set_proc_group
chown system system /proc/vendor_sched/groups/fg/set_proc_group
chown system system /proc/vendor_sched/groups/nnapi/set_proc_group
chown system system /proc/vendor_sched/groups/sys/set_proc_group
chown system system /proc/vendor_sched/groups/sys_bg/set_proc_group
chown system system /proc/vendor_sched/groups/ta/set_proc_group
chown system system /proc/vendor_sched/groups/rt/set_proc_group
chown system system /proc/vendor_sched/groups/sf/set_proc_group
chown system system /proc/vendor_sched/groups/dex2oat/set_proc_group
chown system system /proc/vendor_sched/groups/cam_power/set_proc_group
chown system system /proc/vendor_sched/groups/ota/set_proc_group
chown system system /proc/vendor_sched/groups/fg_wi/set_proc_group
chown system system /proc/vendor_sched/prefer_idle_set
chown system system /proc/vendor_sched/prefer_idle_clear
chown system system /proc/vendor_sched/pmu_poll_enable
chown system system /proc/vendor_sched/pmu_poll_time
chown system system /proc/vendor_sched/uclamp_fork_reset_clear
chown system system /proc/vendor_sched/uclamp_fork_reset_set
chmod 0220 /proc/vendor_sched/groups/bg/set_task_group
chmod 0220 /proc/vendor_sched/groups/cam/set_task_group
chmod 0220 /proc/vendor_sched/groups/fg/set_task_group
chmod 0220 /proc/vendor_sched/groups/nnapi/set_task_group
chmod 0220 /proc/vendor_sched/groups/sys/set_task_group
chmod 0220 /proc/vendor_sched/groups/sys_bg/set_task_group
chmod 0220 /proc/vendor_sched/groups/ta/set_task_group
chmod 0220 /proc/vendor_sched/groups/rt/set_task_group
chmod 0220 /proc/vendor_sched/groups/sf/set_task_group
chmod 0220 /proc/vendor_sched/groups/dex2oat/set_task_group
chmod 0220 /proc/vendor_sched/groups/cam_power/set_task_group
chmod 0220 /proc/vendor_sched/groups/ota/set_task_group
chmod 0220 /proc/vendor_sched/groups/fg_wi/set_task_group
chmod 0220 /proc/vendor_sched/groups/bg/set_proc_group
chmod 0220 /proc/vendor_sched/groups/cam/set_proc_group
chmod 0220 /proc/vendor_sched/groups/fg/set_proc_group
chmod 0220 /proc/vendor_sched/groups/nnapi/set_proc_group
chmod 0220 /proc/vendor_sched/groups/sys/set_proc_group
chmod 0220 /proc/vendor_sched/groups/sys_bg/set_proc_group
chmod 0220 /proc/vendor_sched/groups/ta/set_proc_group
chmod 0220 /proc/vendor_sched/groups/rt/set_proc_group
chmod 0220 /proc/vendor_sched/groups/sf/set_proc_group
chmod 0220 /proc/vendor_sched/groups/dex2oat/set_proc_group
chmod 0220 /proc/vendor_sched/groups/cam_power/set_proc_group
chmod 0220 /proc/vendor_sched/groups/ota/set_proc_group
chmod 0220 /proc/vendor_sched/groups/fg_wi/set_proc_group
chmod 0220 /proc/vendor_sched/prefer_idle_set
chmod 0220 /proc/vendor_sched/prefer_idle_clear
chmod 0660 /proc/vendor_sched/pmu_poll_enable
chmod 0220 /proc/vendor_sched/pmu_poll_time
chmod 0220 /proc/vendor_sched/uclamp_fork_reset_clear
chmod 0220 /proc/vendor_sched/uclamp_fork_reset_set
start vendor.keymaster-4-0
# ZRAM setup
write /proc/sys/vm/page-cluster 0
# Some user code relies on ro.boot.hardware.revision
setprop ro.boot.hardware.revision ${ro.revision}
# Allow PAI targeting per hardware SKU
setprop ro.oem.key1 ${ro.boot.hardware.sku}
# Property used by vintf for sku specific manifests
# Property used by NFC for sku specific configurations
setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
# Support legacy paths
symlink /data/app /factory
# Apply network parameters for high data performance.
write /proc/sys/net/core/rmem_default 1310720
write /proc/sys/net/core/rmem_max 8388608
write /proc/sys/net/core/wmem_default 327680
write /proc/sys/net/core/wmem_max 8388608
write /proc/sys/net/core/optmem_max 20480
write /proc/sys/net/core/netdev_max_backlog 10000
write /proc/sys/net/ipv4/tcp_rmem "2097152 4194304 8388608"
write /proc/sys/net/ipv4/tcp_wmem "262144 524288 8388608"
write /proc/sys/net/ipv4/tcp_mem "44259 59012 88518"
write /proc/sys/net/ipv4/udp_mem "88518 118025 177036"
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe
# RT uclamp setting
write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
write /proc/vendor_sched/groups/cam/prefer_idle 1
write /proc/vendor_sched/groups/cam/uclamp_min 1
chown system system /dev/cpuset/cgroup.procs
# nanohub sensor
chmod 0664 /dev/nanohub
chmod 0664 /dev/nanohub_comms
chown system system /dev/nanohub
chown system system /dev/nanohub_comms
# Loading common kernel modules in background
start init_display
# Power Stats HAL
chown system system /dev/bbd_pwrstat
# Add a boost for NNAPI HAL
write /proc/vendor_sched/groups/nnapi/prefer_idle 0
write /proc/vendor_sched/groups/nnapi/uclamp_min 512
# Set boost_adpf_prio, -1 by default
write /proc/vendor_sched/boost_adpf_prio ${persist.device_config.vendor_system_native_boot.boost_adpf_prio:--1}
# Add dsulat governor settings
# TODO(b/308970898): tune these values
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/ratio_ceil_cl0 700
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/ratio_ceil_cl1 1000
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/ratio_ceil_cl2 3000
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/mem_stall_floor_cl0 1750
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/mem_stall_floor_cl1 1750
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/mem_stall_floor_cl2 1750
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/dsulat_cpuidle_state_aware_cl0 2
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/dsulat_cpuidle_state_aware_cl1 2
write /sys/class/devfreq/gs_dsulat_devfreq:devfreq_dsu_lat@17000090/dsu_latency/dsulat_cpuidle_state_aware_cl2 2
# Give pixelstats group access to PCIe link statistics counters
chown system system /sys/devices/platform/12100000.pcie/link_stats/complete_timeout_irqs
chown system system /sys/devices/platform/12100000.pcie/link_stats/link_down_irqs
chown system system /sys/devices/platform/12100000.pcie/link_stats/link_recovery_failures
chown system system /sys/devices/platform/12100000.pcie/link_stats/link_up_failures
chown system system /sys/devices/platform/13120000.pcie/link_stats/complete_timeout_irqs
chown system system /sys/devices/platform/13120000.pcie/link_stats/link_down_irqs
chown system system /sys/devices/platform/13120000.pcie/link_stats/link_recovery_failures
chown system system /sys/devices/platform/13120000.pcie/link_stats/link_up_failures
# Change GSA log group for dumpstate
chown root system /sys/devices/platform/16490000.gsa-ns/log_main
chown root system /sys/devices/platform/16490000.gsa-ns/log_intermediate
# Enable CPU Idle histograms
write /sys/kernel/metrics/cpuidle_histogram/enable 1
# ZRAM setup: use EH in 4kb kernels.
on init && property:ro.boot.hardware.cpu.pagesize=4096
write /sys/block/zram0/comp_algorithm lz77eh
# ZRAM setup: do not use EH in 16kb kernels.
on init && property:ro.boot.hardware.cpu.pagesize=16384
write /sys/block/zram0/comp_algorithm lzo-rle
on post-fs
# Ensure device is ready and start storageproxyd
wait /dev/sg1
start storageproxyd
on late-fs
# Start bootanimation class before mount
start bootanim
class_start animation
# Mount RW partitions which need run fsck
mount_all --late
on post-fs-data
# Modem temperature driver
chown radio system /sys/devices/platform/cp-tm1/cp_temp
chown radio system /sys/devices/platform/cpif/dynamic_pcie_spd/tp_threshold
chown radio system /sys/devices/platform/cpif/dynamic_pcie_spd/tp_hysteresis
chown radio system /sys/devices/platform/cpif/dynamic_pcie_spd/dynamic_spd_enable
# Log data folder
mkdir /data/vendor 0771 radio system
mkdir /data/vendor/log 0771 radio system
mkdir /data/vendor/log/cbd 0771 radio system
mkdir /data/vendor/log/rfsd 0771 radio system
mkdir /data/exynos/log 0771 radio system
mkdir /data/vendor/rild 0771 radio system
mkdir /data/vendor/dump 0771 radio system
mkdir /data/vendor/slog 0771 system system
# PixelLogger log paths.
mkdir /data/vendor/radio 773 system radio
mkdir /data/vendor/radio/logs 773 system radio
mkdir /data/vendor/radio/logs/always-on 777 system radio
# Modem extended log folder
mkdir /data/vendor/radio/extended_logs 0771 radio system
# Modem MDS log folder
mkdir /data/vendor/radio/mds 0771 radio system
# Modem SIM log folder
mkdir /data/vendor/radio/sim 0771 radio system
# Unzipped modem images folder
mkdir /data/vendor/radio/image 0771 radio system
# Modem stat folder
mkdir /data/vendor/modem_stat 0771 radio system
write /data/vendor/modem_stat/debug.txt ""
chown radio system /data/vendor/modem_stat/debug.txt
chmod 0664 /data/vendor/modem_stat/debug.txt
# Modem replay folder
mkdir /mnt/vendor/modem_userdata/replay 0775 radio system
# Write display MIPI frequency from Modem
chown system system /sys/devices/platform/19440000.drmdsim/hs_clock
chown system system /sys/devices/platform/19450000.drmdsim/hs_clock
chmod 0664 /sys/devices/platform/19440000.drmdsim/hs_clock
chmod 0664 /sys/devices/platform/19450000.drmdsim/hs_clock
# IPSEC PIDDIR for VoWiFi
mkdir /data/vendor/misc 0771 root system
mkdir /data/vendor/misc/vpn 0771 root system
# Permissions Camera
mkdir /data/vendor/camera 0770 system camera
mkdir /data/vendor/camera/catpipe 0770 system camera
chmod 0755 /sys/kernel/debug/tracing
restorecon /sys/kernel/debug/tracing/trace_marker
# ranging sensor
chown system system /dev/ispolin_ranging
chmod 0660 /dev/ispolin_ranging
# Audio dump and debug
mkdir /data/vendor/audio 0770 audio audio
# Create the directories for Darwinn HAL.
mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system
mkdir /data/vendor/hal_neuralnetworks_darwinn/checksum_cache 0770 system system
mkdir /data/vendor/edgetpu 0770 system system
mkdir /data/vendor/edgetpu/cache 0770 system system
# Compatibility path for TPU
symlink /dev/edgetpu-soc /dev/edgetpu
on post-fs-data
# Create the directories used by the Wireless subsystem
mkdir /data/vendor/wifi 0771 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Gatekeeper data
mkdir /data/vendor/gk 0771 system system
# HWC data
mkdir /data/vendor/log/hwc 0771 system graphics
# Video data
mkdir /data/vendor/media 0700 mediacodec mediacodec
on early-boot
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
# logbuffer
chown system system /dev/logbuffer_pcie0
chown system system /dev/logbuffer_pcie1
chown system system /dev/logbuffer_bd
chown system system /dev/logbuffer_cpif
on boot
# Allow to access debugfs for system:system
chmod 0755 /sys/kernel/debug
chown system system /sys/kernel/debug
#setprop ro.radio.noril no
# default country code
setprop ro.boot.wificountrycode 00
# Set up kernel tracing, but disable it by default
chmod 0222 /sys/kernel/debug/tracing/trace_marker
write /sys/kernel/debug/tracing/tracing_on 0
# Trigger TMU to ACPM pi table update
write /sys/module/gs_thermal/parameters/update_acpm_pi_table 1
# Change permission for A-Box firmware logs file & GPR dump
chown audioserver system /sys/devices/platform/17c50000.abox/reset
chown audioserver system /sys/devices/platform/17c50000.abox/service
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/gpr
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_sram
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_dram
chown audioserver system /sys/devices/platform/17c50000.abox/0.abox_debug/calliope_iva
chown audioserver system /sys/kernel/debug/abox/log-00
# Permission for USB SELECT
chown system system /sys/class/android_usb/android0/enable
chmod 0660 /sys/class/android_usb/android0/enable
chown system system /sys/class/android_usb/android0/idVendor
chmod 0660 /sys/class/android_usb/android0/idVendor
chown system system /sys/class/android_usb/android0/idProduct
chmod 0660 /sys/class/android_usb/android0/idProduct
chown system system /sys/class/android_usb/android0/f_diag/clients
chmod 0660 /sys/class/android_usb/android0/f_diag/clients
chown system system /sys/class/android_usb/android0/functions
chmod 0660 /sys/class/android_usb/android0/functions
chown system system /sys/class/android_usb/android0/bDeviceClass
chmod 0660 /sys/class/android_usb/android0/bDeviceClass
# Permission for UART SWITCH
chmod 0660 /sys/class/sec/switch/uart_sel
chown system system /sys/class/sec/switch/uart_sel
# VTS sysfs file permission
chown audioserver system /sys/devices/platform/13810000.vts/vts_svoice_model
chown audioserver system /sys/devices/platform/13810000.vts/vts_google_model
chmod 0660 /sys/devices/platform/13810000.vts/vts_svoice_model
chmod 0660 /sys/devices/platform/13810000.vts/vts_google_model
on property:persist.vendor.radio.no_modem_board=1
setprop ro.radio.noril yes
on fs
mount_all --early
# Mount modem partition
mount_all /vendor/etc/fstab.modem --early
restorecon_recursive /mnt/vendor/modem_img
# Permissions for ION
chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
chown system system /sys/class/ion_cma/ion_video_ext/isolated
# Permissions for hwcomposer
chown system system /sys/class/backlight/panel0-backlight/als_table
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel0-backlight/dimming_on
chown system system /sys/class/backlight/panel0-backlight/hbm_mode
chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode
chown system system /sys/class/backlight/panel0-backlight/local_hbm_delay_frames
chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_idle
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit
chown system system /sys/devices/platform/exynos-drm/primary-panel/op_hz
chown system system /sys/devices/platform/exynos-drm/primary-panel/refresh_ctrl
chown system system /sys/devices/platform/exynos-drm/primary-panel/te2_rate_hz
chown system system /sys/devices/platform/exynos-drm/primary-panel/te2_option
chown system system /sys/devices/platform/exynos-drm/primary-panel/power_state
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_rate
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_interval_ns
chown system system /sys/devices/platform/exynos-drm/primary-panel/expected_present_time_ns
chown system system /sys/module/drm/parameters/vblankoffdelay
chown system system /sys/module/drm/parameters/debug
chown system system /sys/class/dqe0/atc/ambient_light
chown system system /sys/class/dqe0/atc/st
chown system system /sys/class/dqe0/atc/en
chown system system /sys/class/dqe0/atc/lt
chown system system /sys/class/dqe0/atc/ns
chown system system /sys/class/dqe0/atc/dither
chown system system /sys/class/dqe0/atc/pl_w1
chown system system /sys/class/dqe0/atc/pl_w2
chown system system /sys/class/dqe0/atc/ctmode
chown system system /sys/class/dqe0/atc/pp_en
chown system system /sys/class/dqe0/atc/upgrade_on
chown system system /sys/class/dqe0/atc/tdr_max
chown system system /sys/class/dqe0/atc/tdr_min
chown system system /sys/class/dqe0/atc/back_light
chown system system /sys/class/dqe0/atc/dstep
chown system system /sys/class/dqe0/atc/scale_mode
chown system system /sys/class/dqe0/atc/threshold_1
chown system system /sys/class/dqe0/atc/threshold_2
chown system system /sys/class/dqe0/atc/threshold_3
chown system system /sys/class/dqe0/atc/gain_limit
chown system system /sys/class/dqe0/atc/lt_calc_ab_shift
chown system system /sys/devices/platform/19470000.drmdecon/early_wakeup
chmod 0660 /sys/devices/platform/19470000.drmdecon/early_wakeup
chown system system /sys/devices/platform/19470000.drmdecon/hibernation
chmod 0644 /sys/devices/platform/19470000.drmdecon/hibernation
# Copy DRM Key
# copy /system/app/wv.keys /factory/wv.keys
# Permission for DRM Key
# chmod 0644 /factory/wv.keys
# Permission for flashlight control for HAL3.3
# The Istor espresso board does not have the flash led h/w, So the below permission line are blocked.
# If you want to test the flashlight in board which have the flash led h/w, Enable the below blocked lines.
chmod 0660 /sys/class/camera/flash/rear_torch_flash
chown system camera /sys/class/camera/flash/rear_torch_flash
#load ecd firmware
write /proc/ecd/load_firmware 1
service abox /vendor/bin/main_abox 17c50000.abox
class late_start
user audioserver
group audioserver
seclabel u:r:abox:s0
# on eng builds, enable kgdb on the serial console
on property:ro.build.type=eng
write /sys/module/kgdboc/parameters/kgdboc ttyFIQ1
write /sys/module/fiq_debugger/parameters/kgdb_enable 1
# Touch
on property:vendor.device.modules.ready=1
chown system system /sys/class/spi_master/spi20/spi20.0/stm_fts_cmd
chown system system /sys/class/spi_master/spi20/spi20.0/glove_mode
chown system system /sys/devices/virtual/sec/tsp/fw_version
chown system system /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd_result
chown system system /sys/devices/virtual/sec/tsp/status
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/force_active
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/fw_ver
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_base
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_diff
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_raw
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/self_test
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_base
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_diff
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_raw
# Route touch_sensitivity_mode to persist
on property:debug.touch_sensitivity_mode=0
setprop persist.vendor.touch_sensitivity_mode 0
on property:debug.touch_sensitivity_mode=1
setprop persist.vendor.touch_sensitivity_mode 1
on property:sys.boot_completed=1
# Enable ZRAM on boot_complete
swapon_all /vendor/etc/fstab.${ro.board.platform}
write /proc/sys/vm/swappiness 60
# Adjust watermark level
write /proc/sys/vm/watermark_scale_factor 200
# Back to default VM settings
write /proc/sys/vm/dirty_expire_centisecs 3000
write /proc/sys/vm/dirty_background_ratio 10
# Cancel boot devfreq
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
# Setup scheduler parameters
write /proc/vendor_sched/min_granularity_ns 1000000
write /proc/vendor_sched/latency_ns 8000000
write /proc/vendor_sched/max_load_balance_interval 1
write /proc/vendor_sched/enable_hrtick 1
# Setup final cpu.uclamp
write /proc/vendor_sched/groups/ta/uclamp_min 1
write /proc/vendor_sched/groups/fg/uclamp_min 0
write /proc/vendor_sched/groups/sys/prefer_idle 0
# Set ug group
write /proc/vendor_sched/groups/bg/ug 0
write /proc/vendor_sched/groups/sys_bg/ug 0
write /proc/vendor_sched/groups/ota/ug 0
write /proc/vendor_sched/groups/dex2oat/ug 1
write /proc/vendor_sched/groups/ta/ug 1
# Set bg group throttle
write /proc/vendor_sched/ug_bg_group_throttle ${persist.device_config.vendor_system_native.ug_bg_group_throttle:-308}
# Set uclamp.max for some groups, which could indicate cpu importance used in scheduling
write /proc/vendor_sched/auto_uclamp_max "130 130 130 130 512 512 512 670"
write /proc/vendor_sched/groups/bg/uclamp_max 130
write /proc/vendor_sched/groups/sys_bg/uclamp_max 512
write /proc/vendor_sched/groups/ota/uclamp_max 512
write /proc/vendor_sched/groups/dex2oat/uclamp_max -2
write /proc/vendor_sched/uclamp_max_filter_divider 4
write /proc/vendor_sched/uclamp_max_filter_rt 16
write /proc/vendor_sched/uclamp_max_filter_enable 1
# Make devices on the critical path for suspend/resume asynchronous
write /sys/devices/platform/fixedregulator@0/regulator/regulator.2/power/async "enabled"
write /sys/devices/platform/fixedregulator@0/power/async "enabled"
write /sys/devices/platform/26040000.clock-controller/power/async "enabled"
write /sys/devices/platform/10840000.pinctrl/power/async "enabled"
write /sys/devices/platform/13060000.pinctrl/power/async "enabled"
# Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%)
write /dev/cpuctl/background/cpu.shares 1024
write /dev/cpuctl/system-background/cpu.shares 1024
write /dev/cpuctl/dex2oat/cpu.shares 512
write /dev/cpuctl/system/cpu.shares 20480
# We only have system and background groups holding tasks and the groups below are empty
write /dev/cpuctl/camera-daemon/cpu.shares 20480
write /dev/cpuctl/foreground/cpu.shares 20480
write /dev/cpuctl/nnapi-hal/cpu.shares 20480
write /dev/cpuctl/rt/cpu.shares 20480
write /dev/cpuctl/top-app/cpu.shares 20480
# gvotables for dumpstate
chown system system /sys/kernel/debug/gvotables
# AOC reset permission
chown root system /sys/devices/platform/19000000.aoc/reset
chmod 0220 /sys/devices/platform/19000000.aoc/reset
# AOC UDFPS clock compensation permission
chown system system /sys/devices/platform/17000000.aoc/control/udfps_set_clock_source
chmod 220 /sys/devices/platform/17000000.aoc/control/udfps_set_clock_source
chown system system /sys/devices/platform/17000000.aoc/control/udfps_get_osc_freq
chmod 440 /sys/devices/platform/17000000.aoc/control/udfps_get_osc_freq
chown system system /sys/devices/platform/17000000.aoc/control/udfps_get_disp_freq
chmod 440 /sys/devices/platform/17000000.aoc/control/udfps_get_disp_freq
# Disable GPU firmware logging
write /sys/devices/platform/1f000000.mali/firmware_config/Log\ verbosity/cur 0
#Enable SICD
write /sys/devices/system/cpu/cpupm/cpupm/sicd 1
on property:sys.boot_completed=1 && property:persist.sys.device_provisioned=1
write /sys/class/power_supply/battery/first_usage_date 0
# IMS WiFi Calling
service charonservice /system/vendor/bin/charon
class main
user root
disabled
seclabel u:r:charonservice:s0
on property:vendor.charon.exec=1
rm /data/vendor/misc/vpn/charon.pid
chmod 0666 /dev/tun
start charonservice
on property:vendor.charon.exec=0
stop charonservice
rm /data/vendor/misc/vpn/charon.pid
# charger driver exposes now finer grain control, map demo mode to those properties
# NOTE: demo mode can only be exit wiping data (which reset the persist properties)
on property:sys.retaildemo.enabled=1
setprop persist.vendor.charge.stop.level 35
setprop persist.vendor.charge.start.level 30
# Test Harness Mode default battery profile.
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0
setprop persist.vendor.charge.stop.level 70
setprop persist.vendor.charge.start.level 35
setprop vendor.battery.defender.disable 1
# Extremely restricted battery profile.
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1
setprop persist.vendor.charge.stop.level 50
setprop persist.vendor.charge.start.level 35
setprop vendor.battery.defender.disable 1
# Normal behavior (as if the device was a regular device)
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2
setprop persist.vendor.charge.stop.level 100
setprop persist.vendor.charge.start.level 0
# Unrestricted, allows charging to 100%
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3
setprop persist.vendor.charge.stop.level 100
setprop persist.vendor.charge.start.level 0
setprop vendor.battery.defender.disable 1
# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/dumpstate -d -p -z
class main
disabled
oneshot
keycodes 114 115 116
service storageproxyd /vendor/bin/storageproxyd \
-d /dev/trusty-ipc-dev0 \
-r /dev/sg1 \
-p /data/vendor/ss \
-t ufs \
-f 0:/dev/block/platform/13200000\.ufs/by-name/trusty_userdata \
-f persist/0:/dev/block/platform/13200000\.ufs/by-name/trusty_persist \
-m /dev/block/platform/13200000\.ufs/by-name/trusty_userdata
class early_hal
user system
group system
task_profiles MaxPerformance
# Write build info to kdebuginfo
on property:ro.build.fingerprint=*
write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint}
# Bluetooth
on early-boot
chown bluetooth system /sys/devices/platform/175b0000.serial/serial0/serial0-0/bluetooth/hci0/rfkill0/state
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill0/state
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill2/state
on post-fs-data
chown bluetooth system /proc/bluetooth/sleep/btwake
chown bluetooth system /proc/bluetooth/sleep/lpm
chown bluetooth system /proc/bluetooth/sleep/btwrite
chown bluetooth system /sys/devices/platform/155d0000.serial/uart_dbg
mkdir /data/vendor/bluetooth 0770 bluetooth system
# ODPM
on fs
chown system system /sys/devices/platform/acpm_mfd_bus@18100000/i2c-7/i2c-s2mpg12mfd/s2mpg12-meter/s2mpg12-odpm/iio\:device0/enabled_rails
chown system system /sys/devices/platform/acpm_mfd_bus@18110000/i2c-8/i2c-s2mpg13mfd/s2mpg13-meter/s2mpg13-odpm/iio\:device1/enabled_rails
on post-fs-data
mkdir /data/vendor/powerstats 0771 system system
chown system system /data/vendor/powerstats
# Thermal Residency Stats (write 1 to reset)
chown system system /sys/kernel/metrics/thermal/tr_by_group/tmu/stats_reset
chown system system /sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset
on property:vendor.thermal.link_ready=1
# Thermal
chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/north_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/north_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/cam_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/cam_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/charging_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/charging_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/soc_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/soc_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/neutral_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/usb_conn_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/usb_conn_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/btmspkr_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/btmspkr_therm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/rfpa_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/rfpa_therm/trip_point_0_hyst
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote
chown system system /dev/thermal/cdev-by-name/gxp-cooling/user_vote
chown system system /dev/thermal/cdev-by-name/tpu_cooling/user_vote
chown system system /dev/thermal/cdev-by-name/fcc/cur_state
chown system system /dev/thermal/cdev-by-name/dc_icl/cur_state
chown system system /dev/thermal/cdev-by-name/wlc_fcc/cur_state
chown system system /dev/thermal/cdev-by-name/chg_mdis/cur_state
chown system system /dev/thermal/cdev-by-name/usbc-port/cur_state
chown system system /dev/thermal/cdev-by-name/thermal-uclamp-0/cur_state
chown system system /dev/thermal/cdev-by-name/thermal-uclamp-4/cur_state
chown system system /dev/thermal/cdev-by-name/thermal-uclamp-7/cur_state
on charger
# Use charger thermal config
setprop vendor.thermal.config "thermal_info_config_charge.json"
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
# Create thermal symlink in off charging mode
mkdir /dev/thermal 0750 system system
mkdir /dev/thermal/tz-by-name 0750 system system
mkdir /dev/thermal/cdev-by-name 0750 system system
start vendor.thermal.symlinks
on property:vendor.disable.bcl.control=1
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0
on property:vendor.disable.bcl.control=0
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 1
# UDFPS
on post-fs-data && property:ro.vendor.factory=1
# HBM mode for UDFPS factory apk
chmod 666 /d/dri/0/DSI-1/panel/reg/payload
chmod 666 /d/dri/0/DSI-1/panel/reg/count
chmod 666 /d/dri/0/DSI-1/panel/reg/address
chmod 666 /d/dri/0/DSI-1/panel/hbm_mode
chmod 666 /sys/class/backlight/panel0-backlight/local_hbm_max_timeout
chmod 666 /sys/class/backlight/panel0-backlight/local_hbm_mode
chmod 666 /sys/class/backlight/panel0-backlight/hbm_mode
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
# Disable dock-defend in Off Mode Charger
write /sys/devices/platform/google,charger/dd_state -1
# Haptics
on property:vendor.all.modules.ready=1
mkdir /mnt/vendor/persist/haptics 0770 system system
chmod 770 /mnt/vendor/persist/haptics
chmod 440 /mnt/vendor/persist/haptics/cs40l26.cal
chown system system /mnt/vendor/persist/haptics
chown system system /mnt/vendor/persist/haptics/cs40l26.cal
chown system system /sys/bus/i2c/devices/9-0043/calibration/f0_stored
chown system system /sys/bus/i2c/devices/9-0043/calibration/q_stored
chown system system /sys/bus/i2c/devices/9-0043/calibration/redc_stored
chown system system /sys/bus/i2c/devices/9-0043/default/vibe_state
chown system system /sys/bus/i2c/devices/9-0043/default/num_waves
chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_bank
chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_index
chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_ms
chown system system /sys/bus/i2c/devices/9-0043/default/f0_offset
chown system system /sys/bus/i2c/devices/9-0043/default/owt_free_space
chown system system /sys/bus/i2c/devices/9-0043/default/f0_comp_enable
chown system system /sys/bus/i2c/devices/9-0043/default/redc_comp_enable
chown system system /sys/bus/i2c/devices/9-0043/default/delay_before_stop_playback_us
chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_env_rel_coef
chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_rise_headroom
chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_fall_headroom
chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_enable
chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_tx_lvl_thresh_fs
chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_tx_lvl_hold_off_ms
chown system system /sys/bus/i2c/devices/9-0043/default/pm_active_timeout_ms
enable vendor.vibrator.cs40l26