land: rootdir: Build the init scripts
Change-Id: I564643fa4e91d1299783d60a844bdf9c7d27b60f
This commit is contained in:
parent
fb546a7d5b
commit
dc1dc77497
7 changed files with 2843 additions and 1 deletions
|
@ -1,4 +1,7 @@
|
|||
# Init scripts
|
||||
PRODUCT_PACKAGES += \
|
||||
fstab.qcom \
|
||||
init.qcom.rc \
|
||||
init.qcom.sh \
|
||||
init.target.rc \
|
||||
ueventd.qcom.rc
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf
|
||||
|
||||
# Init scripts
|
||||
PRODUCT_PACKAGES += \
|
||||
init.qcom.post_boot.sh
|
||||
|
||||
# Properties
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.am.reschedule_service=true \
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Init scripts
|
||||
PRODUCT_PACKAGES += \
|
||||
init.qcom.usb.rc
|
||||
init.qcom.usb.rc \
|
||||
init.qcom.usb.sh
|
||||
|
||||
# Permissions
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
|
75
rootdir/Android.mk
Normal file
75
rootdir/Android.mk
Normal file
|
@ -0,0 +1,75 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# Init scripts
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := fstab.qcom
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := fstab.qcom
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.rc
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := init.qcom.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.sh
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := init.qcom.sh
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.usb.rc
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := init.qcom.usb.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.usb.sh
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := init.qcom.usb.sh
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.target.rc
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := init.target.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := ueventd.qcom.rc
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := ueventd.qcom.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
# Configuration scripts
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.bt.sh
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.bt.sh
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.post_boot.sh
|
||||
LOCAL_MODULE_TAGS := optional eng
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.post_boot.sh
|
||||
include $(BUILD_PREBUILT)
|
2136
rootdir/etc/init.qcom.post_boot.sh
Normal file
2136
rootdir/etc/init.qcom.post_boot.sh
Normal file
File diff suppressed because it is too large
Load diff
345
rootdir/init.qcom.sh
Executable file
345
rootdir/init.qcom.sh
Executable file
|
@ -0,0 +1,345 @@
|
|||
#!/system/bin/sh
|
||||
# Copyright (c) 2009-2015, 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.
|
||||
#
|
||||
|
||||
target=`getprop ro.board.platform`
|
||||
if [ -f /sys/devices/soc0/soc_id ]; then
|
||||
platformid=`cat /sys/devices/soc0/soc_id`
|
||||
else
|
||||
platformid=`cat /sys/devices/system/soc/soc0/id`
|
||||
fi
|
||||
|
||||
start_battery_monitor()
|
||||
{
|
||||
if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then
|
||||
chown -h root.system /sys/module/pm8921_bms/parameters/*
|
||||
chown -h root.system /sys/module/qpnp_bms/parameters/*
|
||||
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data
|
||||
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp
|
||||
chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl
|
||||
chmod 0660 /sys/module/qpnp_bms/parameters/*
|
||||
chmod 0660 /sys/module/pm8921_bms/parameters/*
|
||||
mkdir -p /data/bms
|
||||
chown -h root.system /data/bms
|
||||
chmod 0770 /data/bms
|
||||
start battery_monitor
|
||||
fi
|
||||
}
|
||||
|
||||
start_charger_monitor()
|
||||
{
|
||||
if ls /sys/module/qpnp_charger/parameters/charger_monitor; then
|
||||
chown -h root.system /sys/module/qpnp_charger/parameters/*
|
||||
chown -h root.system /sys/class/power_supply/battery/input_current_max
|
||||
chown -h root.system /sys/class/power_supply/battery/input_current_trim
|
||||
chown -h root.system /sys/class/power_supply/battery/input_current_settled
|
||||
chown -h root.system /sys/class/power_supply/battery/voltage_min
|
||||
chmod 0664 /sys/class/power_supply/battery/input_current_max
|
||||
chmod 0664 /sys/class/power_supply/battery/input_current_trim
|
||||
chmod 0664 /sys/class/power_supply/battery/input_current_settled
|
||||
chmod 0664 /sys/class/power_supply/battery/voltage_min
|
||||
chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor
|
||||
start charger_monitor
|
||||
fi
|
||||
}
|
||||
|
||||
start_vm_bms()
|
||||
{
|
||||
if [ -e /dev/vm_bms ]; then
|
||||
chown -h root.system /sys/class/power_supply/bms/current_now
|
||||
chown -h root.system /sys/class/power_supply/bms/voltage_ocv
|
||||
chmod 0664 /sys/class/power_supply/bms/current_now
|
||||
chmod 0664 /sys/class/power_supply/bms/voltage_ocv
|
||||
start vm_bms
|
||||
fi
|
||||
}
|
||||
|
||||
start_msm_irqbalance_8939()
|
||||
{
|
||||
if [ -f /system/bin/msm_irqbalance ]; then
|
||||
case "$platformid" in
|
||||
"239" | "293" | "294" | "295" | "304")
|
||||
start msm_irqbalance;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
start_msm_irqbalance()
|
||||
{
|
||||
if [ -f /system/bin/msm_irqbalance ]; then
|
||||
start msm_irqbalance
|
||||
fi
|
||||
}
|
||||
|
||||
start_copying_prebuilt_qcril_db()
|
||||
{
|
||||
if [ -f /system/vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then
|
||||
cp /system/vendor/qcril.db /data/misc/radio/qcril.db
|
||||
chown -h radio.radio /data/misc/radio/qcril.db
|
||||
fi
|
||||
}
|
||||
|
||||
baseband=`getprop ro.baseband`
|
||||
echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr
|
||||
|
||||
case "$baseband" in
|
||||
"svlte2a")
|
||||
start bridgemgrd
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$target" in
|
||||
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
value=`cat /sys/devices/soc0/hw_platform`
|
||||
else
|
||||
value=`cat /sys/devices/system/soc/soc0/hw_platform`
|
||||
fi
|
||||
case "$value" in
|
||||
"Fluid")
|
||||
start profiler_daemon;;
|
||||
esac
|
||||
;;
|
||||
"msm8660" )
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
platformvalue=`cat /sys/devices/soc0/hw_platform`
|
||||
else
|
||||
platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
|
||||
fi
|
||||
case "$platformvalue" in
|
||||
"Fluid")
|
||||
start profiler_daemon;;
|
||||
esac
|
||||
;;
|
||||
"msm8960")
|
||||
case "$baseband" in
|
||||
"msm")
|
||||
start_battery_monitor;;
|
||||
esac
|
||||
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
platformvalue=`cat /sys/devices/soc0/hw_platform`
|
||||
else
|
||||
platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
|
||||
fi
|
||||
case "$platformvalue" in
|
||||
"Fluid")
|
||||
start profiler_daemon;;
|
||||
"Liquid")
|
||||
start profiler_daemon;;
|
||||
esac
|
||||
;;
|
||||
"msm8974")
|
||||
platformvalue=`cat /sys/devices/soc0/hw_platform`
|
||||
case "$platformvalue" in
|
||||
"Fluid")
|
||||
start profiler_daemon;;
|
||||
"Liquid")
|
||||
start profiler_daemon;;
|
||||
esac
|
||||
case "$baseband" in
|
||||
"msm")
|
||||
start_battery_monitor
|
||||
;;
|
||||
esac
|
||||
start_charger_monitor
|
||||
;;
|
||||
"apq8084")
|
||||
platformvalue=`cat /sys/devices/soc0/hw_platform`
|
||||
case "$platformvalue" in
|
||||
"Fluid")
|
||||
start profiler_daemon;;
|
||||
"Liquid")
|
||||
start profiler_daemon;;
|
||||
esac
|
||||
;;
|
||||
"msm8226")
|
||||
start_charger_monitor
|
||||
;;
|
||||
"msm8610")
|
||||
start_charger_monitor
|
||||
;;
|
||||
"msm8916")
|
||||
start_vm_bms
|
||||
start_msm_irqbalance_8939
|
||||
if [ -f /sys/devices/soc0/soc_id ]; then
|
||||
soc_id=`cat /sys/devices/soc0/soc_id`
|
||||
else
|
||||
soc_id=`cat /sys/devices/system/soc/soc0/id`
|
||||
fi
|
||||
|
||||
if [ -f /sys/devices/soc0/platform_subtype_id ]; then
|
||||
platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
|
||||
fi
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
hw_platform=`cat /sys/devices/soc0/hw_platform`
|
||||
fi
|
||||
case "$soc_id" in
|
||||
"239")
|
||||
case "$hw_platform" in
|
||||
"Surf")
|
||||
case "$platform_subtype_id" in
|
||||
"1")
|
||||
setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"MTP")
|
||||
case "$platform_subtype_id" in
|
||||
"3")
|
||||
setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"msm8994" | "msm8992")
|
||||
start_msm_irqbalance
|
||||
;;
|
||||
"msm8996")
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
hw_platform=`cat /sys/devices/soc0/hw_platform`
|
||||
fi
|
||||
case "$hw_platform" in
|
||||
"MTP" | "CDP")
|
||||
#Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership.
|
||||
for count in 0 1 2 3 4 5 6 7 8 9 10
|
||||
do
|
||||
dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count
|
||||
if [ -d "$dir" ]; then
|
||||
chmod 0660 $dir/secure_touch_enable
|
||||
chmod 0440 $dir/secure_touch
|
||||
chown system.drmrpc $dir/secure_touch_enable
|
||||
chown system.drmrpc $dir/secure_touch
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"msm8909")
|
||||
start_vm_bms
|
||||
;;
|
||||
"msm8937")
|
||||
start_msm_irqbalance_8939
|
||||
if [ -f /sys/devices/soc0/soc_id ]; then
|
||||
soc_id=`cat /sys/devices/soc0/soc_id`
|
||||
else
|
||||
soc_id=`cat /sys/devices/system/soc/soc0/id`
|
||||
fi
|
||||
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
hw_platform=`cat /sys/devices/soc0/hw_platform`
|
||||
else
|
||||
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
|
||||
fi
|
||||
case "$soc_id" in
|
||||
"294" | "295" | "303" | "307" | "308" | "309")
|
||||
case "$hw_platform" in
|
||||
"Surf")
|
||||
# setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
"MTP")
|
||||
# setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
"RCM")
|
||||
# setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"msm8953")
|
||||
start_msm_irqbalance_8939
|
||||
if [ -f /sys/devices/soc0/soc_id ]; then
|
||||
soc_id=`cat /sys/devices/soc0/soc_id`
|
||||
else
|
||||
soc_id=`cat /sys/devices/system/soc/soc0/id`
|
||||
fi
|
||||
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
hw_platform=`cat /sys/devices/soc0/hw_platform`
|
||||
else
|
||||
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
|
||||
fi
|
||||
case "$soc_id" in
|
||||
"293" | "304" )
|
||||
case "$hw_platform" in
|
||||
"Surf")
|
||||
setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
"MTP")
|
||||
setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
"RCM")
|
||||
setprop qemu.hw.mainkeys 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
bootmode=`getprop ro.bootmode`
|
||||
emmc_boot=`getprop ro.boot.emmc`
|
||||
case "$emmc_boot"
|
||||
in "true")
|
||||
if [ "$bootmode" != "charger" ]; then # start rmt_storage and rfs_access
|
||||
start rmt_storage
|
||||
start rfs_access
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Copy qcril.db if needed for RIL
|
||||
#
|
||||
start_copying_prebuilt_qcril_db
|
||||
echo 1 > /data/misc/radio/db_check_done
|
||||
|
||||
#
|
||||
# Make modem config folder and copy firmware config to that folder for RIL
|
||||
#
|
||||
if [ -f /data/misc/radio/ver_info.txt ]; then
|
||||
prev_version_info=`cat /data/misc/radio/ver_info.txt`
|
||||
else
|
||||
prev_version_info=""
|
||||
fi
|
||||
|
||||
cur_version_info=`cat /firmware/verinfo/ver_info.txt`
|
||||
if [ "$prev_version_info" != "$cur_version_info" ]; then
|
||||
rm -rf /data/misc/radio/modem_config
|
||||
mkdir /data/misc/radio/modem_config
|
||||
chmod 770 /data/misc/radio/modem_config
|
||||
cp -r /firmware/image/modem_pr/mcfg/configs/* /data/misc/radio/modem_config
|
||||
chown -hR radio.radio /data/misc/radio/modem_config
|
||||
cp /firmware/verinfo/ver_info.txt /data/misc/radio/ver_info.txt
|
||||
chown radio.radio /data/misc/radio/ver_info.txt
|
||||
fi
|
||||
echo 1 > /data/misc/radio/copy_complete
|
278
rootdir/init.qcom.usb.sh
Executable file
278
rootdir/init.qcom.usb.sh
Executable file
|
@ -0,0 +1,278 @@
|
|||
#!/system/bin/sh
|
||||
# Copyright (c) 2012, 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.
|
||||
#
|
||||
#
|
||||
chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup
|
||||
chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup
|
||||
|
||||
# Set platform variables
|
||||
if [ -f /sys/devices/soc0/hw_platform ]; then
|
||||
soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null
|
||||
else
|
||||
soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null
|
||||
fi
|
||||
|
||||
# Get hardware revision
|
||||
if [ -f /sys/devices/soc0/revision ]; then
|
||||
soc_revision=`cat /sys/devices/soc0/revision` 2> /dev/null
|
||||
else
|
||||
soc_revision=`cat /sys/devices/system/soc/soc0/revision` 2> /dev/null
|
||||
fi
|
||||
|
||||
#
|
||||
# Allow persistent usb charging disabling
|
||||
# User needs to set usb charging disabled in persist.usb.chgdisabled
|
||||
#
|
||||
target=`getprop ro.board.platform`
|
||||
usbchgdisabled=`getprop persist.usb.chgdisabled`
|
||||
case "$usbchgdisabled" in
|
||||
"") ;; #Do nothing here
|
||||
* )
|
||||
case $target in
|
||||
"msm8660")
|
||||
echo "$usbchgdisabled" > /sys/module/pmic8058_charger/parameters/disabled
|
||||
echo "$usbchgdisabled" > /sys/module/smb137b/parameters/disabled
|
||||
;;
|
||||
"msm8960")
|
||||
echo "$usbchgdisabled" > /sys/module/pm8921_charger/parameters/disabled
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
usbcurrentlimit=`getprop persist.usb.currentlimit`
|
||||
case "$usbcurrentlimit" in
|
||||
"") ;; #Do nothing here
|
||||
* )
|
||||
case $target in
|
||||
"msm8960")
|
||||
echo "$usbcurrentlimit" > /sys/module/pm8921_charger/parameters/usb_max_current
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
#
|
||||
# Check ESOC for external MDM
|
||||
#
|
||||
# Note: currently only a single MDM is supported
|
||||
#
|
||||
if [ -d /sys/bus/esoc/devices ]; then
|
||||
for f in /sys/bus/esoc/devices/*; do
|
||||
if [ -d $f ]; then
|
||||
if [ `grep "^MDM" $f/esoc_name` ]; then
|
||||
esoc_link=`cat $f/esoc_link`
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
target=`getprop ro.board.platform`
|
||||
|
||||
#
|
||||
# Allow USB enumeration with default PID/VID
|
||||
#
|
||||
baseband=`getprop ro.baseband`
|
||||
echo 1 > /sys/class/android_usb/f_mass_storage/lun/nofua
|
||||
usb_config=`getprop persist.sys.usb.config`
|
||||
case "$usb_config" in
|
||||
"" | "adb") #USB persist config not set, select default configuration
|
||||
case "$esoc_link" in
|
||||
"HSIC")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
|
||||
setprop persist.rmnet.mux enabled
|
||||
;;
|
||||
"HSIC+PCIe")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,rmnet_qti_ether,mass_storage,adb
|
||||
;;
|
||||
"PCIe")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage,adb
|
||||
;;
|
||||
*)
|
||||
case "$baseband" in
|
||||
"mdm")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
|
||||
;;
|
||||
"mdm2")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
|
||||
;;
|
||||
"sglte")
|
||||
setprop persist.sys.usb.config diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb
|
||||
;;
|
||||
"dsda" | "sglte2")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage,adb
|
||||
;;
|
||||
"dsda2")
|
||||
setprop persist.sys.usb.config diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb
|
||||
;;
|
||||
*)
|
||||
case "$target" in
|
||||
"msm8916")
|
||||
setprop persist.sys.usb.config diag,serial_smd,rmnet_bam,adb
|
||||
;;
|
||||
"msm8994" | "msm8992")
|
||||
if [ "$soc_hwplatform" == "Dragon" ]; then
|
||||
setprop persist.sys.usb.config diag,adb
|
||||
else
|
||||
setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb
|
||||
fi
|
||||
;;
|
||||
"msm8996")
|
||||
if [ "$soc_revision" == "1.0" -o "$soc_hwplatform" == "Dragon" ]
|
||||
then
|
||||
setprop persist.sys.usb.config diag,adb
|
||||
else
|
||||
setprop persist.sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
|
||||
fi
|
||||
;;
|
||||
"msm8909" | "msm8937")
|
||||
setprop persist.sys.usb.config diag,serial_smd,rmnet_qti_bam,adb
|
||||
;;
|
||||
"msm8952" | "msm8953")
|
||||
setprop persist.sys.usb.config diag,serial_smd,rmnet_ipa,adb
|
||||
;;
|
||||
*)
|
||||
setprop persist.sys.usb.config diag,adb
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
* ) ;; #USB persist config exists, do nothing
|
||||
esac
|
||||
|
||||
#
|
||||
# Do target specific things
|
||||
#
|
||||
case "$target" in
|
||||
"msm8974")
|
||||
# Select USB BAM - 2.0 or 3.0
|
||||
echo ssusb > /sys/bus/platform/devices/usb_bam/enable
|
||||
;;
|
||||
"apq8084")
|
||||
if [ "$baseband" == "apq" ]; then
|
||||
echo "msm_hsic_host" > /sys/bus/platform/drivers/xhci_msm_hsic/unbind
|
||||
fi
|
||||
;;
|
||||
"msm8226")
|
||||
if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then
|
||||
if [ ! -L /sys/bus/usb/devices/1-1 ]; then
|
||||
echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
"msm8994" | "msm8992" | "msm8996" | "msm8953")
|
||||
echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports
|
||||
echo 131072 > /sys/module/g_android/parameters/mtp_tx_req_len
|
||||
echo 131072 > /sys/module/g_android/parameters/mtp_rx_req_len
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# set module params for embedded rmnet devices
|
||||
#
|
||||
rmnetmux=`getprop persist.rmnet.mux`
|
||||
case "$baseband" in
|
||||
"mdm" | "dsda" | "sglte2")
|
||||
case "$rmnetmux" in
|
||||
"enabled")
|
||||
echo 1 > /sys/module/rmnet_usb/parameters/mux_enabled
|
||||
echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links
|
||||
echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev
|
||||
;;
|
||||
esac
|
||||
echo 1 > /sys/module/rmnet_usb/parameters/rmnet_data_init
|
||||
# Allow QMUX daemon to assign port open wait time
|
||||
chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
|
||||
;;
|
||||
"dsda2")
|
||||
echo 2 > /sys/module/rmnet_usb/parameters/no_rmnet_devs
|
||||
echo hsicctl,hsusbctl > /sys/module/rmnet_usb/parameters/rmnet_dev_names
|
||||
case "$rmnetmux" in
|
||||
"enabled") #mux is neabled on both mdms
|
||||
echo 3 > /sys/module/rmnet_usb/parameters/mux_enabled
|
||||
echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links
|
||||
echo 17 > write /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev
|
||||
;;
|
||||
"enabled_hsic") #mux is enabled on hsic mdm
|
||||
echo 1 > /sys/module/rmnet_usb/parameters/mux_enabled
|
||||
echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links
|
||||
echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev
|
||||
;;
|
||||
"enabled_hsusb") #mux is enabled on hsusb mdm
|
||||
echo 2 > /sys/module/rmnet_usb/parameters/mux_enabled
|
||||
echo 8 > /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links
|
||||
echo 17 > /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev
|
||||
;;
|
||||
esac
|
||||
echo 1 > /sys/module/rmnet_usb/parameters/rmnet_data_init
|
||||
# Allow QMUX daemon to assign port open wait time
|
||||
chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Add support for exposing lun0 as cdrom in mass-storage
|
||||
#
|
||||
cdromname="/system/etc/cdrom_install.iso"
|
||||
platformver=`cat /sys/devices/soc0/hw_platform`
|
||||
case "$target" in
|
||||
"msm8226" | "msm8610" | "msm8916")
|
||||
case $platformver in
|
||||
"QRD")
|
||||
echo "mounting usbcdrom lun"
|
||||
echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/rom/file
|
||||
chmod 0444 /sys/class/android_usb/android0/f_mass_storage/rom/file
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Initialize RNDIS Diag option. If unset, set it to 'none'.
|
||||
#
|
||||
diag_extra=`getprop persist.sys.usb.config.extra`
|
||||
if [ "$diag_extra" == "" ]; then
|
||||
setprop persist.sys.usb.config.extra none
|
||||
fi
|
||||
|
||||
# soc_ids for 8937
|
||||
if [ -f /sys/devices/soc0/soc_id ]; then
|
||||
soc_id=`cat /sys/devices/soc0/soc_id`
|
||||
else
|
||||
soc_id=`cat /sys/devices/system/soc/soc0/id`
|
||||
fi
|
||||
|
||||
# enable rps cpus on msm8937 target
|
||||
setprop sys.usb.rps_mask 0
|
||||
case "$soc_id" in
|
||||
"294" | "295")
|
||||
setprop sys.usb.rps_mask 40
|
||||
;;
|
||||
esac
|
Loading…
Reference in a new issue