otter: Update init scripts

Change-Id: Ibb12db16d8c64c64b2b7358477e59d933efe4425
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 16a143a..fd539cf 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -147,7 +147,7 @@
 # Recovery
 BOARD_INCLUDE_RECOVERY_DTBO := true
 BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
-TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.default
+TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.qcom
 TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
 TARGET_RECOVERY_UI_MARGIN_HEIGHT := 110
 TARGET_RECOVERY_UI_MARGIN_WIDTH := 10
diff --git a/device.mk b/device.mk
index c005091..e57969d 100644
--- a/device.mk
+++ b/device.mk
@@ -186,10 +186,8 @@
 
 # Init
 PRODUCT_PACKAGES += \
-    fstab.default \
-    fstab.default.vendor_ramdisk \
-    init.bt_mac.rc \
-    init.bt_mac.sh \
+    fstab.qcom \
+    fstab.qcom.vendor_ramdisk \
     init.class_main.sh \
     init.qcom.early_boot.sh \
     init.qcom.post_boot.sh \
@@ -198,7 +196,6 @@
     init.qcom.sh \
     init.qcom.usb.rc \
     init.qcom.usb.sh \
-    init.stnfc.rc \
     init.target.rc \
     ueventd.qcom.rc
 
diff --git a/init/Android.bp b/init/Android.bp
index 6cbd7a3..3915969 100644
--- a/init/Android.bp
+++ b/init/Android.bp
@@ -4,20 +4,13 @@
 //
 
 prebuilt_etc {
-    name: "fstab.default",
-    src: "fstab.default",
+    name: "fstab.qcom",
+    src: "fstab.qcom",
     vendor: true,
     vendor_ramdisk_available: true,
 }
 
 prebuilt_etc {
-    name: "init.bt_mac.rc",
-    src: "init.bt_mac.rc",
-    sub_dir: "init",
-    vendor: true,
-}
-
-prebuilt_etc {
     name: "init.qcom.rc",
     src: "init.qcom.rc",
     sub_dir: "init/hw",
@@ -32,13 +25,6 @@
 }
 
 prebuilt_etc {
-    name: "init.stnfc.rc",
-    src: "init.stnfc.rc",
-    sub_dir: "init/hw",
-    vendor: true,
-}
-
-prebuilt_etc {
     name: "init.target.rc",
     src: "init.target.rc",
     sub_dir: "init/hw",
@@ -53,12 +39,6 @@
 }
 
 sh_binary {
-    name: "init.bt_mac.sh",
-    src: "init.bt_mac.sh",
-    vendor: true,
-}
-
-sh_binary {
     name: "init.class_main.sh",
     src: "init.class_main.sh",
     vendor: true,
diff --git a/init/fstab.default b/init/fstab.qcom
similarity index 97%
rename from init/fstab.default
rename to init/fstab.qcom
index f72b600..0a7b0d0 100644
--- a/init/fstab.default
+++ b/init/fstab.qcom
@@ -40,7 +40,7 @@
 product                                                 /product               ext4    ro,barrier=1,discard                                 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
 vendor                                                  /vendor                ext4    ro,barrier=1,discard                                 wait,slotselect,avb,logical,first_stage_mount
 odm                                                     /odm                   ext4    ro,barrier=1,discard                                 wait,slotselect,avb,logical,first_stage_mount
-/dev/block/by-name/metadata                             /metadata              ext4    noatime,nosuid,nodev,discard                         wait,check,formattable,first_stage_mount
+/dev/block/by-name/metadata                             /metadata              ext4    noatime,nosuid,nodev,discard,sync,data=journal       wait,check,formattable,first_stage_mount
 /dev/block/bootdevice/by-name/persist                   /mnt/vendor/persist    ext4    noatime,nosuid,nodev,barrier=1                       wait
 /dev/block/bootdevice/by-name/userdata                  /data                  f2fs    noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier    latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
 /dev/block/bootdevice/by-name/misc                      /misc                  emmc    defaults                                             defaults
diff --git a/init/init.bt_mac.rc b/init/init.bt_mac.rc
deleted file mode 100644
index c919d81..0000000
--- a/init/init.bt_mac.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service init.bt_mac /vendor/bin/init.bt_mac.sh
-    class core
-    group root system
-    oneshot
diff --git a/init/init.bt_mac.sh b/init/init.bt_mac.sh
deleted file mode 100644
index 39cc602..0000000
--- a/init/init.bt_mac.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/vendor/bin/sh
-BT_MACADDR=/mnt/vendor/persist/t2m_param/bt_macaddr
-
-setprop persist.vendor.service.bdroid.bdaddr $(cat "$BT_MACADDR")
diff --git a/init/init.qcom.early_boot.sh b/init/init.qcom.early_boot.sh
index 76a9415..54fb93d 100644
--- a/init/init.qcom.early_boot.sh
+++ b/init/init.qcom.early_boot.sh
@@ -434,7 +434,7 @@
 case "$target" in
        "msm8937")
           case "$soc_hwid" in
-              386|354|353|303)
+              386|354|353|303|436)
                  # enable qrtr-ns service for kernel 4.14 or above
                  KernelVersionStr=`cat /proc/sys/kernel/osrelease`
                  KernelVersionS=${KernelVersionStr:2:2}
diff --git a/init/init.qcom.rc b/init/init.qcom.rc
index c2e21b0..ef89d5a 100644
--- a/init/init.qcom.rc
+++ b/init/init.qcom.rc
@@ -31,7 +31,6 @@
 
 import /vendor/etc/init/hw/init.qcom.usb.rc
 import /vendor/etc/init/hw/init.target.rc
-import /vendor/etc/init/hw/init.stnfc.rc
 
 on early-init
   # create symlink for vendor mount points
@@ -61,6 +60,19 @@
     chown root system /sys/fs/cgroup/memory/bg/tasks
     chmod 0660 /sys/fs/cgroup/memory/bg/tasks
 
+    # Support mount point for vibrator
+    chown system system /sys/class/leds/drv26xx_haptic/activate
+    chown system system /sys/class/leds/drv26xx_haptic/duration
+    chown system system /sys/class/leds/drv26xx_haptic/state
+    chown system system /sys/class/leds/drv26xx_haptic/calib
+    chown system system /sys/class/leds/drv26xx_haptic/CalBemf
+    chown system system /sys/class/leds/drv26xx_haptic/CalComp
+    chown system system /sys/class/leds/drv26xx_haptic/CalGain
+    chown system system /sys/class/leds/drv26xx_haptic/calib
+    chown system system /sys/class/leds/drv26xx_haptic/diag
+    chown system system /sys/class/leds/drv26xx_haptic/f0_lsb
+    chown system system /sys/class/leds/drv26xx_haptic/f0_msb
+
 on early-boot
     # set RLIMIT_MEMLOCK to 64MB
     setrlimit 8 67108864 67108864
@@ -177,6 +189,9 @@
     chown root system /sys/kernel/dload/dload_mode
     chmod 0660 /sys/kernel/dload/dload_mode
 
+    chmod 0660 /sys/class/display/panel/bl_fps_func
+    chown system system /sys/class/display/panel/bl_fps_func
+    chmod 0660 /sys/class/backlight/panel0-backlight/brightness
     chown system system /sys/class/backlight/panel0-backlight/brightness
     chown system system /sys/class/backlight/panel0-backlight/max_brightness
     chown system system /sys/class/backlight/panel1-backlight/brightness
@@ -200,6 +215,8 @@
     # Create vpp directory
     mkdir /mnt/vendor/persist/vpp 0770 media media
 
+    chown system system /dev/goodix_fp
+    chmod 0660 /dev/goodix_fp
 
     # Create hvdcp_opti directory
     mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
@@ -366,6 +383,11 @@
     #Create dir for TUI
     mkdir /data/vendor/tui 0700 system drmrpc
 
+    mkdir /data/vendor/goodix 0770 system system
+    mkdir /data/vendor/goodix/gf_data 0770 system system
+    restorecon /data/vendor/goodix/gf_data
+    chmod 0770 /mnt/vendor/persist/goodix
+
 service nqnfcinfo /system/vendor/bin/nqnfcinfo
     class late_start
     group nfc
@@ -431,6 +453,13 @@
     #Reinit lmkd to reconfigure lmkd properties
     setprop lmkd.reinit 1
 
+on property:persist.sys.dynamic_fps=0
+    write /sys/class/display/panel/dynamic_fps 0    
+on property:persist.sys.dynamic_fps=1
+    write /sys/class/display/panel/dynamic_fps 1
+on property:persist.sys.dynamic_fps=2
+    write /sys/class/display/panel/dynamic_fps 2
+
 # corefile limit
 on property:persist.debug.trace=1
     mkdir /data/core 0777 root root
@@ -456,6 +485,12 @@
     start qcom-c_main-sh
     start wcnss-service
 
+on property:persist.sys.fts_gesture_mode=0
+    write /sys/bus/i2c/devices/3-0038/fts_gesture_mode 0
+
+on property:persist.sys.fts_gesture_mode=1
+    write /sys/bus/i2c/devices/3-0038/fts_gesture_mode 1
+
 service vendor.qrtr-ns /vendor/bin/qrtr-ns -f
     class core
     user vendor_qrtr
diff --git a/init/init.stnfc.rc b/init/init.stnfc.rc
deleted file mode 100644
index 91882a1..0000000
--- a/init/init.stnfc.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file needs to be executed by vendor_init at boot of the device,
-# both in normal and factory mode.
-on post-fs-data
-    mkdir /data/vendor/nfc 0770 nfc nfc
-    chmod 0660 /dev/st21nfc
-    chown nfc nfc /dev/st21nfc
diff --git a/init/init.target.rc b/init/init.target.rc
index ac06da9..7f79d75 100644
--- a/init/init.target.rc
+++ b/init/init.target.rc
@@ -32,9 +32,11 @@
 
 on early-init
     exec u:r:vendor_modprobe:s0 -- /vendor/bin/vendor_modprobe.sh
-    exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_wcd_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm hdmi_dlkm stub_dlkm wcd_core_dlkm wsa883x_dlkm aw882xx_dlkm bolero_cdc_dlkm wsa_macro_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm swr_dmic_dlkm swr_haptics_dlkm machine_dlkm radio-i2c-rtc6226-qca cdsprm
+    exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_wcd_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm hdmi_dlkm stub_dlkm wcd_core_dlkm wsa883x_dlkm bolero_cdc_dlkm wsa_macro_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm swr_dmic_dlkm swr_haptics_dlkm machine_dlkm radio-i2c-rtc6226-qca cdsprm tasdevice_dlkm
     write /proc/sys/kernel/sched_boost 1
     wait /sys/devices/soc0/soc_id
+    chmod 666 /sys/bus/i2c/devices/3-0038/fts_wakeup_fp
+    chmod 666 /sys/bus/i2c/devices/3-0038/fts_gesture_mode
 
 on init
     # Scheduler uclamp
@@ -68,52 +70,17 @@
     chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
     start logd
 
-    chown system system /sys/class/leds/vibrator_1/trigger
-    chown system system /sys/class/leds/vibrator_1/activate
-    chown system system /sys/class/leds/vibrator_1/brightness
-    chown system system /sys/class/leds/vibrator_1/duration
-    chown system system /sys/class/leds/vibrator_1/state
-    chown system system /sys/class/leds/vibrator_1/loop
-    chown system system /sys/class/leds/vibrator_1/seq
-    chown system system /sys/class/leds/vibrator_1/index
-    chown system system /sys/class/leds/vibrator_1/enable
-    chown system system /sys/class/leds/vibrator_1/rtp
-    chown system system /sys/class/leds/vibrator_1/activate_mode
-
-	# add sensor sysfs node
-    chmod 0666 /sys/emkit/info/proximity
-    chown system system /sys/emkit/info/proximity
-
-	chmod 0666 /sys/emkit/info/acceleration
-    chown system system /sys/emkit/info/acceleration
-
-	chmod 0666 /sys/emkit/info/gyroscope
-    chown system system /sys/emkit/info/gyroscope
-
-	chmod 0666 /sys/emkit/info/magnetic
-    chown system system /sys/emkit/info/magnetic
-
-	chmod 0666 /sys/emkit/info/light
-    chown system system /sys/emkit/info/light
-
-	chmod 0666 /sys/emkit/info/pressure
-    chown system system /sys/emkit/info/pressure
-	# add sensor sysfs node
 on early-fs
     start vold
 
 on fs
     start hwservicemanager
     mkdir /mnt/vendor/spunvm 0660 system system
-    mount_all --early
+    mount_all /vendor/etc/fstab.qcom --early
     chown root system /mnt/vendor/persist
     chmod 0771 /mnt/vendor/persist
     restorecon_recursive /mnt/vendor/persist
     mkdir /mnt/vendor/persist/data 0700 system system
-    mkdir /mnt/vendor/persist/factory 0771 root system
-    mkdir /mnt/vendor/persist/factory/audio 0771 root system
-    chown root system /mnt/vendor/persist/factory/audio/aw_cali.bin
-    chmod 0664 /mnt/vendor/persist/factory/audio/aw_cali.bin
 
 on fs && property:ro.boot.product.vendor.sku=lahaina
     mkdir /mnt/vendor/spunvm 0660 system system
@@ -125,22 +92,18 @@
     setrlimit 8 67108864 67108864
 
 on late-fs
-    mount_all --late
+    mount_all /vendor/etc/fstab.qcom --late
 
 on post-fs-data
     mkdir /vendor/data/tombstones 0771 system system
     # Enable WLAN cold boot calibration
     write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6490/fs_ready 1
 
-    mkdir /data/vendor/focaltech 0760 system system
-    restorecon /data/vendor/focaltech
-
 on early-boot
     start vendor.sensors
 
 on boot
     write /dev/cpuset/audio-app/cpus 1-2
-    chmod 0666 /dev/aw882xx_smartpa
     chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_enable
     chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_enable
     chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
@@ -172,15 +135,12 @@
     #Allow access to memory hotplug device attributes
     chown system system /sys/kernel/mem-offline/anon_migrate
 
-    chown system system /dev/focaltech_fp
-    chmod 0660 /dev/focaltech_fp
-    # double tap
-    chown system system /sys/devices/platform/goodix_ts.0/gesture/double_en
-    chmod 0660 /sys/devices/platform/goodix_ts.0/gesture/double_en
-    # charging enable
-    chmod 0666 /sys/class/power_supply/battery/user_fcc
-    # charge mode fcc
-    chmod 0666 /sys/class/power_supply/battery/chgmode_fcc
+    # Vibrator calibration
+    chown system system /mnt/vendor/persist/data/cali.txt
+    chmod 0666 /mnt/vendor/persist/data/cali.txt
+
+on property:sys.boot_completed=1
+    start vendor.vibratorcal
 
 on property:vendor.display.lcd_density=560
    setprop dalvik.vm.heapgrowthlimit 256m
@@ -201,11 +161,6 @@
     setprop sys.usb.controller a600000.dwc3
     setprop sys.usb.configfs 1
 
-on post-fs
-    mkdir /mnt/vendor/persist/camera 0777 system system
-    chown system system /dev/stmvl53l1_ranging
-    chmod 0666 /dev/stmvl53l1_ranging
-
 service vendor.lowi /vendor/bin/lowirpcd
    class core
    user system
@@ -268,21 +223,10 @@
     disabled
     oneshot
 
-#Begin xueling.chen for [Task][10694283] Add sensor info & otp check on 20210129
-#Begin jialiwei add for dual calibration 20230312
-on post-fs-data
-    chmod 0666 /sys/class/deviceinfo/device_info/CamNameB
-    chmod 0666 /sys/class/deviceinfo/device_info/CamNameB2
-    chmod 0666 /sys/class/deviceinfo/device_info/CamNameF
-    chmod 0666 /sys/class/deviceinfo/device_info/CamOTPB
-    chmod 0666 /sys/class/deviceinfo/device_info/CamOTPB2
-    chmod 0666 /sys/class/deviceinfo/device_info/CamOTPF
-    chmod 0666 /sys/devices/platform/soc/ac4a000.qcom,cci0/ac4a000.qcom,cci0:qcom,eeprom0/calibration_data
-    chmod 0666 /sys/devices/platform/soc/ac4a000.qcom,cci0/ac4a000.qcom,cci0:qcom,eeprom0/calibration_flag
-#end jialiwei add for dual calibration 20230312
-#End   xueling.chen for [Task][10694283] Add sensor info & otp check on 20210129
-    chmod 0666 /sys/class/debug_ois/accgain
-    chmod 0666 /sys/class/debug_ois/afdrift
-    chmod 0666 /sys/class/debug_ois/oisops
-    chmod 0666 /sys/class/debug_ois/oisreg
-
+# Vibrator
+service vendor.vibratorcal /vendor/bin/vibratorcal
+    class core
+    user system
+    group system shell everybody
+    oneshot
+    disabled
diff --git a/init/ueventd.qcom.rc b/init/ueventd.qcom.rc
index 79d1a39..bcdc702 100644
--- a/init/ueventd.qcom.rc
+++ b/init/ueventd.qcom.rc
@@ -174,6 +174,8 @@
 /dev/qg                   0660  system     system
 /dev/qg_battery           0660  system     system
 
+/dev/goodix_fp            0660   system    system
+
 #qvr
 /dev/qvr_external_sensor_ioctl      0660  system  system
 /dev/bus/usb/*                      0660  root    usb