Update stuff for firmware 51.1.A.11.51

This commit is contained in:
Martin Duenkelmann 2018-09-19 21:18:26 +02:00
commit cf10c3ad6b
6 changed files with 3744 additions and 103 deletions

View file

@ -0,0 +1,107 @@
#
# Copyright (c) 2009-2016, 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 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.
#
# Define fastmmi
service fastmmi /vendor/bin/mmi
user root
group root
disabled
service mmid /vendor/bin/mmid
user root
group root
disabled
on property:sys.boot_mode=ffbm
write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
on property:sys.boot_mode=qmmi
write ${persist.vendor.mmi.misc_dev_path} "ffbm-02"
on property:sys.boot_mode=normal
write ${persist.vendor.mmi.misc_dev_path} "normal"
# Creating a scratch storage on /data for factory testing.
on factory-fs && property:ro.bootmode=ffbm-00
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-01
mount tmpfs tmpfs /data
on post-fs-data
setprop persist.sys.usb.ffbm-00.func diag
setprop persist.sys.usb.ffbm-01.func diag
setprop persist.sys.usb.ffbm-02.func diag
on mmi && property:ro.bootmode=ffbm-00
# ========================================================
# This is FFBM only settings.
# ========================================================
#mkdir for factory data files.
mkdir /persist/FTM_AP 0750 root root
start fastmmi
on mmi && property:ro.bootmode=ffbm-01
# ========================================================
# This is FFBM only settings.
# ========================================================
#mkdir for factory data files.
mkdir /persist/FTM_AP 0750 root root
start fastmmi
on ffbm
trigger early-fs
trigger factory-fs
trigger fs
trigger post-fs
# Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
# to only mount entries with 'latemount'. This is needed if '--early' is
# specified in the previous mount_all command on the fs stage.
# With /system mounted and properties form /system + /factory available,
# some services can be started.
trigger late-fs
# Now we can mount /data. File encryption requires keymaster to decrypt
# /data, which in turn can only be loaded when system properties are present.
trigger post-fs-data
# Now we can start zygote for devices with file based encryption
trigger zygote-start
# Load persist properties and override properties (if enabled) from /data.
trigger load_persist_props_action
# Remove a file to wake up anything waiting for firmware.
trigger firmware_mounts_complete
trigger early-boot
trigger boot
trigger mmi

File diff suppressed because it is too large Load diff

View file

@ -1 +1,341 @@
import /init.recovery.qcom.rc
# Copyright 2014 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 charger
start rmt_storage
start mlog_qmi_service
start irsc_util
# Offline charger
service charger /charger
class charger
group root system log
critical
seclabel u:r:charger:s0
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
on init
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
# qseecomd needs /dev/block/bootdevice
# vold needs keymaster that needs qseecomd
start qseecomd
# Enable subsystem restart
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
write /sys/bus/msm_subsys/devices/subsys0/restart_level "RELATED"
write /sys/bus/msm_subsys/devices/subsys1/restart_level "RELATED"
write /sys/bus/msm_subsys/devices/subsys2/restart_level "RELATED"
write /sys/bus/msm_subsys/devices/subsys3/restart_level "RELATED"
mkdir /tmp
mount tmpfs tmpfs /tmp nosuid mode=0755,uid=0,gid=0
symlink /dev/socket /tmp
mkdir /dev/bus 0755 root root
mkdir /dev/bus/usb 0755 root root
chown system system /sys/devices/mdss_dsi_panel/panel_id
chmod 0440 /sys/devices/mdss_dsi_panel/panel_id
symlink /sdcard /storage/sdcard0
# Setup zram options
write /sys/block/zram0/comp_algorithm lz4
write /proc/sys/vm/page-cluster 0
# Load persistent dm-verity state
verity_load_state
# cpuquiet rqbalance permissions
chown system system /sys/devices/system/cpu/cpuquiet/nr_min_cpus
chown system system /sys/devices/system/cpu/cpuquiet/nr_power_max_cpus
chown system system /sys/devices/system/cpu/cpuquiet/nr_thermal_max_cpus
chown system system /sys/devices/system/cpu/cpuquiet/rqbalance/balance_level
chown system system /sys/devices/system/cpu/cpuquiet/rqbalance/nr_run_thresholds
chown system system /sys/devices/system/cpu/cpuquiet/rqbalance/nr_down_run_thresholds
chown system system /sys/devices/system/cpu/cpuquiet/rqbalance/cluster_freq_vote_max
chown system system /sys/devices/system/cpu/cpuquiet/rqbalance/cluster_freq_vote_min
chmod 0660 /sys/devices/system/cpu/cpuquiet/nr_min_cpus
chmod 0660 /sys/devices/system/cpu/cpuquiet/nr_power_max_cpus
chmod 0660 /sys/devices/system/cpu/cpuquiet/nr_thermal_max_cpus
chmod 0660 /sys/devices/system/cpu/cpuquiet/rqbalance/balance_level
chmod 0660 /sys/devices/system/cpu/cpuquiet/rqbalance/nr_run_thresholds
chmod 0660 /sys/devices/system/cpu/cpuquiet/rqbalance/nr_down_run_thresholds
chmod 0660 /sys/devices/system/cpu/cpuquiet/rqbalance/cluster_freq_vote_max
chmod 0660 /sys/devices/system/cpu/cpuquiet/rqbalance/cluster_freq_vote_min
on fs
# Start HW service manager early
start hwservicemanager
mount_all /vendor/etc/fstab.${ro.hardware}
# /dsp is initially unlabelled so we need to mount
# it as rw, restore AOSP labels, then remount
restorecon_recursive /dsp
mount rootfs rootfs /dsp ro remount
restorecon_recursive /persist
on post-fs
# Wait qseecomd started
wait_for_prop sys.listeners.registered true
on late-fs
# Wait for hwservicemanager ready since fsck might be triggered in mount_all --late
# In such case, init won't responce the property_set from hwservicemanager and then
# cause services for bootanim not running.
wait_for_prop hwservicemanager.ready true
# Start devices by sysfs trigger
start devstart_sh
on post-fs-data
# We can start netd here before in is launched in common init.rc on zygote-start
start netd
# Create directory used by bluetooth subsystem
mkdir /data/vendor/bluetooth 2770 bluetooth bluetooth
# Create directory used by Wireless subsystem
mkdir /data/misc/wifi 2770 wifi wifi
# To observe dnsmasq.leases file for dhcp information of soft ap.
chown dhcp system /data/misc/dhcp
# Create directory for hostapd
mkdir /data/hostapd 0770 system wifi
# create directory for scd
mkdir /dev/socket/scd 0755 system system
mkdir /data/scd 0755 system system
# Create directory for TZ Apps
mkdir /data/misc/qsee 0770 system system
mkdir /data/fpc 0700 system system
mkdir /data/misc/dts 0770 media audio
mkdir /data/persist 0770 system system
# Create directory used by audio subsystem
mkdir /data/misc/audio 0770 audio audio
# Create directory for audio delta files
mkdir /data/misc/audio/acdbdata 0770 media audio
mkdir /data/misc/audio/acdbdata/delta 0770 media audio
# Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
# We chown/chmod /persist again so because mount is run as root + defaults
chown system system /persist
chmod 0771 /persist
mkdir /data/etc 0775
mkdir /data/system 0775 system system
# Create directories for Location services
mkdir /data/vendor/location 0770 gps gps
mkdir /data/vendor/location/mq 0770 gps gps
mkdir /data/vendor/location/xtwifi 0770 gps gps
# Create directory from IMS services
mkdir /data/shared 0755
chown system system /data/shared
# Enable the setgid bit on the directory
mkdir /data/audio 0770 media audio
chmod 2770 /data/audio
# QCOM Legacy camera stack
mkdir /data/misc/camera 0770 camera camera
# QCOM camera stack
mkdir /data/vendor/camera 0770 camera camera
# NFC
# Local data and nfcee xml storage
mkdir /data/nfc 0770 nfc nfc
mkdir /data/nfc/param 0770 nfc nfc
mkdir /data/vendor/nfc 0770 nfc nfc
# Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics
chown system /dev/block/bootdevice/by-name
setprop vold.post_fs_data_done 1
on early-boot
# Set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# Graphics Permissions bootanimation
chmod 0664 /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
chown system graphics /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
# Permission for LED driver
chown system system /sys/class/graphics/fb0/msm_fb_persist_mode
# Update dm-verity state and set partition.*.verified properties
verity_update_state
on boot
# Cover mode
chown system system /sys/devices/virtual/input/clearpad/cover_mode_enabled
chown system system /sys/devices/virtual/input/clearpad/cover_win_bottom
chown system system /sys/devices/virtual/input/clearpad/cover_win_left
chown system system /sys/devices/virtual/input/clearpad/cover_win_right
chown system system /sys/devices/virtual/input/clearpad/cover_win_top
# Tap to wake
chown system system /sys/devices/virtual/input/clearpad/wakeup_gesture
chmod 0660 /sys/devices/virtual/input/clearpad/wakeup_gesture
# Glove mode
chown system system /sys/devices/virtual/input/clearpad/glove
chmod 0660 /sys/devices/virtual/input/clearpad/glove
# Allow access for CCID command/response timeout configuration
chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
# Socket location for RIDL
mkdir /dev/socket/RIDL 2770 system system
# Required for fingerprint
chown system system /sys/bus/spi/devices/spi0.1/clk_enable
chmod 0660 /sys/bus/spi/devices/spi0.1/clk_enable
chown system system /sys/devices/soc/fpc1145_device/spi_prepare
chmod 0660 /sys/devices/soc/fpc1145_device/spi_prepare
chown system system /sys/devices/soc/fpc1145_device/wakeup_enable
chmod 0660 /sys/devices/soc/fpc1145_device/wakeup_enable
chown system system /sys/devices/soc/fpc1145_device/irq
chmod 0660 /sys/devices/soc/fpc1145_device/irq
# Fingerprint - k4.9
chown system system /sys/devices/platform/soc/fpc1145_device/spi_prepare
chown system system /sys/devices/platform/soc/fpc1145_device/wakeup_enable
chown system system /sys/devices/platform/soc/fpc1145_device/irq
chmod 0660 /sys/devices/platform/soc/fpc1145_device/wakeup_enable
chmod 0660 /sys/devices/platform/soc/fpc1145_device/spi_prepare
chmod 0660 /sys/devices/platform/soc/fpc1145_device/irq
# Bluetooth modules
chown system system /sys/module/bluetooth/parameters/disable_ertm
chown system system /sys/module/bluetooth/parameters/disable_esco
chown system system /sys/module/bluetooth/parameters/enable_hs
chmod 0644 /sys/module/bluetooth/parameters/disable_ertm
chmod 0644 /sys/module/bluetooth/parameters/disable_esco
chmod 0644 /sys/module/bluetooth/parameters/enable_hs
# Bluetooth rfkill
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/device/extldo
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
# Bluetooth LPM
chown bluetooth bluetooth /proc/bluetooth/sleep/proto
chown bluetooth bluetooth /proc/bluetooth/sleep/lpm
chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite
chmod 0660 /proc/bluetooth/sleep/proto
chmod 0660 /proc/bluetooth/sleep/lpm
chmod 0660 /proc/bluetooth/sleep/btwrite
# RQBalance-PowerHAL PowerServer
mkdir /dev/socket/powerhal 0773 system system
# Mark the copy complete flag to not completed
write /data/misc/radio/copy_complete 0
chown radio radio /data/misc/radio/copy_complete
chmod 0660 /data/misc/radio/copy_complete
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
# Graphics Permissions
chown system graphics /sys/class/graphics/fb0/idle_time
chmod 0664 /sys/class/graphics/fb0/idle_time
# Dynamic Resolution Switch
chown system graphics /sys/class/graphics/fb0/mode
chmod 0664 /sys/class/graphics/fb0/mode
# Display Calibration
chown system graphics /sys/devices/mdss_dsi_panel/pcc_profile
chmod 0664 /sys/devices/mdss_dsi_panel/pcc_profile
# FB1 permissions
chown system graphics /sys/class/graphics/fb1/avi_itc
chown system graphics /sys/class/graphics/fb1/avi_cn0_1
chown system graphics /sys/class/graphics/fb1/hpd
chown system graphics /sys/class/graphics/fb1/product_description
chown system graphics /sys/class/graphics/fb1/vendor_name
chown system graphics /sys/class/graphics/fb1/video_mode
chown system graphics /sys/class/graphics/fb1/hdcp/tp
chmod 0664 /sys/class/graphics/fb1/avi_itc
chmod 0664 /sys/class/graphics/fb1/avi_cn0_1
chmod 0664 /sys/class/graphics/fb1/hpd
chmod 0664 /sys/class/graphics/fb1/product_description
chmod 0664 /sys/class/graphics/fb1/vendor_name
chmod 0664 /sys/class/graphics/fb1/video_mode
chmod 0664 /sys/class/graphics/fb1/hdcp/tp
# FB2 permissions
chown system graphics /sys/class/graphics/fb2/ad
chown system graphics /sys/class/graphics/fb2/hpd
chmod 0664 /sys/class/graphics/fb2/ad
chmod 0664 /sys/class/graphics/fb2/hpd
# For bridgemgr daemon to inform the USB driver of the correct transport
chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
chown root system /proc/net/ip_conntrack
# 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
# Assign TCP buffer thresholds to be ceiling value of technology maximums
# Increased technology maximums should be reflected here.
write /proc/sys/net/core/rmem_max 8388608
write /proc/sys/net/core/wmem_max 8388608
# To prevent out of order acknowledgements from making
# connection tracking to treat them as not belonging to
# the connection they belong to.
# Otherwise, a weird issue happens in which some long
# connections on high-throughput links get dropped when
# an ack packet comes out of order
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
# Set the console loglevel to < KERN_INFO
# Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "6 6 1 7"
setrlimit 4 -1 -1
write /proc/sys/kernel/dmesg_restrict 0
on property:sys.boot_completed=1
# Enable ZRAM on boot_complete
swapon_all /vendor/etc/fstab.${ro.hardware}
on property:sys.listeners.registered=true
# load IPA FWs
start ipastart_sh

File diff suppressed because it is too large Load diff

View file

@ -12,21 +12,46 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
on charger
load_system_props
on boot
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount configfs none /config
mkdir /config/usb_gadget/g1 0770 shell shell
mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/bcdUSB 0x0200
write /config/usb_gadget/g1/idVendor 0x0fce
write /config/usb_gadget/g1/idProduct 0xe${ro.usb.pid_suffix}
write /config/usb_gadget/g1/os_desc/use 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}
mkdir /config/usb_gadget/g1/functions/mass_storage.0
mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc"
symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/configs/b.1/MaxPower 500
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
on boot
mount configfs none /config
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mkdir /config/usb_gadget/g1 0770 shell shell
mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/idVendor 0x0fce
write /config/usb_gadget/g1/bcdDevice 0x0223
write /config/usb_gadget/g1/bcdUSB 0x0200
write /config/usb_gadget/g1/os_desc/use 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}
mkdir /config/usb_gadget/g1/functions/mtp.gs0
mkdir /config/usb_gadget/g1/functions/ptp.gs1
mkdir /config/usb_gadget/g1/functions/accessory.gs2
@ -34,84 +59,87 @@ on boot
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
mkdir /config/usb_gadget/g1/functions/midi.gs5
mkdir /config/usb_gadget/g1/functions/ffs.adb
mkdir /config/usb_gadget/g1/functions/diag.diag
mkdir /config/usb_gadget/g1/functions/cser.dun.0
mkdir /config/usb_gadget/g1/functions/cser.nmea.1
mkdir /config/usb_gadget/g1/functions/gsi.rmnet
mkdir /config/usb_gadget/g1/functions/gsi.rndis
mkdir /config/usb_gadget/g1/functions/gsi.dpl
mkdir /config/usb_gadget/g1/functions/qdss.qdss
mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis
mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet
mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
mkdir /config/usb_gadget/g1/functions/ncm.0
mkdir /config/usb_gadget/g1/functions/ccid.ccid
mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
write /config/usb_gadget/g1/configs/b.1/MaxPower 500
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/f_ffs/aliases adb
setprop sys.usb.configfs 1
setprop sys.usb.rndis.func.name "rndis_bam"
setprop sys.usb.rmnet.func.name "rmnet_bam"
# USB compositions
on property:sys.usb.config=none
write /config/usb_gadget/g1/UDC "none"
stop adbd
setprop sys.usb.ffs.ready 0
write /config/usb_gadget/g1/bDeviceClass 0
write /config/usb_gadget/g1/bDeviceSubClass 0
write /config/usb_gadget/g1/bDeviceProtocol 0
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x0fce
write /config/usb_gadget/g1/idProduct 0x7${ro.usb.pid_suffix}
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp
# Note: PID 0x902X advertises QCOM. Useful for NT based OSes.
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "mtp"
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
write /config/usb_gadget/g1/os_desc/use 1
write /config/usb_gadget/g1/idProduct 0x0${ro.usb.pid_suffix}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "mtp_adb"
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
write /config/usb_gadget/g1/os_desc/use 1
write /config/usb_gadget/g1/idProduct 0x5${ro.usb.pid_suffix}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis"
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x0fce
write /config/usb_gadget/g1/idProduct 0x7${ro.usb.pid_suffix}
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,adb
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb"
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
rm /config/usb_gadget/g1/configs/b.1/f3
rm /config/usb_gadget/g1/configs/b.1/f4
rm /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/idVendor 0x0fce
write /config/usb_gadget/g1/idProduct 0x7${ro.usb.pid_suffix}
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/idProduct 0x8${ro.usb.pid_suffix}
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "ptp"
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp"
write /config/usb_gadget/g1/os_desc/use 1
write /config/usb_gadget/g1/idProduct 0x9${ro.usb.pid_suffix}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "ptp_adb"
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb"
write /config/usb_gadget/g1/os_desc/use 1
write /config/usb_gadget/g1/idProduct 0xA${ro.usb.pid_suffix}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=midi && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0xC${ro.usb.pid_suffix}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0xF${ro.usb.pid_suffix}
setprop sys.usb.state ${sys.usb.config}
# Completely redeclare ADB for safety purposes
on property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
rm /config/usb_gadget/g1/configs/b.1/f1
rm /config/usb_gadget/g1/configs/b.1/f2
write /config/usb_gadget/g1/idProduct 0x0${ro.usb.pid_suffix}
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}

View file

@ -0,0 +1,448 @@
# Copyright (c) 2013-2017, 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.
#
#
on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules pinctrl-wcd wcd-dsp-glink snd-soc-wcd-spi snd-soc-sdm845
write /proc/sys/kernel/sched_boost 1
symlink /data/tombstones /tombstones
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/system-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
on fs
wait /dev/block/platform/soc/1d84000.ufshc
symlink /dev/block/platform/soc/1d84000.ufshc /dev/block/bootdevice
# SONY: start service that shows graphics if checking filesystems takes long time.
start fsckwait
mount_all /vendor/etc/fstab.qcom
swapon_all /vendor/etc/fstab.qcom
# SONY: notify the service that starts the graphics to stop.
exec u:r:fsckwait:s0 system root system -- /vendor/bin/fsckwait e
restorecon_recursive /persist
mkdir /persist/data 0700 system system
on post-fs
start qseecomd
exec - system system -- /vendor/bin/init.qti.qseecomd.sh
write /dev/ipa 1
service sec_nvm /vendor/bin/sec_nvm
class core
user system
group system
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 /data/vendor/hbtp 0750 system system
mkdir /persist/qti_fp 0700 system system
mkdir /data/misc/seemp 0700 system system
mkdir /data/vendor/tloc 0700 system drmrpc
# For cpusets initialize for Silver Only first and then Silver + Gold
# Silver Only configuration cannot work with 0-7
on boot
chown system system /sys/kernel/hbtp/display_pwr
start rmt_storage
start rfs_access
write /dev/cpuset/top-app/cpus 0-3
write /dev/cpuset/audio-app/cpus 1-2
write /dev/cpuset/foreground/cpus 0-3
write /dev/cpuset/foreground/boost/cpus 0-3
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-7
write /dev/cpuset/foreground/boost/cpus 0-7
write /dev/cpuset/background/cpus 0-7
write /dev/cpuset/system-background/cpus 0-7
# 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 ####
mkdir /persist/speccfg 0770 system system
chmod 0660 /persist/speccfg/spec
chown system system /persist/speccfg/spec
#start camera server as daemon
#service qcamerasvr /system/bin/mm-qcamera-daemon
# class late_start
# user camera
# group camera system inet input graphics
#pd-mapper
service pd_mapper /vendor/bin/pd-mapper
class core
user system
group system
#Peripheral manager
service per_mgr /vendor/bin/pm-service
class core
user system
group system
ioprio rt 4
service per_proxy /vendor/bin/pm-proxy
class core
user system
group system
disabled
on property:init.svc.per_mgr=running
start per_proxy
on property:sys.shutdown.requested=*
stop per_proxy
on charger
start hvdcp_opti
start power_off_alarm
## import cne init file
#on post-fs
# export LD_PRELOAD /vendor/lib/libNimsWrap.so
#
## 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 qseecomd /vendor/bin/qseecomd
class core
user root
group root
service spdaemon /vendor/bin/spdaemon
class core
user system
group system
service hdcp_srm /vendor/bin/hdcp_srm
class core
user system
group system
#service mpdecision /system/vendor/bin/mpdecision --avg_comp
# user root
# disabled
#
#service qosmgrd /system/bin/qosmgr /system/etc/qosmgr_rules.xml
# user system
# group system
# 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
#service security-check1 /sbin/security_boot_check system
# class core
# oneshot
#
#service security-check2 /sbin/security_boot_check recovery
# class core
# oneshot
#
#service time_daemon /system/vendor/bin/time_daemon
# class late_start
# user root
# group root
service adsprpcd /vendor/bin/adsprpcd
class main
user media
group media
service cdsprpcd /vendor/bin/cdsprpcd
class main
user system
group system
#service audiod /vendor/bin/audiod
# class late_start
# user system
# group system
#
#service usf_tester /vendor/bin/usf_tester
# user system
# group system inet
# disabled
#
#service usf_epos /vendor/bin/usf_epos
# user system
# group system inet
# disabled
#
#service usf_gesture /vendor/bin/usf_gesture
# user system
# group system inet
# disabled
#
#service usf_sync_gesture /system/bin/usf_sync_gesture
# user system
# group system inet
# disabled
#
#service usf_p2p /system/bin/usf_p2p
# user system
# group system inet
# disabled
#
#service usf_hovering /vendor/bin/usf_hovering
# user system
# group system inet
# disabled
#
#service usf_proximity /system/bin/usf_proximity
# user system
# group system inet
# disabled
#
#service usf-post-boot /system/vendor/bin/sh /system/etc/usf_post_boot.sh
# class late_start
# user root
# disabled
# oneshot
#
#on property:init.svc.bootanim=stopped
# start usf-post-boot
#
#
#on boot
# insmod /system/lib/modules/adsprpc.ko
# insmod /system/lib/modules/mhi.ko
## access permission for secure touch
# chmod 0660 /sys/devices/f9966000.i2c/i2c-1/1-004a/secure_touch_enable
# chmod 0440 /sys/devices/f9966000.i2c/i2c-1/1-004a/secure_touch
# chmod 0660 /sys/devices/f9966000.i2c/i2c-1/1-0020/secure_touch_enable
# chmod 0440 /sys/devices/f9966000.i2c/i2c-1/1-0020/secure_touch
# chown system drmrpc /sys/devices/f9966000.i2c/i2c-1/1-004a/secure_touch_enable
# chown system drmrpc /sys/devices/f9966000.i2c/i2c-1/1-004a/secure_touch
# chown system drmrpc /sys/devices/f9966000.i2c/i2c-1/1-0020/secure_touch_enable
# chown system drmrpc /sys/devices/f9966000.i2c/i2c-1/1-0020/secure_touch
#
#
#
## imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service 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 imsdatadaemon /system/vendor/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
group system wifi radio inet log diag
disabled
#service mdm_helper /system/bin/mdm_helper
# class core
# onrestart setprop ro.service.mdm_helper_restarted "true"
# disabled
#
#service mdm_helper_proxy /system/bin/mdm_helper_proxy
# class core
# disabled
#
#service mdm_launcher /system/bin/sh /init.mdm.sh
# class main
# oneshot
#
#service qcamerasvr /system/bin/mm-qcamera-daemon
# class late_start
# user camera
# group camera system inet input graphics
#
# Stop mdm_helper_proxy in case of shutdown
#on property:sys.shutdown.requested=*
# stop mdm_helper_proxy
#
# Stop mdm_helper_proxy on APQ target
#on property:ro.radio.noril=yes
# stop mdm_helper_proxy
#
#on property:persist.airplane.mode.pwr.svg=enabled
# setprop ro.mdm_helper_proxy_req false
#
#on property:init.svc.ril-daemon=running
# setprop ro.mdm_helper_proxy_req true
#
## Start mdm_helper_proxy
#on property:ro.mdm_helper_proxy_req=true
# start mdm_helper_proxy
#
## QCA1530 SoC core detect
#service gnss-detect /system/vendor/bin/gnss.qca1530.sh detect
# class core
# oneshot
#
## QCA1530 SoC late_start group trigger
#service gnss-init /system/vendor/bin/gnss.qca1530.sh init
# class late_start
# oneshot
#
## QCA1530 SoC Service Daemon
#service gnss-svcd /system/vendor/bin/gnss.qca1530.sh start
# class late_start
# user root
# group gps system qcom_diag diag log inet net_raw
# disabled
service vendor.imsrcsservice /system/vendor/bin/imsrcsd
class main
user system
group radio diag inet log
disabled
on property:vendor.ims.QMI_DAEMON_STATUS=1
start imsdatadaemon
service ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
class main
user system
group radio diag inet log
disabled
on property:vendor.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
start vendor.imsrcsservice
service ppd /vendor/bin/mm-pp-dpps
class late_start
user system
group system graphics
socket pps stream 0660 system system
disabled
on property:init.svc.hwcomposer-2-1=stopped
stop ppd
on property:init.svc.hwcomposer-2-1=running
start ppd
on property:init.svc.hwcomposer-2-1=restarting
stop ppd
#service nqs /system/bin/nqs
# class late_start
# socket nqs_qsb_comm stream 660 system system
# user system
# group drmrpc
#
#service adsprpcd /system/vendor/bin/adsprpcd
# class main
# user media
# group media
#
##Start picture quality tuning service
#service vqttoolservice /system/bin/vqttoolservice
# class late_start
# socket vqtss stream 0660 system system
# user system
# group system
#service hbtp /system/vendor/bin/hbtp_daemon
# class main
# user system
# group system
# capabilities SYS_NICE
# disabled
service qfp-daemon /vendor/bin/qfp-daemon
class late_start
user system
group system drmrpc diag input
service energy-awareness /system/vendor/bin/energy-awareness
class main
user system
group system
oneshot
#service seempd /system/bin/seempd
# class late_start
# user system
# group system sdcard_rw
# socket seempdw dgram 0666 system system
service hvdcp_opti /system/vendor/bin/hvdcp_opti
# class main
disabled
user root
group system wakelock
service smcinvoked /system/bin/smcinvoked
class main
user system
group system
service tlocd /vendor/bin/tloc_daemon
class late_start
user system
group drmrpc gps net_raw
service fsckwait /vendor/bin/fsckwait s
user root
group root system graphics
disabled
oneshot
socket fsckwait stream 0660 root root
seclabel u:r:fsckwait:s0