sm8550-common: Using QTI USB init scripts
Change-Id: If7271d021916a9cb035a2bce734668fada3099f2
This commit is contained in:
@@ -314,6 +314,8 @@ PRODUCT_PACKAGES += \
|
|||||||
init.qcom.usb.rc \
|
init.qcom.usb.rc \
|
||||||
init.qcom.usb.sh
|
init.qcom.usb.sh
|
||||||
|
|
||||||
|
PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/usb/etc
|
||||||
|
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
$(LOCAL_PATH)/configs/usb/usb_compositions.conf:$(TARGET_COPY_OUT_VENDOR)/etc/usb_compositions.conf
|
$(LOCAL_PATH)/configs/usb/usb_compositions.conf:$(TARGET_COPY_OUT_VENDOR)/etc/usb_compositions.conf
|
||||||
|
|
||||||
|
@@ -36,13 +36,6 @@ prebuilt_etc {
|
|||||||
vendor: true,
|
vendor: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
prebuilt_etc {
|
|
||||||
name: "init.qcom.usb.rc",
|
|
||||||
src: "init.qcom.usb.rc",
|
|
||||||
sub_dir: "init/hw",
|
|
||||||
vendor: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
prebuilt_etc {
|
prebuilt_etc {
|
||||||
name: "init.ramplus.rc",
|
name: "init.ramplus.rc",
|
||||||
src: "init.ramplus.rc",
|
src: "init.ramplus.rc",
|
||||||
@@ -156,10 +149,3 @@ sh_binary {
|
|||||||
src: "init.qcom.sh",
|
src: "init.qcom.sh",
|
||||||
vendor: true,
|
vendor: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sh_binary {
|
|
||||||
name: "init.qcom.usb.sh",
|
|
||||||
src: "init.qcom.usb.sh",
|
|
||||||
vendor: true,
|
|
||||||
}
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,230 +0,0 @@
|
|||||||
#!/vendor/bin/sh
|
|
||||||
# Copyright (c) 2012-2018, 2020-2021 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.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
# Changes from Qualcomm Innovation Center are provided under the following license:
|
|
||||||
# Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
||||||
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set platform variables
|
|
||||||
soc_hwplatform=`cat /sys/devices/soc0/hw_platform 2> /dev/null`
|
|
||||||
soc_machine=`cat /sys/devices/soc0/machine 2> /dev/null`
|
|
||||||
soc_machine=${soc_machine:0:2}
|
|
||||||
soc_id=`cat /sys/devices/soc0/soc_id 2> /dev/null`
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check ESOC for external modem
|
|
||||||
#
|
|
||||||
# Note: currently only a single MDM/SDX is supported
|
|
||||||
#
|
|
||||||
esoc_name=`cat /sys/bus/esoc/devices/esoc0/esoc_name 2> /dev/null`
|
|
||||||
|
|
||||||
target=`getprop ro.board.platform`
|
|
||||||
|
|
||||||
#
|
|
||||||
# Override USB default composition
|
|
||||||
#
|
|
||||||
# If USB persist config not set, set default configuration
|
|
||||||
if [ "$(getprop persist.vendor.usb.config)" == "" -a "$(getprop ro.build.type)" != "user" ]; then
|
|
||||||
if [ "$esoc_name" != "" ]; then
|
|
||||||
setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb
|
|
||||||
else
|
|
||||||
case "$(getprop ro.baseband)" in
|
|
||||||
"apq")
|
|
||||||
if [ "$target" == "neo" ] || [ "$target" == "anorak" ]; then
|
|
||||||
setprop persist.vendor.usb.config diag,qdss,adb
|
|
||||||
else
|
|
||||||
setprop persist.vendor.usb.config diag,adb
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$soc_hwplatform" in
|
|
||||||
"Dragon" | "SBC")
|
|
||||||
setprop persist.vendor.usb.config diag,adb
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$soc_machine" in
|
|
||||||
"SA")
|
|
||||||
setprop persist.vendor.usb.config diag,adb
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$target" in
|
|
||||||
"msm8996")
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
|
|
||||||
;;
|
|
||||||
"msm8909")
|
|
||||||
setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb
|
|
||||||
;;
|
|
||||||
"msm8937")
|
|
||||||
if [ -d /config/usb_gadget ]; then
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
|
|
||||||
else
|
|
||||||
case "$soc_id" in
|
|
||||||
"313" | "320")
|
|
||||||
setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"msm8953")
|
|
||||||
if [ -d /config/usb_gadget ]; then
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
|
|
||||||
else
|
|
||||||
setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"msm8998" | "sdm660" | "apq8098_latv")
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,adb
|
|
||||||
;;
|
|
||||||
"monaco")
|
|
||||||
setprop persist.vendor.usb.config diag,qdss,rmnet,adb
|
|
||||||
;;
|
|
||||||
"sdm845" | "sdm710")
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
|
|
||||||
;;
|
|
||||||
"msmnile")
|
|
||||||
case "$soc_id" in
|
|
||||||
"362" | "367")
|
|
||||||
setprop persist.vendor.usb.config diag,adb
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
"gen4")
|
|
||||||
setprop persist.vendor.usb.config adb
|
|
||||||
;;
|
|
||||||
"sm6150" | "trinket" | "lito" | "atoll" | "bengal" | "lahaina" | "holi" | "taro" | "parrot" | "ravelin" | "kalama" | "crow")
|
|
||||||
setprop persist.vendor.usb.config diag,adb
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
setprop persist.vendor.usb.config diag,adb
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# This check is needed for GKI 1.0 targets where QDSS is not available
|
|
||||||
if [ "$(getprop persist.vendor.usb.config)" == "diag,serial_cdev,rmnet,dpl,qdss,adb" -a \
|
|
||||||
! -d /config/usb_gadget/g1/functions/qdss.qdss ]; then
|
|
||||||
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start peripheral mode on primary USB controllers for Automotive platforms
|
|
||||||
case "$soc_machine" in
|
|
||||||
"SA")
|
|
||||||
if [ -f /sys/bus/platform/devices/a600000.ssusb/mode ]; then
|
|
||||||
default_mode=`cat /sys/bus/platform/devices/a600000.ssusb/mode`
|
|
||||||
case "$default_mode" in
|
|
||||||
"none")
|
|
||||||
echo peripheral > /sys/bus/platform/devices/a600000.ssusb/mode
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# check configfs is mounted or not
|
|
||||||
if [ -d /config/usb_gadget ]; then
|
|
||||||
usb_product=`getprop vendor.usb.product_string`;
|
|
||||||
vendor_model=`getprop ro.product.vendor.model`;
|
|
||||||
if [ "$usb_product" == "" ]; then
|
|
||||||
setprop vendor.usb.product_string "$vendor_model"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy
|
|
||||||
serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber 2> /dev/null`
|
|
||||||
if [ "$serialnumber" == "" ]; then
|
|
||||||
serialno=1234567
|
|
||||||
echo $serialno > /config/usb_gadget/g1/strings/0x409/serialnumber
|
|
||||||
fi
|
|
||||||
setprop vendor.usb.configfs 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Initialize RNDIS Diag option. If unset, set it to 'none'.
|
|
||||||
#
|
|
||||||
diag_extra=`getprop persist.vendor.usb.config.extra`
|
|
||||||
if [ "$diag_extra" == "" ]; then
|
|
||||||
setprop persist.vendor.usb.config.extra none
|
|
||||||
fi
|
|
||||||
|
|
||||||
# enable rps cpus on msm8937 target
|
|
||||||
setprop vendor.usb.rps_mask 0
|
|
||||||
case "$soc_id" in
|
|
||||||
"294" | "295" | "353" | "354")
|
|
||||||
setprop vendor.usb.rps_mask 40
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# Initialize UVC conifguration.
|
|
||||||
#
|
|
||||||
if [ -d /config/usb_gadget/g1/functions/uvc.0 ]; then
|
|
||||||
setprop vendor.usb.uvc.function.init 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d /config/usb_gadget/g1/functions/uac2.0 ]; then
|
|
||||||
setprop vendor.usb.uac2.function.init 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# enable ncm
|
|
||||||
case "$target" in
|
|
||||||
"neo" | "anorak")
|
|
||||||
if [ -d /config/usb_gadget/g1/functions/ncm.gs6 ]; then
|
|
||||||
cd /config/usb_gadget/g1/functions/ncm.gs6
|
|
||||||
|
|
||||||
echo WINNCM > os_desc/interface.ncm/compatible_id
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#Configure class, subclass, protocol for RNDIS SW path to be detected by Windows
|
|
||||||
case "$target" in
|
|
||||||
"anorak")
|
|
||||||
if [ -d /config/usb_gadget/g1/functions/rndis.rndis ]; then
|
|
||||||
cd /config/usb_gadget/g1/functions/rndis.rndis
|
|
||||||
|
|
||||||
echo ef > class
|
|
||||||
echo 4 > subclass
|
|
||||||
echo 1 > protocol
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
Reference in New Issue
Block a user