husky: Regenerate vendor tree

Signed-off-by: HeroBuxx <me@herobuxx.me>
This commit is contained in:
HeroBuxx
2026-07-09 06:42:25 +00:00
commit aad3a7909f
2855 changed files with 217855 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
on post-fs-data
chown mediacodec mediacodec /sys/kernel/vendor_mm/cma/vframe/force_empty
chmod 0664 /sys/kernel/vendor_mm/cma/vframe/force_empty
@@ -0,0 +1,11 @@
service vendor.audio-hal-aidl /vendor/bin/hw/android.hardware.audio.service-aidl.aoc
class hal
user audioserver
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct wakelock context_hub system
capabilities BLOCK_SUSPEND SYS_NICE
# setting RLIMIT_RTPRIO allows binder RT priority inheritance
rlimit rtprio 10 10
ioprio rt 4
task_profiles ProcessCapacityHigh HighPerformance
onrestart restart audioserver
@@ -0,0 +1,4 @@
service vendor.authsecret_hal_aidl /vendor/bin/hw/android.hardware.authsecret-service.citadel
class hal
user hsm
group hsm
@@ -0,0 +1,5 @@
service bcmbtlinux /vendor/bin/hw/android.hardware.bluetooth-service.bcmbtlinux
class hal
user bluetooth
group bluetooth net_admin net_bt_admin system
capabilities NET_ADMIN WAKE_ALARM
@@ -0,0 +1,9 @@
service vendor.camera-provider-2-7-google /apex/com.google.pixel.camera.hal/bin/hw/android.hardware.camera.provider@2.7-service-google
class hal cameraWatchdog
user system
group system
namespace mnt
capabilities SYS_NICE
rlimit rtprio 10 10
task_profiles CameraServiceCapacity CameraServicePerformance
rlimit memlock 268435456 268435456
@@ -0,0 +1,14 @@
on post-fs-data
mkdir /data/vendor/chre 0770 context_hub context_hub
on boot
setprop vendor.chre.multiclient_hal.enabled true
service vendor.contexthub-default /vendor/bin/hw/android.hardware.contexthub-service.generic
class hal late_start
user context_hub
group wakelock context_hub system readproc
capabilities BLOCK_SUSPEND
# socket <name> <type> <perm> [ <user> [ <group> [ <seclabel> ] ] ]
# Still using the name "chre" to make the change transparent to existing users
socket chre seqpacket 0660 root context_hub
shutdown critical
@@ -0,0 +1,5 @@
service vendor.dumpstate-default /vendor/bin/hw/android.hardware.dumpstate.3-service
class hal
user system
group system shell readtracefs
interface aidl android.hardware.dumpstate.IDumpstateDevice/default
@@ -0,0 +1,25 @@
# When enabling on a device, SELinux policies need to be added for the driver
# binary. Android startup services should run in their own SELinux domain.
# https://source.android.com/security/selinux/device-policy#label_new_services_and_address_denials
service edgetpu_logging /vendor/bin/hw/android.hardware.edgetpu.logging@service-edgetpu-logging
class late_start
user system
group system
task_profiles ServiceCapacityLow
on boot
chown system system /sys/class/edgetpu/edgetpu-soc/device/inference_count
chown system system /sys/class/edgetpu/edgetpu-soc/device/param_cache_hit_count
chown system system /sys/class/edgetpu/edgetpu-soc/device/preempt_depth_max
chown system system /sys/class/edgetpu/edgetpu-soc/device/context_preempt_count
chown system system /sys/class/edgetpu/edgetpu-soc/device/outstanding_commands_max
chown system system /sys/class/edgetpu/edgetpu-soc/device/tpu_op_count
chown system system /sys/class/edgetpu/edgetpu-soc/device/fw_thread_stats
chown system system /sys/class/edgetpu/edgetpu-soc/device/hardware_preempt_count
chown system system /sys/class/edgetpu/edgetpu-soc/device/hardware_ctx_save_time
chown system system /sys/class/edgetpu/edgetpu-soc/device/hardware_ctx_save_time_max
chown system system /sys/class/edgetpu/edgetpu-soc/device/scalar_fence_wait_time
chown system system /sys/class/edgetpu/edgetpu-soc/device/scalar_fence_wait_time_max
chown system system /sys/class/edgetpu/edgetpu-soc/device/long_suspend_count
chown system system /sys/class/edgetpu/edgetpu-soc/device/suspend_time_max
chown system system /sys/class/edgetpu/edgetpu-soc/device/reconfigurations
chown system system /sys/class/edgetpu/edgetpu-soc/device/preempt_reconfigurations
@@ -0,0 +1,6 @@
service vendor.graphics.allocator-default /vendor/bin/hw/android.hardware.graphics.allocator-V2-service
class hal animation
user system
group graphics drmrpc
capabilities SYS_NICE
priority -20
@@ -0,0 +1,14 @@
# When enabling on a device, SELinux policies need to be added for the driver
# binary. Android startup services should run in their own SELinux domain.
# https://source.android.com/security/selinux/device-policy#label_new_services_and_address_denials
service gxp_logging /vendor/bin/hw/android.hardware.gxp.logging@service-gxp-logging
class late_start
user system
group system
task_profiles ServiceCapacityLow
on boot
chown system system /sys/class/gxp/gxp/device/dsp_usage_0
chown system system /sys/class/gxp/gxp/device/dsp_usage_1
chown system system /sys/class/gxp/gxp/device/dsp_usage_2
chown system system /sys/class/gxp/gxp/device/preempt_count
chown system system /sys/class/gxp/gxp/device/context_switch_count
@@ -0,0 +1,9 @@
service vendor.input.processor /vendor/bin/hw/android.hardware.input.processor-service
# Must be specified if "disabled" is set. This HAL will only start if requested via getService
interface aidl android.hardware.input.processor.IInputProcessor/default
class hal
user nobody
# will not be restarted if it exits until it is requested to be restarted
oneshot
# will only be started when requested
disabled
@@ -0,0 +1,8 @@
# When enabling on a device, SELinux policies need to be added for the driver
# binary. Android startup services should run in their own SELinux domain.
# https://source.android.com/security/selinux/device-policy#label_new_services_and_address_denials
service hal_neuralnetworks_darwinn /vendor/bin/hw/android.hardware.neuralnetworks@service-darwinn-aidl
class hal
user system
group system
task_profiles NNApiHALPerformance
@@ -0,0 +1,4 @@
service vendor.oemlock_hal_aidl /vendor/bin/hw/android.hardware.oemlock-service.citadel
class hal
user hsm
group hsm
@@ -0,0 +1,18 @@
# ODPM: change VSYS_PWR_MMWAVE to S9M_LLDO3 on sub6 device
# detail: b/231463665#10
on early-boot && property:ro.boot.hardware.sku=GP4BC
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH0=BUCK9M"
on early-boot && property:ro.boot.hardware.sku=GFE4J
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH0=BUCK9M"
on early-boot && property:ro.boot.hardware.sku=GVU6C
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH0=BUCK9M"
on early-boot && property:ro.boot.hardware.sku=G03Z5
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH0=BUCK9M"
service vendor.power.stats /vendor/bin/hw/android.hardware.power.stats-service.pixel
class hal
user system
group system
@@ -0,0 +1,7 @@
service vendor.uwb_hal /vendor/bin/hw/android.hardware.qorvo.uwb-service
class hal
user uwb
group uwb
on post-fs-data
mkdir /data/vendor/uwb 0750 uwb uwb
@@ -0,0 +1,10 @@
service secure_element_uicc_hal_service-sim1 /vendor/bin/hw/android.hardware.secure_element-service.uicc 1
class hal
user secure_element
group secure_element
service secure_element_uicc_hal_service-sim2 /vendor/bin/hw/android.hardware.secure_element-service.uicc 2
class hal
user secure_element
group secure_element
@@ -0,0 +1,4 @@
service vendor.keymint-citadel /vendor/bin/hw/android.hardware.security.keymint-service.citadel
class early_hal
user hsm
group hsm drmrpc
@@ -0,0 +1,36 @@
service vendor.vibrator.cs40l26 /vendor/bin/hw/android.hardware.vibrator-service.cs40l26
class hal
user system
group system input context_hub
setenv INPUT_EVENT_NAME cs40l26_input
setenv PROPERTY_PREFIX ro.vendor.vibrator.hal.
setenv CALIBRATION_FILEPATH /mnt/vendor/persist/haptics/cs40l26.cal
setenv HWAPI_DEBUG_PATHS "
calibration/f0_stored
calibration/redc_stored
calibration/q_stored
calibration/dvl_peq_coefficients
default/vibe_state
default/num_waves
default/braking_time_bank
default/braking_time_index
default/braking_time_ms
default/f0_offset
default/owt_free_space
default/f0_comp_enable
default/redc_comp_enable
default/delay_before_stop_playback_us
"
setenv STATS_INSTANCE default
disabled
# Route vibrator.adaptive_haptics.enabled to persist
on property:vibrator.adaptive_haptics.enabled=0
setprop persist.vendor.vibrator.hal.context.enable false
on property:vibrator.adaptive_haptics.enabled=1
setprop persist.vendor.vibrator.hal.context.enable true
@@ -0,0 +1,4 @@
service vendor.weaver_hal_aidl /vendor/bin/hw/android.hardware.weaver-service.citadel
class hal
user hsm
group hsm
+11
View File
@@ -0,0 +1,11 @@
service aocd /vendor/bin/aocd
class late_start
user root
group root system audio
# Define vendor props so that we can start and stop aocd on demand.
on property:vendor.aocd=1
start aocd
on property:vendor.aocd=0
stop aocd
+11
View File
@@ -0,0 +1,11 @@
service aocxd /vendor/bin/aocxd
class late_start
user root
group root system audio
# Define vendor props so that we can start and stop aocxd on demand.
on property:vendor.aocxd=1
start aocxd
on property:vendor.aocxd=0
stop aocxd
+6
View File
@@ -0,0 +1,6 @@
# BIP Channel Manager
service BIP-Channel-Manager /vendor/bin/bipchmgr
class main
user system
group radio inet
capabilities NET_ADMIN NET_RAW
+51
View File
@@ -0,0 +1,51 @@
on fs
# modem partition for cbd
setprop vendor.cbd.partition modem
# Modem boot daemon
service cpboot-daemon /vendor/bin/cbd -d -t ${ro.vendor.cbd.modem_type} -P by-name/${vendor.cbd.partition} -s 2
class main
# FEATURE_CBD_GOOGLE
# Change to radio user
user radio
group radio system cache inet misc audio sdcard_rw log
# FEATURE_CBD_GOOGLE
# Add capabilities
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYSLOG
seclabel u:r:cbd:s0
on property:telephony.TnNtn.image_switch=ntn
setprop vendor.cbd.modem_reselect 1
on property:telephony.TnNtn.image_switch=tn
setprop vendor.cbd.modem_reselect 2
on property:vendor.cbd.modem_bin_status=*
setprop telephony.ril.modem_bin_status ${vendor.cbd.modem_bin_status}
# Binary selection using binary type
on property:vendor.cbd.modem_reselect=*
stop cpboot-daemon
setprop vendor.cbd.modem_bin_type ${vendor.cbd.modem_reselect}
start cpboot-daemon
on property:vendor.sys.modem_reset=1
stop cpboot-daemon
setprop vendor.cbd.modem_bin_type 0
setprop vendor.sys.modem_reset 0
start cpboot-daemon
on property:ro.boot.slot_suffix=*
setprop vendor.cbd.partition modem${ro.boot.slot_suffix}
on property:vendor.ril.cbd.svc=1
start cpboot-daemon
on property:vendor.ril.cbd.svc=0
stop cpboot-daemon
on post-fs-data
mkdir /data/vendor/ssrdump 0771 root system
mkdir /data/vendor/ssrdump/coredump 0771 root system
restorecon /data/vendor/ssrdump
+8
View File
@@ -0,0 +1,8 @@
on property:vendor.all.modules.ready=1
enable vendor.citadeld
service vendor.citadeld /vendor/bin/hw/citadeld
class early_hal
user hsm
group hsm
disabled
@@ -0,0 +1,10 @@
service edgetpu_tachyon_service /vendor/bin/hw/com.google.edgetpu.tachyon-service
interface aidl com.google.edgetpu.tachyon.IComputeService/default
oneshot
disabled
class hal
user system
group system
rlimit rtprio 99 99
capabilities SYS_NICE
capabilities IPC_LOCK
+7
View File
@@ -0,0 +1,7 @@
# DM daemon
service DM-daemon /vendor/bin/dmd
class main
user system
group system media_rw sdcard_rw
task_profiles ServiceCapacityLow
priority 10
@@ -0,0 +1,7 @@
service android-hardware-media-c2-hal-2-0-google /vendor/bin/hw/google.hardware.media.c2@2.0-service
class hal
user mediacodec
group camera mediadrm drmrpc
ioprio rt 4
task_profiles ProcessCapacityHigh
capabilities SYS_NICE
+86
View File
@@ -0,0 +1,86 @@
# Husky specific init.rc
import /vendor/etc/init/hw/init.zuma.rc
on init && property:ro.vendor.factory=1
import /vendor/etc/init/hw/init.factory.rc
on init
# NFC streset tool name
setprop persist.vendor.nfc.streset libstreset23
setprop persist.vendor.se.streset libstreset23
on early-boot
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
start insmod_sh_husky
service insmod_sh_husky /vendor/bin/insmod.sh /vendor_dlkm/etc/init.insmod.${ro.hardware}.cfg
class main
user root
group root system
disabled
oneshot
on property:vendor.mfgapi.touchpanel.permission=1
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd
# Permissions for display
on fs
chown system system /sys/class/backlight/panel0-backlight/acl_mode
# WiFi
on post-fs-data
setprop wifi.direct.interface p2p-dev-wlan0
setprop wifi.aware.interface aware_nmi0
# Speaker amp permission
chmod 644 /mnt/vendor/persist/audio/speaker.cal
chmod 644 /mnt/vendor/persist/audio/speaker.diag
# Bluetooth
on post-fs-data
chown bluetooth system /proc/bluetooth/timesync
chown bluetooth system /proc/bluetooth/sleep/wakelock_ctrl
# Start the twoshay touch service
on property:vendor.device.modules.ready=1
start twoshay
# Toggle high_sensitivity according to touch_sensitivity_mode
on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 0
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 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/0-0043/calibration/f0_stored
chown system system /sys/bus/i2c/devices/0-0043/calibration/q_stored
chown system system /sys/bus/i2c/devices/0-0043/calibration/redc_stored
chown system system /sys/bus/i2c/devices/0-0043/default/vibe_state
chown system system /sys/bus/i2c/devices/0-0043/default/num_waves
chown system system /sys/bus/i2c/devices/0-0043/default/f0_offset
chown system system /sys/bus/i2c/devices/0-0043/default/owt_lib_compat
chown system system /sys/bus/i2c/devices/0-0043/default/owt_free_space
chown system system /sys/bus/i2c/devices/0-0043/default/braking_time_bank
chown system system /sys/bus/i2c/devices/0-0043/default/braking_time_index
chown system system /sys/bus/i2c/devices/0-0043/default/braking_time_ms
chown system system /sys/bus/i2c/devices/0-0043/default/f0_comp_enable
chown system system /sys/bus/i2c/devices/0-0043/default/redc_comp_enable
chown system system /sys/bus/i2c/devices/0-0043/default/delay_before_stop_playback_us
enable vendor.vibrator.cs40l26
# For Japan sku, always enforce camera shutter sound
# Since this property is read by the audio server in system service,
# it should be written by the system init.
on property:ro.boot.hardware.sku=GE9DP
setprop audio.camerasound.force true
+967
View File
@@ -0,0 +1,967 @@
import /vendor/etc/init/hw/init.zuma.storage.rc
import /vendor/etc/init/hw/init.zuma.usb.rc
import android.hardware.drm@1.2-service.widevine.rc
import init.exynos.sensorhub.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"
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable
chown system system /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/lcpi_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/pmu_limit_enable
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu8_memlat@17000010/memlat_cpuidle_state_aware
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
# Boot time 183626384
write /proc/vendor_sched/groups/ta/uclamp_min 221
write /proc/vendor_sched/groups/ta/prefer_idle 1
write /proc/vendor_sched/groups/fg/uclamp_min 221
write /proc/vendor_sched/groups/fg/prefer_idle 1
write /proc/vendor_sched/groups/sys/uclamp_min 221
write /proc/vendor_sched/groups/sys/prefer_idle 1
# memlat cpuidle awareness setting
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu8_memlat@17000010/memlat_cpuidle_state_aware 2
mkdir /dev/cpuset/camera-daemon-high-group
write /dev/cpuset/camera-daemon-high-group/cpus 0-8
write /dev/cpuset/camera-daemon-high-group/mems 0
chown system system /dev/cpuset/camera-daemon-high-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-high-group/tasks
mkdir /dev/cpuset/camera-daemon-mid-group
write /dev/cpuset/camera-daemon-mid-group/cpus 0-8
write /dev/cpuset/camera-daemon-mid-group/mems 0
chown system system /dev/cpuset/camera-daemon-mid-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-mid-group/tasks
mkdir /dev/cpuset/camera-daemon-mid-high-group
write /dev/cpuset/camera-daemon-mid-high-group/cpus 0-8
write /dev/cpuset/camera-daemon-mid-high-group/mems 0
chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks
# nanohub sensor
chmod 0664 /dev/nanohub
chmod 0664 /dev/nanohub_comms
chown system system /dev/nanohub
chown system system /dev/nanohub_comms
# Dump maxfg
chown system system /sys/class/power_supply/maxfg/m5_model_state
chown system system /sys/class/power_supply/maxfg_base/m5_model_state
# Dump eeprom
chown system system /sys/devices/platform/10c90000.hsi2c/i2c-9/9-0050/eeprom
chown system system /dev/battery_history
chmod 0644 /dev/battery_history
# Loading common kernel modules in background
start init_display
# Charge stats (write 0)
chown system system /sys/class/power_supply/battery/charge_stats
# Pca Charge stats (write 0)
chown system system /sys/class/power_supply/dc-mains/device/chg_stats
# Wireless Charge stats (write 0)
chown system system /sys/class/power_supply/wireless/device/charge_stats
# Thermal Charge stats (write 0)
chown system system /sys/devices/platform/google,charger/thermal_stats
# Google Charger stats (write 0)
chown system system /sys/devices/platform/google,charger/charge_stats
# Permission for wireless charging
chown system system /sys/class/power_supply/wireless/capacity
chown system system /sys/class/power_supply/wireless/device/rtx
chown system system /sys/class/power_supply/wireless/device/rxdata
chown system system /sys/class/power_supply/wireless/device/txdata
chown system system /sys/class/power_supply/wireless/device/rxlen
chown system system /sys/class/power_supply/wireless/device/txlen
chown system system /sys/class/power_supply/wireless/device/ccreset
chown system system /sys/class/power_supply/wireless/device/status
chown system system /sys/class/power_supply/wireless/device/version
chown system system /sys/class/power_supply/wireless/device/features
chown system system /sys/class/power_supply/wireless/device/authtype
chown system system /sys/class/power_supply/wireless/device/authstart
# Adaptive charge
chown system system /sys/class/power_supply/battery/charge_deadline
# Charging policy
chown system system /sys/class/power_supply/battery/charging_policy
# BatteryHealthData
chown system system /sys/class/power_supply/battery/first_usage_date
chown system system /sys/class/power_supply/battery/swelling_data
# Battery Defender
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_cnt
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_dry_run
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_enable
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_recharge_soc
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_reset_sec
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_clear
chown system system /sys/devices/platform/google,battery/power_supply/battery/health_safety_margin
chown system system /sys/devices/platform/google,charger/bd_drainto_soc
chown system system /sys/devices/platform/google,charger/bd_recharge_soc
chown system system /sys/devices/platform/google,charger/bd_recharge_voltage
chown system system /sys/devices/platform/google,charger/bd_resume_abs_temp
chown system system /sys/devices/platform/google,charger/bd_resume_soc
chown system system /sys/devices/platform/google,charger/bd_resume_temp
chown system system /sys/devices/platform/google,charger/bd_resume_time
chown system system /sys/devices/platform/google,charger/bd_temp_dry_run
chown system system /sys/devices/platform/google,charger/bd_temp_enable
chown system system /sys/devices/platform/google,charger/bd_trigger_temp
chown system system /sys/devices/platform/google,charger/bd_trigger_time
chown system system /sys/devices/platform/google,charger/bd_trigger_voltage
chown system system /sys/devices/platform/google,charger/bd_clear
chown system system /sys/devices/platform/google,charger/bd_state
chown system system /sys/devices/platform/google,charger/charge_start_level
chown system system /sys/devices/platform/google,charger/charge_stop_level
chown system system /sys/devices/platform/google,cpm/dc_ctl
# Power Stats HAL
chown system system /dev/bbd_pwrstat
# Add memlat governor settings
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu8_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/mem_latency/ratio_ceil 1800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/mem_latency/ratio_ceil 1800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/mem_latency/ratio_ceil 1800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/mem_latency/ratio_ceil 1800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/mem_latency/ratio_ceil 3700
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/mem_latency/ratio_ceil 3700
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/ratio_ceil 3700
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/ratio_ceil 3700
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu8_memlat@17000010/mem_latency/ratio_ceil 3400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu8_memlat@17000010/mem_latency/stall_floor 500
# 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
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
on load_persist_props_action && property:ro.boot.hardware.cpu.pagesize=4096
write /sys/block/zram0/comp_algorithm ${persist.device_config.vendor_system_native_boot.comp_algorithm:-lz77eh}
on init && property:ro.boot.hardware.cpu.pagesize=16384
write /sys/block/zram0/comp_algorithm lzo-rle
setprop mmd.zram.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 late-init
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 20000
on post-fs-data
# Modem temperature driver
chown radio system /sys/devices/platform/cp-tm1/cp_temp
# 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
# Log Mask Library Mask storage paths
mkdir /data/vendor/radio/log_masks 777 system 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
# Modem OTA UECap folder
mkdir /data/vendor/radio/ota_uecap 0773 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
# ranging sensor
chown system system /dev/ispolin_ranging
chmod 0660 /dev/ispolin_ranging
# Audio dump and debug
mkdir /data/vendor/audio 0770 system 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 zygote-start
# For PixelLogger configuration file.
chmod 0771 /data/vendor/wifi
write /proc/vendor_sched/groups/ta/uclamp_min 1
write /proc/vendor_sched/groups/fg/uclamp_min 0
write /proc/vendor_sched/groups/sys/uclamp_min 0
write /proc/vendor_sched/groups/ta/preferred_idle_mask_low 0x03f
write /proc/vendor_sched/groups/ta/preferred_idle_mask_mid 0x1f0
write /proc/vendor_sched/groups/ta/preferred_idle_mask_high 0x1f0
write /proc/vendor_sched/groups/ta/prefer_idle 1
write /proc/vendor_sched/groups/fg/preferred_idle_mask_low 0x03f
write /proc/vendor_sched/groups/fg/preferred_idle_mask_mid 0x1f0
write /proc/vendor_sched/groups/fg/preferred_idle_mask_high 0x1f0
write /proc/vendor_sched/groups/fg/prefer_idle 1
write /proc/vendor_sched/groups/sys/preferred_idle_mask_low 0x03f
write /proc/vendor_sched/groups/sys/preferred_idle_mask_mid 0x1f0
write /proc/vendor_sched/groups/sys/preferred_idle_mask_high 0x1f0
write /proc/vendor_sched/groups/sys/prefer_idle 1
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 2
write /proc/vendor_sched/groups/fg/ug 2
write /proc/vendor_sched/groups/nnapi/ug 2
write /proc/vendor_sched/groups/rt/ug 2
write /proc/vendor_sched/groups/sf/ug 2
write /proc/vendor_sched/groups/sys/ug 2
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 post-fs-data
# GPS
mkdir /data/vendor/gps 0771 system system
chown system system /data/vendor/gps
rm /data/vendor/gps/gps_started
rm /data/vendor/gps/glonass_started
rm /data/vendor/gps/beidou_started
rm /data/vendor/gps/smd_started
rm /data/vendor/gps/sv_cno.info
chown gps system /sys/devices/platform/111e0000.spi/spi_master/spi21/spi21.0/nstandby
chmod 0664 /dev/ttyBCM
chown gps system /dev/ttyBCM
chmod 0664 /dev/bbd_control
chown gps system /dev/bbd_control
chmod 0664 /dev/bbd_patch
chown gps system /dev/bbd_patch
chmod 0664 /dev/bbd_sensor
chown gps system /dev/bbd_sensor
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_maxfg
chown system system /dev/logbuffer_maxfg_monitor
chown system system /dev/logbuffer_maxq
chown system system /dev/logbuffer_rtx
chown system system /dev/logbuffer_ssoc
chown system system /dev/logbuffer_ttf
chown system system /dev/logbuffer_tcpm
chown system system /dev/logbuffer_usbpd
chown system system /dev/logbuffer_wireless
chown system system /dev/logbuffer_pca9468
chown system system /dev/logbuffer_dc_mains
chown system system /dev/logbuffer_cpm
chown system system /dev/logbuffer_wc68
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
# Change sched lib affinity
write /proc/vendor_sched/sched_lib_name libunity.so
write /proc/vendor_sched/sched_lib_mask_out 0x1f0
# 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/allow_wakeup_by_state_change
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/power_state
chown system system /sys/devices/platform/exynos-drm/displayport/drm-displayport/hdcp_negotiation
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 userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
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
# Allow access to touch
chown system input /dev/touch_offload
chmod 660 /dev/touch_offload
# 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:init.svc.vendor.charger=running
stop keymaster-4-0
setprop sys.usb.configfs 1
setprop vendor.setup.power 1
# keep one little and one big
write /sys/devices/system/cpu/cpu1/online 0
write /sys/devices/system/cpu/cpu2/online 0
write /sys/devices/system/cpu/cpu3/online 0
write /sys/devices/system/cpu/cpu4/online 0
write /sys/devices/system/cpu/cpu5/online 0
write /sys/devices/system/cpu/cpu7/online 0
on property:sys.boot_completed=1
swapon_all /vendor/etc/fstab.${ro.board.platform}
# Set kswapd affinity
write /sys/kernel/vendor_mm/kswapd_cpu_affinity ff
# Set kcompactd affinity
write /sys/kernel/vendor_mm/kcompactd_cpu_affinity ff
# 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
# Restore prefer idle
write /proc/vendor_sched/groups/ta/preferred_idle_mask_low 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_mid 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_high 0xff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_low 0x1ff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_mid 0x1ff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_high 0x1ff
write /proc/vendor_sched/groups/sys/preferred_idle_mask_low 0x1ff
write /proc/vendor_sched/groups/sys/preferred_idle_mask_mid 0x1ff
write /proc/vendor_sched/groups/sys/preferred_idle_mask_high 0x1ff
# Setup final cpuset
write /dev/cpuset/top-app/cpus 0-8
write /dev/cpuset/foreground/cpus 0-7
write /dev/cpuset/foreground_window/cpus 0-7
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/restricted/cpus 0-3
write /dev/cpuset/camera-daemon/cpus 0-8
setprop vendor.powerhal.init 1
# 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 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
# Set PMU freq limit parameters
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold 0
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold 76
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency 1328000
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold 0
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold 73
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency 1836000
write /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/lcpi_threshold 0
write /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/spc_threshold 68
write /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/limit_frequency 2363000
write /proc/vendor_sched/pmu_poll_time 10
# 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"
# gvotables for dumpstate
chown system system /sys/kernel/debug/gvotables
# Permission for wireless charging
chown system system /sys/class/power_supply/wireless/capacity
chown system system /sys/class/power_supply/wireless/device/rtx
chown system system /sys/class/power_supply/wireless/device/rxdata
chown system system /sys/class/power_supply/wireless/device/txdata
chown system system /sys/class/power_supply/wireless/device/rxlen
chown system system /sys/class/power_supply/wireless/device/txlen
chown system system /sys/class/power_supply/wireless/device/ccreset
chown system system /sys/class/power_supply/wireless/device/status
chown system system /sys/class/power_supply/wireless/device/version
# AOC reset permission
chown root system /sys/devices/platform/17000000.aoc/reset
chmod 0220 /sys/devices/platform/17000000.aoc/reset
# write serialno to battery path for pairing
write /sys/class/power_supply/battery/dev_sn ${ro.boot.serialno}
# 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
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 early-boot && property:ro.boot.hardware.sku=GC3VE
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=GZPF0
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=GPJ41
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=G9BQD
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=GKV4X
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=G6GPR
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=G576D
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
on early-boot && property:ro.boot.hardware.sku=GGH2X
write /sys/bus/iio/devices/iio:device0/enabled_rails "CH11=BUCK12S"
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
# BCL
write /sys/devices/platform/cpupm/cpupm/cpd_cl1 0 #Disable power down
write /sys/devices/platform/cpupm/cpupm/cpd_cl2 0 #Disable power down
write /sys/devices/platform/cpupm/cpupm/cpd_cl1 1 #Enable power down
write /sys/devices/platform/cpupm/cpupm/cpd_cl2 1 #Enable power down
# Thermal
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/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/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/charge_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/charge_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
chmod 664 /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote
chmod 664 /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote
chmod 664 /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote
chmod 664 /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote
chown system system /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote
chmod 664 /dev/thermal/cdev-by-name/gxp-cooling/user_vote
chown system system /dev/thermal/cdev-by-name/gxp-cooling/user_vote
chmod 664 /dev/thermal/cdev-by-name/tpu_cooling/user_vote
chown system system /dev/thermal/cdev-by-name/tpu_cooling/user_vote
chmod 664 /dev/thermal/cdev-by-name/fcc/cur_state
chown system system /dev/thermal/cdev-by-name/fcc/cur_state
chmod 664 /dev/thermal/cdev-by-name/dc_icl/cur_state
chown system system /dev/thermal/cdev-by-name/dc_icl/cur_state
chmod 664 /dev/thermal/cdev-by-name/chg_mdis/cur_state
chown system system /dev/thermal/cdev-by-name/chg_mdis/cur_state
chmod 664 /dev/thermal/cdev-by-name/usbc-port/cur_state
chown system system /dev/thermal/cdev-by-name/usbc-port/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
# Cancel boot devfreq and uclamp
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
write /proc/vendor_sched/groups/ta/uclamp_min 0
write /proc/vendor_sched/groups/ta/prefer_idle 0
write /proc/vendor_sched/groups/fg/uclamp_min 0
write /proc/vendor_sched/groups/fg/prefer_idle 0
write /proc/vendor_sched/groups/sys/uclamp_min 0
write /proc/vendor_sched/groups/sys/prefer_idle 0
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
# MTE
on property:persist.device_config.runtime_native_boot.mode_override=sync
# Per-core mode overrides.
# Little Cores: sync
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred sync
# Mid Cores: sync
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred sync
# Big Core: sync mode performance is prohibitively bad
write /sys/devices/system/cpu/cpu8/mte_tcf_preferred asymm
on property:persist.device_config.runtime_native_boot.mode_override=asymm
# Per-core mode overrides.
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu8/mte_tcf_preferred asymm
# Battery health
on property:persist.vendor.pulsar.opt_out=1
write /sys/class/power_supply/battery/aacp_opt_out 1
on property:persist.vendor.pulsar.opt_out=0
write /sys/class/power_supply/battery/aacp_opt_out 0
# NFC
on post-fs-data
mkdir /data/vendor/nfc 0770 nfc nfc
+2
View File
@@ -0,0 +1,2 @@
on init
write /sys/block/sda/queue/scheduler mq-deadline
+524
View File
@@ -0,0 +1,524 @@
on early-boot
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
# ffs function
mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell
mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /config/usb_gadget/g1/functions/ffs.ptp
mkdir /dev/usb-ffs 0775 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mkdir /dev/usb-ffs/mtp 0770 mtp mtp
mkdir /dev/usb-ffs/ptp 0770 mtp mtp
mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000,no_disconnect=1
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
setprop sys.usb.mtp.device_type 3
setprop sys.usb.mtp.batchcancel true
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
# mtp function
mkdir /config/usb_gadget/g1/functions/mtp.gs0
# ptp function
mkdir /config/usb_gadget/g1/functions/ptp.gs1
# accessory function
mkdir /config/usb_gadget/g1/functions/accessory.gs2
# audio_source function
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
# rndis function
mkdir /config/usb_gadget/g1/functions/rndis.gs4
# Modify class/subclass/protocol for rndis.gs4
# Remote NDIS: Class: Wireless Controller (0xe0), Subclass: 0x1, Protocol: 0x3
write /config/usb_gadget/g1/functions/rndis.gs4/class e0
write /config/usb_gadget/g1/functions/rndis.gs4/subclass 01
write /config/usb_gadget/g1/functions/rndis.gs4/protocol 03
write /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.ncm/compatible_id RNDIS
write /config/usb_gadget/g1/functions/rndis.gs4/ifname rndis%d
setprop vendor.usb.rndis.config rndis.gs4
# midi function
mkdir /config/usb_gadget/g1/functions/midi.gs5
# acm function
mkdir /config/usb_gadget/g1/functions/acm.gs6
# dm function
mkdir /config/usb_gadget/g1/functions/dm.gs7
# uts function
mkdir /config/usb_gadget/g1/functions/uts.gs8
# ncm function
mkdir /config/usb_gadget/g1/functions/ncm.gs9
write /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id WINNCM
write /config/usb_gadget/g1/functions/ncm.gs9/ifname ncm%d
# etr_miu function
mkdir /config/usb_gadget/g1/functions/etr_miu.gs11
# acm function for uwb
mkdir /config/usb_gadget/g1/functions/acm.uwb0
# uvc function
mkdir /config/usb_gadget/g1/functions/uvc.0
write /config/usb_gadget/g1/functions/uvc.0/function_name "Android Webcam"
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket 3072
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 1
# write /config/usb_gadget/g1/functions/uvc.0/streaming_interval 2
# setup control params
mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
# advertise mjpeg streams
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
# advertise 360p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight 360
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize 460800
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval "166666
333333
416666
666666"
# advertise 480p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight 480
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize 614400
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval "166666
333333
416666
666666"
# advertise 720p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight 720
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth 1280
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize 1843200
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval "166666
333333
416666
666666"
# advertise 1080p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight 1080
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth 1920
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize 4147200
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval "166666
333333
416666
666666"
# advertise uncompressed streams
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u
# advertise 360p resolution for webcam encoded as yuyv
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight 360
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize 460800
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval "166666
333333
416666
666666"
# advertise 480p resolution for webcam encoded as yuyv
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight 480
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth 640
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize 614400
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwDefaultFrameInterval 333333
write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval "166666
333333
416666
666666"
# setup streaming params
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/u
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
# remove write permissions for 'others'
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
chmod 664 /config/usb_gadget/g1/functions/uvc.0/function_name
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_interval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioX
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioY
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bFormatIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmFlags
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmInterlaceFlags
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bmCapabilities
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwDefaultFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMinBitRate
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioX
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioY
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bBitsPerPixel
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bDefaultFrameIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bFormatIndex
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmaControls
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmInterlaceFlags
chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/guidFormat
# chown file/folder permission
chown system system /config/usb_gadget/
chown system system /config/usb_gadget/g1
chown system system /config/usb_gadget/g1/UDC
chown system system /config/usb_gadget/g1/bDeviceClass
chown system system /config/usb_gadget/g1/bDeviceProtocol
chown system system /config/usb_gadget/g1/bDeviceSubClass
chown system system /config/usb_gadget/g1/bMaxPacketSize0
chown system system /config/usb_gadget/g1/bcdDevice
chown system system /config/usb_gadget/g1/bcdUSB
chown system system /config/usb_gadget/g1/configs
chown system system /config/usb_gadget/g1/configs/b.1
chown system system /config/usb_gadget/g1/configs/b.1/MaxPower
chown system system /config/usb_gadget/g1/configs/b.1/bmAttributes
chown system system /config/usb_gadget/g1/configs/b.1/strings
chown system system /config/usb_gadget/g1/functions
chown system system /config/usb_gadget/g1/functions/accessory.gs2
chown system system /config/usb_gadget/g1/functions/acm.gs6
chown system system /config/usb_gadget/g1/functions/acm.gs6/port_num
chown system system /config/usb_gadget/g1/functions/acm.uwb0
chown system system /config/usb_gadget/g1/functions/acm.uwb0/port_num
chown system system /config/usb_gadget/g1/functions/audio_source.gs3
chown system system /config/usb_gadget/g1/functions/dm.gs7
chown system system /config/usb_gadget/g1/functions/ffs.adb
chown system system /config/usb_gadget/g1/functions/ffs.mtp
chown system system /config/usb_gadget/g1/functions/ffs.ptp
chown system system /config/usb_gadget/g1/functions/midi.gs5
chown system system /config/usb_gadget/g1/functions/midi.gs5/buflen
chown system system /config/usb_gadget/g1/functions/midi.gs5/id
chown system system /config/usb_gadget/g1/functions/midi.gs5/in_ports
chown system system /config/usb_gadget/g1/functions/midi.gs5/index
chown system system /config/usb_gadget/g1/functions/midi.gs5/out_ports
chown system system /config/usb_gadget/g1/functions/midi.gs5/qlen
chown system system /config/usb_gadget/g1/functions/mtp.gs0
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9
chown system system /config/usb_gadget/g1/functions/ncm.gs9/dev_addr
chown system system /config/usb_gadget/g1/functions/ncm.gs9/host_addr
chown system system /config/usb_gadget/g1/functions/ncm.gs9/ifname
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/ncm.gs9/qmult
chown system system /config/usb_gadget/g1/functions/ptp.gs1
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4
chown system system /config/usb_gadget/g1/functions/rndis.gs4/class
chown system system /config/usb_gadget/g1/functions/rndis.gs4/dev_addr
chown system system /config/usb_gadget/g1/functions/rndis.gs4/host_addr
chown system system /config/usb_gadget/g1/functions/rndis.gs4/ifname
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/sub_compatible_id
chown system system /config/usb_gadget/g1/functions/rndis.gs4/protocol
chown system system /config/usb_gadget/g1/functions/rndis.gs4/qmult
chown system system /config/usb_gadget/g1/functions/rndis.gs4/subclass
chown system system /config/usb_gadget/g1/functions/uvc.0
chown system system /config/usb_gadget/g1/functions/uvc.0/control
chown system system /config/usb_gadget/g1/functions/uvc.0/control/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/enable_interrupt_ep
chown system system /config/usb_gadget/g1/functions/uvc.0/control/extensions
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bmControls
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bSourceID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bUnitID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/iProcessing
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/wMaxMultiplier
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bAssocTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bmControls
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bTerminalID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/iTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMax
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMin
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wOcularFocalLength
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wTerminalType
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bAssocTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bTerminalID
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/iTerminal
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/wTerminalType
chown system system /config/usb_gadget/g1/functions/uvc.0/function_name
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bColorPrimaries
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bMatrixCoefficients
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bTransferCharacteristics
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/framebased
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bmInfo
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bStillCaptureMethod
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTerminalLink
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerSupport
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerUsage
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/u
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_interval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioX
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioY
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bFormatIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmInterlaceFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/bmCapabilities
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwDefaultFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioX
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bAspectRatioY
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bBitsPerPixel
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bDefaultFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bFormatIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmaControls
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/bmInterlaceFlags
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/guidFormat
chown system system /config/usb_gadget/g1/idProduct
chown system system /config/usb_gadget/g1/idVendor
chown system system /config/usb_gadget/g1/max_speed
chown system system /config/usb_gadget/g1/os_desc
chown system system /config/usb_gadget/g1/os_desc/b.1
chown system system /config/usb_gadget/g1/os_desc/b_vendor_code
chown system system /config/usb_gadget/g1/os_desc/qw_sign
chown system system /config/usb_gadget/g1/os_desc/use
chown system system /config/usb_gadget/g1/strings
chown system system /config/usb_gadget/g1/strings/0x409
chown system system /config/usb_gadget/g1/strings/0x409/manufacturer
chown system system /config/usb_gadget/g1/strings/0x409/product
chown system system /config/usb_gadget/g1/strings/0x409/serialnumber
setprop vendor.usb.functions.ready 1
on boot
# Set USB timeout
write sys/module/usbcore/parameters/initial_descriptor_timeout 500
# Use USB Gadget HAL
setprop sys.usb.configfs 2
# Enable in-kernel media-presence polling for SD cards
write /sys/module/block/parameters/events_dfl_poll_msecs 2000
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x4EE7
write /config/usb_gadget/g1/idVendor 0x18D1
on property:vendor.usb.config=*
start usbd
on property:persist.vendor.usb.usbradio.config=*
start usbd
on charger
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
mkdir /config/usb_gadget/g1/functions/midi.gs5
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
setprop sys.usb.controller "11210000.dwc3"
setprop sys.usb.configfs 1
on property:ro.bootmode=charger
setprop sys.usb.config charger
on property:sys.usb.config=charger && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x18d1
write /config/usb_gadget/g1/idProduct 0x4eea
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
write /sys/class/typec/port0/device/update_sdp_enum_timeout 0x1
setprop sys.usb.state ${sys.usb.config}
on property:ro.bootmode=usbuwb
setprop persist.vendor.usb.usbradio.config uwb_acm
on property:vendor.usb.contaminantdisable=true
exec /vendor/bin/hw/disable_contaminant_detection.sh
on property:persist.vendor.usb.displayport.enabled=1
write /sys/module/exynos_drm/parameters/dp_enabled 1
write /sys/class/typec/port0/port0.0/mode1/active "yes"
on property:persist.vendor.usb.displayport.enabled=0
write /sys/module/exynos_drm/parameters/dp_enabled 0
write /sys/class/typec/port0/port0.0/mode1/active "no"
on property:persist.sys.hdcp_checking=always
write /sys/module/exynos_hdcp2/parameters/max_ver 3
on property:persist.sys.hdcp_checking="drm-only"
write /sys/module/exynos_hdcp2/parameters/max_ver 2
on property:persist.sys.hdcp_checking=never
write /sys/module/exynos_hdcp2/parameters/max_ver 0
+7
View File
@@ -0,0 +1,7 @@
service vendor.hwcomposer-3 /vendor/bin/hw/android.hardware.composer.hwc3-service.pixel
class hal animation
user system
group graphics drmrpc
capabilities SYS_NICE
onrestart restart surfaceflinger
task_profiles ServiceCapacityLow
+1
View File
@@ -0,0 +1 @@
# AoC firmware will be loaded by Daemon
@@ -0,0 +1,2 @@
on boot
exec_background -- /vendor/bin/init.camera.set-interrupts-ownership
+3
View File
@@ -0,0 +1,3 @@
on property:ro.debuggable=1
chown system system /dev/logbuffer_dsim0
chown system system /dev/logbuffer_dsim1
+2
View File
@@ -0,0 +1,2 @@
on post-fs-data
mkdir /data/vendor/tombstones/fingerprint 0770 system system
+30
View File
@@ -0,0 +1,30 @@
on post-fs-data
chmod 0777 /sys/devices/platform/bbd_pps/pps_assert
service lhd /vendor/bin/hw/lhd /vendor/etc/gnss/lhd.conf
class main
user gps
group system inet net_raw sdcard_rw
ioprio rt 4
service gpsd /vendor/bin/hw/gpsd -c /vendor/etc/gnss/gps.xml
class main
user gps
group system gps radio inet wakelock sdcard_rw net_raw
ioprio rt 4
oom_score_adjust -400
service scd /vendor/bin/hw/scd /vendor/etc/gnss/scd.conf
class main
user gps
group system inet net_raw wakelock
ioprio be 0
priority -1
service gnss_service /vendor/bin/hw/android.hardware.gnss@2.1-service-brcm
class hal
user gps
group system gps radio
ioprio be 0
priority -1
@@ -0,0 +1,4 @@
service liboemservice_proxy_default /vendor/bin/liboemservice_proxy_default
class main
user system
group system
@@ -0,0 +1,97 @@
#
# Copyright (C) 2018 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
service modem_logging_start /vendor/bin/modem_logging_control
class main
user system
group system
disabled
oneshot
service modem_logging_stop /vendor/bin/modem_logging_control STOP
class main
user system
group system
disabled
oneshot
service modem_logging_configure_shannon_dm /vendor/bin/modem_logging_control SHANNON_DM
class main
user system
group system
disabled
oneshot
service modem_logging_configure_shannon_app /vendor/bin/modem_logging_control SHANNON_APP
class main
user system
group system
disabled
oneshot
service modem_logging_update_header /vendor/bin/modem_logging_control UPDATE_HEADER
class main
user system
group system
disabled
oneshot
service modem_logging_enabled_change /vendor/bin/modem_logging_control ENABLED_CHANGE
class main
user system
group system
disabled
oneshot
on property:persist.vendor.verbose_logging_enabled=*
setprop persist.vendor.sys.modem.logging.enable ${persist.vendor.verbose_logging_enabled}
# Extensive logging enablement logic:
# modem_logging enabled + extensive enabled -> use extensive logging
# modem_logging enabled + extensive disabled -> use default logging
# modem_logging disabled + extensive enabled -> logging disabled
# modem_logging disabled + extensive disabled -> logging disabled
on property:persist.vendor.modem.extensive_logging_enabled=* && property:vendor.sys.modem.logging.enable=true && property:vendor.sys.modem.logging.skip=false
start modem_logging_start
on property:persist.vendor.sys.modem.logging.enable=*
setprop vendor.sys.modem.logging.enable ${persist.vendor.sys.modem.logging.enable}
on property:vendor.sys.modem.logging.skip=false && property:vendor.sys.modem.logging.enable=*
start modem_logging_enabled_change
on property:vendor.sys.modem.logging.enable=true && property:vendor.sys.modem.logging.skip=false
start modem_logging_start
on property:vendor.sys.modem.logging.enable=false && property:vendor.sys.modem.logging.skip=false
start modem_logging_stop
on post-fs-data
setprop vendor.sys.modem.logging.skip false
setprop vendor.sys.modem.logging.status false
on property:ro.bootmode=charger
setprop vendor.sys.modem.logging.skip true
# Special system properties to indicate a shannon DM/app solution starts logging.
on property:vendor.modem.logging.shannon_logging=true
start modem_logging_configure_shannon_dm
on property:persist.vendor.modem.logging.shannon_app=true
start modem_logging_configure_shannon_app
on property:vendor.sys.modem.logging.update_header=true
start modem_logging_update_header
+11
View File
@@ -0,0 +1,11 @@
on init
# Loading common kernel modules in background
start insmod_sh
service insmod_sh /vendor/bin/insmod.sh /vendor/etc/init.common.cfg
class main
user root
group root system
disabled
oneshot
stdio_to_kmsg
+48
View File
@@ -0,0 +1,48 @@
on property:ro.vendor.persist.status=mounted
# for modem related functions
restorecon_recursive /mnt/vendor/efs
chown radio system /mnt/vendor/efs
restorecon_recursive /mnt/vendor/efs_backup
chown radio system /mnt/vendor/efs_backup
restorecon_recursive /mnt/vendor/modem_userdata
chown radio system /mnt/vendor/modem_userdata
# for battery defender
mkdir /mnt/vendor/persist/battery 0700 system system
# Factory calibration files
mkdir /mnt/vendor/persist/camera 0700 system system
chmod 0771 /mnt/vendor/persist/camera
chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
mkdir /mnt/vendor/persist/camera/rear 0771 system camera
chmod 0771 /mnt/vendor/persist/camera/rear
restorecon_recursive /mnt/vendor/persist
restorecon_recursive /mnt/vendor/persist/aoc
restorecon_recursive /mnt/vendor/persist/audio
restorecon_recursive /mnt/vendor/persist/sensors
restorecon_recursive /mnt/vendor/persist/battery
restorecon_recursive /mnt/vendor/persist/camera
restorecon_recursive /mnt/vendor/persist/modem
# Set up display-related directories and permissions
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
restorecon_recursive /mnt/vendor/persist/display
mkdir /mnt/vendor/persist/data/sfs 0700 system system
mkdir /mnt/vendor/persist/data/tz 0700 system system
mkdir /mnt/vendor/persist/touch 0770 system system
on property:ro.fstype.data=* && property:ro.vendor.persist.status=mounted
# Proxy for Secure Storage
mkdir /data/vendor/rebootescrow 0770 hsm hsm
mkdir /data/vendor/ss 0770 root system
mkdir /mnt/vendor/persist/ss 0770 root system
restorecon_recursive /mnt/vendor/persist/ss
symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
chown root system /data/vendor/ss/persist
chmod 0770 /data/vendor/ss/persist
symlink /dev/block/platform/13200000\.ufs/by-name/trusty_persist /data/vendor/ss/persist/0
chown system system /data/vendor/ss/persist/0
chown system system /data/vendor/ss/persist/nsp
restart storageproxyd
+21
View File
@@ -0,0 +1,21 @@
# Copyright (C) 2024 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
on init
# adjust PCP high level
write /proc/sys/vm/percpu_pagelist_high_fraction 430
# disable proactive compaction
write /proc/sys/vm/compaction_proactiveness 0
write /proc/sys/vm/swappiness 60
+332
View File
@@ -0,0 +1,332 @@
# Copyright (C) 2024 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
on init
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
# Change permission of sched qos nodes
chown system system /proc/vendor_sched/sched_qos/adpf_set
chown system system /proc/vendor_sched/sched_qos/adpf_clear
chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_set
chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_clear
chown system system /proc/vendor_sched/sched_qos/boost_prio_set
chown system system /proc/vendor_sched/sched_qos/boost_prio_clear
chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_set
chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_clear
chown system system /proc/vendor_sched/sched_qos/prefer_fit_set
chown system system /proc/vendor_sched/sched_qos/prefer_fit_clear
chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_set
chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_clear
chown system system /proc/vendor_sched/sched_qos/prefer_idle_set
chown system system /proc/vendor_sched/sched_qos/prefer_idle_clear
chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_set
chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_clear
chown system system /proc/vendor_sched/sched_qos/sched_qos_none
chown system system /proc/vendor_sched/sched_qos/sched_qos_power_efficiency
chown system system /proc/vendor_sched/sched_qos/sched_qos_sensitive_extreme
chown system system /proc/vendor_sched/sched_qos/sched_qos_sensitive_high
chown system system /proc/vendor_sched/sched_qos/sched_qos_sensitive_standard
chmod 0220 /proc/vendor_sched/sched_qos/adpf_set
chmod 0220 /proc/vendor_sched/sched_qos/adpf_clear
chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_set
chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_clear
chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_set
chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_clear
chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_set
chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_clear
chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_set
chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_clear
chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_set
chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_clear
chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_set
chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_clear
chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_set
chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_clear
chmod 0220 /proc/vendor_sched/sched_qos/sched_qos_none
chmod 0220 /proc/vendor_sched/sched_qos/sched_qos_power_efficiency
chmod 0220 /proc/vendor_sched/sched_qos/sched_qos_sensitive_extreme
chmod 0220 /proc/vendor_sched/sched_qos/sched_qos_sensitive_high
chmod 0220 /proc/vendor_sched/sched_qos/sched_qos_sensitive_standard
# Enable sched_qos for some groups
write /proc/vendor_sched/groups/ta/qos_adpf_enable 1
write /proc/vendor_sched/groups/ta/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/ta/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/ta/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/ta/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/ta/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/ta/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/ta/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/fg/qos_adpf_enable 1
write /proc/vendor_sched/groups/fg/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/fg/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/fg/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/fg/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/fg/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/fg/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/fg/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_adpf_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/fg_wi/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/cam/qos_adpf_enable 1
write /proc/vendor_sched/groups/cam/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/cam/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/cam/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/cam/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/cam/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/cam/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/cam/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/cam_power/qos_adpf_enable 1
write /proc/vendor_sched/groups/cam_power/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/cam_power/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/cam_power/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/cam_power/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/cam_power/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/cam_power/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/cam_power/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/rt/qos_adpf_enable 1
write /proc/vendor_sched/groups/rt/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/rt/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/rt/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/rt/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/rt/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/rt/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/rt/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/sf/qos_adpf_enable 1
write /proc/vendor_sched/groups/sf/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/sf/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/sf/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/sf/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/sf/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/sf/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/sf/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/sys/qos_adpf_enable 1
write /proc/vendor_sched/groups/sys/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/sys/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/sys/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/sys/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/sys/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/sys/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/sys/qos_rampup_multiplier_enable 1
write /proc/vendor_sched/groups/nnapi/qos_adpf_enable 1
write /proc/vendor_sched/groups/nnapi/qos_auto_uclamp_max_enable 1
write /proc/vendor_sched/groups/nnapi/qos_boost_prio_enable 1
write /proc/vendor_sched/groups/nnapi/qos_preempt_wakeup_enable 1
write /proc/vendor_sched/groups/nnapi/qos_prefer_fit_enable 1
write /proc/vendor_sched/groups/nnapi/qos_prefer_high_cap_enable 1
write /proc/vendor_sched/groups/nnapi/qos_prefer_idle_enable 1
write /proc/vendor_sched/groups/nnapi/qos_rampup_multiplier_enable 1
# cpufreq governor setting
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu8/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu1/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu2/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu3/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu5/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu1/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu2/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu3/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu5/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 500
# Default rampup multiplier setup
write /proc/vendor_sched/groups/bg/rampup_multiplier 0
write /proc/vendor_sched/groups/cam/rampup_multiplier 1
write /proc/vendor_sched/groups/cam_power/rampup_multiplier 1
write /proc/vendor_sched/groups/dex2oat/rampup_multiplier 0
write /proc/vendor_sched/groups/fg/rampup_multiplier 0
write /proc/vendor_sched/groups/fg_wi/rampup_multiplier 1
write /proc/vendor_sched/groups/nnapi/rampup_multiplier 0
write /proc/vendor_sched/groups/ota/rampup_multiplier 0
write /proc/vendor_sched/groups/rt/rampup_multiplier 0
write /proc/vendor_sched/groups/sf/rampup_multiplier 1
write /proc/vendor_sched/groups/sys/rampup_multiplier 0
write /proc/vendor_sched/groups/sys_bg/rampup_multiplier 0
write /proc/vendor_sched/groups/ta/rampup_multiplier 1
write /proc/vendor_sched/adpf_rampup_multiplier 4
# Default util_est setup
write /proc/vendor_sched/groups/bg/disable_util_est 1
write /proc/vendor_sched/groups/cam/disable_util_est 0
write /proc/vendor_sched/groups/cam_power/disable_util_est 0
write /proc/vendor_sched/groups/dex2oat/disable_util_est 1
write /proc/vendor_sched/groups/fg/disable_util_est 1
write /proc/vendor_sched/groups/fg_wi/disable_util_est 0
write /proc/vendor_sched/groups/nnapi/disable_util_est 1
write /proc/vendor_sched/groups/ota/disable_util_est 1
write /proc/vendor_sched/groups/rt/disable_util_est 1
write /proc/vendor_sched/groups/sf/disable_util_est 0
write /proc/vendor_sched/groups/sys/disable_util_est 1
write /proc/vendor_sched/groups/sys_bg/disable_util_est 1
write /proc/vendor_sched/groups/ta/disable_util_est 0
# Default sched_batch setup
write /proc/vendor_sched/groups/bg/use_batch_policy 1
write /proc/vendor_sched/groups/cam/use_batch_policy 0
write /proc/vendor_sched/groups/cam_power/use_batch_policy 0
write /proc/vendor_sched/groups/dex2oat/use_batch_policy 0
write /proc/vendor_sched/groups/fg/use_batch_policy 0
write /proc/vendor_sched/groups/fg_wi/use_batch_policy 0
write /proc/vendor_sched/groups/nnapi/use_batch_policy 0
write /proc/vendor_sched/groups/ota/use_batch_policy 0
write /proc/vendor_sched/groups/rt/use_batch_policy 0
write /proc/vendor_sched/groups/sf/use_batch_policy 0
write /proc/vendor_sched/groups/sys/use_batch_policy 0
write /proc/vendor_sched/groups/sys_bg/use_batch_policy 1
write /proc/vendor_sched/groups/ta/use_batch_policy 0
# 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
# Add a boost for NNAPI HAL
write /proc/vendor_sched/groups/nnapi/prefer_idle 0
write /proc/vendor_sched/groups/nnapi/uclamp_min 512
on property:sys.boot_completed=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}
# Disable PMU freq limit
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy1/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy2/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy3/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy5/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy8/sched_pixel/pmu_limit_enable 1
write /proc/vendor_sched/pmu_poll_enable 0
# Set priority task name and boost value
write /proc/vendor_sched/priority_task_name "ExoPlayer:Place"
write /proc/vendor_sched/priority_task_boost_value 742
write /proc/vendor_sched/boost_at_fork_task_name "_zygote"
write /proc/vendor_sched/boost_at_fork_value 768
write /proc/vendor_sched/boost_at_fork_duration 1000
+3
View File
@@ -0,0 +1,3 @@
on property:sys.boot_completed=1
# Reduce pm_freeze_timeout value
write /sys/power/pm_freeze_timeout 1000
@@ -0,0 +1,39 @@
# init rc file for lassen implementation of shared_modem_platform.
service init.shared_modem_platform /vendor/bin/shared_modem_platform -s
class core
user radio
group system
service init.shared_modem_platform_dumpstate /vendor/bin/shared_modem_platform -e -m umi -c tea -a flush
user radio
group system
disabled
oneshot
on post-fs-data
# Remove the pid file on boot
rm /data/vendor/radio/shared_modem_platform_pid
# Create file directories for modem svc messages, sorted alphabetically
mkdir /data/vendor/radio/modem_temp_file 0775 radio system
mkdir /mnt/vendor/modem_userdata/replay 0775 radio system
on property:vendor.modem.crash_detected=1
stop init.shared_modem_platform
rm /data/vendor/radio/shared_modem_platform_pid
setprop vendor.modem.crash_detected 0
start init.shared_modem_platform
on property:init.svc.dumpstatez=running
start init.shared_modem_platform_dumpstate
on property:init.svc.bugreportd=running
start init.shared_modem_platform_dumpstate
on property:persist.vendor.modem.qms.pcie_dyn_switch=1
write /sys/devices/platform/cpif/dynamic_pcie_spd/tp_threshold 500
write /sys/devices/platform/cpif/dynamic_pcie_spd/tp_hysteresis 200
write /sys/devices/platform/cpif/dynamic_pcie_spd/dynamic_spd_enable 1
on property:persist.vendor.modem.qms.pcie_dyn_switch=0
write /sys/devices/platform/cpif/dynamic_pcie_spd/dynamic_spd_enable 0
+13
View File
@@ -0,0 +1,13 @@
on post-fs-data
mkdir /data/vendor/ssrdump 0775 root system
mkdir /data/vendor/ssrdump/coredump 0775 root system
mkdir /data/vendor/ssrdump/logcat 0775 root system
restorecon /data/vendor/ssrdump
start vendor.sscoredump
service vendor.sscoredump /vendor/bin/sscoredump
class main
user root
group system
disabled
oneshot
+88
View File
@@ -0,0 +1,88 @@
on init
# Make foreground and background I/O priority different. none-to-rt was
# introduced in kernel 5.14. promote-to-rt was introduced in kernel 6.5.
# Write none-to-rt first and promote-to-rt next to support both older and
# newer kernel versions.
write /dev/blkio/blkio.prio.class none-to-rt
write /dev/blkio/blkio.prio.class promote-to-rt
on property:ro.debuggable=1
write /dev/sys/block/bootdevice/pixel/enable_pixel_ufs_logging 1
chown system /dev/sg3
on default_storage_mode
# F2FS
write /dev/sys/fs/by-name/userdata/data_io_flag 8
write /dev/sys/fs/by-name/userdata/node_io_flag 8
write /dev/sys/fs/by-name/userdata/max_io_bytes 524288
write /dev/sys/fs/by-name/userdata/min_hot_blocks 0
# Block
write /dev/sys/block/by-name/rootdisk/queue/nr_requests 128
write /dev/sys/block/by-name/rootdisk/queue/rq_affinity 2
write /dev/sys/block/by-name/zoned_device/queue/rq_affinity 2
# UFS
write /dev/sys/block/bootdevice/clkgate_enable 1
on init
# Symlink /dev/sys/block/bootdevice
wait /dev/block/platform/${ro.boot.boot_devices}
symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
# F2FS
write /dev/sys/fs/by-name/userdata/data_io_flag 56
write /dev/sys/fs/by-name/userdata/node_io_flag 56
# Block
write /dev/sys/block/by-name/rootdisk/queue/iostats 0
write /dev/sys/block/by-name/rootdisk/queue/nr_requests 256
# UFS
write /dev/sys/block/bootdevice/clkgate_enable 0
write /dev/sys/block/bootdevice/wb_on 0
write /dev/sys/block/bootdevice/enable_wb_buf_flush 0
on property:sys.boot_completed=1
# Health Storage HAL
chown system system /dev/sys/block/bootdevice/manual_gc
write /dev/sys/block/bootdevice/manual_gc 0
# Power HAL access
chmod 0664 /dev/sys/block/bootdevice/manual_gc
# Pixelstats
chown system system /dev/sys/block/bootdevice/slowio_read_cnt
chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
chown system system /dev/sys/block/bootdevice/slowio_write_cnt
chown system system /dev/sys/fs/by-name/userdata/committed_atomic_block
chown system system /dev/sys/fs/by-name/userdata/compr_new_inode
chown system system /dev/sys/fs/by-name/userdata/compr_saved_block
chown system system /dev/sys/fs/by-name/userdata/compr_written_block
chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
chown system system /dev/sys/fs/by-name/userdata/peak_atomic_write
chown system system /dev/sys/fs/by-name/userdata/revoked_atomic_block
trigger default_storage_mode
on charger
trigger default_storage_mode
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
trigger default_storage_mode
on boot
# These settings must be applied during the 'on boot' stage.
# In Kernel 6.12, other sysfs writes in this stage can implicitly reset
# read_ahead_kb to 1024KB. Moving these here ensures they are applied
# AFTER those writes, guaranteeing our desired 128KB value and
# enabling iostats collection early.
write /dev/sys/block/by-name/rootdisk/queue/iostats 1
write /dev/sys/block/by-name/rootdisk/queue/read_ahead_kb 128
write /dev/sys/block/by-name/userdata/queue/read_ahead_kb 128
mkdir /data/vendor/storage 0770 system system
+41
View File
@@ -0,0 +1,41 @@
on property:sys.boot_completed=1
# Sysfs
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/interactive_calibrate
chmod 666 /sys/devices/virtual/goog_touch_interface/gti.0/interactive_calibrate
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/panel_id
chown system system /sys/devices/virtual/goog_touch_interface/gti.0/offload_id
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
# Procfs
chown system system /proc/goog_touch_interface
chown system system /proc/goog_touch_interface/gti.0
chown system system /proc/goog_touch_interface/gti.0/dump
chown system system /proc/goog_touch_interface/gti.0/ms_base
chown system system /proc/goog_touch_interface/gti.0/ms_diff
chown system system /proc/goog_touch_interface/gti.0/ms_raw
chown system system /proc/goog_touch_interface/gti.0/ss_base
chown system system /proc/goog_touch_interface/gti.0/ss_diff
chown system system /proc/goog_touch_interface/gti.0/ss_raw
on property:sys.boot_completed=1 && property:ro.vendor.touch.gti0.resample_latency.enabled=true
write /sys/devices/virtual/goog_touch_interface/gti.0/resample_latency_us ${ro.vendor.touch.gti0.resample_latency_us}
on property:vendor.touch.gti0.ical=*
setprop vendor.touch.gti0.ical.state init
start touch_gti0_ical
wait_for_prop vendor.touch.gti0.ical.state done
service touch_gti0_ical /vendor/bin/touch_gti_ical 0 ${vendor.touch.gti0.ical}
class main
user system
group system shell
disabled
oneshot
+12
View File
@@ -0,0 +1,12 @@
service vendor.touch_dumpstate /vendor/bin/predump_touch.sh
class main
user system
group system shell
disabled
oneshot
on post-fs-data
mkdir /data/vendor/dump_touch 0775 system system
on property:init.svc.dumpstatez=running
start vendor.touch_dumpstate
+19
View File
@@ -0,0 +1,19 @@
#
# Copyright 2020 Google LLC. All Rights Reserved.
#
# USF init config file.
#
on fs
# Set the permission of sensor persist folder.
chown system system /mnt/vendor/persist/sensors
chown system system /mnt/vendor/persist/sensors/registry
chmod 750 /mnt/vendor/persist/sensors
chmod 750 /mnt/vendor/persist/sensors/registry
on post-fs-data
# Create USF registry script save directory.
mkdir /data/vendor/sensors 0770 system system
mkdir /data/vendor/sensors/registry 0770 system system
mkdir /data/vendor/sensors/debug 0770 system system
+7
View File
@@ -0,0 +1,7 @@
on post-fs-data
service init-radio-sh /vendor/bin/init.radio.sh
class late_start
user radio
group root radio
oneshot
+33
View File
@@ -0,0 +1,33 @@
#
# Copyright 2020 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This should be everything required for init Dauntless
# We always need these
on init
enable vendor.citadeld
# This checks for and applies firmware updates
service vendor.init_citadel /vendor/bin/hw/init_citadel
oneshot
disabled
user hsm
group hsm
ioprio idle 0
# init_citadel requires citadeld to be running
on property:init.svc.vendor.citadeld=running
start vendor.init_citadel
+28
View File
@@ -0,0 +1,28 @@
# override default log levels.
on boot
setprop log.tag.GABC E
# backward-compatible system props.
on property:persist.vendor.camera.gabc.debug_level=0
setprop log.tag.GABC S
on property:persist.vendor.camera.gabc.debug_level=1
setprop log.tag.GABC V
on property:persist.vendor.camera.gabc.debug_level=2
setprop log.tag.GABC V
on property:persist.vendor.camera.gabc.debug_level=3
setprop log.tag.GABC D
on property:persist.vendor.camera.gabc.debug_level=4
setprop log.tag.GABC I
on property:persist.vendor.camera.gabc.debug_level=5
setprop log.tag.GABC W
on property:persist.vendor.camera.gabc.debug_level=6
setprop log.tag.GABC E
on property:persist.vendor.camera.gabc.debug_level=7
setprop log.tag.GABC A
+83
View File
@@ -0,0 +1,83 @@
# override default log levels.
on boot
setprop log.tag.GAF I
# backward-compatible system props.
on property:persist.vendor.camera.af.debug_level=0
setprop log.tag.GAF S
on property:persist.vendor.camera.af.debug_level=1
setprop log.tag.GAF V
on property:persist.vendor.camera.af.debug_level=2
setprop log.tag.GAF V
on property:persist.vendor.camera.af.debug_level=3
setprop log.tag.GAF D
on property:persist.vendor.camera.af.debug_level=4
setprop log.tag.GAF I
on property:persist.vendor.camera.af.debug_level=5
setprop log.tag.GAF W
on property:persist.vendor.camera.af.debug_level=6
setprop log.tag.GAF E
on property:persist.vendor.camera.af.debug_level=7
setprop log.tag.GAF A
on property:persist.vendor.camera.af.video_debug_enable=2
setprop vendor.camera.3a.log_level 1
setprop log.tag.3a.gcrd.af.parser.input V
setprop log.tag.3a.gcrd.af.parser.output V
setprop log.tag.3a.gcrd.af.processor V
setprop log.tag.3a.gcrd.af.engine V
setprop log.tag.3a.gcrd.dtm V
on property:persist.vendor.camera.af.video_debug_enable=0
setprop vendor.camera.3a.log_level 6
setprop log.tag.3a.gcrd.af.parser.input E
setprop log.tag.3a.gcrd.af.parser.output E
setprop log.tag.3a.gcrd.af.processor E
setprop log.tag.3a.gcrd.af.engine E
setprop log.tag.3a.gcrd.dtm E
on property:persist.vendor.camera.af.default_focus_only=false
setprop persist.vendor.camera.af.ignore_ctrl_focus_region false
setprop persist.vendor.camera.af.ignore_face 0
setprop persist.vendor.camera.af.force_saliency_consumption ""
on property:persist.vendor.camera.af.default_focus_only=true
setprop persist.vendor.camera.af.ignore_ctrl_focus_region true
setprop persist.vendor.camera.af.ignore_face 1
setprop persist.vendor.camera.af.force_saliency_consumption false
# Reset every related properties
on property:persist.vendor.camera.af.standalone_searchlet=reset
setprop persist.vendor.camera.af.ignore_pd \"\"
setprop persist.vendor.camera.af.ignore_tof \"\"
setprop persist.vendor.camera.af.ignore_cdaf \"\"
setprop persist.vendor.camera.af.ignore_gyro \"\"
setprop persist.vendor.camera.af.ignore_3a \"\"
setprop vendor.camera.debug.enable_saliency \"\"
# Standalone framework: PDAF
on property:persist.vendor.camera.af.standalone_searchlet=pdaf
setprop persist.vendor.camera.af.ignore_tof 1
setprop persist.vendor.camera.af.ignore_gyro 1
setprop persist.vendor.camera.af.ignore_3a 1
setprop vendor.camera.debug.enable_saliency 0
# Standalone framework: LDAF
on property:persist.vendor.camera.af.standalone_searchlet=ldaf
setprop persist.vendor.camera.af.ignore_pd 7
setprop persist.vendor.camera.af.ignore_gyro 1
setprop persist.vendor.camera.af.ignore_3a 1
setprop vendor.camera.debug.enable_saliency 0
# Standalone framework: CDAF
on property:persist.vendor.camera.af.standalone_searchlet=cdaf
setprop persist.vendor.camera.af.ignore_pd 7
setprop persist.vendor.camera.af.ignore_tof 1
setprop vendor.camera.debug.enable_saliency 0
+28
View File
@@ -0,0 +1,28 @@
# override default log levels.
on boot
setprop log.tag.GHAWB E
# backward-compatible system props.
on property:persist.vendor.camera.ghawb.debug_level=0
setprop log.tag.GHAWB S
on property:persist.vendor.camera.ghawb.debug_level=1
setprop log.tag.GHAWB V
on property:persist.vendor.camera.ghawb.debug_level=2
setprop log.tag.GHAWB V
on property:persist.vendor.camera.ghawb.debug_level=3
setprop log.tag.GHAWB D
on property:persist.vendor.camera.ghawb.debug_level=4
setprop log.tag.GHAWB I
on property:persist.vendor.camera.ghawb.debug_level=5
setprop log.tag.GHAWB W
on property:persist.vendor.camera.ghawb.debug_level=6
setprop log.tag.GHAWB E
on property:persist.vendor.camera.ghawb.debug_level=7
setprop log.tag.GHAWB A
+5
View File
@@ -0,0 +1,5 @@
service vendor.memtrack-default /vendor/bin/hw/android.hardware.memtrack-service.pixel
class hal
user graphics
group system
task_profiles ServiceCapacityLow
+10
View File
@@ -0,0 +1,10 @@
# Configure PCIe autosuspend.
# PCI may be enumerated asynchronously, so defer to a service.
service vendor.pcie_power_control /vendor/bin/pcie_power_control
disabled
user root
oneshot
on boot && property:vendor.pcie.power.control=1
start vendor.pcie_power_control
@@ -0,0 +1,17 @@
# pixel-experiments-recovery.sh waits Perf__experiments_delay_seconds and sets
# vendor.perf.allow_experiments=1, triggering experiments.
service pixel-experiments-recovery /vendor/bin/pixel-experiments-recovery.sh \
${vendor.pixel.system.phenotype.Perf__experiments_delay_seconds}
class main
user root
group root system
oneshot
disabled
# vendor.pixel.system.phenotype.Perf__xxx properties are set sometime after the
# device is unlocked for the first time. The check for sys.boot_completed is not
# strictly needed, but will prevent surprises if for some reason the property
# is set early.
on property:sys.boot_completed=1 && \
property:vendor.pixel.system.phenotype.Perf__experiments_delay_seconds=*
restart pixel-experiments-recovery
+17
View File
@@ -0,0 +1,17 @@
# go/pixel-perf-ubp-experiment
# Set up the experiment.
on property:vendor.perf.allow_experiments=1 \
&& property:vendor.perf.ubp_experiment_is_running="" \
&& property:vendor.pixel.system.phenotype.Perf__ubp_experiment=true
setprop vendor.perf.ubp_experiment_is_running true
write /proc/vendor_sched/groups/bg/use_batch_policy 0
write /proc/vendor_sched/groups/sys_bg/use_batch_policy 0
# Ramp down the experiment, but only if it was running before.
on property:vendor.perf.allow_experiments=1 \
&& property:vendor.perf.ubp_experiment_is_running=true \
&& property:vendor.pixel.system.phenotype.Perf__ubp_experiment=""
setprop vendor.perf.ubp_experiment_is_running ""
write /proc/vendor_sched/groups/bg/use_batch_policy 1
write /proc/vendor_sched/groups/sys_bg/use_batch_policy 1
+11
View File
@@ -0,0 +1,11 @@
on property:sys.boot_completed=1
chown system system /sys/class/power_supply/maxfg_base/fg_learning_events
chown system system /sys/class/power_supply/maxfg/fg_learning_events
start vendor.pixelstats_vendor
on post-fs-data
chown system system /sys/kernel/metrics/irq/stats_reset
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
class hal
user system
group system context_hub readproc
disabled
+12
View File
@@ -0,0 +1,12 @@
# IMS packet router daemon
service pktrouter /system/vendor/bin/wfc-pkt-router
class main
user root
group system radio
disabled
on property:vendor.pktrouter=1
start pktrouter
on property:vendor.pktrouter=0
stop pktrouter
+13
View File
@@ -0,0 +1,13 @@
# RFS daemon
service RFS-daemon /vendor/bin/rfsd -d
class main
# FEATURE_RFSD_GOOGLE
# Change to radio user
user radio
group radio cache inet misc audio sdcard_rw log
seclabel u:r:rfsd:s0
# FEATURE_RFSD_GOOGLE
# Add capabilities
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
shutdown critical
ioprio rt 0
+9
View File
@@ -0,0 +1,9 @@
service ril-daemon /vendor/bin/hw/rild_exynos
class main
user radio
group radio cache inet misc audio log readproc wakelock
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
seclabel u:r:rild:s0
on property:vendor.sys.rild_reset=1
setprop vendor.sys.rild_reset 0
@@ -0,0 +1,7 @@
service android-hardware-media-c2-hal-1-2 /vendor/bin/hw/samsung.hardware.media.c2@1.2-service
class hal
user mediacodec
group camera mediadrm drmrpc
ioprio rt 4
writepid /dev/cpuset/foreground/tasks
+18
View File
@@ -0,0 +1,18 @@
# Copyright (C) 2021 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
service trusty_metricsd /vendor/bin/trusty_metricsd -d /dev/trusty-ipc-dev0
class main
user system
group system
+5
View File
@@ -0,0 +1,5 @@
service twoshay /vendor/bin/twoshay -s
class hal
user root
group input
disabled
+14
View File
@@ -0,0 +1,14 @@
on boot
# copy persist cal and convert format
chmod 0444 /mnt/vendor/persist/uwb/uwb.cal
rm /data/vendor/uwb/uwb.cal
rm /data/vendor/uwb/factory_uwb.conf
copy /mnt/vendor/persist/uwb/uwb.cal /data/vendor/uwb/uwb.cal
chown uwb uwb /data/vendor/uwb/uwb.cal
start vendor_uwb_init
service vendor_uwb_init /vendor/bin/init_uwb_calib /data/vendor/uwb/uwb.cal /data/vendor/uwb/factory_uwb.conf
user uwb
group uwb
oneshot
disabled
@@ -0,0 +1,7 @@
service vendor-dolby-media-c2-hal-1-0 /vendor/bin/hw/vendor.dolby.media.c2@1.0-service
class hal
user mediacodec
group camera mediadrm drmrpc
ioprio rt 4
writepid /dev/cpuset/foreground/tasks
@@ -0,0 +1,152 @@
on property:vendor.all.modules.ready=1
mkdir /data/vendor/mitigation 0755 system system
rm /data/vendor/mitigation/thismeal_bak.bin
copy /data/vendor/mitigation/thismeal.bin /data/vendor/mitigation/thismeal_bak.bin
chown system system /data/vendor/mitigation/thismeal_bak.bin
chown system system /data/vendor/mitigation
chown system system /sys/devices/virtual/pmic/mitigation/br_stats/enable_br_stats
chown system system /sys/devices/virtual/pmic/mitigation/br_stats/stats
chown system system /sys/devices/virtual/pmic/mitigation/br_stats/max_odpm_stats
chown system system /sys/devices/virtual/pmic/mitigation/triggered_state/uvlo1_triggered
chown system system /sys/devices/virtual/pmic/mitigation/triggered_state/uvlo2_triggered
chown system system /sys/devices/virtual/pmic/mitigation/triggered_state/oilo1_triggered
chown system system /sys/devices/virtual/pmic/mitigation/triggered_state/oilo2_triggered
chown system system /sys/devices/virtual/pmic/mitigation/triggered_state/smpl_triggered
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/batoilo_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/batoilo2_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_cpu1_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_cpu2_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_gpu_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_tpu_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/smpl_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_cpu1_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_cpu2_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_gpu_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_tpu_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/uvlo1_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_lvl/uvlo2_lvl
chown system system /sys/devices/virtual/pmic/mitigation/triggered_rel/uvlo1_rel
chown system system /sys/devices/virtual/pmic/mitigation/triggered_rel/uvlo2_rel
chown system system /sys/devices/virtual/pmic/mitigation/triggered_rel/dvfs_rel
chown system system /sys/devices/virtual/pmic/mitigation/triggered_det/smpl_det
chown system system /sys/devices/virtual/pmic/mitigation/triggered_det/uvlo1_det
chown system system /sys/devices/virtual/pmic/mitigation/triggered_det/uvlo2_det
chown system system /sys/devices/virtual/pmic/mitigation/debounce_time/batoilo2_det
chown system system /sys/devices/virtual/pmic/mitigation/instruction/dvfs_ramp_enable
start vendor.battery_mitigation
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,if,otg && property:sys.boot.reason=reboot,uvlo,pmic,if,otg
setprop vendor.brownout_reason "uvlo,pmic,if,otg"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,if,usb && property:sys.boot.reason=reboot,uvlo,pmic,if,usb
setprop vendor.brownout_reason "uvlo,pmic,if,usb"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,if && property:sys.boot.reason=reboot,uvlo,pmic,if
setprop vendor.brownout_reason "uvlo,pmic,if"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,pmic,if,otg && property:sys.boot.reason=reboot,ocp,pmic,if,otg
setprop vendor.brownout_reason "ocp,pmic,if,otg"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,pmic,if,usb && property:sys.boot.reason=reboot,ocp,pmic,if,usb
setprop vendor.brownout_reason "ocp,pmic,if,usb"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,pmic,if && property:sys.boot.reason=reboot,ocp,pmic,if
setprop vendor.brownout_reason "ocp,pmic,if"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp2,pmic,if,otg && property:sys.boot.reason=reboot,ocp2,pmic,if,otg
setprop vendor.brownout_reason "ocp2,pmic,if,otg"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp2,pmic,if,usb && property:sys.boot.reason=reboot,ocp2,pmic,if,usb
setprop vendor.brownout_reason "ocp2,pmic,if,usb"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp2,pmic,if && property:sys.boot.reason=reboot,ocp2,pmic,if
setprop vendor.brownout_reason "ocp2,pmic,if"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,main && property:sys.boot.reason=reboot,uvlo,pmic,main
setprop vendor.brownout_reason "uvlo,pmic,main"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,sub && property:sys.boot.reason=reboot,uvlo,pmic,sub
setprop vendor.brownout_reason "uvlo,pmic,sub"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK1M && property:sys.boot.reason=reboot,ocp,buck1m
setprop vendor.brownout_reason "ocp,buck1m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK2M && property:sys.boot.reason=reboot,ocp,buck2m
setprop vendor.brownout_reason "ocp,buck2m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK3M && property:sys.boot.reason=reboot,ocp,buck3m
setprop vendor.brownout_reason "ocp,buck3m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK4M && property:sys.boot.reason=reboot,ocp,buck4m
setprop vendor.brownout_reason "ocp,buck4m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK5M && property:sys.boot.reason=reboot,ocp,buck5m
setprop vendor.brownout_reason "ocp,buck5m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK6M && property:sys.boot.reason=reboot,ocp,buck6m
setprop vendor.brownout_reason "ocp,buck6m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK7M && property:sys.boot.reason=reboot,ocp,buck7m
setprop vendor.brownout_reason "ocp,buck7m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK8M && property:sys.boot.reason=reboot,ocp,buck8m
setprop vendor.brownout_reason "ocp,buck8m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK9M && property:sys.boot.reason=reboot,ocp,buck9m
setprop vendor.brownout_reason "ocp,buck9m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK10M && property:sys.boot.reason=reboot,ocp,buck10m
setprop vendor.brownout_reason "ocp,buck10m"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK1S && property:sys.boot.reason=reboot,ocp,buck1s
setprop vendor.brownout_reason "ocp,buck1s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK2S && property:sys.boot.reason=reboot,ocp,buck2s
setprop vendor.brownout_reason "ocp,buck2s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK3S && property:sys.boot.reason=reboot,ocp,buck3s
setprop vendor.brownout_reason "ocp,buck3s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK4S && property:sys.boot.reason=reboot,ocp,buck4s
setprop vendor.brownout_reason "ocp,buck4s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK5S && property:sys.boot.reason=reboot,ocp,buck5s
setprop vendor.brownout_reason "ocp,buck5s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK6S && property:sys.boot.reason=reboot,ocp,buck6s
setprop vendor.brownout_reason "ocp,buck6s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK7S && property:sys.boot.reason=reboot,ocp,buck7s
setprop vendor.brownout_reason "ocp,buck7s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK8S && property:sys.boot.reason=reboot,ocp,buck8s
setprop vendor.brownout_reason "ocp,buck8s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK9S && property:sys.boot.reason=reboot,ocp,buck9s
setprop vendor.brownout_reason "ocp,buck9s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCK10S && property:sys.boot.reason=reboot,ocp,buck10s
setprop vendor.brownout_reason "ocp,buck10s"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCKDS && property:sys.boot.reason=reboot,ocp,buckds
setprop vendor.brownout_reason "ocp,buckds"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCKAS && property:sys.boot.reason=reboot,ocp,buckas
setprop vendor.brownout_reason "ocp,buckas"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCKCS && property:sys.boot.reason=reboot,ocp,buckcs
setprop vendor.brownout_reason "ocp,buckcs"
on property:vendor.all.modules.ready=1 && property:ro.boot.bootreason=reboot,ocp,BUCKBS && property:sys.boot.reason=reboot,ocp,buckbs
setprop vendor.brownout_reason "ocp,buckbs"
on property:vendor.brownout.br.feasible=1
chown system system data/vendor/mitigation/lastmeal.txt
chown system system data/vendor/mitigation/lastmeal.csv
service vendor.battery_mitigation /vendor/bin/hw/battery_mitigation
user system
group system
priority -20
capabilities WAKE_ALARM BLOCK_SUSPEND
writepid /dev/cpuset/system-background/tasks
@@ -0,0 +1,6 @@
service edgetpu_vendor_service /vendor/bin/hw/vendor.google.edgetpu_vendor_service@1.0-service
interface aidl com.google.edgetpu.IEdgeTpuVendorService/default
disabled
oneshot
user system
group system
@@ -0,0 +1,110 @@
service google_battery /vendor/bin/hw/vendor.google.google_battery-service
class hal
user system
group system
on property:vendor.all.modules.ready=1 && property:vendor.all.devices.ready=1
chown system system /sys/class/power_supply/battery/charge_deadline
chown system system /sys/class/power_supply/battery/charge_deadline_dryrun
chown system system /sys/class/power_supply/battery/aacr_state
chown system system /sys/class/power_supply/battery/aacr_cycle_max
chown system system /sys/class/power_supply/battery/aacr_cycle_grace
chown system system /sys/class/power_supply/battery/aacr_min_capacity_rate
chown system system /sys/class/power_supply/battery/aacr_cliff_capacity_rate
chown system system /sys/class/power_supply/battery/aacr_profile
chown system system /sys/class/power_supply/battery/aafv_state
chown system system /sys/class/power_supply/battery/aafv_apply_max
chown system system /sys/class/power_supply/battery/aafv_max_offset
chown system system /sys/class/power_supply/battery/aafv_cliff_cycle
chown system system /sys/class/power_supply/battery/aafv_cliff_offset
chown system system /sys/class/power_supply/battery/aafv_profile
chown system system /sys/class/power_supply/battery/aact_state
chown system system /sys/class/power_supply/battery/aact_cv_limits
chown system system /sys/class/power_supply/battery/aact_temp_limits
chown system system /sys/class/power_supply/battery/aact_chg_ecc
chown system system /sys/class/power_supply/battery/aact_profile
chown system system /sys/class/power_supply/battery/aacp_version
chown system system /sys/class/power_supply/battery/aacp_opt_out
chown system system /sys/class/power_supply/battery/aacp_opt_out_cutoff_cycles
chown system system /sys/class/power_supply/battery/aacc_chg_profile
chown system system /sys/class/power_supply/battery/bd_trickle_enable
chown system system /sys/class/power_supply/battery/bd_trickle_recharge_soc
chown system system /sys/class/power_supply/battery/bd_trickle_cnt
chown system system /sys/class/power_supply/battery/bd_trickle_dry_run
chown system system /sys/class/power_supply/battery/bd_trickle_reset_sec
chown system system /sys/class/power_supply/battery/bd_trickle_version
chown system system /sys/class/power_supply/battery/bd_trickle_rate
chown system system /sys/class/power_supply/battery/bd_trickle_cnt_thr
chown system system /sys/class/power_supply/battery/health_safety_margin
chown system system /sys/class/power_supply/battery/health_algo
chown system system /sys/class/power_supply/battery/health_set_cal_mode
chown system system /sys/class/power_supply/battery/health_get_cal_state
chown system system /sys/class/power_supply/battery/health_set_trend_points
chown system system /sys/class/power_supply/battery/health_set_low_boundary
chown system system /sys/class/power_supply/battery/csi_stats
chown system system /sys/class/power_supply/wireless/device/mitigate_threshold
chown system system /sys/class/power_supply/wireless/device/rx_fwupdate
chown system system /sys/class/power_supply/wireless/device/rx_vertag
chown system system /sys/class/power_supply/wireless/device/qi22_en_gpio
chown system system /sys/devices/platform/soc/soc:google,charger/bd_drainto_soc
chown system system /sys/devices/platform/soc/soc:google,charger/bd_recharge_soc
chown system system /sys/devices/platform/soc/soc:google,charger/bd_recharge_voltage
chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_abs_temp
chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_soc
chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_temp
chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_time
chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_temp
chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_time
chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_voltage
chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_enable
chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_dry_run
chown system system /sys/devices/platform/google,charger/bd_drainto_soc
chown system system /sys/devices/platform/google,charger/bd_recharge_soc
chown system system /sys/devices/platform/google,charger/bd_recharge_voltage
chown system system /sys/devices/platform/google,charger/bd_resume_abs_temp
chown system system /sys/devices/platform/google,charger/bd_resume_soc
chown system system /sys/devices/platform/google,charger/bd_resume_temp
chown system system /sys/devices/platform/google,charger/bd_resume_time
chown system system /sys/devices/platform/google,charger/bd_trigger_temp
chown system system /sys/devices/platform/google,charger/bd_trigger_time
chown system system /sys/devices/platform/google,charger/bd_trigger_voltage
chown system system /sys/devices/platform/google,charger/bd_temp_enable
chown system system /sys/devices/platform/google,charger/bd_temp_dry_run
chown system system /sys/devices/platform/google,charger/dd_charge_start_level
chown system system /sys/devices/platform/google,charger/dd_charge_stop_level
chown system system /sys/devices/platform/google,charger/dd_settings
chown system system /sys/devices/platform/google,charger/dd_state
chown system system /sys/devices/platform/maxim,max77779fwu/enable_update
chown system system /sys/devices/platform/maxim,max77779fwu/update_firmware
chown system system /sys/class/power_supply/battery/charge_to_limit
chown system system /sys/class/power_supply/battery/force_fcr_update_ops
chown system system /sys/class/power_supply/maxfg/fix_cycle_count
chown system system /sys/class/power_supply/maxfg_base/fix_cycle_count
chown system system /sys/class/power_supply/maxfg/aafv_config
chown system system /sys/class/power_supply/maxfg_base/aafv_config
chown system system /sys/class/power_supply/max77779fg/aafv_config
chown system system /sys/class/power_supply/maxfg/bypass_chargelimit_fcn_delta
chown system system /sys/class/power_supply/maxfg_base/bypass_chargelimit_fcn_delta
chown system system /sys/class/power_supply/max77779fg/bypass_chargelimit_fcn_delta
chown system system /sys/class/power_supply/maxfg/bypass_chargelimit_cycle_delta
chown system system /sys/class/power_supply/maxfg_base/bypass_chargelimit_cycle_delta
chown system system /sys/class/power_supply/max77779fg/bypass_chargelimit_cycle_delta
chown system system /sys/class/power_supply/maxfg/bypass_chargelimit_ops
chown system system /sys/class/power_supply/maxfg_base/bypass_chargelimit_ops
chown system system /sys/class/power_supply/max77779fg/bypass_chargelimit_ops
chown system system /sys/class/power_supply/battery/capacity_level_drain_sample_period
chown system system /sys/class/power_supply/battery/capacity_level_drain_rate_threshold
chown system system /sys/class/power_supply/battery/capacity_level_chg_speed_threshold
chown system system /sys/class/power_supply/battery/capacity_level_thermal_threshold
chown system system /sys/class/power_supply/battery/capacity_level_bd_threshold
@@ -0,0 +1,8 @@
service vendor.modem_ml_svc_sit /vendor/bin/modem_ml_svc_sit -s
class core
user radio
group system
on post-fs-data
# Folder for data collection
mkdir /data/vendor/modem_ml 0770 radio system
@@ -0,0 +1,7 @@
service vendor.google.radioext@1.0 /vendor/bin/hw/vendor.google.radioext@1.0-service
class hal
user radio
group radio system
on post-fs-data
mkdir /data/vendor/radio/freq 0775 radio system
@@ -0,0 +1,22 @@
service wireless_charger_AIDL /vendor/bin/hw/vendor.google.wireless_charger-default
class charger hal
user system
group system
on property:vendor.all.modules.ready=1 && property:vendor.all.devices.ready=1
chown system system /sys/class/power_supply/wireless/capacity
chown system system /sys/class/power_supply/wireless/device/rtx
chown system system /sys/class/power_supply/wireless/device/rxdata
chown system system /sys/class/power_supply/wireless/device/txdata
chown system system /sys/class/power_supply/wireless/device/rxlen
chown system system /sys/class/power_supply/wireless/device/txlen
chown system system /sys/class/power_supply/wireless/device/ccreset
chown system system /sys/class/power_supply/wireless/device/status
chown system system /sys/class/power_supply/wireless/device/version
chown system system /sys/class/power_supply/wireless/device/features
chown system system /sys/class/power_supply/wireless/device/authtype
chown system system /sys/class/power_supply/wireless/device/authstart
chown system system /sys/class/power_supply/wireless/device/stream
chown system system /sys/class/power_supply/wireless/device/fwupdate_data
chown system system /sys/class/power_supply/wireless/device/compatibility
chown system system /sys/class/power_supply/wireless/device/qispec
@@ -0,0 +1,14 @@
on post-fs-data
mkdir /data/vendor/wireless_charger 0744 system system
chown system system /data/vendor/wireless_charger
service hal_wlcservice /vendor/bin/hw/vendor.google.wireless_charger.service-default
interface aidl vendor.google.wireless_charger.service.IWlcService/default
oneshot
class charger hal
user system
group system
file /dev/kmsg w
on property:vendor.wlcservice.start=1
start hal_wlcservice