msm8953-common: Initial Common tree

* based on motorola sdm632-common

Co-authored-by: Jorg3Lucas <jorgelucas@pixelexperience.org>
This commit is contained in:
jeangraff30
2020-09-06 15:31:00 +02:00
commit 1220e128cd
154 changed files with 23679 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
#Blaine add seosors-hal input group for AP senosr,it will override android.hardware.sensors@1.0-service.rc
service sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
class hal
user system
group input system
capabilities SYS_NICE
on boot
# change permission for capsensor
chown system system /sys/class/sensors/Moto\ CapSense\ Ch0/enable
chown system system /sys/class/sensors/Moto\ CapSense\ Ch0/poll_delay
chown system system /sys/class/sensors/Moto\ CapSense\ Ch1/enable
chown system system /sys/class/sensors/Moto\ CapSense\ Ch1/poll_delay
chown system system /sys/class/sensors/Moto\ CapSense\ Ch2/enable
chown system system /sys/class/sensors/Moto\ CapSense\ Ch2/poll_delay
chown system system /sys/class/sensors/Moto\ CapSense\ Ch3/enable
chown system system /sys/class/sensors/Moto\ CapSense\ Ch3/poll_delay
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch0/enable
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch0/poll_delay
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch1/enable
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch1/poll_delay
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch2/enable
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch2/poll_delay
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch3/enable
chmod 0660 /sys/class/sensors/Moto\ CapSense\ Ch3/poll_delay
chown system system /dev/input/event3
chown system system /dev/input/event4
chown system system /dev/input/event5
chown system system /dev/input/event6

View File

@@ -0,0 +1,40 @@
# Chipset-specific init settings
on boot
# Change permission for type C params
chown root oem_5004 /sys/devices/soc/78b6000.i2c/i2c-2/2-0022/CC_state
chown root oem_5004 /sys/devices/soc/78b6000.i2c/i2c-2/2-0022/enable_vconn
# Change ownership and permission for AMPS factory testing
chown root oem_5004 /sys/class/i2c-adapter/i2c-2/2-002d/enable
chmod 0660 /sys/class/i2c-adapter/i2c-2/2-002d/enable
chown root oem_5004 /sys/class/i2c-adapter/i2c-2/2-002d/hsic_vdd
chmod 0660 /sys/class/i2c-adapter/i2c-2/2-002d/hsic_vdd
# Change permission for fingerprint sensor
chown system oem_5004 /sys/devices/soc/soc:fpc_fpc1020/nav
chown system oem_5004 /sys/devices/soc/soc:fpc_fpc1020/dev_enable
chown system oem_5004 /sys/devices/soc/soc:fpc_fpc1020/irq
chown system oem_5004 /sys/devices/soc/soc:fpc_fpc1020/irq_cnt
chmod 0440 /sys/devices/soc/soc:fpc_fpc1020/irq_cnt
on post-fs-data
#setup folder for WLAN WAPI
chmod 0770 /data/wapi_certificate
# This dir only for preinstall app so libs
mkdir /data/app-lib2 0771 system system
on moto-charger
setprop ro.board.platform msm8953
load_system_props
trigger firmware_mounts_complete
start qcom-post-boot
start vendor.gbmodinstall
start vendor.charge_only_mode
start vendor.batt_health
start vendor.thermal-com
start system_suspend
# Set hub drive strength to +5%
on property:ro.bootmode=normal
write /sys/module/usb3813_hub/parameters/boost_val 3

View File

@@ -0,0 +1,43 @@
import init.hidl.sensor.rc
service capsense_set_threshold /system/vendor/bin/capsense_set_threshold
class core
user system
group system
disabled
oneshot
on init
# Change ownership for for HBM feature
chown system system /sys/class/graphics/fb0/hbm
# Change ownership for for cabc feature
chown system system /sys/class/graphics/fb0/cabc
on boot
# capsensor fw path
chown system system /sys/class/capsense/set_threshold
# Change permission for fingerprint sensor
chown system mot_tcmd /sys/devices/soc/soc:fpc_fpc1020/dev_enable
chown system mot_tcmd /sys/devices/soc/soc:fpc_fpc1020/irq
chown system mot_tcmd /sys/devices/soc/soc:fpc_fpc1020/irq_cnt
chmod 0440 /sys/devices/soc/soc:fpc_fpc1020/irq_cnt
# Change ownership and permission for laser_sensor
chown system system /sys/kernel/range/enable_sar
chmod 0660 /sys/kernel/range/enable_sar
chown system system /sys/kernel/range/set_delay_ms
chmod 0660 /sys/kernel/range/set_delay_ms
chown system system /sys/kernel/range/near
chmod 0660 /sys/kernel/range/near
# Change the ownership of display TE files for tcmds
chown root mot_tcmd /sys/class/graphics/fb0/te_test
chown root mot_tcmd /sys/class/graphics/fb0/te_enable
chown root mot_tcmd /sys/class/graphics/fb0/frame_counter
service mmi-laser-sh /vendor/bin/init.mmi.laser.sh
class core
user root
oneshot

306
rootdir/etc/init.mmi.rc Normal file
View File

@@ -0,0 +1,306 @@
# Chipset-specific file
import /vendor/etc/init/hw/init.mmi.chipset.rc
# Target-specific file
import /vendor/etc/init/hw/init.mmi.overlay.rc
# Moto USB configuration
import /vendor/etc/init/hw/init.mmi.usb.rc
# Carrier specific script
import /vendor/etc/init/carrier/init.${ro.boot.carrier}.rc
import /vendor/etc/init/carrier/init.default.rc
on early-boot
write /sys/module/subsystem_restart/parameters/disable_restart_work 0x0
on init
chown system log /sys/fs/pstore/console-ramoops-0
chmod 0440 /sys/fs/pstore/console-ramoops-0
chown system log /sys/fs/pstore/annotate-ramoops-0
chmod 0640 /sys/fs/pstore/annotate-ramoops-0
chown system log /sys/fs/pstore/dmesg-ramoops-0
chmod 0640 /sys/fs/pstore/dmesg-ramoops-0
chown system log /proc/driver/mmi_annotate
chmod 0640 /proc/driver/mmi_annotate
# Setup kernel dropbox permissions so that dropboxd can utilize it
chown root diag /sys/kernel/dropbox/event
chown root diag /sys/kernel/dropbox/data
on fs
# use /persist as phony PDS partition
symlink /persist /pds
on post-fs
mkdir /mnt/vendor/persist/camera 0755 oem_5004 oem_5004
mkdir /mnt/vendor/persist/camera/dualcal 0777 camera oem_5004
mkdir /mnt/vendor/persist/camera/focus 0775 camera oem_5004
mkdir /mnt/vendor/persist/camera/ledcal 0775 camera oem_5004
mkdir /mnt/vendor/persist/camera/mot_ledcal 0775 camera camera
mkdir /mnt/vendor/persist/camera/mot_gyrocal 0775 camera camera
mkdir /mnt/vendor/persist/batt_health 0775 oem_5001 oem_5001
mkdir /mnt/vendor/persist/mdm 0770 radio radio
mkdir /mnt/vendor/persist/factory 0755 oem_5004 oem_5004
mkdir /mnt/vendor/persist/factory/audio 0755 oem_5004 system
mkdir /mnt/vendor/persist/factory/wlan 0755 oem_5004 oem_5004
mkdir /mnt/vendor/persist/factory/regulatory 0755 oem_5004 system
mkdir /mnt/vendor/persist/public 0755 oem_5004 oem_5004
mkdir /persist/public/atvc 0770 oem_5012 shell
mkdir /mnt/vendor/persist/public/att_dm 0775 radio oem_5004
mkdir /mnt/vendor/persist/public/hiddenmenu 0775 radio oem_5004
mkdir /mnt/vendor/persist/public/hiddenmenu/data 0775 system oem_5004
mkdir /persist/public/locale 0700 system system
mkdir /persist/public/omadm 0700 radio radio
mkdir /persist/public/svcs 0770 system system
mkdir /mnt/vendor/persist/wifi 0755 oem_5004 oem_5004
mkdir /mnt/vendor/persist/bt 0755 oem_5004 bluetooth
mkdir /persist/public/usc_dm 0775 radio radio
mkdir /persist/sds 0700 vold vold
mkdir /mnt/vendor/persist/rfs/msm/mpss/mot_rfs 0771 rfs system
# This dir is used to store any OMA(both DM and CP) files in persist partition
# Any app with radio UID or vendor_tcmd GID can read/write/execute files in this dir.
mkdir /mnt/vendor/persist/public/oma 0775 radio oem_5004
chown vendor_prod_persist vendor_prod_persist /mnt/product/persist/lifetime/tf_data
chown oem_5004 oem_5004 /mnt/vendor/persist/factory/fti
chmod 0664 /mnt/vendor/persist/factory/fti
chown oem_5004 oem_5004 /mnt/vendor/persist/factory/byte
chmod 0660 /mnt/vendor/persist/factory/byte
chmod 0660 /mnt/vendor/persist/wifi/wlan_mac.bin
chown oem_5004 oem_5004 /mnt/vendor/persist/bt/bt_bdaddr
chmod 0664 /mnt/vendor/persist/bt/bt_bdaddr
# Set life_calls and life_timer file permissions
chown radio oem_5004 /mnt/vendor/persist/public/hiddenmenu/life_calls
chmod 0775 /mnt/vendor/persist/public/hiddenmenu/life_calls
chown radio oem_5004 /mnt/vendor/persist/public/hiddenmenu/life_timer
chmod 0775 /mnt/vendor/persist/public/hiddenmenu/life_timer
chmod 0711 /mnt/vendor/persist/rfs
chmod 0711 /mnt/vendor/persist/rfs/msm
chmod 0711 /mnt/vendor/persist/rfs/msm/mpss
chmod 0771 /mnt/vendor/persist/rfs/msm/mpss/mot_rfs
swapon_all /vendor/etc/fstab.qcom
write /proc/sys/vm/page-cluster 0
on post-fs-data
# Setup folders for security
mkdir /mnt/vendor/persist/security 02770 drmrpc drmrpc
mkdir /data/vendor/dbvc 0750 vendor_tcmd shell
chown drmrpc vendor_tcmd /mnt/vendor/persist/security
# Setup folder for Pre-Activation Kill Switch app (PAKS)
mkdir /mnt/vendor/persist/paks 02770 oem_5004 oem_5004
# Create directory used by power_supply_logger
mkdir /data/vendor/power_supply_logger 0750 vendor_pwric log
# Create directory power_supply_logger used by memtest and batt_health
mkdir /data/vendor_de/power_supply_logger 0770 root log
chown oem_5001 oem_5001 /sys/class/power_supply/battery/cycle_count
chmod 0664 /sys/class/power_supply/battery/cycle_count
# Permissions for Factory Test of Charging Paths
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_auto_enable
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_ibatt
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_itrick
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_iusb
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_idc
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_usb_suspend
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_fail_clear
chown oem_5001 oem_5001 /sys/class/power_supply/battery/device/force_chg_usb_otg_ctl
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_auto_enable
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_ibatt
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_itrick
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_iusb
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_idc
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_usb_suspend
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_fail_clear
chown oem_5001 oem_5001 /sys/class/power_supply/mmi_battery/device/force_chg_usb_otg_ctl
chown oem_5001 oem_5001 /sys/class/power_supply/wireless/device/chip_id
chown oem_5001 oem_5001 /sys/class/power_supply/wireless/current_now
chown oem_5001 oem_5001 /sys/class/power_supply/wireless/voltage_now
chown oem_5001 oem_5001 /sys/kernel/debug/pmic-votable/CHG_DISABLE/force_val
chmod 0664 /sys/kernel/debug/pmic-votable/CHG_DISABLE/force_val
chown oem_5001 oem_5001 /sys/kernel/debug/pmic-votable/CHG_DISABLE/force_active
chmod 0664 /sys/kernel/debug/pmic-votable/CHG_DISABLE/force_active
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_rechrg_start_soc
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_rechrg_stop_soc
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_attach_start_soc
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_attach_stop_soc
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_low_start_soc
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_low_stop_soc
chown root oem_5020 /sys/module/qpnp_smbcharger_mmi/parameters/eb_on_sw
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_rechrg_start_soc
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_rechrg_stop_soc
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_attach_start_soc
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_attach_stop_soc
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_low_start_soc
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_low_stop_soc
chmod 0664 /sys/module/qpnp_smbcharger_mmi/parameters/eb_on_sw
chown root oem_5020 /sys/class/power_supply/usb/usb_priority
chmod 0660 /sys/class/power_supply/usb/usb_priority
chown root oem_5020 /sys/module/dwc3_msm/parameters/usb_priority
chmod 0660 /sys/module/dwc3_msm/parameters/usb_priority
chown root oem_5020 /sys/module/usbnet/parameters/force_on
chmod 0666 /sys/module/usbnet/parameters/force_on
# Setup folder for native to transfer data to NativeDropBoxAgent
mkdir /data/vendor/dropbox-add 0730 log diag
# Create panic dump dir.
mkdir /data/vendor/dontpanic 0750 root log
# Create directory for cutback
mkdir /data/vendor/misc/cutback 0770 radio wifi
# Create bug2go folder
mkdir /data/vendor/bug2go 0770 log log
# Setup folder for aplogd
mkdir /data/vendor/aplogd 0750 log log
# Create directory used by chargeonlymode
mkdir /data/vendor/chargeonly 0750 root log
# Subsystem RAM-dumps
mkdir /data/vendor/ss-ram-dumps 0750 system log
mkdir /data/vendor/ss-ram-dumps/bp-dumps 0750 system log
mkdir /data/vendor/ss-ram-dumps/riva-dumps 0750 system log
# folder for Blueooth ramdump
mkdir /data/vendor/bt-ram-dumps 0750 bluetooth log
# folder for ssrdumps
mkdir /data/vendor/ssrdump 0775 root system
#Folder for hardware properties
mkdir /data/vendor/hardware_revisions 0755 system system
# Imager tuning data for camera subsystem
mkdir /data/vendor/misc/imager 0771 camera camera
# NFC vendor data
mkdir /data/vendor/nfc 0770 nfc nfc
# Required by FingerPrint Cards (FPC) via init so we don't need to give qseecomd or fingerprintd permissions to create them
mkdir /data/vendor/fpc 0700 system system
mkdir /data/vendor/.fps 0770 system vendor_fingerp
on boot
# MOTO, NJH348, IKHALFMWK-1864, change system max tcp buffer sizes based on RAT changes
# Define system changable TCP buffer max values
chown system system /proc/sys/net/core/rmem_max
chown system system /proc/sys/net/core/wmem_max
# Change ownership and permission for backlight
chown system system /sys/class/backlight/lcd-backlight:0/brightness
chmod 0664 /sys/class/backlight/lcd-backlight:0/brightness
chown system system /sys/class/backlight/lcd-backlight:0/max_brightness
chmod 0664 /sys/class/backlight/lcd-backlight:0/max_brightness
chmod 0664 /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/leds/charging/brightness
chmod 0664 /sys/class/leds/charging/brightness
# change permission of red leds
chown system system /sys/class/leds/red/brightness
chmod 0664 /sys/class/leds/red/brightness
# Change ownership and permission for vibrator
chown system system /sys/class/timed_output/vibrator/enable
chmod 0660 /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/vibrator/state
chmod 0660 /sys/class/leds/vibrator/state
chown system system /sys/class/leds/vibrator/activate
chmod 0660 /sys/class/leds/vibrator/activate
chown system system /sys/class/leds/vibrator/duration
chmod 0660 /sys/class/leds/vibrator/duration
chown system system /sys/class/leds/vibrator/seq
chmod 0660 /sys/class/leds/vibrator/seq
chown system system /sys/class/leds/vibrator/extra
chmod 0660 /sys/class/leds/vibrator/extra
chown root vendor_mod /sys/bus/i2c/devices/2-005a/reduce
# Change ownership of aov related sysfs entries
chown audio audio /sys/kernel/aov/trigger
chown audio audio /sys/kernel/aov/register
chown audio audio /sys/kernel/aov/event
# Quiet binder logs
write /sys/module/binder/parameters/debug_mask 0x5
# Clear cooldown state
mkdir /mnt/vendor/persist/chargeonly 0770 system system
write /mnt/vendor/persist/chargeonly/cooldown n
chown system system /mnt/vendor/persist/chargeonly/cooldown
chmod 0660 /mnt/vendor/persist/chargeonly/cooldown
on charger
trigger early-fs
trigger fs
trigger post-fs
trigger late-fs
trigger post-fs-data
trigger moto-charger
class_stop main
class_stop late_start
# from P onwards aplogd cannot read vold.post_fs_data_done so a new property
# shall be used to allow aplogd checking if FBE has finished /data decryption
on property:vold.post_fs_data_done=*
setprop vendor.vold.post_fs_data_done ${vold.post_fs_data_done}
# translate to qcom property name in order to keep the consistent with
# our legacy property
on property:persist.vendor.qc.sub.rdump.on=*
setprop persist.vendor.ssr.enable_ramdumps ${persist.vendor.qc.sub.rdump.on}
# translate MMI property in order to keep the consistent with QCOM
on property:ro.vendor.hw.dualsim=true
setprop persist.radio.multisim.config dsds
on property:persist.vendor.qc.sub.rdump.on=*
setprop persist.vendor.ssr.enable_ramdumps ${persist.vendor.qc.sub.rdump.on}
on property:ro.vendor.hw.dualsim=false
setprop persist.radio.multisim.config ""
service vendor.charge_only_mode /vendor/bin/charge_only_mode
user root
group graphics system input
disabled
service vendor.thermal-com /vendor/bin/thermal-engine --minimode
class main
user root
disabled
service vendor.adspd /vendor/bin/adspd
class main
socket adspdsock stream 0660 system audio
user audio
group audio input diag
on property:vendor.wifi.tethering=false
write /sys/module/wlan/parameters/sar_mhs disabled
on property:vendor.wifi.tethering=true
write /sys/module/wlan/parameters/sar_mhs enabled
#Override fwpath string when wpa_supplicant server was killed
on property:vendor.wifi.station=true
write /sys/module/wlan/parameters/sar_sta enabled
on property:vendor.wifi.station=false
write /sys/module/wlan/parameters/sar_sta disabled

534
rootdir/etc/init.mmi.usb.rc Normal file
View File

@@ -0,0 +1,534 @@
# Copyright (c) 2011, Code Aurora Forum. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of Code Aurora nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
on init
write /sys/class/android_usb/android0/f_rndis/wceis 1
on boot
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
#create motorola usblan driver instance for factory
mkdir /config/usb_gadget/g1/functions/usbnet.usb0
mkdir /dev/bus 0755 root root
mkdir /dev/bus/usb 0755 root root
chown system system /sys/class/android_usb/android0/secure
chmod 0660 /sys/class/android_usb/android0/secure
# Configure BAM2BAM_IPA for RNDIS
write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports BAM2BAM_IPA
# Disable RNDIS UL aggregation
write /sys/class/android_usb/android0/f_rndis_qc/max_pkt_per_xfer 1
write /sys/module/g_android/parameters/mtp_rx_req_len 524288
write /sys/module/g_android/parameters/mtp_tx_req_len 524288
write /sys/class/android_usb/f_mass_storage/lun/nofua 1
chown root system /sys/module/uvcvideo/parameters/quirks
chmod 0660 /sys/module/uvcvideo/parameters/quirks
on charger
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22B8
write /sys/class/android_usb/android0/idProduct 2EB7
write /sys/class/android_usb/android0/functions mass_storage
write /sys/class/android_usb/android0/enable 1
on fs
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/f_ffs/aliases adb
on property:ro.persistent_properties.ready=true && property:vold.decrypt=trigger_load_persist_props
setprop vendor.usb.config ${sys.usb.config}
setprop persist.vendor.mot.usb.config ${persist.sys.usb.config:-" "}
setprop persist.vendor.usb.config " "
on property:sys.boot_completed=*
setprop vendor.boot_completed ${sys.boot_completed}
on property:persist.vendor.usb.config=*
setprop persist.sys.usb.config ${persist.vendor.usb.config}
on property:vendor.usb.config=*
setprop sys.usb.config ${vendor.usb.config}
on property:vendor.usb.controller=*
setprop sys.usb.controller ${vendor.usb.controller}
on property:persist.vendor.usb.qcom.config=*
setprop persist.sys.usb.qcom.config ${persist.vendor.usb.qcom.config}
setprop persist.sys.usb.qcom.func ${persist.vendor.usb.qcom.config}
on property:persist.vendor.usb.bp-tools.config=*
setprop persist.sys.usb.bp-tools.config ${persist.vendor.usb.bp-tools.config}
setprop persist.sys.usb.bp-tools.func ${persist.vendor.usb.bp-tools.config}
on property:persist.vendor.usb.mot-factory.config=*
setprop persist.sys.usb.mot-factory.config ${persist.vendor.usb.mot-factory.config}
setprop persist.sys.usb.mot-factory.func ${persist.vendor.usb.mot-factory.config}
service vendor.mmi-usb-sh /vendor/bin/init.mmi.usb.sh
class late_start
user root
group system
oneshot
# Disable USB-SS in bp-tools
on property:ro.bootmode=bp-tools
write /sys/module/dwc3_msm/parameters/disable_ss_switch 1
on property:vendor.tcmd.ctrl_adb=1
stop vendor.mmi-usb-sh
setprop vendor.usb.mmi-usb-sh.action vendor.tcmd.ctrl_adb
start vendor.mmi-usb-sh
on property:vendor.tcmd.ctrl_adb=0
stop vendor.mmi-usb-sh
setprop vendor.usb.mmi-usb-sh.action vendor.tcmd.ctrl_adb
start vendor.mmi-usb-sh
# USB compositions
# QC compositions for msm8953
on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9025
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9026
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
# QC compositions for MSM8996
on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_bam,mass_storage,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9025
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_bam,mass_storage
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9026
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
# QC compositions for MSM8937
on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9091
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9092
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,rmnet_ipa,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9091
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,rmnet_ipa
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9092
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
# QDSS - Qualcomm Debug Subsystem
on property:sys.usb.config=diag,qdss,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9060
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,qdss,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# Motorola Compositions for msm8953 bp-tools mode
on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt_adb}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# Motorola Compositions for msm8937 bp-tools mode
on property:sys.usb.config=diag,serial_smd,rmnet,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt_adb}
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,rmnet
stop adbd
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt}
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam
write /sys/class/android_usb/android0/functions diag,serial,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,rmnet_bam_ipa,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt_adb}
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,rmnet_bam_ipa
stop adbd
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt}
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,serial_smd,serial_tty,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpteth_adb}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd,tty
write /sys/class/android_usb/android0/functions rndis,diag,serial,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,serial_smd,serial_tty
stop adbd
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpteth}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd,tty
write /sys/class/android_usb/android0/functions rndis,diag,serial
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
# Motorola Compositions for MSM8996 bp-tools mode
on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt_adb}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet
stop adbd
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
write /sys/class/android_usb/android0/functions diag,serial,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,serial_cdev,serial_tty,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpteth_adb}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
write /sys/class/android_usb/android0/functions rndis,diag,serial,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,serial_cdev,serial_tty
stop adbd
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct ${ro.usb.bpteth}
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
write /sys/class/android_usb/android0/functions rndis,diag,serial
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
#Factory mode Compositions
on property:sys.usb.config=usbnet,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct 2e2d
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/functions usbnet,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=usbnet
stop adbd
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idProduct 2e2c
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/functions usbnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
# Standard AOSP Compositions
on property:sys.usb.config=rndis
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct 2e24
write /sys/class/android_usb/android0/functions rndis
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct 2e25
write /sys/class/android_usb/android0/functions rndis,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.mtp}
write /sys/class/android_usb/android0/functions mtp
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,cdrom,adb
stop adbd
write /sys/class/android_usb/android0/f_mass_storage/lun/file ""
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.mtp_cdrom}
write /sys/class/android_usb/android0/f_mass_storage/cdrom 1
write /sys/class/android_usb/android0/functions mtp,mass_storage
write /sys/class/android_usb/android0/enable 1
write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom"
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,cdrom
stop adbd
write /sys/class/android_usb/android0/f_mass_storage/lun/file ""
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.mtp_cdrom}
write /sys/class/android_usb/android0/f_mass_storage/cdrom 1
write /sys/class/android_usb/android0/functions mtp,mass_storage
write /sys/class/android_usb/android0/enable 1
write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom"
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.mtp_adb}
write /sys/class/android_usb/android0/functions mtp,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.ptp}
write /sys/class/android_usb/android0/functions ptp
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp,adb
start vendor.tcmd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
write /sys/class/android_usb/android0/bDeviceSubClass 0
write /sys/class/android_usb/android0/bDeviceProtocol 0
write /sys/class/android_usb/android0/idVendor 22b8
write /sys/class/android_usb/android0/idProduct ${ro.usb.ptp_adb}
write /sys/class/android_usb/android0/functions ptp,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# USB midi configuration
on property:sys.usb.config=midi
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct 4EE8
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# USB midi configuration, with adb
on property:sys.usb.config=midi,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct 4EE9
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# DHCP service for Ethernet
service dhcpcd_eth0 /system/bin/dhcpcd -G
class late_start
disabled
oneshot
service iprenew_eth0 /system/bin/dhcpcd -nBK
class late_start
disabled
oneshot

1011
rootdir/etc/init.qcom.rc Normal file

File diff suppressed because it is too large Load Diff

317
rootdir/etc/init.target.rc Normal file
View File

@@ -0,0 +1,317 @@
# Copyright (c) 2013-2014,2018, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
import /vendor/etc/init/hw/init.mmi.rc
import /vendor/etc/init/hw/init.${ro.boot.device}.rc
on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_apr audio_adsp_loader audio_q6_notifier audio_q6 audio_usf audio_native audio_pinctrl_wcd audio_swr audio_platform audio_swr_ctrl audio_hdmi audio_wcd9xxx audio_wcd_core audio_wsa881x_analog audio_wsa881x audio_mbhc audio_stub audio_digital_cdc audio_analog_cdc audio_wcd_cpe audio_cpe_lsm audio_wcd9335 audio_machine_sdm450 audio_machine_ext_sdm450
write /proc/sys/kernel/sched_boost 1
mkdir /firmware 0771 system system
symlink /data/tombstones /tombstones
on init
setprop ro.vendor.fsg-id ${ro.boot.fsg-id}
setprop ro.vendor.hw.dualsim ${ro.boot.dualsim}
setprop ro.vendor.hw.device ${ro.boot.device}
setprop ro.vendor.hw.radio ${ro.boot.radio}
setprop ro.vendor.hw.hwrev ${ro.boot.hwrev}
setprop ro.vendor.hw.revision ${ro.boot.revision}
setprop ro.vendor.carrier ${ro.boot.carrier}
setprop ro.vendor.boot.cid ${ro.boot.cid}
setprop ro.vendor.boot.radio ${ro.boot.radio}
setprop ro.vendor.boot.hwrev ${ro.boot.hwrev}
setprop ro.vendor.boot.powerup_reason ${ro.boot.powerup_reason}
setprop ro.vendor.boot.bl_state ${ro.boot.bl_state}
setprop ro.vendor.boot.serialno ${ro.boot.serialno}
setprop ro.vendor.zygote ${ro.zygote}
# Translate MMI property in order to keep consistent with QCOM
on property:ro.vendor.hw.dualsim=true
setprop persist.radio.multisim.config dsds
on property:ro.vendor.hw.dualsim=false
setprop persist.radio.multisim.config ""
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
mount_all /vendor/etc/fstab.qcom
chown root system /mnt/vendor/persist
chmod 0771 /mnt/vendor/persist
mkdir /mnt/vendor/persist/data 0700 system system
mkdir /mnt/vendor/persist/bms 0700 root system
restorecon_recursive /persist
write /proc/sys/vm/swappiness 100
#write /sys/kernel/boot_adsp/boot 1
#wait /dev/block/bootdevice/by-name/oem
#mount ext4 /dev/block/bootdevice/by-name/oem /oem ro nosuid nodev barrier=1
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
start vendor.qseecomd
exec - system system -- /vendor/bin/init.qti.qseecomd.sh
on post-fs-data
mkdir /data/tombstones 0771 system system
mkdir /tombstones/modem 0771 system system
mkdir /tombstones/lpass 0771 system system
mkdir /tombstones/wcnss 0771 system system
mkdir /tombstones/dsps 0771 system system
mkdir /persist/data/sfs 0700 system system
mkdir /persist/data/tz 0700 system system
mkdir /data/misc/dts 0770 media audio
mkdir /data/vendor/hbtp 0750 system system
#Create folder for mm-qcamera-daemon
mkdir /data/vendor/camera 0770 camera camera
#start camera server as daemon
service qcamerasvr /system/vendor/bin/mm-qcamera-daemon
class main
user camera
group camera system inet input graphics
on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1
write /dev/stune/top-app/schedtune.sched_boost_no_override 1
write /dev/stune/schedtune.colocate 0
write /dev/stune/background/schedtune.colocate 0
write /dev/stune/foreground/schedtune.colocate 0
write /dev/stune/top-app/schedtune.colocate 1
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
# Allow usb charging to be disabled peristently
on property:persist.usb.chgdisabled=1
write /sys/class/power_supply/battery/charging_enabled 0
on property:persist.usb.chgdisabled=0
write /sys/class/power_supply/battery/charging_enabled 1
service vendor.qseecomd /vendor/bin/qseecomd
class core
user root
group root
service perfd /system/vendor/bin/perfd
class main
user root
disabled
service thermal-engine /system/vendor/bin/thermal-engine
class main
user root
socket thermal-send-client stream 0666 system system
socket thermal-recv-client stream 0660 system system
socket thermal-recv-passive-client stream 0666 system system
socket thermal-send-rule stream 0660 system system
group root system
service audiod /system/vendor/bin/audiod
class late_start
user system
group system
on boot
start rmt_storage
insmod /system/lib/modules/adsprpc.ko
# access permission for secure touch
chmod 0660 /sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable
chmod 0440 /sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch
chmod 0660 /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable
chmod 0440 /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch
chown system drmrpc /sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable
chown system drmrpc /sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch
chown system drmrpc /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable
chown system drmrpc /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch
# Add a cpuset for the camera daemon
# We want all cores for camera
mkdir /dev/cpuset/camera-daemon
write /dev/cpuset/camera-daemon/cpus 0-3
write /dev/cpuset/camera-daemon/mems 0
chown cameraserver cameraserver /dev/cpuset/camera-daemon
chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
chmod 0660 /dev/cpuset/camera-daemon/tasks
####Regionalization config and prop files####
chmod 0644 /persist/speccfg/spec
chmod 0644 /persist/speccfg/devicetype
chmod 0644 /persist/speccfg/mbnversion
chmod 0644 /persist/speccfg/.not_triggered
chmod 0644 /persist/speccfg/vendor_ro.prop
chmod 0644 /persist/speccfg/vendor_persist.prop
chmod 0644 /persist/speccfg/submask
chmod 0644 /persist/speccfg/partition
chown system system /persist/speccfg/spec
chown system system /persist/speccfg/devicetype
chown system system /persist/speccfg/mbnversion
chown system system /persist/speccfg/.not_triggered
chown system system /persist/speccfg/vendor_ro.prop
chown system system /persist/speccfg/vendor_persist.prop
chown system system /persist/speccfg/submask
chown system system /persist/speccfg/partition
# access permission for wlan
chown system system /mnt/vendor/persist/WCNSS_qcom_wlan_nv.bin
#USB controller configuration
write /sys/module/g_android/parameters/mtp_tx_req_len 131072
write /sys/module/g_android/parameters/mtp_rx_req_len 131072
write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports BAM2BAM_IPA
setprop vendor.usb.rndis.func.name "rndis_bam"
setprop vendor.usb.rmnet.func.name "rmnet_bam"
setprop vendor.usb.rmnet.inst.name "rmnet"
setprop vendor.usb.dpl.inst.name "dpl"
#Turn on GPU rate stats through gcc_oxili_gfx3d_clk
chown system system /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats
chmod 0664 /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats
write /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats 1
on property:init.svc.surfaceflinger=stopped
stop ppd
on property:init.svc.surfaceflinger=running
start ppd
on property:init.svc.surfaceflinger=restarting
stop ppd
on property:init.svc.zygote=stopped
stop ppd
on property:init.svc.zygote=running
start ppd
on property:init.svc.zygote=restarting
stop ppd
service wcnss-service /system/vendor/bin/wcnss_service
class main
user system
group system wifi radio
oneshot
on charger
wait /dev/block/bootdevice/by-name/system
mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1
load_system_props
setprop persist.sys.usb.config mass_storage
start qcom-post-boot
setprop persist.sys.usb.config mass_storage
on charger && property:ro.boot.usbconfigfs=true
setprop sys.usb.configfs 1
on charger && property:ro.boot.usbconfigfs=false
setprop sys.usb.configfs 0
## imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon
class main
user system
socket ims_qmid stream 0660 system radio
group radio log diag
# imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
group system wifi radio inet log diag
disabled
on property:vendor.ims.QMI_DAEMON_STATUS=1
start vendor.imsdatadaemon
service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
class main
user system
group radio diag inet log
service vendor.imsrcsservice /system/vendor/bin/imsrcsd
class main
user system
group radio diag inet log wakelock
on property:vendor.ims.DATA_DAEMON_STATUS=1
restart vendor.ims_rtp_daemon
service adsprpcd /system/vendor/bin/adsprpcd
class main
user media
group media
service vendor.per_mgr /system/vendor/bin/pm-service
class core
user system
group system net_raw
service vendor.per_proxy /system/vendor/bin/pm-proxy
class core
user system
group system
disabled
on property:init.svc.vendor.per_mgr=running
start vendor.per_proxy
on property:sys.shutdown.requested=*
stop vendor.per_proxy
stop vendor.ims_rtp_daemon
service energy-awareness /system/vendor/bin/energy-awareness
class main
user root
group system
oneshot
on boot
write /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/fw_name PR1702898-s3528t_00260005_00380008.img
write /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/update_fw 1
on boot
chown system iystem /sys/class/leds/red/blink
chown system system /sys/class/leds/red/breath
chown system system /sys/class/leds/red/delay_on
chown system system /sys/class/leds/red/delay_off
chown system system /sys/class/leds/green/blink
chown system system /sys/class/leds/green/breath
chown system system /sys/class/leds/green/delay_on
chown system system /sys/class/leds/green/delay_off
chown system system /sys/class/leds/blue/blink
chown system system /sys/class/leds/blue/breath
chown system system /sys/class/leds/blue/delay_on
chown system system /sys/class/leds/blue/delay_off