1# Husky specific init.rc
2import /vendor/etc/init/hw/init.zuma.rc
3
4on init && property:ro.vendor.factory=1
5    import /vendor/etc/init/hw/init.factory.rc
6
7on init
8    # NFC streset tool name
9    setprop persist.vendor.nfc.streset libstreset23
10    setprop persist.vendor.se.streset libstreset23
11
12on early-boot
13    # Wait for insmod_sh to finish all common modules
14    wait_for_prop vendor.common.modules.ready 1
15    start insmod_sh_husky
16
17service insmod_sh_husky /vendor/bin/insmod.sh /vendor_dlkm/etc/init.insmod.${ro.hardware}.cfg
18    class main
19    user root
20    group root system
21    disabled
22    oneshot
23
24on property:vendor.mfgapi.touchpanel.permission=1
25    chmod 0600 /sys/devices/virtual/sec/tsp/cmd
26    chown system system /sys/devices/virtual/sec/tsp/cmd
27
28# Permissions for display
29on fs
30    chown system system /sys/class/backlight/panel0-backlight/acl_mode
31
32# WiFi
33on post-fs-data
34    setprop wifi.direct.interface p2p-dev-wlan0
35    setprop wifi.aware.interface aware_nmi0
36
37    # Speaker amp permission
38    chmod 644 /mnt/vendor/persist/audio/speaker.cal
39    chmod 644 /mnt/vendor/persist/audio/speaker.diag
40
41# Bluetooth
42on post-fs-data
43    chown bluetooth system /proc/bluetooth/timesync
44    chown bluetooth system /proc/bluetooth/sleep/wakelock_ctrl
45
46# Start the twoshay touch service
47on property:vendor.device.modules.ready=1
48    start twoshay
49
50# Toggle high_sensitivity according to touch_sensitivity_mode
51on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
52    write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 0
53
54on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
55    write /sys/devices/virtual/goog_touch_interface/gti.0/screen_protector_mode_enabled 1
56
57# Haptics
58on property:vendor.all.modules.ready=1
59    mkdir /mnt/vendor/persist/haptics 0770 system system
60    chmod 770 /mnt/vendor/persist/haptics
61    chmod 440 /mnt/vendor/persist/haptics/cs40l26.cal
62    chown system system /mnt/vendor/persist/haptics
63    chown system system /mnt/vendor/persist/haptics/cs40l26.cal
64
65    chown system system /sys/bus/i2c/devices/0-0043/calibration/f0_stored
66    chown system system /sys/bus/i2c/devices/0-0043/calibration/q_stored
67    chown system system /sys/bus/i2c/devices/0-0043/calibration/redc_stored
68    chown system system /sys/bus/i2c/devices/0-0043/default/vibe_state
69    chown system system /sys/bus/i2c/devices/0-0043/default/num_waves
70    chown system system /sys/bus/i2c/devices/0-0043/default/f0_offset
71    chown system system /sys/bus/i2c/devices/0-0043/default/owt_free_space
72    chown system system /sys/bus/i2c/devices/0-0043/default/braking_time_bank
73    chown system system /sys/bus/i2c/devices/0-0043/default/braking_time_index
74    chown system system /sys/bus/i2c/devices/0-0043/default/braking_time_ms
75    chown system system /sys/bus/i2c/devices/0-0043/default/f0_comp_enable
76    chown system system /sys/bus/i2c/devices/0-0043/default/redc_comp_enable
77    chown system system /sys/bus/i2c/devices/0-0043/default/delay_before_stop_playback_us
78    chown system system /sys/bus/i2c/devices/0-0043/dbc/dbc_env_rel_coef
79    chown system system /sys/bus/i2c/devices/0-0043/dbc/dbc_rise_headroom
80    chown system system /sys/bus/i2c/devices/0-0043/dbc/dbc_fall_headroom
81    chown system system /sys/bus/i2c/devices/0-0043/dbc/dbc_enable
82    chown system system /sys/bus/i2c/devices/0-0043/dbc/dbc_tx_lvl_thresh_fs
83    chown system system /sys/bus/i2c/devices/0-0043/dbc/dbc_tx_lvl_hold_off_ms
84    chown system system /sys/bus/i2c/devices/0-0043/default/pm_active_timeout_ms
85
86    enable vendor.vibrator.cs40l26
87
88# For Japan sku, always enforce camera shutter sound
89# Since this property is read by the audio server in system service,
90# it should be written by the system init.
91on property:ro.boot.hardware.sku=GE9DP
92    setprop audio.camerasound.force true
93