We've started pushing init.insmod.*.cfg into the kernel prebuilts, and installing it to /vendor_dlkm/etc, but it may not be available on all prebuilt variants (e.g., kernel 5.10). Here, we: 1. conditionally install our common init.*cfg to /vendor_dlkm (only if $(TARGET_KERNEL_DIR) doesn't have a copy) 2. point init at /vendor_dlkm/etc When we've cycled completely off of kernel 5.10, we can drop #1. Bug: 369686096 Test: build, boot Flag: EXEMPT refactor Change-Id: If8f879366645cbe9bf330d136dd7190763b2d6bc
156 lines
6.6 KiB
Text
156 lines
6.6 KiB
Text
# Felix specific init.rc
|
|
import /vendor/etc/init/hw/init.gs201.rc
|
|
|
|
on init && property:ro.vendor.factory=1
|
|
import /vendor/etc/init/hw/init.factory.rc
|
|
|
|
# SFPS Fingerprint
|
|
on post-fs-data
|
|
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/clk_enable
|
|
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/hw_reset
|
|
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/irq
|
|
chown system system /sys/devices/platform/odm/odm:fp_fpc1020/wakeup_enable
|
|
|
|
# Permissions for hwcomposer
|
|
on fs
|
|
chown system system /sys/class/backlight/panel1-backlight/als_table
|
|
chown system system /sys/class/backlight/panel1-backlight/brightness
|
|
chown system system /sys/class/backlight/panel1-backlight/dimming_on
|
|
chown system system /sys/class/backlight/panel1-backlight/hbm_mode
|
|
chown system system /sys/class/backlight/panel1-backlight/local_hbm_mode
|
|
chown system system /sys/class/backlight/panel1-backlight/allow_wakeup_by_state_change
|
|
chown system system /sys/devices/platform/exynos-drm/secondary-panel/gamma
|
|
chown system system /sys/devices/platform/exynos-drm/secondary-panel/min_vrefresh
|
|
chown system system /sys/devices/platform/exynos-drm/secondary-panel/idle_delay_ms
|
|
chown system system /sys/devices/platform/exynos-drm/secondary-panel/panel_idle
|
|
chown system system /sys/devices/platform/exynos-drm/secondary-panel/panel_need_handle_idle_exit
|
|
chown system system /sys/class/dqe1/atc/ambient_light
|
|
chown system system /sys/class/dqe1/atc/st
|
|
chown system system /sys/class/dqe1/atc/en
|
|
chown system system /sys/class/dqe1/atc/lt
|
|
chown system system /sys/class/dqe1/atc/ns
|
|
chown system system /sys/class/dqe1/atc/dither
|
|
chown system system /sys/class/dqe1/atc/pl_w1
|
|
chown system system /sys/class/dqe1/atc/pl_w2
|
|
chown system system /sys/class/dqe1/atc/ctmode
|
|
chown system system /sys/class/dqe1/atc/pp_en
|
|
chown system system /sys/class/dqe1/atc/upgrade_on
|
|
chown system system /sys/class/dqe1/atc/tdr_max
|
|
chown system system /sys/class/dqe1/atc/tdr_min
|
|
chown system system /sys/class/dqe1/atc/back_light
|
|
chown system system /sys/class/dqe1/atc/dstep
|
|
chown system system /sys/class/dqe1/atc/scale_mode
|
|
chown system system /sys/class/dqe1/atc/threshold_1
|
|
chown system system /sys/class/dqe1/atc/threshold_2
|
|
chown system system /sys/class/dqe1/atc/threshold_3
|
|
chown system system /sys/class/dqe1/atc/gain_limit
|
|
chown system system /sys/class/dqe1/atc/lt_calc_ab_shift
|
|
chown system system /sys/devices/platform/1c241000.drmdecon/early_wakeup
|
|
chmod 0660 /sys/devices/platform/1c241000.drmdecon/early_wakeup
|
|
|
|
# Touch
|
|
on property:vendor.device.modules.ready=1
|
|
chown system input /dev/touch_offload_fts
|
|
chown system input /dev/touch_offload_fts_ext
|
|
chmod 660 /dev/touch_offload_fts
|
|
chmod 660 /dev/touch_offload_fts_ext
|
|
# Start the twoshay touch service
|
|
start twoshay
|
|
|
|
# Toggle glove_mode according to touch_sensitivity_mode, only apply to outer panel
|
|
on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
|
|
write /sys/devices/virtual/goog_touch_interface/gti.1/force_active 1
|
|
write /sys/devices/virtual/goog_touch_interface/gti.1/screen_protector_mode_enabled 0
|
|
write /sys/devices/virtual/goog_touch_interface/gti.1/force_active 0
|
|
|
|
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
|
|
write /sys/devices/virtual/goog_touch_interface/gti.1/force_active 1
|
|
write /sys/devices/virtual/goog_touch_interface/gti.1/screen_protector_mode_enabled 1
|
|
write /sys/devices/virtual/goog_touch_interface/gti.1/force_active 0
|
|
|
|
# Load FPC's internal lib
|
|
on init
|
|
setprop ro.hardware.fingerprint "fpc"
|
|
# NFC streset tool name
|
|
setprop persist.vendor.nfc.streset libstreset21
|
|
setprop persist.vendor.se.streset libstreset21
|
|
setprop dalvik.vm.dexopt.thermal-cutoff 1
|
|
|
|
# When ro.build.flavor=factory_felix-userdebug, add vendor/bin/factory to default path
|
|
on init && property:ro.build.flavor=factory_felix-userdebug
|
|
export PATH /product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:/vendor/bin/factory
|
|
|
|
on early-boot
|
|
# Wait for insmod_sh to finish all common modules
|
|
wait_for_prop vendor.common.modules.ready 1
|
|
start insmod_sh_felix
|
|
chown system system /sys/class/power_supply/dualbatt/dbatt_stats
|
|
|
|
service insmod_sh_felix /vendor/bin/insmod.sh /vendor_dlkm/etc/init.insmod.felix.cfg
|
|
class main
|
|
user root
|
|
group root system
|
|
disabled
|
|
oneshot
|
|
|
|
on boot && property:ro.build.flavor=factory_felix-userdebug
|
|
# FTM log folder
|
|
mkdir /data/ftmlog 0775 system system
|
|
|
|
# Audio test folder
|
|
mkdir /data/AudioTest 0775 system system
|
|
|
|
on property:vendor.mfgapi.touchpanel.permission=1
|
|
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
|
|
chown system system /sys/devices/virtual/sec/tsp/cmd
|
|
|
|
# Thermal
|
|
on property:persist.device_config.vendor_system_native_boot.thermal_proactive_skin=1
|
|
setprop vendor.thermal.config "thermal_info_config_proactive_skin.json"
|
|
|
|
on property:vendor.thermal.link_ready=1
|
|
write /dev/thermal/tz-by-name/skin_therm/trip_point_1_temp 61000
|
|
write /dev/thermal/tz-by-name/skin_therm/trip_point_2_temp 63000
|
|
|
|
# Bluetooth
|
|
on post-fs-data
|
|
chown bluetooth system /proc/bluetooth/timesync
|
|
|
|
# Speaker amp permission
|
|
chmod 644 /mnt/vendor/persist/audio/speaker.cal
|
|
|
|
# Hall sensor
|
|
on init && property:ro.bootmode=normal
|
|
write /sys/devices/platform/hall_sensor/enable 0
|
|
|
|
on init && property:ro.bootmode=unknown
|
|
write /sys/devices/platform/hall_sensor/enable 0
|
|
|
|
on init && property:ro.bootmode=factory
|
|
write /sys/devices/platform/hall_sensor/enable 0
|
|
|
|
# SecureElement eSE2 cts mode
|
|
on property:persist.vendor.se.ese2.mode=ctsmode
|
|
write /sys/class/st33spi/st33spi/st33spi_state 33
|
|
|
|
# Allow secure_element group to read / write ST33 SPI state
|
|
on post-fs-data
|
|
chown secure_element secure_element /sys/class/st33spi/st33spi/st33spi_state
|
|
chmod 0660 /sys/class/st33spi/st33spi/st33spi_state
|
|
|
|
# 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
|
|
|
|
# WiFi
|
|
on post-fs-data
|
|
setprop wifi.direct.interface p2p-dev-wlan0
|
|
setprop wifi.aware.interface aware_nmi0
|
|
|
|
# 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=G0B96
|
|
setprop audio.camerasound.force true
|