Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save TheStrix/6c1bf5552ece94541602adf3975cca4d to your computer and use it in GitHub Desktop.
Save TheStrix/6c1bf5552ece94541602adf3975cca4d to your computer and use it in GitHub Desktop.
diff -bur unified_n/AndroidBoard.mk unified_o/AndroidBoard.mk
--- unified_n/AndroidBoard.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/AndroidBoard.mk 2017-08-30 14:53:05.863414912 +0530
@@ -46,7 +46,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := $(LOCAL_MODULE)
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -61,8 +61,12 @@
LOCAL_MODULE := fstab.qcom
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := $(LOCAL_MODULE)
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+ifeq ($(ENABLE_AB), true)
+LOCAL_SRC_FILES := fstab_AB_variant.qcom
+else
+LOCAL_SRC_FILES := fstab_non_AB_variant.qcom
+endif
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
ifeq ($(strip $(BOARD_HAS_QCOM_WLAN)),true)
@@ -71,7 +75,7 @@
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := $(LOCAL_MODULE)
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/wifi
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/wifi
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -79,7 +83,7 @@
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := $(LOCAL_MODULE)
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/wifi
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/wifi
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -115,9 +119,14 @@
include $(BUILD_PREBUILT)
# Create symbolic links for WLAN
-$(shell mkdir -p $(TARGET_OUT_ETC)/firmware/wlan/qca_cld; \
-ln -sf /system/etc/wifi/WCNSS_qcom_cfg.ini \
-$(TARGET_OUT_ETC)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini)
+$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld; \
+ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini \
+$(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini)
+
+endif
+
+#Create dsp directory
+$(shell mkdir -p $(TARGET_OUT_VENDOR)/lib/dsp)
# Create symbolic links for msadp
$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware; \
Only in unified_n: android_filesystem_config.h
diff -bur unified_n/base.mk unified_o/base.mk
--- unified_n/base.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/base.mk 2017-08-30 14:59:55.434876533 +0530
@@ -19,18 +19,20 @@
QCOM_BOARD_PLATFORMS += msm8937
QCOM_BOARD_PLATFORMS += msm8953
QCOM_BOARD_PLATFORMS += msm8998
+QCOM_BOARD_PLATFORMS += apq8098_latv
QCOM_BOARD_PLATFORMS += sdm660
-QCOM_BOARD_PLATFORMS += msmskunk
+QCOM_BOARD_PLATFORMS += sdm845
+QCOM_BOARD_PLATFORMS += msmpeafowl
QSD8K_BOARD_PLATFORMS := qsd8k
TARGET_USE_VENDOR_CAMERA_EXT := true
#List of targets that use video hw
-MSM_VIDC_TARGET_LIST := msm8974 msm8610 msm8226 apq8084 msm8916 msm8994 msm8909 msm8992 msm8996 msm8952 msm8937 msm8953 msm8998 sdm660 msmskunk sdm845
+MSM_VIDC_TARGET_LIST := msm8974 msm8610 msm8226 apq8084 msm8916 msm8994 msm8909 msm8992 msm8996 msm8952 msm8937 msm8953 msm8998 apq8098_latv sdm660 sdm845 msmpeafowl
#List of targets that use master side content protection
-MASTER_SIDE_CP_TARGET_LIST := msm8996 msm8998 sdm660
+MASTER_SIDE_CP_TARGET_LIST := msm8996 msm8998 sdm660 sdm845 apq8098_latv
# Below projects/packages with LOCAL_MODULEs will be used by
# PRODUCT_PACKAGES to build LOCAL_MODULEs that are tagged with
@@ -103,6 +105,8 @@
AUDIO_HARDWARE += audio.primary.msmgold
AUDIO_HARDWARE += audio.primary.msm8998
AUDIO_HARDWARE += audio.primary.sdm660
+AUDIO_HARDWARE += audio.primary.sdm845
+AUDIO_HARDWARE += audio.primary.apq8098_latv
#
AUDIO_POLICY := audio_policy.mpq8064
AUDIO_POLICY += audio_policy.apq8084
@@ -152,11 +156,11 @@
#BT
BT := javax.btobex
BT += libattrib_static
-BT += hcidump.sh
BT += libbt-vendor
BT += libbthost_if
BT += libbt-logClient
BT += bt_logger
+BT += libbt-hidlclient
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common
#C2DColorConvert
@@ -184,6 +188,12 @@
CURL := libcurl
CURL += curl
+#DASH
+DASH := libdashplayer
+DASH += libqcmediaplayer
+DASH += qcmediaplayer
+DASH += libextmedia_jni
+
#EXTENDEDMEDIA_EXT
EXTENDEDMEDIA_EXT := libextendedmediaextractor
EXTENDEDMEDIA_EXT += libextendedmediaextractor_jni
@@ -193,7 +203,6 @@
#DATA_OS
DATA_OS := librmnetctl
-DATA_OS += rmnetcli
#E2FSPROGS
E2FSPROGS := e2fsck
@@ -212,16 +221,18 @@
FM += libfmjni
FM += fm_helium
FM += libfm-hci
-FM += fmhal_service
#GPS
GPS_HARDWARE := gps.conf
GPS_HARDWARE += gps.default
GPS_HARDWARE += libgps.utils
-GPS_HARDWARE += libloc_eng
GPS_HARDWARE += libloc_api_v02
GPS_HARDWARE += libloc_ds_api
GPS_HARDWARE += libgnsspps
+GPS_HARDWARE += libgnss
+GPS_HARDWARE += liblocation_api
+GPS_HARDWARE += [email protected]
+GPS_HARDWARE += [email protected]
#HDMID
HDMID := hdmid
@@ -248,14 +259,12 @@
INIT += init.qcom.sensor.sh
INIT += init.target.rc
INIT += init.qti.ims.sh
-INIT += init.qcom.bt.sh
-INIT += hsic.control.bt.sh
INIT += init.qcom.coex.sh
-INIT += init.qcom.fm.sh
INIT += init.qcom.early_boot.sh
INIT += init.qcom.post_boot.sh
INIT += init.qcom.syspart_fixup.sh
INIT += init.qcom.rc
+INIT += init.recovery.qcom.rc
INIT += init.qcom.factory.rc
INIT += init.qcom.sdio.sh
INIT += init.qcom.sh
@@ -270,16 +279,14 @@
INIT += usf_post_boot.sh
INIT += init.qcom.efs.sync.sh
INIT += ueventd.qcom.rc
-INIT += init.ath3k.bt.sh
INIT += qca6234-service.sh
-INIT += init.qcom.audio.sh
INIT += ssr_setup
INIT += enable_swap.sh
INIT += init.mdm.sh
-INIT += init.qcom.uicc.sh
INIT += fstab.qcom
INIT += init.qcom.sensors.sh
-INIT += init.qcom.crashdata.sh
+INIT += init.qcom.vendor.rc
+INIT += init.target.vendor.rc
#IPROUTE2
IPROUTE2 := ip
@@ -353,11 +360,13 @@
LIBCAMERA += camera.msm7630_surf
LIBCAMERA += camera.msm7630_fusion
LIBCAMERA += camera.msm7627a
+LIBCAMERA += camera.msm8909
LIBCAMERA += camera.msm8916
LIBCAMERA += camera.msm8994
LIBCAMERA += camera.msm8992
LIBCAMERA += camera.msm8996
LIBCAMERA += camera.msm8998
+LIBCAMERA += camera.apq8098_latv
LIBCAMERA += camera.sdm660
LIBCAMERA += camera.msm8952
LIBCAMERA += camera.msm8937
@@ -398,6 +407,7 @@
LIBCOPYBIT += copybit.sdm630
LIBCOPYBIT += copybit.sdm660
LIBCOPYBIT += copybit.sda630
+LIBCOPYBIT += copybit.apq8098_latv
#LIBGESTURES
LIBGESTURES := libgestures
@@ -427,10 +437,11 @@
LIBGRALLOC += gralloc.msm8937
LIBGRALLOC += gralloc.msm8953
LIBGRALLOC += gralloc.msm8998
+LIBGRALLOC += gralloc.sdm845
+LIBGRALLOC += gralloc.apq8098_latv
+LIBGRALLOC += libmemalloc
LIBGRALLOC += gralloc.sdm630
LIBGRALLOC += gralloc.sdm660
-LIBGRALLOC += gralloc.sda630
-LIBGRALLOC += libmemalloc
#memtrack
LIBMEMTRACK := memtrack.default
@@ -447,9 +458,9 @@
LIBMEMTRACK += memtrack.msm8937
LIBMEMTRACK += memtrack.msm8953
LIBMEMTRACK += memtrack.msm8998
-LIBMEMTRACK += memtrack.sdm630
LIBMEMTRACK += memtrack.sdm660
-LIBMEMTRACK += memtrack.sda630
+LIBMEMTRACK += memtrack.sdm845
+LIBMEMTRACK += memtrack.apq8098_latv
#LIBLIGHTS
LIBLIGHTS := lights.msm8660
@@ -473,9 +484,9 @@
LIBLIGHTS += lights.msm8937
LIBLIGHTS += lights.msm8953
LIBLIGHTS += lights.msm8998
-LIBLIGHTS += lights.sdm630
LIBLIGHTS += lights.sdm660
-LIBLIGHTS += lights.sda630
+LIBLIGHTS += lights.sdm845
+LIBLIGHTS += lights.apq8098_latv
#LIBHWCOMPOSER
LIBHWCOMPOSER := hwcomposer.msm8660
@@ -500,9 +511,9 @@
LIBHWCOMPOSER += hwcomposer.msm8937
LIBHWCOMPOSER += hwcomposer.msm8953
LIBHWCOMPOSER += hwcomposer.msm8998
-LIBHWCOMPOSER += hwcomposer.sdm630
LIBHWCOMPOSER += hwcomposer.sdm660
-LIBHWCOMPOSER += hwcomposer.sda630
+LIBHWCOMPOSER += hwcomposer.sdm845
+LIBHWCOMPOSER += hwcomposer.apq8098_latv
#LIBAUDIOPARAM -- Exposing AudioParameter as dynamic library for SRS TruMedia to work
LIBAUDIOPARAM := libaudioparameter
@@ -531,16 +542,13 @@
#LIBQDMETADATA
LIBQDMETADATA := libqdMetaData
+LIBQDMETADATA += libqdMetaData.system
#LIBPOWER
LIBPOWER := power.qcom
-LIBPOWER += powerhint.qti
-
-#LIBTHERMAL
-LIBTHERMAL := thermal.msm8998
-
-#LIBVR
-LIBVR := vr.msm8998
+#LIBPOWER -- Add HIDL Packages
+LIBPOWER += [email protected]
+LIBPOWER += [email protected]
#LLVM for RenderScript
#use qcom LLVM
@@ -602,6 +610,10 @@
NQ_NFC += Tag
NQ_NFC += nqnfcinfo
NQ_NFC += com.android.nfc_extras
+NQ_NFC += [email protected]
+NQ_NFC += [email protected]
+NQ_NFC += [email protected]
+PRODUCT_PROPERTY_OVERRIDES += ro.hardware.nfc_nci=nqx.default
#OPENCORE
OPENCORE := libomx_aacdec_sharedlibrary
@@ -639,6 +651,7 @@
#SENSORS_HARDWARE
SENSORS_HARDWARE := sensors.msm7630_surf
SENSORS_HARDWARE += sensors.msm7630_fusion
+SENSORS_HARDWARE += sensors.msm8996_auto
#SOFTAP
SOFTAP := libQWiFiSoftApCfg
@@ -650,6 +663,9 @@
#STM LOG
STMLOG := libstm-log
+#THERMAL_HAL
+THERMAL_HAL := thermal.msm8998
+
#TSLIB_EXTERNAL
TSLIB_EXTERNAL := corgi
TSLIB_EXTERNAL += dejitter
@@ -664,6 +680,9 @@
TSLIB_EXTERNAL += tscalib
TSLIB_EXTERNAL += ts
+#VR_HAL
+VR_HAL := vr.msm8998
+
#QRGND
QRGND := qrngd
QRGND += qrngp
@@ -704,6 +723,7 @@
#IMS Extension module for Android Telephony
IMS_EXT := ims-ext-common
+IMS_EXT += ConfURIDialer
#CRDA
CRDA := crda
@@ -736,6 +756,7 @@
DeskClock \
AlarmProvider \
Bluetooth \
+ BluetoothExt \
Calculator \
Calendar \
Camera \
@@ -747,6 +768,7 @@
LatinIME \
Mms \
Music \
+ netutils-wrapper-1.0 \
Phone \
Provision \
Protips \
@@ -765,14 +787,9 @@
VideoEditor \
SnapdragonGallery \
SnapdragonLauncher \
- SnapdragonMusic
-
-ifneq ($(TARGET_USES_AOSP),true)
-PRODUCT_PACKAGES += \
- BluetoothExt \
+ SnapdragonMusic \
a4wpservice \
wipowerservice
-endif
PRODUCT_PACKAGES += $(ALSA_HARDWARE)
PRODUCT_PACKAGES += $(ALSA_UCM)
@@ -795,6 +812,7 @@
PRODUCT_PACKAGES += $(CONNECTIVITY)
PRODUCT_PACKAGES += $(CHARGER)
PRODUCT_PACKAGES += $(CURL)
+PRODUCT_PACKAGES += $(DASH)
PRODUCT_PACKAGES += $(DATA_OS)
PRODUCT_PACKAGES += $(E2FSPROGS)
PRODUCT_PACKAGES += $(EBTABLES)
@@ -830,8 +848,6 @@
PRODUCT_PACKAGES += $(LIBQDUTILS)
PRODUCT_PACKAGES += $(LIBQDMETADATA)
PRODUCT_PACKAGES += $(LIBPOWER)
-PRODUCT_PACKAGES += $(LIBTHERMAL)
-PRODUCT_PACKAGES += $(LIBVR)
PRODUCT_PACKAGES += $(LOC_API)
PRODUCT_PACKAGES += $(MEDIA_PROFILES)
PRODUCT_PACKAGES += $(MM_AUDIO)
@@ -839,6 +855,7 @@
PRODUCT_PACKAGES += $(MM_VIDEO)
ifeq ($(strip $(TARGET_USES_NQ_NFC)),true)
PRODUCT_PACKAGES += $(NQ_NFC)
+PRODUCT_BOOT_JARS += com.nxp.nfc.nq
endif
PRODUCT_PACKAGES += $(OPENCORE)
PRODUCT_PACKAGES += $(PPP)
@@ -849,7 +866,9 @@
#PRODUCT_PACKAGES += $(SOFTAP)
PRODUCT_PACKAGES += $(STK)
PRODUCT_PACKAGES += $(STMLOG)
+PRODUCT_PACKAGES += $(THERMAL_HAL)
PRODUCT_PACKAGES += $(TSLIB_EXTERNAL)
+PRODUCT_PACKAGES += $(VR_HAL)
PRODUCT_PACKAGES += $(QRGND)
PRODUCT_PACKAGES += $(UPDATER)
PRODUCT_PACKAGES += $(WPA)
@@ -863,6 +882,11 @@
PRODUCT_PACKAGES += $(FSTMAN)
PRODUCT_PACKAGES += $(WIGIG)
PRODUCT_PACKAGES += $(IMS_EXT)
+# Temp workarround for b/36603742
+PRODUCT_PACKAGES += [email protected]
+
+PRODUCT_PACKAGES += [email protected]
+PRODUCT_PACKAGES += [email protected]
# Live Wallpapers
PRODUCT_PACKAGES += \
@@ -891,9 +915,6 @@
# healthd libaray expanded for mode charger
PRODUCT_PACKAGES += libhealthd.msm
-# UI Enhancements for ECT and Deflect feature
-PRODUCT_PACKAGES += qtiImsInCallUi
-
#intialise PRODUCT_PACKAGES_DEBUG list for debug modules
PRODUCT_PACKAGES_DEBUG := init.qcom.testscripts.sh
@@ -904,24 +925,26 @@
#NANOPB_LIBRARY_NAME := libnanopb-c-2.8.0
PRODUCT_COPY_FILES := \
- frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
- frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
- frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml\
- frameworks/native/data/etc/android.hardware.camera.raw.xml:system/etc/permissions/android.hardware.camera.raw.xml\
- frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
- frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
- frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
- frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
- frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
- frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
- frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
- frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
- frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
- frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
- frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
- frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
- frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
- frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
+ frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
+ frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
+ frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
+ frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\
+ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
+ frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
+ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
+ frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
+ frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
+ frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
+ frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
+ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
+ frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
+ frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
+ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
+ frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
+ frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
+ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
+ frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
+
# Bluetooth configuration files
#PRODUCT_COPY_FILES += \
@@ -938,25 +961,33 @@
# gps/location secuity configuration file
PRODUCT_COPY_FILES += \
- device/qcom/common/sec_config:system/etc/sec_config
+ device/qcom/common/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
+#copy codecs_xxx.xml to (TARGET_COPY_OUT_VENDOR)/etc/
PRODUCT_COPY_FILES += \
- frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml
+ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
+ device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
+ device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
+
+ifneq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true)
+PRODUCT_COPY_FILES += \
+ device/qcom/common/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml
+endif
ifeq ($(strip $(TARGET_USES_NQ_NFC)),true)
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
- frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
- frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
- frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
- frameworks/native/data/etc/android.hardware.nfc.hcef.xml:system/etc/permissions/android.hardware.nfc.hcef.xml
+ frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
+ frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
+ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
+ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml
endif
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:system/etc/permissions/android.hardware.vulkan.level-0.xml \
- frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version-1_0_3.xml \
+ frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-0.xml \
+ frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_0_3.xml \
# enable overlays to use our version of
# source/resources etc.
@@ -986,8 +1017,13 @@
-include frameworks/base/data/videos/VideoPackage1.mk
# dm-verity definitions
-PRODUCT_SYSTEM_VERITY_PARTITION=/dev/block/bootdevice/by-name/system
-$(call inherit-product, build/target/product/verity.mk)
+ifneq ($(BOARD_AVB_ENABLE), true)
+ PRODUCT_SYSTEM_VERITY_PARTITION=/dev/block/bootdevice/by-name/system
+ ifeq ($(ENABLE_VENDOR_IMAGE), true)
+ PRODUCT_VENDOR_VERITY_PARTITION=/dev/block/bootdevice/by-name/vendor
+ endif
+ $(call inherit-product, build/target/product/verity.mk)
+endif
#skip boot jars check
SKIP_BOOT_JARS_CHECK := true
@@ -996,3 +1032,37 @@
PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \
ro.adb.secure=1
endif
+
+#Camera QC extends API
+ifeq ($(strip $(TARGET_USES_QTIC_EXTENSION)),true)
+PRODUCT_BOOT_JARS += com.qualcomm.qti.camera
+endif
+
+# Preloading QPerformance jar to ensure faster perflocks in Boost Framework
+PRODUCT_BOOT_JARS += QPerformance
+
+# OEM Unlock reporting
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ ro.oem_unlock_supported=true
+
+ifeq ($(TARGET_USES_QCOM_BSP_ATEL),true)
+ PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=dsds
+endif
+
+# VNDK-SP:
+PRODUCT_PACKAGES += \
+ vndk-sp \
+
+# Temporary handling
+#
+# Include config.fs get only if legacy device/qcom/<target>/android_filesystem_config.h
+# does not exist as they are mutually exclusive. Once all target's android_filesystem_config.h
+# have been removed, TARGET_FS_CONFIG_GEN should be made unconditional.
+DEVICE_CONFIG_DIR := $(dir $(firstword $(subst ]],, $(word 2, $(subst [[, ,$(_node_import_context))))))
+ifeq ($(wildcard $(DEVICE_CONFIG_DIR)/android_filesystem_config.h),)
+ TARGET_FS_CONFIG_GEN := device/qcom/common/config.fs
+else
+ $(warning **********)
+ $(warning TODO: Need to replace legacy $(DEVICE_CONFIG_DIR)android_filesystem_config.h with config.fs)
+ $(warning **********)
+endif
diff -bur unified_n/bdroid_buildcfg.h unified_o/bdroid_buildcfg.h
--- unified_n/bdroid_buildcfg.h 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/bdroid_buildcfg.h 2017-08-30 14:59:55.434876533 +0530
@@ -24,8 +24,11 @@
#define BTM_DEF_LOCAL_NAME "QCOM-BTD"
// Disables read remote device feature
#define MAX_ACL_CONNECTIONS 16
-#define MAX_L2CAP_CHANNELS 20
+#define MAX_L2CAP_CHANNELS 16
#define BLE_VND_INCLUDED TRUE
// skips conn update at conn completion
#define BT_CLEAN_TURN_ON_DISABLED 1
+
+/* Increasing SEPs to 12 from 6 to support SHO/MCast i.e. two streams per codec */
+#define AVDT_NUM_SEPS 12
#endif
diff -bur unified_n/BoardConfig.mk unified_o/BoardConfig.mk
--- unified_n/BoardConfig.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/BoardConfig.mk 2017-08-30 14:53:05.863414912 +0530
@@ -18,8 +18,9 @@
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a9
-# SDClang configuration
-SDCLANG := true
+#Enable HW based full disk encryption
+TARGET_HW_DISK_ENCRYPTION := true
+TARGET_CRYPTFS_HW_PATH := device/qcom/common/cryptfs_hw
TARGET_NO_BOOTLOADER := false
TARGET_USES_UEFI := true
@@ -38,6 +39,7 @@
TARGET_USERIMAGES_USE_EXT4 := true
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
+ifeq ($(ENABLE_AB), true)
#A/B related defines
AB_OTA_UPDATER := true
# Full A/B partiton update set
@@ -47,6 +49,25 @@
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
TARGET_NO_RECOVERY := true
BOARD_USES_RECOVERY_AS_BOOT := true
+else
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x04000000
+BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
+BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
+endif
+
+ifeq ($(ENABLE_AB), true)
+ ifeq ($(ENABLE_VENDOR_IMAGE), true)
+ TARGET_RECOVERY_FSTAB := device/qcom/msm8998/recovery_AB_split_variant.fstab
+ else
+ TARGET_RECOVERY_FSTAB := device/qcom/msm8998/recovery_AB_non-split_variant.fstab
+ endif
+else
+ ifeq ($(ENABLE_VENDOR_IMAGE), true)
+ TARGET_RECOVERY_FSTAB := device/qcom/msm8998/recovery_non-AB_split_variant.fstab
+ else
+ TARGET_RECOVERY_FSTAB := device/qcom/msm8998/recovery_non-AB_non-split_variant.fstab
+ endif
+endif
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240
@@ -54,9 +75,23 @@
BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
+ifeq ($(ENABLE_VENDOR_IMAGE), true)
+BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824
+BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
+TARGET_COPY_OUT_VENDOR := vendor
+BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
+endif
+
+BOARD_VENDOR_KERNEL_MODULES := \
+ $(KERNEL_MODULES_OUT)/wil6210.ko \
+ $(KERNEL_MODULES_OUT)/msm_11ad_proxy.ko \
+ $(KERNEL_MODULES_OUT)/qca_cld3_wlan.ko
+
TARGET_USES_ION := true
TARGET_USES_NEW_ION_API :=true
-TARGET_USES_QCOM_BSP := true
+TARGET_USES_HWC2 := true
+TARGET_USES_GRALLOC1 := true
+TARGET_USES_QCOM_DISPLAY_BSP := true
TARGET_USES_COLOR_METADATA := true
ifeq ($(BOARD_KERNEL_CMDLINE),)
@@ -65,7 +100,7 @@
else
BOARD_KERNEL_CMDLINE += console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 earlycon=msm_hsl_uart,0xc1b0000
endif
-BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a800000.dwc3
+BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a800000.dwc3
endif
BOARD_SECCOMP_POLICY := device/qcom/$(TARGET_BOARD_PLATFORM)/seccomp
@@ -88,9 +123,6 @@
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
-VSYNC_EVENT_PHASE_OFFSET_NS := 0
-SF_VSYNC_EVENT_PHASE_OFFSET_NS := 0
-
BOARD_USES_GENERIC_AUDIO := true
BOARD_QTI_CAMERA_32BIT_ONLY := true
TARGET_NO_RPC := true
@@ -104,17 +136,9 @@
TARGET_KERNEL_APPEND_DTB := true
TARGET_COMPILE_WITH_MSM_KERNEL := true
-#Enable HW based full disk encryption
-TARGET_HW_DISK_ENCRYPTION := false
-
#Enable PD locater/notifier
TARGET_PD_SERVICE_ENABLED := true
-#Enable HW based full disk encryption
-TARGET_HW_DISK_ENCRYPTION := true
-
-TARGET_CRYPTFS_HW_PATH := device/qcom/common/cryptfs_hw
-
# Enable dex pre-opt to speed up initial boot
ifeq ($(HOST_OS),linux)
ifeq ($(WITH_DEXPREOPT),)
@@ -142,13 +166,9 @@
#Enable CPUSets
ENABLE_CPUSETS := true
-ENABLE_SCHEDBOOST := true
BOARD_HAL_STATIC_LIBRARIES := libhealthd.msm
-#Enabling IMS Feature
-TARGET_USES_IMS := true
-
ifneq ($(AB_OTA_UPDATER),true)
TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_msm
endif
diff -bur unified_n/build/tasks/vendor_bootjars.mk unified_o/build/tasks/vendor_bootjars.mk
--- unified_n/build/tasks/vendor_bootjars.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/build/tasks/vendor_bootjars.mk 2017-08-30 14:59:55.434876533 +0530
@@ -6,9 +6,6 @@
#add extra jars here
PRODUCT_BOOT_JARS += tcmiface
-# Preloading QPerformance jar to ensure faster perflocks in Boost Framework
-PRODUCT_BOOT_JARS += QPerformance
-
#call dex_preopt.mk for extra jars
include $(BUILD_SYSTEM)/dex_preopt.mk
diff -bur unified_n/common64.mk unified_o/common64.mk
--- unified_n/common64.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/common64.mk 2017-08-30 14:59:55.434876533 +0530
@@ -14,13 +14,12 @@
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.extension_library=libqti-perfd-client.so \
- ro.hardware.power_library=/system/lib/hw/power.qcom.so \
- ro.hardware.power_hint_library=/system/lib/hw/powerhint.qti.so \
persist.radio.apm_sim_not_pwdn=1 \
- persist.radio.sib16_support=1 \
- persist.radio.custom_ecc=1 \
- persist.radio.multisim.config=dsds \
- sys.shutdown.waittime=500
+ persist.vendor.radio.sib16_support=1 \
+ persist.vendor.radio.custom_ecc=1 \
+ persist.vendor.radio.rat_on=combine \
+ sys.vendor.shutdown.waittime=500 \
+ ro.build.shutdown_timeout=0
ifneq ($(BOARD_FRP_PARTITION_NAME),)
PRODUCT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/bootdevice/by-name/$(BOARD_FRP_PARTITION_NAME)
@@ -28,6 +27,10 @@
PRODUCT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/bootdevice/by-name/config
endif
+# whitelisted app
+PRODUCT_COPY_FILES += \
+ device/qcom/common/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
+
PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key
$(call inherit-product, frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk)
diff -bur unified_n/common.mk unified_o/common.mk
--- unified_n/common.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/common.mk 2017-08-30 14:59:55.434876533 +0530
@@ -14,10 +14,11 @@
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.extension_library=libqti-perfd-client.so \
persist.radio.apm_sim_not_pwdn=1 \
- persist.radio.custom_ecc=1 \
- persist.radio.sib16_support=1 \
- persist.radio.multisim.config=dsds \
- sys.shutdown.waittime=500
+ persist.vendor.radio.custom_ecc=1 \
+ persist.vendor.radio.sib16_support=1 \
+ persist.vendor.radio.rat_on=combine \
+ sys.vendor.shutdown.waittime=500 \
+ ro.build.shutdown_timeout=0
ifneq ($(BOARD_FRP_PARTITION_NAME),)
PRODUCT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/bootdevice/by-name/$(BOARD_FRP_PARTITION_NAME)
@@ -25,6 +26,10 @@
PRODUCT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/bootdevice/by-name/config
endif
+# whitelisted app
+PRODUCT_COPY_FILES += \
+ device/qcom/common/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
+
PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key
PRODUCT_PACKAGES += qcril.db
Only in unified_o: compatibility_matrix.xml
Only in unified_o: config.fs
diff -bur unified_n/cryptfs_hw/Android.mk unified_o/cryptfs_hw/Android.mk
--- unified_n/cryptfs_hw/Android.mk 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/cryptfs_hw/Android.mk 2017-08-30 14:59:55.434876533 +0530
@@ -9,9 +9,14 @@
libcutils \
libutils \
libdl \
- libhardware
+ libhardware \
+ liblog
+
commonIncludes := \
- hardware/libhardware/include/hardware/
+ hardware/libhardware/include/hardware/ \
+ $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include \
+
+LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
LOCAL_C_INCLUDES := $(commonIncludes)
LOCAL_SRC_FILES := $(sourceFiles)
diff -bur unified_n/cryptfs_hw/cryptfs_hw.c unified_o/cryptfs_hw/cryptfs_hw.c
--- unified_n/cryptfs_hw/cryptfs_hw.c 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/cryptfs_hw/cryptfs_hw.c 2017-08-30 14:59:55.434876533 +0530
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2014, 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
@@ -26,7 +26,6 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <cryptfs_hw.h>
#include <stdlib.h>
#include <string.h>
#include <sys/limits.h>
@@ -35,59 +34,215 @@
#include <fcntl.h>
#include <dirent.h>
#include <dlfcn.h>
+#include <linux/qseecom.h>
#include "cutils/log.h"
#include "cutils/properties.h"
#include "cutils/android_reboot.h"
#include "keymaster_common.h"
#include "hardware.h"
+#include "cryptfs_hw.h"
-#if defined(__LP64__)
-#define QSEECOM_LIBRARY_PATH "/vendor/lib64/libQSEEComAPI.so"
-#else
-#define QSEECOM_LIBRARY_PATH "/vendor/lib/libQSEEComAPI.so"
-#endif
-
-
-// When device comes up or when user tries to change the password, user can
-// try wrong password upto a certain number of times. If user enters wrong
-// password further, HW would wipe all disk encryption related crypto data
-// and would return an error ERR_MAX_PASSWORD_ATTEMPTS to VOLD. VOLD would
-// wipe userdata partition once this error is received.
+/*
+ * When device comes up or when user tries to change the password, user can
+ * try wrong password upto a certain number of times. If user enters wrong
+ * password further, HW would wipe all disk encryption related crypto data
+ * and would return an error ERR_MAX_PASSWORD_ATTEMPTS to VOLD. VOLD would
+ * wipe userdata partition once this error is received.
+ */
#define ERR_MAX_PASSWORD_ATTEMPTS -10
-#define QSEECOM_DISK_ENCRYPTION 1
-#define QSEECOM_UFS_ICE_DISK_ENCRYPTION 3
-#define QSEECOM_SDCC_ICE_DISK_ENCRYPTION 4
#define MAX_PASSWORD_LEN 32
#define QCOM_ICE_STORAGE_UFS 1
#define QCOM_ICE_STORAGE_SDCC 2
-
-/* Operations that be performed on HW based device encryption key */
#define SET_HW_DISK_ENC_KEY 1
#define UPDATE_HW_DISK_ENC_KEY 2
-#define QSEECOM_UP_CHECK_COUNT 10
+#define CRYPTFS_HW_KMS_CLEAR_KEY 0
+#define CRYPTFS_HW_KMS_WIPE_KEY 1
+#define CRYPTFS_HW_UP_CHECK_COUNT 10
+#define CRYPTFS_HW_CLEAR_KEY_FAILED -11
+#define CRYPTFS_HW_KMS_MAX_FAILURE -10
+#define CRYPTFS_HW_UPDATE_KEY_FAILED -9
+#define CRYPTFS_HW_WIPE_KEY_FAILED -8
+#define CRYPTFS_HW_CREATE_KEY_FAILED -7
+
+enum cryptfs_hw_key_management_usage_type {
+ CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION = 0x01,
+ CRYPTFS_HW_KM_USAGE_FILE_ENCRYPTION = 0x02,
+ CRYPTFS_HW_KM_USAGE_UFS_ICE_DISK_ENCRYPTION = 0x03,
+ CRYPTFS_HW_KM_USAGE_SDCC_ICE_DISK_ENCRYPTION = 0x04,
+ CRYPTFS_HW_KM_USAGE_MAX
+};
-static int loaded_library = 0;
-static int (*qseecom_create_key)(int, void*);
-static int (*qseecom_update_key)(int, void*, void*);
-static int (*qseecom_wipe_key)(int);
-
-inline void* secure_memset(void* v, int c , size_t n) {
+static inline void* secure_memset(void* v, int c , size_t n)
+{
volatile unsigned char* p = (volatile unsigned char* )v;
while (n--) *p++ = c;
return v;
}
+static size_t memscpy(void *dst, size_t dst_size, const void *src, size_t src_size)
+{
+ size_t min_size = (dst_size < src_size) ? dst_size : src_size;
+ memcpy(dst, src, min_size);
+ return min_size;
+}
+
+static int cryptfs_hw_create_key(enum cryptfs_hw_key_management_usage_type usage,
+ unsigned char *hash32)
+{
+ struct qseecom_create_key_req req;
+ int qseecom_fd;
+ int32_t ret;
+
+ if (usage < CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION ||
+ usage >= CRYPTFS_HW_KM_USAGE_MAX) {
+ SLOGE("Error:: unsupported usage %d\n", usage);
+ return CRYPTFS_HW_CREATE_KEY_FAILED;
+ }
+
+ qseecom_fd = open("/dev/qseecom", O_RDWR);
+ if (qseecom_fd < 0) {
+ SLOGE("Error::Failed to open /dev/qseecom device\n");
+ return CRYPTFS_HW_CREATE_KEY_FAILED;;
+ }
+
+ if (!hash32) {
+ secure_memset((void *)req.hash32, 0, QSEECOM_HASH_SIZE);
+ } else {
+ memscpy((void *)req.hash32, QSEECOM_HASH_SIZE, (void *)hash32,
+ QSEECOM_HASH_SIZE);
+ }
+
+ req.usage = (enum qseecom_key_management_usage_type)usage;
+ ret = ioctl(qseecom_fd, QSEECOM_IOCTL_CREATE_KEY_REQ, &req);
+ if (ret) {
+ SLOGE("Error::ioctl call to create encryption key for usage %d failed with ret = %d, errno = %d\n",
+ usage, ret, errno);
+ if (errno == ERANGE)
+ ret = CRYPTFS_HW_KMS_MAX_FAILURE;
+ else
+ ret = CRYPTFS_HW_CREATE_KEY_FAILED;
+ } else {
+ SLOGE("SUCESS::ioctl call to create encryption key for usage %d success with ret = %d\n",
+ usage, ret);
+ }
+ close(qseecom_fd);
+ return ret;
+}
+
+static int __cryptfs_hw_wipe_clear_key(enum cryptfs_hw_key_management_usage_type usage, int wipe_key_flag)
+{
+ struct qseecom_wipe_key_req req;
+ int32_t ret;
+ int qseecom_fd;
+
+ if (usage < CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION ||
+ usage >= CRYPTFS_HW_KM_USAGE_MAX) {
+ SLOGE("Error:: unsupported usage %d\n", usage);
+ return -1;
+ }
+ qseecom_fd = open("/dev/qseecom", O_RDWR);
+ if (qseecom_fd < 0) {
+ SLOGE("Error::Failed to open /dev/qseecom device\n");
+ return -1;
+ }
+
+ req.usage = (enum qseecom_key_management_usage_type)usage;
+ req.wipe_key_flag = wipe_key_flag;
+ ret = ioctl(qseecom_fd, QSEECOM_IOCTL_WIPE_KEY_REQ, &req);
+ close(qseecom_fd);
+ return ret;
+}
+
+static int cryptfs_hw_wipe_key(enum cryptfs_hw_key_management_usage_type usage)
+{
+ int32_t ret;
+
+ ret = __cryptfs_hw_wipe_clear_key(usage, CRYPTFS_HW_KMS_WIPE_KEY);
+ if (ret) {
+ SLOGE("Error::ioctl call to wipe the encryption key for usage %d failed with ret = %d, errno = %d\n",
+ usage, ret, errno);
+ ret = CRYPTFS_HW_WIPE_KEY_FAILED;
+ } else {
+ SLOGE("SUCCESS::ioctl call to wipe the encryption key for usage %d success with ret = %d\n",
+ usage, ret);
+ }
+ return ret;
+}
+
+static int cryptfs_hw_clear_key(enum cryptfs_hw_key_management_usage_type usage)
+{
+ int32_t ret;
+
+ ret = __cryptfs_hw_wipe_clear_key(usage, CRYPTFS_HW_KMS_CLEAR_KEY);
+ if (ret) {
+ SLOGE("Error::ioctl call to wipe the encryption key for usage %d failed with ret = %d, errno = %d\n",
+ usage, ret, errno);
+ ret = CRYPTFS_HW_CLEAR_KEY_FAILED;
+ } else {
+ SLOGE("SUCCESS::ioctl call to wipe the encryption key for usage %d success with ret = %d\n",
+ usage, ret);
+ }
+ return ret;
+}
+
+static int cryptfs_hw_update_key(enum cryptfs_hw_key_management_usage_type usage,
+ unsigned char *current_hash32, unsigned char *new_hash32)
+{
+ struct qseecom_update_key_userinfo_req req;
+ int qseecom_fd;
+ int32_t ret;
+
+ if (usage < CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION ||
+ usage >= CRYPTFS_HW_KM_USAGE_MAX) {
+ SLOGE("Error:: unsupported usage %d\n", usage);
+ return CRYPTFS_HW_UPDATE_KEY_FAILED;
+ }
+ qseecom_fd = open("/dev/qseecom", O_RDWR);
+ if (qseecom_fd < 0) {
+ SLOGE("Error::Failed to open /dev/qseecom device\n");
+ return CRYPTFS_HW_UPDATE_KEY_FAILED;
+ }
+
+ req.usage = (enum qseecom_key_management_usage_type)usage;
+ if (!current_hash32) {
+ secure_memset((void *)req.current_hash32, 0, QSEECOM_HASH_SIZE);
+ } else {
+ memscpy((void *)req.current_hash32, QSEECOM_HASH_SIZE, (void *)current_hash32,
+ QSEECOM_HASH_SIZE);
+ }
+ if (!new_hash32) {
+ secure_memset((void *)req.new_hash32, 0, QSEECOM_HASH_SIZE);
+ } else {
+ memscpy((void *)req.new_hash32, QSEECOM_HASH_SIZE, (void *)new_hash32,
+ QSEECOM_HASH_SIZE);
+ }
+
+ ret = ioctl(qseecom_fd, QSEECOM_IOCTL_UPDATE_KEY_USER_INFO_REQ, &req);
+ if (ret) {
+ SLOGE("Error::ioctl call to update the encryption key for usage %d failed with ret = %d, errno = %d\n",
+ usage, ret, errno);
+ if (errno == ERANGE)
+ ret = CRYPTFS_HW_KMS_MAX_FAILURE;
+ else
+ ret = CRYPTFS_HW_UPDATE_KEY_FAILED;
+ } else {
+ SLOGE("SUCCESS::ioctl call to update the encryption key for usage %d success with ret = %d\n",
+ usage, ret);
+ }
+ close(qseecom_fd);
+ return ret;
+}
static int map_usage(int usage)
{
int storage_type = is_ice_enabled();
- if (usage == QSEECOM_DISK_ENCRYPTION) {
+ if (usage == CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION) {
if (storage_type == QCOM_ICE_STORAGE_UFS) {
- return QSEECOM_UFS_ICE_DISK_ENCRYPTION;
+ return CRYPTFS_HW_KM_USAGE_UFS_ICE_DISK_ENCRYPTION;
}
else if (storage_type == QCOM_ICE_STORAGE_SDCC) {
- return QSEECOM_SDCC_ICE_DISK_ENCRYPTION ;
+ return CRYPTFS_HW_KM_USAGE_SDCC_ICE_DISK_ENCRYPTION;
}
}
return usage;
@@ -100,7 +255,7 @@
if(passwd) {
tmp_passwd = (unsigned char*)malloc(MAX_PASSWORD_LEN);
if(tmp_passwd) {
- memset(tmp_passwd, 0, MAX_PASSWORD_LEN);
+ secure_memset(tmp_passwd, 0, MAX_PASSWORD_LEN);
passwd_len = strnlen(passwd, MAX_PASSWORD_LEN);
memcpy(tmp_passwd, passwd, passwd_len);
} else {
@@ -117,7 +272,7 @@
int i = 0;
char value[PROPERTY_VALUE_MAX] = {0};
- for (; i<QSEECOM_UP_CHECK_COUNT; i++) {
+ for (; i<CRYPTFS_HW_UP_CHECK_COUNT; i++) {
property_get("sys.keymaster.loaded", value, "");
if (!strncmp(value, "true", PROPERTY_VALUE_MAX))
return 1;
@@ -126,49 +281,6 @@
return 0;
}
-
-static int load_qseecom_library()
-{
- const char *error = NULL;
- if (loaded_library)
- return loaded_library;
-
- if (!is_qseecom_up()) {
- SLOGE("Timed out waiting for QSEECom listeners..aborting FDE key operation");
- return 0;
- }
-
- void * handle = dlopen(QSEECOM_LIBRARY_PATH, RTLD_NOW);
- if(handle) {
- dlerror(); /* Clear any existing error */
- *(void **) (&qseecom_create_key) = dlsym(handle,"QSEECom_create_key");
-
- if((error = dlerror()) == NULL) {
- SLOGD("Success loading QSEECom_create_key \n");
- *(void **) (&qseecom_update_key) = dlsym(handle,"QSEECom_update_key_user_info");
- if ((error = dlerror()) == NULL) {
- SLOGD("Success loading QSEECom_update_key_user_info\n");
- *(void **) (&qseecom_wipe_key) = dlsym(handle,"QSEECom_wipe_key");
- if ((error = dlerror()) == NULL) {
- loaded_library = 1;
- SLOGD("Success loading QSEECom_wipe_key \n");
- }
- else
- SLOGE("Error %s loading symbols for QSEECom APIs \n", error);
- }
- else
- SLOGE("Error %s loading symbols for QSEECom APIs \n", error);
- }
- } else {
- SLOGE("Could not load libQSEEComAPI.so \n");
- }
-
- if(error)
- dlclose(handle);
-
- return loaded_library;
-}
-
/*
* For NON-ICE targets, it would return 0 on success. On ICE based targets,
* it would return key index in the ICE Key LUT
@@ -176,17 +288,17 @@
static int set_key(const char* currentpasswd, const char* passwd, const char* enc_mode, int operation)
{
int err = -1;
- if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) {
+ if (is_hw_disk_encryption(enc_mode)) {
unsigned char* tmp_passwd = get_tmp_passwd(passwd);
unsigned char* tmp_currentpasswd = get_tmp_passwd(currentpasswd);
- if(tmp_passwd) {
+ if (tmp_passwd) {
if (operation == UPDATE_HW_DISK_ENC_KEY) {
if (tmp_currentpasswd) {
- err = qseecom_update_key(map_usage(QSEECOM_DISK_ENCRYPTION), tmp_currentpasswd, tmp_passwd);
+ err = cryptfs_hw_update_key(map_usage(CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION), tmp_currentpasswd, tmp_passwd);
secure_memset(tmp_currentpasswd, 0, MAX_PASSWORD_LEN);
}
} else if (operation == SET_HW_DISK_ENC_KEY) {
- err = qseecom_create_key(map_usage(QSEECOM_DISK_ENCRYPTION), tmp_passwd);
+ err = cryptfs_hw_create_key(map_usage(CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION), tmp_passwd);
}
if(err < 0) {
if(ERR_MAX_PASSWORD_ATTEMPTS == err)
@@ -244,10 +356,7 @@
int clear_hw_device_encryption_key()
{
- if (load_qseecom_library())
- return qseecom_wipe_key(map_usage(QSEECOM_DISK_ENCRYPTION));
-
- return 0;
+ return cryptfs_hw_wipe_key(map_usage(CRYPTFS_HW_KM_USAGE_DISK_ENCRYPTION));
}
static int get_keymaster_version()
Only in unified_n/device/overlay/frameworks/base/core/res/res: drawable-hdpi
Only in unified_n/device/overlay/frameworks/base/core/res/res: drawable-ldpi
Only in unified_n/device/overlay/frameworks/base/core/res/res: drawable-mdpi
Only in unified_n/device/overlay/frameworks/base/core/res/res: drawable-xhdpi
Only in unified_n/device/overlay/frameworks/base/core/res/res: drawable-xxhdpi
diff -bur unified_n/device/overlay/frameworks/base/core/res/res/values/config.xml unified_o/device/overlay/frameworks/base/core/res/res/values/config.xml
--- unified_n/device/overlay/frameworks/base/core/res/res/values/config.xml 2017-08-30 15:08:58.149651939 +0530
+++ unified_o/device/overlay/frameworks/base/core/res/res/values/config.xml 2017-08-30 14:59:55.434876533 +0530
@@ -58,15 +58,6 @@
<item>"rndis\\d"</item>
</string-array>
- <!-- List of regexpressions describing the interface (if any) that represent tetherable
- Wifi interfaces. If the device doesn't want to support tethering over Wifi this
- should be empty. An example would be "softap.*" -->
- <string-array translatable="false" name="config_tether_wifi_regexs">
- <item>"wlan0"</item>
- <item>"wigig0"</item>
- <item>"softap0"</item>
- </string-array>
-
<!-- Dhcp range (min, max) to use for tethering purposes -->
<!-- USB is 192.168.42.1 and 255.255.255.0
Wifi is 192.168.43.1 and 255.255.255.0
Only in unified_n/device/overlay/frameworks/base/core/res/res/values: public.xml
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc840
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc854
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc855
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc856
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc857
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc858
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc859
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc860
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc861
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc862
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc863
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc864
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc865
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc866
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc867
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc868
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc869
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc870
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc871
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc872
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc873
Only in unified_n/device/overlay/frameworks/base/core/res/res: values-mcc405-mnc874
Only in unified_n/device/overlay/frameworks/base/core/res/res: xml
Only in unified_n/device/overlay/frameworks/base: packages
Only in unified_n/device/overlay/packages/apps: Bluetooth
Only in unified_n/device/overlay/packages/apps: Camera2
diff -bur unified_n/device/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml unified_o/device/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
--- unified_n/device/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml 2017-08-30 15:08:58.149651939 +0530
+++ unified_o/device/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml 2017-08-30 14:59:55.434876533 +0530
@@ -62,39 +62,60 @@
TRUE - remove modify call capabilities which will hide modify call button -->
<boolean name="remove_modify_call_capability" value="false" />
<!-- Config to show/hide Video quality toast -->
- <boolean name="show_video_quality_toast" value="false"/>
- <!-- Determines whether to check for support of high option in video quality
- FALSE - High option will be shown by default
- TRUE - High option will be shown only if camera is capable enough -->
- <boolean name="check_support_for_high_video_quality" value="false"/>
+ <boolean name="show_video_quality_toast" value="true"/>
<!-- Config to show/hide call session event toast like player start/stop -->
- <boolean name="show_call_session_event_toast" value="false"/>
+ <boolean name="show_call_session_event_toast" value="true"/>
<!-- Config to show/hide data usage toast -->
- <boolean name="show_data_usage_toast" value="false"/>
+ <boolean name="show_data_usage_toast" value="true"/>
+ <boolean name="show_apn_setting_cdma_bool" value="true" />
+ <!-- Config to enable video conference call support -->
+ <boolean name="support_video_conference_call_bool" value="true"/>
<!-- Config that controls whether to show static image related UI elements or not
eg. static image option under IMS Settings, static image in preview window,
hide me button in active call screen etc. -->
<boolean name="show_static_image_ui" value="false"/>
- <!-- Config that controls whether to transmit static image instead of
- preview video stream -->
+ <!-- Config that controls whether to stop video preview video and show static image
+ in video preview or not -->
<boolean name="transmit_static_image" value="false"/>
- <!-- Config to indicate if dtmf tone type is enabled -->
- <boolean name="dtmf_type_enabled_bool" value="true" />
-
- <!-- Config to enable video conference call suuport -->
- <boolean name="support_video_conference_call_bool" value="true"/>
+ <boolean name="show_video_quality_ui" value="false" />
+ <!-- Config to control the voWiFi call quality indication. -->
+ <boolean name="vowifi_call_quality" value="false" />
+ <boolean name="config_carrier_ims_call_deflect" value="false" />
<!-- Config for RTT feature support -->
<boolean name="carrier_rtt_supported" value="false" />
+ <boolean name="carrier_rtt_supported_on_vtcalls" value="false"/>
+ <boolean name="carrier_rtt_upgrade_supported" value="false"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="false"/>
+
+ </carrier_config>
+
+ <carrier_config mcc="204" mnc="04">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="898603,898611,8985231,8985302,8985307"/>
+ <item value="type"/>
+ <item value="ims"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
</carrier_config>
<carrier_config mcc="222" mnc="01">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
</carrier_config>
<carrier_config mcc="405" mnc="840">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -105,14 +126,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="854">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -123,14 +154,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="855">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -141,14 +182,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="856">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -159,14 +210,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="857">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -177,14 +238,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="858">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -195,14 +266,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="859">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -213,14 +294,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="860">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -231,14 +322,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="861">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -249,14 +350,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="862">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -267,14 +378,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="863">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -285,14 +406,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="864">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -303,14 +434,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="865">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -321,14 +462,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="866">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -339,14 +490,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="867">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -357,14 +518,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="868">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -375,14 +546,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="869">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -393,14 +574,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="870">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -411,14 +602,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="871">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -429,14 +630,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="872">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -447,14 +658,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="873">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -465,14 +686,24 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
</carrier_config>
<carrier_config mcc="405" mnc="874">
- <boolean name="config_display_wfc_mode" value="false" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
<int name="carrier_default_wfc_ims_mode_int" value="2" />
<boolean name="video_call_use_ext" value="false" />
<boolean name="use_custom_video_ui" value="true" />
@@ -483,27 +714,137 @@
<boolean name="show_static_image_ui" value="true"/>
<boolean name="config_dds_switch_alert_dialog_supported" value="true"/>
<boolean name="show_video_quality_toast" value="false"/>
- <boolean name="check_support_for_high_video_quality" value="true"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
- <boolean name="config_retry_sms_over_ims" value="true"/>
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8991840,8991854,8991855,8991856,8991857,8991858,8991859,899186,8991870,8991871,8991872,8991873,8991874"/>
+ <item value="type"/>
+ <item value="ims,emergency"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ <boolean name="show_video_quality_ui" value="true" />
+ <boolean name="vowifi_call_quality" value="true" />
+ </carrier_config>
+
+ <carrier_config mcc="440" mnc="50">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="config_carrier_ims_call_deflect" value="true" />
+ </carrier_config>
+
+ <carrier_config mcc="440" mnc="51">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="config_carrier_ims_call_deflect" value="true" />
</carrier_config>
<carrier_config mcc="450" mnc="05">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="allow_video_call_in_low_battery" value="false" />
<boolean name="config_carrier_cs_retry_available" value="true" />
</carrier_config>
<carrier_config mcc="450" mnc="06">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="allow_video_call_in_low_battery" value="false" />
</carrier_config>
<carrier_config mcc="450" mnc="08">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="allow_video_call_in_low_battery" value="false" />
<boolean name="config_carrier_cs_retry_available" value="true" />
</carrier_config>
+ <carrier_config mcc="454" mnc="00">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="8985231"/>
+ <item value="type"/>
+ <item value="ims"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ </carrier_config>
+
+ <carrier_config mcc="454" mnc="03">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="898603,898611,8985231,8985302,8985307"/>
+ <item value="type"/>
+ <item value="ims"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ </carrier_config>
+
+ <carrier_config mcc="454" mnc="04">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="898603,898611,8985231,8985302,8985307"/>
+ <item value="type"/>
+ <item value="ims"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ </carrier_config>
+
+ <carrier_config mcc="454" mnc="31">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_with_iccids_array" num="6">
+ <item value="iccid"/>
+ <item value="898603,898611,8985231,8985302,8985307"/>
+ <item value="type"/>
+ <item value="ims"/>
+ <item value="include_common_rules"/>
+ <item value="false"/>
+ </string-array>
+ </carrier_config>
+
+ <carrier_config mcc="455" mnc="02">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="supl,mms,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
+ </carrier_config>
+
+ <carrier_config mcc="455" mnc="07">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="supl,mms,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
+ </carrier_config>
+
<carrier_config mcc="460" mnc="00">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="check_mobile_data_for_cf" value="true" />
<boolean name="config_enable_callbarring_over_ims" value="true" />
@@ -513,21 +854,53 @@
<boolean name="show_video_quality_toast" value="false"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="fota,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
+ <string-array name="carrier_metered_apn_types_strings" num="4">
+ <item value="default" />
+ <item value="dun" />
+ <item value="supl" />
+ <item value="fota" />
+ </string-array>
+ <boolean name="config_show_srvcc_toast" value="true" />
+ <boolean name="ims_call_type_enabled" value="true" />
+ <boolean name="config_enable_conference_dialer" value="true" />
+ <boolean name="config_conference_call_show_participant_status" value="true" />
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="hide_held_call_when_end_conf_call" value="true" />
<boolean name="add_multi_participants_enabled" value="true" />
<boolean name="add_participant_only_in_conference" value="true" />
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
+ <boolean name="config_enable_cfu_time" value="true" />
+ <boolean name="support_cancel_modify_call" value="true" />
+ <boolean name="config_enable_video_crbt" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="01">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_spn_override_enabled" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="supl,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="02">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="check_mobile_data_for_cf" value="true" />
<boolean name="config_enable_callbarring_over_ims" value="true" />
@@ -537,41 +910,88 @@
<boolean name="show_video_quality_toast" value="false"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="fota,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
+ <string-array name="carrier_metered_apn_types_strings" num="4">
+ <item value="default" />
+ <item value="dun" />
+ <item value="supl" />
+ <item value="fota" />
+ </string-array>
+ <boolean name="config_show_srvcc_toast" value="true" />
+ <boolean name="ims_call_type_enabled" value="true" />
+ <boolean name="config_enable_conference_dialer" value="true" />
+ <boolean name="config_conference_call_show_participant_status" value="true" />
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="hide_held_call_when_end_conf_call" value="true" />
<boolean name="add_multi_participants_enabled" value="true" />
<boolean name="add_participant_only_in_conference" value="true" />
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
+ <boolean name="config_enable_cfu_time" value="true" />
+ <boolean name="support_cancel_modify_call" value="true" />
+ <boolean name="config_enable_video_crbt" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="03">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="ascii_7_bit_support_for_long_message" value="true" />
<boolean name="cdma_cw_cf_enabled_bool" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="supl,mms,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="config_show_orig_dial_string_for_cdma" value="true" />
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="04">
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
</carrier_config>
<carrier_config mcc="460" mnc="05">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="06">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_spn_override_enabled" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="07">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="check_mobile_data_for_cf" value="true" />
<boolean name="config_enable_callbarring_over_ims" value="true" />
@@ -581,14 +1001,36 @@
<boolean name="show_video_quality_toast" value="false"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="fota,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
+ <string-array name="carrier_metered_apn_types_strings" num="4">
+ <item value="default" />
+ <item value="dun" />
+ <item value="supl" />
+ <item value="fota" />
+ </string-array>
+ <boolean name="config_show_srvcc_toast" value="true" />
+ <boolean name="ims_call_type_enabled" value="true" />
+ <boolean name="config_enable_conference_dialer" value="true" />
+ <boolean name="config_conference_call_show_participant_status" value="true" />
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="hide_held_call_when_end_conf_call" value="true" />
<boolean name="add_multi_participants_enabled" value="true" />
<boolean name="add_participant_only_in_conference" value="true" />
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
+ <boolean name="config_enable_cfu_time" value="true" />
+ <boolean name="support_cancel_modify_call" value="true" />
+ <boolean name="config_enable_video_crbt" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="08">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="check_mobile_data_for_cf" value="true" />
<boolean name="config_enable_callbarring_over_ims" value="true" />
@@ -597,117 +1039,232 @@
<boolean name="show_video_quality_toast" value="false"/>
<boolean name="show_call_session_event_toast" value="false"/>
<boolean name="show_data_usage_toast" value="false"/>
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="fota,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
+ <string-array name="carrier_metered_apn_types_strings" num="4">
+ <item value="default" />
+ <item value="dun" />
+ <item value="supl" />
+ <item value="fota" />
+ </string-array>
+ <boolean name="config_show_srvcc_toast" value="true" />
+ <boolean name="ims_call_type_enabled" value="true" />
+ <boolean name="config_enable_conference_dialer" value="true" />
+ <boolean name="config_conference_call_show_participant_status" value="true" />
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="hide_held_call_when_end_conf_call" value="true" />
<boolean name="add_multi_participants_enabled" value="true" />
<boolean name="add_participant_only_in_conference" value="true" />
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
+ <boolean name="config_enable_cfu_time" value="true" />
+ <boolean name="support_cancel_modify_call" value="true" />
+ <boolean name="config_enable_video_crbt" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="09">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="10">
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
</carrier_config>
<carrier_config mcc="460" mnc="11">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="ascii_7_bit_support_for_long_message" value="true" />
<boolean name="cdma_cw_cf_enabled_bool" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
<boolean name="config_show_orig_dial_string_for_cdma" value="true" />
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="supl,mms,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="460" mnc="12">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="ascii_7_bit_support_for_long_message" value="true" />
<boolean name="cdma_cw_cf_enabled_bool" value="true" />
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
<boolean name="config_show_orig_dial_string_for_cdma" value="true" />
+ <string-array name="apn_hide_rule_strings_array" num="2">
+ <item value="type"/>
+ <item value="supl,mms,ims"/>
+ </string-array>
+ <map name="apn_default_values_strings_array">
+ <string name="protocol">IPV4V6</string>
+ <string name="roaming_protocol">IPV4V6</string>
+ </map>
<boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
- <boolean name="carrier_parse_number_on_forward_call_bool" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="00">
<boolean name="carrier_rtt_supported" value="true" />
<boolean name="carrier_rtt_supported_on_vtcalls" value="true"/>
<boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="030">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="070">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="080">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
+ <carrier_config mcc="310" mnc="090">
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
+ </carrier_config>
+
<carrier_config mcc="310" mnc="030">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="150">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="170">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="280">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="380">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="410">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="560">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="680">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
<boolean name="config_enable_display_14digit_imei" value="true" />
- <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="transmit_static_image" value="true"/>
- <boolean name="show_static_image_ui" value="false"/>
+ <boolean name="config_enable_mms_with_mobile_data_off" value="true" />
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
+ </carrier_config>
+
+ <carrier_config mcc="310" mnc="980">
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
</carrier_config>
<carrier_config mcc="310" mnc="260">
@@ -718,14 +1275,17 @@
</carrier_config>
<carrier_config mcc="310" mnc="160">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="200">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="210">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
<boolean name="carrier_rtt_supported" value="true" />
<boolean name="carrier_rtt_supported_on_vtcalls" value="true"/>
@@ -733,22 +1293,27 @@
</carrier_config>
<carrier_config mcc="310" mnc="220">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="230">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="240">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="250">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="270">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
@@ -757,42 +1322,60 @@
</carrier_config>
<carrier_config mcc="310" mnc="310">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="490">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="530">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="580">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="590">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="640">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="660">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
<carrier_config mcc="310" mnc="800">
+ <boolean name="carrier_vt_available_bool" value="true" />
<boolean name="config_enable_mms_with_mobile_data_off" value="true" />
</carrier_config>
+ <carrier_config mcc="311" mnc="180">
+ <boolean name="carrier_rtt_supported" value="true" />
+ <boolean name="carrier_rtt_upgrade_supported" value="true"/>
+ <boolean name="carrier_rtt_downgrade_supported" value="true"/>
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ </carrier_config>
+
<carrier_config mcc="311" mnc="480">
<boolean name="support_video_conference_call_bool" value="false"/>
<boolean name="carrier_rtt_supported" value="true" />
<boolean name="carrier_rtt_supported_on_vtcalls" value="false"/>
<boolean name="carrier_rtt_upgrade_supported" value="false"/>
+ <boolean name="support_downgrade_vt_to_audio_bool" value="true" />
</carrier_config>
</carrier_config_list>
Only in unified_n/device/overlay/packages/apps: Gallery2
Only in unified_n/device/overlay/packages/apps: Settings
Only in unified_n/device/overlay/packages/apps: SnapdragonCamera
Only in unified_n/device/overlay/packages/services/Telephony/res: values-mcc460-mnc00
Only in unified_n/device/overlay/packages/services/Telephony/res: values-mcc460-mnc02
Only in unified_n/device/overlay/packages/services/Telephony/res: values-mcc460-mnc07
Only in unified_n/device/overlay/packages/services/Telephony/res: values-mcc460-mnc08
Only in unified_n: excluded-input-devices.xml
Only in unified_o: fstab_AB_variant.qcom
Only in unified_o: fstab_non_AB_variant.qcom
Only in unified_n: fstab.qcom
diff -bur unified_n/generate_extra_images.mk unified_o/generate_extra_images.mk
--- unified_n/generate_extra_images.mk 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/generate_extra_images.mk 2017-08-30 14:59:55.474875953 +0530
@@ -126,6 +126,42 @@
endif
#----------------------------------------------------------------------
+# Generate device tree overlay image (dtbo.img)
+#----------------------------------------------------------------------
+ifneq ($(strip $(TARGET_NO_KERNEL)),true)
+ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DTBO)),true)
+
+MKDTIMG := $(HOST_OUT_EXECUTABLES)/mkdtimg$(HOST_EXECUTABLE_SUFFIX)
+
+INSTALLED_DTBOIMAGE_TARGET := $(PRODUCT_OUT)/dtbo.img
+
+# Most specific paths must come first in possible_dtbo_dirs
+possible_dtbo_dirs = $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/dts $(KERNEL_OUT)/arch/arm/boot/dts
+$(shell mkdir -p $(possible_dtbo_dirs))
+dtbo_dir = $(firstword $(wildcard $(possible_dtbo_dirs)))
+dtbo_objs = $(shell find $(dtbo_dir) -name \*.dtbo)
+
+define build-dtboimage-target
+ $(call pretty,"Target dtbo image: $(INSTALLED_DTBOIMAGE_TARGET)")
+ $(hide) $(MKDTIMG) create $@ --page_size=$(BOARD_KERNEL_PAGESIZE) $(dtbo_objs)
+ $(hide) chmod a+r $@
+ $(hide) $(AVBTOOL) add_hash_footer \
+ --image $@ \
+ --partition_size $(BOARD_DTBOIMAGE_PARTITION_SIZE) \
+ --partition_name dtbo $(INTERNAL_AVB_SIGNING_ARGS)
+endef
+
+ifeq ($(BOARD_AVB_ENABLE),true)
+$(INSTALLED_DTBOIMAGE_TARGET): $(MKDTIMG) $(INSTALLED_KERNEL_TARGET) $(AVBTOOL)
+ $(build-dtboimage-target)
+endif
+
+ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DTBOIMAGE_TARGET)
+ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_DTBOIMAGE_TARGET)
+endif
+endif
+
+#----------------------------------------------------------------------
# Generate device tree image (dt.img)
#----------------------------------------------------------------------
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
@@ -454,7 +490,10 @@
endif
.PHONY: kernel
-kernel: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) $(INSTALLED_4K_BOOTIMAGE_TARGET)
+kernel: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) $(INSTALLED_4K_BOOTIMAGE_TARGET) $(INSTALLED_DTBOIMAGE_TARGET)
+
+.PHONY: dtboimage
+dtboimage: $(INSTALLED_DTBOIMAGE_TARGET)
.PHONY: recoveryimage
recoveryimage: $(INSTALLED_RECOVERYIMAGE_TARGET) $(INSTALLED_4K_RECOVERYIMAGE_TARGET)
@@ -472,3 +511,31 @@
$(hide) if [ -f "$(INSTALLED_2K_BOOTIMAGE_TARGET)" ]; then rm $(INSTALLED_2K_BOOTIMAGE_TARGET); fi
$(hide) if [ -f "$(INSTALLED_BCHECC_BOOTIMAGE_TARGET)" ]; then rm $(INSTALLED_BCHECC_BOOTIMAGE_TARGET); fi
@echo "kernel cleanup done"
+
+# Set correct dependency for kernel modules
+ifneq ($(BOARD_VENDOR_KERNEL_MODULES),)
+$(BOARD_VENDOR_KERNEL_MODULES): $(INSTALLED_BOOTIMAGE_TARGET)
+endif
+ifneq ($(BOARD_RECOVERY_KERNEL_MODULES),)
+$(BOARD_RECOVERY_KERNEL_MODULES): $(INSTALLED_BOOTIMAGE_TARGET)
+endif
+
+define board-vendorkernel-ota
+ $(call pretty,"Processing following kernel modules for vendor: $(BOARD_VENDOR_KERNEL_MODULES)")
+ $(if $(BOARD_VENDOR_KERNEL_MODULES), \
+ $(call build-image-kernel-modules,$(BOARD_VENDOR_KERNEL_MODULES),$(TARGET_OUT_VENDOR),vendor/,$(call intermediates-dir-for,PACKAGING,depmod_vendor)))
+endef
+
+# Adding support for vendor module for OTA
+ifeq ($(ENABLE_VENDOR_IMAGE), false)
+.PHONY: otavendormod
+otavendormod: $(BOARD_VENDOR_KERNEL_MODULES)
+ $(board-vendorkernel-ota)
+
+.PHONY: otavendormod-nodeps
+otavendormod-nodeps:
+ @echo "make board-vendorkernel-ota: ignoring dependencies"
+ $(board-vendorkernel-ota)
+
+$(BUILT_SYSTEMIMAGE): otavendormod
+endif
diff -bur unified_n/gpio-keys.kl unified_o/gpio-keys.kl
--- unified_n/gpio-keys.kl 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/gpio-keys.kl 2017-08-30 14:53:05.867414786 +0530
@@ -24,8 +24,8 @@
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-key 115 VOLUME_UP
-key 114 VOLUME_DOWN
-key 102 HOME
-key 528 FOCUS
-key 766 CAMERA
+key 115 VOLUME_UP WAKE_DROPPED
+key 114 VOLUME_DOWN WAKE_DROPPED
+key 102 HOME WAKE_DROPPED
+key 528 FOCUS WAKE_DROPPED
+key 766 CAMERA WAKE_DROPPED
diff -bur unified_n/healthd/Android.mk unified_o/healthd/Android.mk
--- unified_n/healthd/Android.mk 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/healthd/Android.mk 2017-08-30 14:59:55.474875953 +0530
@@ -3,6 +3,12 @@
include $(CLEAR_VARS)
LOCAL_SRC_FILES := healthd_board_msm.cpp healthd_msm_alarm.cpp
LOCAL_MODULE := libhealthd.msm
+
LOCAL_CFLAGS := -Werror
-LOCAL_C_INCLUDES := system/core/healthd/include/healthd/ bootable/recovery
+LOCAL_C_INCLUDES := \
+ system/core/healthd/include/healthd/ \
+ system/core/base/include \
+ bootable/recovery \
+ bootable/recovery/minui/include
+
include $(BUILD_STATIC_LIBRARY)
diff -bur unified_n/healthd/healthd_board_msm.cpp unified_o/healthd/healthd_board_msm.cpp
--- unified_n/healthd/healthd_board_msm.cpp 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/healthd/healthd_board_msm.cpp 2017-08-30 14:59:55.474875953 +0530
@@ -1,5 +1,5 @@
/*
- *Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+ *Copyright (c) 2015-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
@@ -35,7 +35,6 @@
#include <cutils/klog.h>
#include <batteryservice/BatteryService.h>
#include <cutils/android_reboot.h>
-#include <cutils/properties.h>
#include <healthd.h>
#include "minui/minui.h"
#include "healthd_msm.h"
@@ -59,11 +58,6 @@
#define BMS_BATT_RES_ID_PATH "/sys/class/power_supply/bms/resistance_id"
#define PERSIST_BATT_INFO_PATH "/persist/bms/batt_info.txt"
-#define USB_MAX_CURRENT_PATH "/sys/class/power_supply/usb/current_max"
-#define USB_TYPEC_MODE_PATH "/sys/class/power_supply/usb/typec_mode"
-
-#define USB500_UA 500000
-
#define CHGR_TAG "charger"
#define HEALTHD_TAG "healthd_msm"
#define LOGE(tag, x...) do { KLOG_ERROR(tag, x); } while (0)
@@ -111,68 +105,23 @@
static int batt_info_cached[BATT_INFO_MAX];
static bool healthd_msm_err_log_once;
-static int8_t healthd_msm_log_en;
-static int read_file(char const* path, char* buff, ssize_t size)
+static int write_file_int(char const* path, int value)
{
- int fd, rc;
-
- fd = open(path, O_RDONLY);
- if (fd < 0)
- return fd;
+ int fd;
+ char buffer[20];
+ int rc = -1, bytes;
- rc = read(fd, buff, size - 1);
- if (rc < 0) {
+ fd = open(path, O_WRONLY);
+ if (fd >= 0) {
+ bytes = snprintf(buffer, sizeof(buffer), "%d\n", value);
+ rc = write(fd, buffer, bytes);
close(fd);
- return rc;
}
- close(fd);
- buff[rc] = '\0';
-
- return rc;
-}
-
-static int read_int_from_file(char const* path, int* value)
-{
- int rc;
- char buff[32];
-
- rc = read_file(path, buff, sizeof(buff));
- if (rc < 0)
- return rc;
-
- sscanf(buff, "%d\n", value);
-
- return rc;
-}
-
-static int write_file(char const*path, const char *buff, ssize_t size)
-{
- int fd, rc = -1;
-
- fd = open(path,O_WRONLY);
- if (fd < 0)
- return fd;
-
- rc = write(fd, buff, size);
- close(fd);
-
return rc > 0 ? 0 : -1;
}
-static int write_file_int(char const* path, int value)
-{
- int rc = -1, bytes;
- char buff[32];
-
- bytes = snprintf(buff, (sizeof(buff) - 1), "%d\n", value);
- buff[bytes] = '\0';
- rc = write_file(path, buff, bytes + 1);
-
- return rc;
-}
-
static int set_tricolor_led(int on, int color)
{
int rc, i;
@@ -237,6 +186,7 @@
return rc;
}
+#if QTI_BSP
#define STR_LEN 8
void healthd_board_mode_charger_draw_battery(
struct android::BatteryProperties *batt_prop)
@@ -247,14 +197,15 @@
static int char_height = -1, char_width = -1;
if (char_height == -1 && char_width == -1)
- gr_font_size(gr_sys_font(), &char_width, &char_height);
+ gr_font_size(&char_width, &char_height);
snprintf(cap_str, (STR_LEN - 1), "%d%%", batt_prop->batteryLevel);
- str_len_px = gr_measure(gr_sys_font(), cap_str);
+ str_len_px = gr_measure(cap_str);
x = (gr_fb_width() - str_len_px) / 2;
y = (gr_fb_height() + char_height) / 2;
gr_color(0xa4, 0xc6, 0x39, 255);
- gr_text(gr_sys_font(), x, y, cap_str, 0);
+ gr_text(x, y, cap_str, 0);
}
+#endif
void healthd_board_mode_charger_battery_update(
struct android::BatteryProperties *batt_prop)
@@ -333,60 +284,32 @@
LOGV(CHGR_TAG, "set backlight status to %d\n", en);
}
-static inline void get_healthd_log_status()
-{
- healthd_msm_log_en = property_get_bool("persist.healthd_msm.log_en", 0);
-}
-
#define WAIT_BMS_READY_TIMES_MAX 200
#define WAIT_BMS_READY_INTERVAL_USEC 200000
void healthd_board_mode_charger_init()
{
int ret;
- char buff[40] = "\0";
- char *pos;
+ char buff[8] = "\0";
int charging_enabled = 0;
int bms_ready = 0;
int wait_count = 0;
int fd;
- bool usb_type_is_sdp = false, typec_default_src = false;
/* check the charging is enabled or not */
- ret = read_int_from_file(CHARGING_ENABLED_PATH, &charging_enabled);
- if (ret >= 0) {
+ fd = open(CHARGING_ENABLED_PATH, O_RDONLY);
+ if (fd < 0)
+ return;
+ ret = read(fd, buff, (sizeof(buff) - 1));
+ close(fd);
+ if (ret > 0) {
+ buff[ret] = '\0';
+ sscanf(buff, "%d\n", &charging_enabled);
LOGW(CHGR_TAG, "android charging is %s\n",
!!charging_enabled ? "enabled" : "disabled");
/* if charging is disabled, reboot and exit power off charging */
if (!charging_enabled)
android_reboot(ANDROID_RB_RESTART, 0, 0);
}
-
- ret = read_file(CHARGER_TYPE_PATH, buff, sizeof(buff));
- if (ret >= 0) {
- /* get rid of the new line charcter */
- buff[strcspn(buff, "\n")] = '\0';
- if (!strcmp(buff, "USB"))
- usb_type_is_sdp = true;
- }
- memset(buff, 0, sizeof(buff));
- ret = read_file(USB_TYPEC_MODE_PATH, buff, sizeof(buff));
- if (ret >= 0) {
- if (strstr(buff, "Source attached (default current)"))
- typec_default_src = true;
- }
-
- if (usb_type_is_sdp && typec_default_src) {
- /*
- * Request 500mA input current when a SDP is connected and it's
- * acting as a default source.
- * PD capable source which could charge the device with USB_PD
- * charger type is not included here.
- */
- ret = write_file_int(USB_MAX_CURRENT_PATH, USB500_UA);
- if (ret == 0)
- LOGW(CHGR_TAG, "Force input current to 500mA with SDP inserted!\n");
- }
-
fd = open(BMS_READY_PATH, O_RDONLY);
if (fd < 0)
return;
@@ -407,7 +330,6 @@
}
close(fd);
LOGV(CHGR_TAG, "Checking BMS SoC ready done %d!\n", bms_ready);
- get_healthd_log_status();
}
static void healthd_batt_info_notify()
@@ -532,7 +454,6 @@
// use defaults
power_off_alarm_init();
healthd_batt_info_notify();
- get_healthd_log_status();
}
static void healthd_store_batt_props(const struct android::BatteryProperties* props)
@@ -625,7 +546,5 @@
{
// return 0 to log periodic polled battery status to kernel log
healthd_store_batt_props(props);
- if (healthd_msm_log_en)
- return 0;
return 1;
}
diff -bur unified_n/healthd/healthd_msm_alarm.cpp unified_o/healthd/healthd_msm_alarm.cpp
--- unified_n/healthd/healthd_msm_alarm.cpp 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/healthd/healthd_msm_alarm.cpp 2017-08-30 14:59:55.474875953 +0530
@@ -24,14 +24,14 @@
#include <time.h>
#include <unistd.h>
-#include <cutils/android_reboot.h>
+#include <sys/syscall.h>
+#include <sys/reboot.h>
+#include <sys/ioctl.h>
#include <cutils/klog.h>
#include <cutils/misc.h>
#include <cutils/uevent.h>
#include <cutils/properties.h>
-
#include <pthread.h>
-#include <linux/android_alarm.h>
#include <linux/rtc.h>
#include <linux/time.h>
#include <sys/epoll.h>
@@ -47,12 +47,6 @@
RTC_TIME,
};
-/*
- * shouldn't be changed after
- * reading from alarm register
- */
-static time_t alm_secs;
-
static int alarm_get_time(enum alarm_time_type time_type,
time_t *secs)
{
@@ -101,18 +95,11 @@
return -1;
}
-#define ERR_SECS 2
-static int alarm_is_alm_expired()
+static void alarm_reboot(void)
{
- int rc;
- time_t rtc_secs;
-
- rc = alarm_get_time(RTC_TIME, &rtc_secs);
- if (rc < 0)
- return 0;
-
- return (alm_secs >= rtc_secs - ERR_SECS &&
- alm_secs <= rtc_secs + ERR_SECS) ? 1 : 0;
+ LOGI("alarm time is up, reboot the phone!\n");
+ syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
+ LINUX_REBOOT_CMD_RESTART2, "rtc");
}
static int alarm_set_reboot_time_and_wait(time_t secs)
@@ -136,6 +123,7 @@
}
event.events = EPOLLIN | EPOLLWAKEUP;
+ event.data.ptr = (void *)alarm_reboot;
rc = epoll_ctl(epollfd, EPOLL_CTL_ADD, fd, &event);
if (rc < 0) {
LOGE("epoll_ctl(EPOLL_CTL_ADD) failed \n");
@@ -154,13 +142,13 @@
goto err;
}
- do {
nevents = epoll_wait(epollfd, events, 1, -1);
- } while ((nevents < 0) || !alarm_is_alm_expired());
if (nevents <= 0) {
LOGE("Unable to wait on alarm\n");
goto err;
+ } else {
+ (*(void (*)())events[0].data.ptr)();
}
close(epollfd);
@@ -176,10 +164,19 @@
return -1;
}
+/*
+ * 10s the estimated time from timestamp of alarm thread start
+ * to timestamp of android boot completed.
+ */
+#define TIME_DELTA 10
+
+/* seconds of 1 minute*/
+#define ONE_MINUTE 60
static void *alarm_thread(void *)
{
- time_t rtc_secs, rb_secs;
+ time_t rtc_secs, alarm_secs;
int rc;
+ timespec ts;
/*
* to support power off alarm, the time
@@ -188,16 +185,38 @@
* earlier than the actual alarm time
* set by user
*/
- rc = alarm_get_time(ALARM_TIME, &alm_secs);
- if (rc < 0 || !alm_secs)
+ rc = alarm_get_time(ALARM_TIME, &alarm_secs);
+ if (rc < 0 || !alarm_secs)
goto err;
- rc = alarm_set_reboot_time_and_wait(alm_secs);
- if (rc < 0)
+ rc = alarm_get_time(RTC_TIME, &rtc_secs);
+ if (rc < 0 || !rtc_secs)
+ goto err;
+ LOGI("alarm time in rtc is %ld, rtc time is %ld\n", alarm_secs, rtc_secs);
+
+ if (alarm_secs <= rtc_secs) {
+ clock_gettime(CLOCK_BOOTTIME, &ts);
+
+ /*
+ * It is possible that last power off alarm time is up at this point.
+ * (alarm_secs + ONE_MINUTE) is the final alarm time to fire.
+ * (rtc_secs + ts.tv_sec + TIME_DELTA) is the estimated time of next
+ * boot completed to fire alarm.
+ * If the final alarm time is less than the estimated time of next boot
+ * completed to fire, that means it is not able to fire the last power
+ * off alarm at the right time, so just miss it.
+ */
+ if (alarm_secs + ONE_MINUTE < rtc_secs + ts.tv_sec + TIME_DELTA) {
+ LOGE("alarm is missed\n");
goto err;
+ }
+
+ alarm_reboot();
+ }
- LOGI("Exit from power off charging, reboot the phone!\n");
- android_reboot(ANDROID_RB_RESTART2, 0, (char *)"rtc");
+ rc = alarm_set_reboot_time_and_wait(alarm_secs);
+ if (rc < 0)
+ goto err;
err:
LOGE("Exit from alarm thread\n");
diff -bur unified_n/hostapd.conf unified_o/hostapd.conf
--- unified_n/hostapd.conf 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/hostapd.conf 2017-08-30 14:53:05.867414786 +0530
@@ -54,7 +54,7 @@
# than one interface is used.
# /var/run/hostapd is the recommended directory for sockets and by default,
# hostapd_cli will use it when trying to connect with hostapd.
-ctrl_interface=/data/misc/wifi/hostapd
+ctrl_interface=/data/vendor/wifi/hostapd/ctrl
# Access control for the control interface can be configured by setting the
@@ -100,7 +100,7 @@
# Please note that some drivers (e.g., madwifi) do not use this value from
# hostapd and the channel will need to be configuration separately with
# iwconfig.
-channel=6
+channel=0
# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
beacon_int=100
@@ -1041,3 +1041,5 @@
#bss=wlan0_1
#bssid=00:13:10:95:fe:0b
# ...
+
+wowlan_triggers=any
diff -bur unified_n/init.qti.qseecomd.sh unified_o/init.qti.qseecomd.sh
--- unified_n/init.qti.qseecomd.sh 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/init.qti.qseecomd.sh 2017-08-30 14:53:05.867414786 +0530
@@ -1,5 +1,5 @@
-#!/system/bin/sh
-# Copyright (c) 2016, The Linux Foundation. All rights reserved.
+#!/vendor/bin/sh
+# Copyright (c) 2016,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
@@ -33,4 +33,3 @@
sleep 0.1
registered="`getprop sys.listeners.registered`"
done
-
diff -bur unified_n/init.target.rc unified_o/init.target.rc
--- unified_n/init.target.rc 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/init.target.rc 2017-08-30 14:53:05.867414786 +0530
@@ -28,6 +28,10 @@
#
on early-init
+ mkdir /firmware 0771 system system
+ mkdir /bt_firmware 0771 system system
+ symlink /data/tombstones /tombstones
+ mkdir /dsp 0771 media media
write /proc/sys/kernel/sched_boost 1
on init
@@ -38,41 +42,34 @@
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/1da4000.ufshc
symlink /dev/block/platform/soc/1da4000.ufshc /dev/block/bootdevice
- mount_all fstab.qcom
- swapon_all fstab.qcom
+ mount_all /vendor/etc/fstab.qcom
+ swapon_all /vendor/etc/fstab.qcom
# Keeping following partitions outside fstab file. As user may not have
# these partition flashed on the device. Failure to mount any partition in fstab file
# results in failure to launch late-start class.
- mkdir /persist/data 0700 system system
- mkdir /persist/bms 0700 root system
restorecon_recursive /persist
+ mkdir /persist/data 0700 system system
on post-fs
start qseecomd
- exec - root root root -- /system/bin/init.qti.qseecomd.sh
+ exec - system system -- /vendor/bin/init.qti.qseecomd.sh
write /dev/ipa 1
-on init
- write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
-
on post-fs-data
- mkdir /data/tombstones/modem 0771 system system
- mkdir /data/tombstones/lpass 0771 system system
- mkdir /data/tombstones/wcnss 0771 system system
- mkdir /data/tombstones/dsps 0771 system system
- mkdir /data/misc/qvop 0660 system system
- mkdir /data/misc/hbtp 0750 system system
- mkdir /data/misc/seemp 0700 system system
+ 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 /data/misc/qvr 0770 system system
- mkdir /data/misc/qdmastats 0700 system system
- mkdir /data/misc/qdma 0770 system system
- mkdir /data/misc/iris 0770 system system
# For cpusets initialize for Silver Only first and then Silver + Gold
# Silver Only configuration cannot work with 0-7
@@ -89,6 +86,16 @@
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 and prop files####
chmod 0644 /persist/speccfg/spec
chmod 0644 /persist/speccfg/devicetype
@@ -107,14 +114,23 @@
chown system system /persist/speccfg/submask
chown system system /persist/speccfg/partition
+#install video modules
+ insmod /system/lib/modules/msm-vidc-vmem.ko
+ insmod /system/lib/modules/msm-vidc.ko
+ insmod /system/lib/modules/msm-vidc-dyn-gov.ko
+ insmod /system/lib/modules/msm-vidc-table-gov.ko
+
+#Load WLAN driver
+ insmod /vendor/lib/modules/qca_cld3_wlan.ko
+
#Peripheral manager
-service per_mgr /system/bin/pm-service
+service per_mgr /vendor/bin/pm-service
class core
user system
group system
ioprio rt 4
-service per_proxy /system/bin/pm-proxy
+service per_proxy /vendor/bin/pm-proxy
class core
user system
group system
@@ -128,12 +144,8 @@
on charger
start hvdcp_opti
+ setprop sys.usb.configfs 1
-## import cne init file
-service qvop-daemon /system/bin/qvop-daemon
- class late_start
- user system
- group system drmrpc
#on post-fs
# export LD_PRELOAD /vendor/lib/libNimsWrap.so
#
@@ -159,17 +171,17 @@
#on property:sys.boot_completed=1
# start qrngp
#
-service qseecomd /system/bin/qseecomd
+service qseecomd /vendor/bin/qseecomd
class core
user root
group root
-service spdaemon /system/bin/spdaemon
+service spdaemon /vendor/bin/spdaemon
class core
user system
group system
-#service mpdecision /system/bin/mpdecision --avg_comp
+#service mpdecision /system/vendor/bin/mpdecision --avg_comp
# user root
# disabled
#
@@ -195,12 +207,8 @@
# class core
# oneshot
#
-service time_daemon /system/bin/time_daemon
- class late_start
- user root
- group root
-service adsprpcd /system/bin/adsprpcd
+service adsprpcd /system/vendor/bin/adsprpcd
class main
user media
group media
@@ -211,49 +219,49 @@
group system
disabled
-service audiod /system/bin/audiod
+service audiod /system/vendor/bin/audiod
class late_start
user system
group system
-#service usf_tester /system/bin/usf_tester
+#service usf_tester /system/vendor/bin/usf_tester
# user system
# group system inet
# disabled
#
-#service usf_epos /system/bin/usf_epos
+#service usf_epos /system/vendor/bin/usf_epos
# user system
# group system inet
# disabled
#
-#service usf_gesture /system/bin/usf_gesture
+#service usf_gesture /system/vendor/bin/usf_gesture
# user system
# group system inet
# disabled
#
-#service usf_sync_gesture /system/bin/usf_sync_gesture
+#service usf_sync_gesture /system/vendor/bin/usf_sync_gesture
# user system
# group system inet
# disabled
#
-#service usf_p2p /system/bin/usf_p2p
+#service usf_p2p /system/vendor/bin/usf_p2p
# user system
# group system inet
# disabled
#
-#service usf_hovering /system/bin/usf_hovering
+#service usf_hovering /system/vendor/bin/usf_hovering
# user system
# group system inet
# disabled
#
-#service usf_proximity /system/bin/usf_proximity
+#service usf_proximity /system/vendor/bin/usf_proximity
# user system
# group system inet
# disabled
#
-#service usf-post-boot /system/bin/sh /system/etc/usf_post_boot.sh
+#service usf-post-boot /system/vendor/bin/sh /system/etc/usf_post_boot.sh
# class late_start
# user root
# disabled
@@ -277,13 +285,13 @@
# chown system drmrpc /sys/devices/f9966000.i2c/i2c-1/1-0020/secure_touch
#
#
-service imsqmidaemon /system/bin/imsqmidaemon
+service imsqmidaemon /system/vendor/bin/imsqmidaemon
class main
user system
socket ims_qmid stream 0660 system radio
group radio log diag
-service imsdatadaemon /system/bin/imsdatadaemon
+service imsdatadaemon /system/vendor/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
@@ -343,31 +351,30 @@
#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
+# group gps system oem_2901 diag log inet net_raw
# disabled
-on property:sys.ims.QMI_DAEMON_STATUS=1
+on property:vendor.ims.QMI_DAEMON_STATUS=1
start imsdatadaemon
-service ims_rtp_daemon /system/bin/ims_rtp_daemon
+service ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
class main
user system
- socket ims_rtpd stream 0660 system radio
group radio diag inet log
disabled
-service imscmservice /system/bin/imscmservice
+service imsrcsservice /system/vendor/bin/imsrcsd
class main
user system
group radio diag inet log
disabled
-on property:sys.ims.DATA_DAEMON_STATUS=1
+on property:vendor.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
- start imscmservice
+ start imsrcsservice
#
-service ppd /system/vendor/bin/mm-pp-dpps
+service ppd /vendor/bin/mm-pp-dpps
class late_start
user system
group system graphics
@@ -399,7 +406,7 @@
# user system
# group drmrpc
#
-#service adsprpcd /system/bin/adsprpcd
+#service adsprpcd /system/vendor/bin/adsprpcd
# class main
# user media
# group media
@@ -411,15 +418,9 @@
# user system
# group system
-service seempd /system/bin/seempd
- class late_start
- user system
- group system
- socket seempdw dgram 0666 system system
-
-service energy-awareness /system/bin/energy-awareness
+service energy-awareness /system/vendor/bin/energy-awareness
class main
- user system
+ user root
group system
oneshot
@@ -428,30 +429,14 @@
user root
group system radio drmrpc
-service hvdcp_opti /system/bin/hvdcp_opti
+service hvdcp_opti /system/vendor/bin/hvdcp_opti
class main
user root
group system wakelock
-service qvrd /system/vendor/bin/qvrservice
+service qvrd /system/bin/qvrservice
class late_start
user system
group system camera graphics
socket qvrservice stream 0666 system system
- socket qvrservice_camera stream 0666 system system
- socket qvrservice_hvx_camera stream 0660 system system
-
-service qdmastatsd /system/bin/qdmastatsd
- class late_start
- user system
- group system
-
-service smcinvoked /system/vendor/bin/smcinvoked
- class main
- user system
- group system
-
-service irisd /system/bin/irisdaemon
- class late_start
- user system
- group camera system inet
+ capabilities SYS_NICE
Only in unified_o: manifest.xml
Only in unified_o/media: media_codecs_cobalt.xml
Only in unified_n/media: media_codecs_performance.xml
diff -bur unified_n/media/media_codecs.xml unified_o/media/media_codecs.xml
--- unified_n/media/media_codecs.xml 2017-08-30 15:05:07.526917390 +0530
+++ unified_o/media/media_codecs.xml 2017-08-30 14:59:55.474875953 +0530
@@ -1,7 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012-2013 The Android Open Source Project
- Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
- Not a contribution.
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2013 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.
@@ -16,111 +14,10 @@
limitations under the License.
-->
-<!--
-<!DOCTYPE MediaCodecs [
-<!ELEMENT Include EMPTY>
-<!ATTLIST Include href CDATA #REQUIRED>
-<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
-<!ELEMENT Decoders (MediaCodec|Include)*>
-<!ELEMENT Encoders (MediaCodec|Include)*>
-<!ELEMENT MediaCodec (Type|Quirk|Include)*>
-<!ATTLIST MediaCodec name CDATA #REQUIRED>
-<!ATTLIST MediaCodec type CDATA>
-<!ELEMENT Type EMPTY>
-<!ATTLIST Type name CDATA #REQUIRED>
-<!ELEMENT Quirk EMPTY>
-<!ATTLIST Quirk name CDATA #REQUIRED>
-]>
-
-There's a simple and a complex syntax to declare the availability of a
-media codec:
-
-A codec that properly follows the OpenMax spec and therefore doesn't have any
-quirks and that only supports a single content type can be declared like so:
-
- <MediaCodec name="OMX.foo.bar" type="something/interesting" />
-
-If a codec has quirks OR supports multiple content types, the following syntax
-can be used:
-
- <MediaCodec name="OMX.foo.bar" >
- <Type name="something/interesting" />
- <Type name="something/else" />
- ...
- <Quirk name="requires-allocate-on-input-ports" />
- <Quirk name="requires-allocate-on-output-ports" />
- <Quirk name="output-buffers-are-unreadable" />
- </MediaCodec>
-
-Only the three quirks included above are recognized at this point:
-
-"requires-allocate-on-input-ports"
- must be advertised if the component does not properly support specification
- of input buffers using the OMX_UseBuffer(...) API but instead requires
- OMX_AllocateBuffer to be used.
-
-"requires-allocate-on-output-ports"
- must be advertised if the component does not properly support specification
- of output buffers using the OMX_UseBuffer(...) API but instead requires
- OMX_AllocateBuffer to be used.
-
-"output-buffers-are-unreadable"
- must be advertised if the emitted output buffers of a decoder component
- are not readable, i.e. use a custom format even though abusing one of
- the official OMX colorspace constants.
- Clients of such decoders will not be able to access the decoded data,
- naturally making the component much less useful. The only use for
- a component with this quirk is to render the output to the screen.
- Audio decoders MUST NOT advertise this quirk.
- Video decoders that advertise this quirk must be accompanied by a
- corresponding color space converter for thumbnail extraction,
- matching surfaceflinger support that can render the custom format to
- a texture and possibly other code, so just DON'T USE THIS QUIRK.
-
-
--->
-
-<!--
- 8996 Decoder capabilities
- __________________________________________________________________
- | Codec | W H fps Mbps MB/s | Secure-dec |
- |__________|_________________________________________|____________|
- | h264 | 3840 2160 60 100 1958400 | Y |
- | | (4096) (2160) (56) (100) | |
- | hevc | 3840 2160 60 100 1958400 | Y |
- | | (4096) (2160) (56) (100) | |
- | mpeg4 | 1920 1088 60 60 489600 | N |
- | vc1 | 1920 1088 60 60 489600 | Y |
- | vp8 | 3840 2160 30 100 979200 | N |
- | vp9 | 3840 2160 30 100 979200 | Y |
- | divx3 | 720 480 30 2 40500 | N |
- | div4/5/6 | 1920 1088 30 10 244800 | N |
- | h263 | 864 480 30 2 48600 | N |
- | mpeg2 | 1920 1088 30 40 244800 | Y |
- |__________|_________________________________________|____________|
-
-
- 8996 Encoder capabilities
- ______________________________________________________
- | Codec | W H fps Mbps MB/s |
- |__________|_________________________________________|
- | h264 | 3840 2160 30 100 979200 |
- | hevc | 3840 2160 30 100 979200 |
- | mpeg4 | 1920 1088 60 60 489600 |
- | vp8 | 3840 2160 30 100 979200 |
- | h263 | 864 480 30 2 48600 |
- |__________|_________________________________________|
--->
-
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
- <Settings>
- <Setting name="max-video-encoder-input-buffers" value="11" />
- </Settings>
<Encoders>
- <!-- Audio Hardware -->
- <!-- Audio Software -->
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
@@ -133,66 +30,53 @@
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
- <!-- vt-version, upper 16 bit major version lower 16 bit minor version -->
- <Limit name="vt-version" value="65536" />
- <Limit name="vt-low-latency" value="1" />
- <Limit name="vt-max-instances" value="16" />
- <Limit name="vt-max-temporal-layer-count" value="3" />
- <Limit name="vt-max-ref-frames" value="9" />
- <Limit name="vt-max-ltr-frames" value="3" />
- <Limit name="vt-max-level" value="52" />
- <Limit name="vt-ratecontrol" value="0" />
- <Limit name="vt-slice-control-modes-bitmask" value="15" />
- <Limit name="vt-max-macroblock-processing-rate" value="972000" />
- <Limit name="vt-down-scale-factor" value="8" />
- <Limit name="vt-min-scale-factor" value="1" />
- <Limit name="vt-slice-hdr-spacing" value="1" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
+ <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Quirk name="requires-loaded-to-idle-after-allocation"/>
- <Limit name="size" min="96x64" max="1920x1088" />
+ <Quirk name="requires-loaded-to-idle-after-allocation" />
+ <Limit name="size" min="96x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-60000000" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-20000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
+ <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x64" max="864x480" />
+ <Limit name="size" min="162x64" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="48600" />
- <Limit name="bitrate" range="1-2000000" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
+ <!-- Video Software -->
+ <MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x64" max="3840x2160" />
+ <Limit name="size" min="96x64" max="864x480" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="979200" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="blocks-per-second" min="1" max="48600" />
+ <Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
+ <MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="162x64" max="4096x2160" />
+ <Quirk name="requires-loaded-to-idle-after-allocation"/>
+ <Limit name="size" min="96x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="979200" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
@@ -208,11 +92,6 @@
<Limit name="blocks-per-second" min="1" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
- <Limit name="vt-low-latency" value="1" />
- <Limit name="vt-version" value="65536" />
- <Limit name="vt-max-macroblock-processing-rate" value="972000" />
- <Limit name="vt-max-level" value="52" />
- <Limit name="vt-max-instances" value="16" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
@@ -229,18 +108,6 @@
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="6" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
- <Quirk name="requires-allocate-on-input-ports" />
- <Quirk name="requires-allocate-on-output-ports"/>
- <Limit name="size" min="64x64" max="1920x1088" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-60000000" />
- <Limit name="frame-rate" range="1-240" />
- <Feature name="adaptive-playback" />
- <Limit name="concurrent-instances" max="16" />
- </MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
@@ -264,146 +131,107 @@
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
- <Limit name="concurrent-instances" max="6" />
- </MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
- <Quirk name="requires-allocate-on-input-ports" />
- <Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="864x480" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-2000000" />
- <Limit name="frame-rate" range="1-240" />
- <Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/x-ms-wmv" >
+ <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-60000000" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-20000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.vc1.secure" type="video/x-ms-wmv" >
+ <MediaCodec name="OMX.qcom.video.decoder.vp8.secure" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-60000000" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-20000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="6" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
- <Quirk name="requires-allocate-on-input-ports" />
- <Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="1920x1088" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="244800" />
- <Limit name="bitrate" range="1-10000000" />
- <Limit name="frame-rate" range="1-240" />
- <Feature name="adaptive-playback" />
- <Limit name="concurrent-instances" max="16" />
- </MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
- <Quirk name="requires-allocate-on-input-ports" />
- <Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="720x480" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="40500" />
- <Limit name="bitrate" range="1-2000000" />
- <Limit name="frame-rate" range="1-240" />
- <Feature name="adaptive-playback" />
- <Limit name="concurrent-instances" max="16" />
- </MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
+ <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="1920x1088" />
+ <Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="244800" />
- <Limit name="bitrate" range="1-10000000" />
+ <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="bitrate" range="1-20000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
+ <MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="979200" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="bitrate" range="1-20000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
- <Limit name="concurrent-instances" max="16" />
+ <Feature name="secure-playback" required="true" />
+ <Limit name="concurrent-instances" max="6" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
+ <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="size" min="64x64" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="blocks-per-second" min="1" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
+ <MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="3840x2160" />
+ <Limit name="size" min="64x64" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="979200" />
+ <Limit name="blocks-per-second" min="1" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="6" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
+ <!-- Video Software -->
+ <MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="4096x2160" />
+ <Limit name="size" min="64x64" max="864x480" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="1958400" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
- <MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
+ <MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
- <Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="64x64" max="4096x2160" />
+ <Quirk name="requires-allocate-on-output-ports"/>
+ <Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="1958400" />
- <Limit name="bitrate" range="1-100000000" />
+ <Limit name="blocks-per-second" min="1" max="489600" />
+ <Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
- <Feature name="secure-playback" required="true" />
- <Limit name="concurrent-instances" max="6" />
- </MediaCodec>
- <!-- Audio Software -->
- <MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" >
- <Limit name="concurrent-instances" max="10" />
+ <Limit name="concurrent-instances" max="16" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
Only in unified_o/media: media_profiles_cobalt.xml
diff -bur unified_n/media/media_profiles.xml unified_o/media/media_profiles.xml
--- unified_n/media/media_profiles.xml 2017-08-30 15:05:07.526917390 +0530
+++ unified_o/media/media_profiles.xml 2017-08-30 14:59:55.474875953 +0530
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
- Copyright (C) 2012-2016 The Linux Foundation. All rights reserved.
- Not a contribution.
+<!-- Copyright 2013 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.
@@ -35,10 +33,10 @@
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
-<!ATTLIST Audio codec (amrnb|amrwb|aac|lpcm) #REQUIRED>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
-<!ATTLIST Audio channels (1|2|6) #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
@@ -47,7 +45,7 @@
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
-<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
@@ -57,18 +55,15 @@
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
-<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
-<!ATTLIST AudioEncoderCap minChannels (1|2|6) #REQUIRED>
-<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
@@ -92,1177 +87,188 @@
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
- <!-- Back Camera -->
<CamcorderProfiles cameraId="0">
- <EncoderProfile quality="low" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="high" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="720000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="14000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qhd" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="2560"
- height="1440"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="2k" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="2048"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="4096"
- height="2160"
- frameRate="24" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="720000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
-
- <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="14000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqhd" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="2560"
- height="1440"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2k" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="2048"
- height="1080"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="4096"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <ImageEncoding quality="95" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
- <!-- Front Camera -->
- <CamcorderProfiles cameraId="1">
-
- <EncoderProfile quality="low" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="high" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="720000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="14000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <!-- TIMELAPSE profiles for front camera -->
- <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="5000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="8000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <ImageEncoding quality="95" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
-
- <!-- Back Camera -->
- <CamcorderProfiles cameraId="2">
-
- <EncoderProfile quality="low" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="high" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="720000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="14000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qhd" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="2560"
- height="1440"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="2k" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="2048"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="4096"
- height="2160"
- frameRate="24" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="720000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
-
- <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="512000"
+ <EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
+ <Video codec="m4v"
+ bitRate="128000"
width="320"
height="240"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
+ frameRate="15" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="14000000"
- width="1280"
- height="720"
+ bitRate="1200000"
+ width="352"
+ height="288"
frameRate="30" />
-
- <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
+ bitRate="6000000"
+ width="720"
+ height="480"
frameRate="30" />
-
- <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="timelapseqhd" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="42000000"
- width="2560"
- height="1440"
+ bitRate="12000000"
+ width="1280"
+ height="720"
frameRate="30" />
-
- <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="timelapse2k" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="20000000"
- width="2048"
+ bitRate="17000000"
+ width="1920"
height="1080"
frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="4096"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <ImageEncoding quality="95" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
-
- <!-- Back Camera -->
- <CamcorderProfiles cameraId="3">
-
- <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
-
+ <!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
- <EncoderProfile quality="high" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="720000"
+ bitRate="1200000"
width="352"
height="288"
frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
channels="1" />
</EncoderProfile>
- <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="2000000"
+ bitRate="6000000"
width="720"
height="480"
frameRate="30" />
-
+ <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="14000000"
+ bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
-
+ <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="20000000"
+ bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qhd" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="2560"
- height="1440"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="2k" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="2048"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="4kdci" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="4096"
- height="2160"
- frameRate="24" />
-
+ <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
+ <ImageEncoding quality="95" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
+ </CamcorderProfiles>
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
+ <CamcorderProfiles cameraId="1">
+ <EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
+ <Video codec="m4v"
+ bitRate="128000"
+ width="320"
+ height="240"
+ frameRate="15" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
- <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
+ bitRate="1200000"
+ width="352"
+ height="288"
frameRate="30" />
-
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
- <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
+ bitRate="6000000"
+ width="720"
+ height="480"
frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
channels="1" />
</EncoderProfile>
- <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
+ bitRate="12000000"
+ width="1280"
+ height="720"
frameRate="30" />
-
- <!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
@@ -1271,7 +277,6 @@
width="176"
height="144"
frameRate="30" />
-
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
@@ -1281,141 +286,41 @@
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="720000"
+ bitRate="1200000"
width="352"
height="288"
frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
-
- <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="2000000"
- width="640"
- height="480"
- frameRate="30" />
-
<!-- audio setting is ignored -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="2000000"
- width="640"
+ bitRate="6000000"
+ width="720"
height="480"
frameRate="30" />
-
<!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
- bitRate="14000000"
+ bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqhd" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="2560"
- height="1440"
- frameRate="30" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2k" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="20000000"
- width="2048"
- height="1080"
- frameRate="30" />
-
<!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="4096"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="42000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="156000"
+ bitRate="96000"
sampleRate="48000"
- channels="2" />
+ channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
@@ -1434,41 +339,27 @@
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="h264" enabled="true"
- minBitRate="64000" maxBitRate="42000000"
- minFrameWidth="176" maxFrameWidth="4096"
- minFrameHeight="144" maxFrameHeight="2160"
- minFrameRate="15" maxFrameRate="30"
- maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
- maxHFRMode="120" />
+ minBitRate="64000" maxBitRate="40000000"
+ minFrameWidth="176" maxFrameWidth="1920"
+ minFrameHeight="144" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
- minFrameRate="15" maxFrameRate="30"
- maxHFRFrameWidth="0" maxHFRFrameHeight="0"
- maxHFRMode="0" />
+ minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="m4v" enabled="true"
- minBitRate="64000" maxBitRate="20000000"
+ minBitRate="64000" maxBitRate="40000000"
minFrameWidth="176" maxFrameWidth="1920"
- minFrameHeight="144" maxFrameHeight="1088"
- minFrameRate="15" maxFrameRate="30"
- maxHFRFrameWidth="0" maxHFRFrameHeight="0"
- maxHFRMode="0" />
-
- <VideoEncoderCap name="hevc" enabled="true"
- minBitRate="64000" maxBitRate="100000000"
- minFrameWidth="176" maxFrameWidth="4096"
- minFrameHeight="144" maxFrameHeight="2160"
- minFrameRate="15" maxFrameRate="30"
- maxHFRFrameWidth="0" maxHFRFrameHeight="0"
- maxHFRMode="0" />
+ minFrameHeight="144" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
- minBitRate="8000" maxBitRate="96000"
+ minBitRate="758" maxBitRate="288000"
minSampleRate="8000" maxSampleRate="48000"
- minChannels="1" maxChannels="6" />
+ minChannels="1" maxChannels="1" />
<AudioEncoderCap name="heaac" enabled="true"
minBitRate="8000" maxBitRate="64000"
@@ -1481,7 +372,7 @@
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrwb" enabled="true"
- minBitRate="6600" maxBitRate="23850"
+ minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
@@ -1490,11 +381,6 @@
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
- <AudioEncoderCap name="lpcm" enabled="true"
- minBitRate="768000" maxBitRate="4608000"
- minSampleRate="8000" maxSampleRate="48000"
- minChannels="1" maxChannels="6" />
-
<!--
FIXME:
We do not check decoder capabilities at present
@@ -1502,8 +388,8 @@
for TEST applications. For other applications, we do
not perform any checks at all.
-->
- <VideoDecoderCap name="wmv" enabled="true"/>
- <AudioDecoderCap name="wma" enabled="true"/>
+ <VideoDecoderCap name="wmv" enabled="false"/>
+ <AudioDecoderCap name="wma" enabled="false"/>
<!--
The VideoEditor Capability configuration:
@@ -1517,8 +403,8 @@
frames) memory.
-->
<VideoEditorCap maxInputFrameWidth="1920"
- maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
- maxOutputFrameHeight="1088" maxPrefetchYUVFrames="10"/>
+ maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
+ maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
<!--
The VideoEditor Export codec profile and level values
correspond to the values in OMX_Video.h.
Only in unified_o: media_codecs_performance.xml
Only in unified_o: media_codecs.xml
Only in unified_o: media_profiles.xml
diff -bur unified_n/meta_image/meta_image.c unified_o/meta_image/meta_image.c
--- unified_n/meta_image/meta_image.c 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/meta_image/meta_image.c 2017-08-30 14:59:55.474875953 +0530
@@ -36,7 +36,7 @@
#include <sys/stat.h>
#include "meta_format.h"
-#define MAX_IMAGES 16
+#define MAX_IMAGES 32
meta_header_t meta_header;
img_header_entry_t img_header[MAX_IMAGES];
@@ -58,14 +58,14 @@
printf("eg: meta_image sbl1 sbl1.mbn rpm rpm.mbn tz tz.mbn hyp hyp.mbn aboot emmc_appsboot.mbn -o bootloader.img -v M8916AAAAAULGD21210017.1\n");
}
-int read_devinfo ()
+void read_devinfo ()
{
FILE *fin = fopen("devinfo.bin", "rb");
fread(&di, sizeof(di), 1, fin);
fclose(fin);
}
-int write_devinfo ()
+void write_devinfo ()
{
FILE *fout;
/* If image exists, just update it */
diff -bur unified_n/msm8998.mk unified_o/msm8998.mk
--- unified_n/msm8998.mk 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/msm8998.mk 2017-08-30 14:53:05.867414786 +0530
@@ -1,4 +1,25 @@
+TARGET_USES_AOSP := true
+TARGET_USES_QCOM_BSP := false
DEVICE_PACKAGE_OVERLAYS := device/qcom/msm8998/overlay
+
+TARGET_USES_AOSP_FOR_AUDIO := false
+TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
+TARGET_DISABLE_DASH := true
+
+# Default vendor configuration.
+ifeq ($(ENABLE_VENDOR_IMAGE),)
+ENABLE_VENDOR_IMAGE := true
+endif
+
+# Default A/B configuration.
+ENABLE_AB ?= true
+
+# Disable QTIC until it's brought up in split system/vendor
+# configuration to avoid compilation breakage.
+ifeq ($(ENABLE_VENDOR_IMAGE), true)
+#TARGET_USES_QTIC := false
+endif
+
TARGET_KERNEL_VERSION := 4.4
BOARD_HAVE_QCOM_FM := true
TARGET_USES_NQ_NFC := true
@@ -8,7 +29,6 @@
NQ3XX_PRESENT := true
endif
-TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
BOARD_FRP_PARTITION_NAME :=frp
# enable the SVA in UI area
@@ -16,22 +36,54 @@
# Video codec configuration files
ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS), true)
-PRODUCT_COPY_FILES += device/qcom/msm8998/media/media_profiles.xml:system/etc/media_profiles.xml \
- device/qcom/msm8998/media/media_codecs.xml:system/etc/media_codecs.xml \
- device/qcom/msm8998/media/media_codecs_performance.xml:system/etc/media_codecs_performance.xml
+PRODUCT_COPY_FILES += \
+ device/qcom/msm8998/media_profiles.xml:system/etc/media_profiles.xml \
+ device/qcom/msm8998/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \
+ device/qcom/msm8998/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
+ device/qcom/msm8998/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml
endif #TARGET_ENABLE_QC_AV_ENHANCEMENTS
-PRODUCT_COPY_FILES += device/qcom/msm8998/whitelistedapps.xml:system/vendor/etc/whitelistedapps.xml
+ifneq ($(TARGET_DISABLE_DASH), true)
+ PRODUCT_BOOT_JARS += qcmediaplayer
+endif
+# video seccomp policy files
+PRODUCT_COPY_FILES += \
+ device/qcom/msm8998/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
+ device/qcom/msm8998/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
+
+# Power
+PRODUCT_PACKAGES += \
+ [email protected] \
+ [email protected]
+
+PRODUCT_PACKAGES += \
+ [email protected]
+
+# Add support for whitelisted apps
+PRODUCT_COPY_FILES += device/qcom/msm8998/whitelistedapps.xml:system/etc/whitelistedapps.xml
#QTIC flag
-include $(QCPATH)/common/config/qtic-config.mk
+# Add soft home, back and multitask keys
+PRODUCT_PROPERTY_OVERRIDES += \
+ qemu.hw.mainkeys=0
+
# Override heap growth limit due to high display density on device
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.heapgrowthlimit=256m
$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
$(call inherit-product, device/qcom/common/common64.mk)
+
+# system prop for opengles version
+#
+# 196608 is decimal for 0x30000 to report version 3
+# 196609 is decimal for 0x30001 to report version 3.1
+# 196610 is decimal for 0x30002 to report version 3.2
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.opengles.version=196610
+
PRODUCT_NAME := msm8998
PRODUCT_DEVICE := msm8998
PRODUCT_BRAND := Android
@@ -49,7 +101,6 @@
PRODUCT_BOOT_JARS += telephony-ext
PRODUCT_PACKAGES += telephony-ext
-PRODUCT_PACKAGES += libqmiextservices
ifneq ($(strip $(QCPATH)),)
PRODUCT_BOOT_JARS += WfdCommon
@@ -57,24 +108,28 @@
PRODUCT_BOOT_JARS += oem-services
endif
+# system prop for Bluetooth SOC type
+PRODUCT_PROPERTY_OVERRIDES += \
+ qcom.bluetooth.soc=cherokee
+
ifeq ($(strip $(BOARD_HAVE_QCOM_FM)),true)
PRODUCT_BOOT_JARS += qcom.fmradio
endif #BOARD_HAVE_QCOM_FM
+DEVICE_MANIFEST_FILE := device/qcom/msm8998/manifest.xml
+DEVICE_MATRIX_FILE := device/qcom/common/compatibility_matrix.xml
+
# Audio configuration file
-include $(TOPDIR)hardware/qcom/audio/configs/msm8998/msm8998.mk
-PRODUCT_PACKAGE_OVERLAYS := $(QCPATH)/qrdplus/Extension/res \
- $(QCPATH)/qrdplus/globalization/multi-language/res-overlay \
- $(PRODUCT_PACKAGE_OVERLAYS)
+PRODUCT_PACKAGES += [email protected]
-# Sensor HAL conf file
-PRODUCT_COPY_FILES += \
- device/qcom/msm8998/sensors/hals.conf:system/etc/sensors/hals.conf
+#PRODUCT_PACKAGE_OVERLAYS := $(QCPATH)/qrdplus/Extension/res \
+# $(PRODUCT_PACKAGE_OVERLAYS)
-# Exclude TOF sensor from InputManager
+# Sensor HAL conf file
PRODUCT_COPY_FILES += \
- device/qcom/msm8998/excluded-input-devices.xml:system/etc/excluded-input-devices.xml
+ device/qcom/msm8998/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# WLAN host driver
ifneq ($(WLAN_CHIPSET),)
@@ -83,11 +138,12 @@
# WLAN driver configuration file
PRODUCT_COPY_FILES += \
- device/qcom/msm8998/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini \
- device/qcom/msm8998/wifi_concurrency_cfg.txt:system/etc/wifi/wifi_concurrency_cfg.txt
+ device/qcom/msm8998/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \
+ device/qcom/msm8998/wifi_concurrency_cfg.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wifi_concurrency_cfg.txt
# MIDI feature
-PRODUCT_COPY_FILES += frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
PRODUCT_PACKAGES += \
wpa_supplicant_overlay.conf \
@@ -100,35 +156,68 @@
antradio_app \
libvolumelistener
+# Display/Graphics
+PRODUCT_PACKAGES += \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected]
+
+PRODUCT_PACKAGES += \
+ [email protected] \
+ [email protected]
+
+# Vibrator
+PRODUCT_PACKAGES += \
+ [email protected] \
+ [email protected] \
+
+# Camera configuration file. Shared by passthrough/binderized camera HAL
+PRODUCT_PACKAGES += [email protected]
+PRODUCT_PACKAGES += [email protected]
+PRODUCT_PACKAGES += [email protected]
+# Enable binderized camera HAL
+PRODUCT_PACKAGES += [email protected]
# Sensor features
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
- frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
- frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
- frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
- frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
- frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \
- frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
- frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
- frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:system/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
- frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:system/etc/permissions/android.hardware.sensor.relative_humidity.xml \
- frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml
+ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
+ frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
+ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
+ frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
+ frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
+ frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
+ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
+ frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
+ frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \
+ frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml
+
+PRODUCT_PACKAGES += libsensor1_system
+PRODUCT_PACKAGES += libsensor_reg_system
+PRODUCT_PACKAGES += libqmi_cci_system
+PRODUCT_PACKAGES += libdiag_system
# High performance VR feature
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.vr.high_performance.xml:system/etc/permissions/android.hardware.vr.high_performance.xml
+ frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml
# FBE support
PRODUCT_COPY_FILES += \
- device/qcom/msm8998/init.qti.qseecomd.sh:system/bin/init.qti.qseecomd.sh
+ device/qcom/msm8998/init.qti.qseecomd.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.qseecomd.sh
# MSM IRQ Balancer configuration file
-PRODUCT_COPY_FILES += device/qcom/msm8998/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf
+PRODUCT_COPY_FILES += device/qcom/msm8998/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
# Powerhint configuration file
-PRODUCT_COPY_FILES += \
-device/qcom/msm8998/powerhint_soc_id_292.xml:system/etc/powerhint_soc_id_292.xml
+PRODUCT_COPY_FILES += device/qcom/msm8998/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
#for android_filesystem_config.h
PRODUCT_PACKAGES += \
@@ -137,18 +226,69 @@
# dm-verity configuration
PRODUCT_SUPPORTS_VERITY := true
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
+ifeq ($(ENABLE_VENDOR_IMAGE), true)
+PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/bootdevice/by-name/vendor
+endif
+
+PRODUCT_FULL_TREBLE_OVERRIDE := true
+
+PRODUCT_VENDOR_MOVE_ENABLED := true
# List of AAPT configurations
PRODUCT_AAPT_CONFIG += xlarge large
+
+#for wlan
+PRODUCT_PACKAGES += \
+ wificond \
+ wifilogd
+
+ifeq ($(ENABLE_AB), true)
#A/B related packages
PRODUCT_PACKAGES += update_engine \
update_engine_client \
update_verifier \
bootctrl.msm8998 \
- brillo_update_payload
+ brillo_update_payload \
+ [email protected] \
+ [email protected]
+
#Boot control HAL test app
PRODUCT_PACKAGES_DEBUG += bootctl
+endif
+
+
+#Healthd packages
+PRODUCT_PACKAGES += [email protected] \
+ [email protected] \
+ [email protected] \
+ libhealthd.msm
#FEATURE_OPENGLES_EXTENSION_PACK support string config file
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml
+ frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml
+
+#Enable QTI KEYMASTER and GATEKEEPER HIDLs
+ifeq ($(ENABLE_VENDOR_IMAGE), true)
+KMGK_USE_QTI_SERVICE := true
+endif
+
+#Enable AOSP KEYMASTER and GATEKEEPER HIDLs
+ifneq ($(KMGK_USE_QTI_SERVICE), true)
+PRODUCT_PACKAGES += [email protected] \
+ [email protected] \
+ [email protected] \
+ [email protected]
+endif
+
+PRODUCT_PROPERTY_OVERRIDES += rild.libpath=/system/vendor/lib64/libril-qc-qmi-1.so
+
+# Kernel modules install path
+# Change to dlkm when dlkm feature is fully enabled
+KERNEL_MODULES_INSTALL := system
+KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
+#VR
+PRODUCT_PACKAGES += [email protected] \
+ [email protected]
+#Thermal
+PRODUCT_PACKAGES += [email protected] \
+ [email protected]
diff -bur unified_n/overlay/frameworks/base/core/res/res/values/config.xml unified_o/overlay/frameworks/base/core/res/res/values/config.xml
--- unified_n/overlay/frameworks/base/core/res/res/values/config.xml 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/overlay/frameworks/base/core/res/res/values/config.xml 2017-08-30 14:53:05.867414786 +0530
@@ -28,91 +28,14 @@
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
-->
<resources>
- <!-- Whether cpu boost is enabled for application's 1st launch. -->
- <bool name="config_enableCpuBoostForAppLaunch">true</bool>
- <integer name="launchboost_timeout_param">2000</integer>
- <integer-array name="launchboost_param_value">
- <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
- <item>0x1</item> <!-- SCHEDBOOST resource value-->
- <item>0x40804000</item> <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode-->
- <item>0x939</item> <!-- CPUBOOST MAX_FREQ resource value-->
- <item>0x40804100</item> <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode-->
- <item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value-->
- <item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode-->
- <item>0xFFF</item> <!-- CPUBOOST MIN_FREQ resource value-->
- <item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode-->
- <item>0xFFF</item> <!-- CPUBOOST MIN_FREQ resource value-->
- <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
- <item>140</item> <!-- CPUBW_MIN_FREQ resource value-->
- <item>0x40400000</item> <!-- POWER COLLAPSE resource opcode-->
- <item>0x1</item> <!-- POWER COLLAPSE resource value-->
- <item>0x42C10000</item> <!-- STORAGE CLK SCALING resource opcode-->
- <item>0x1</item> <!-- STORAGE CLK SCALING resource value-->
- </integer-array>
- <bool name="config_enableLaunchBoostv2">true</bool>
- <integer name="lboostv2_timeout_param">15000</integer>
- <integer-array name="lboostv2_param_value">
- <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
- <item>0x3</item> <!-- SCHEDBOOST resource value-->
- <item>0x40C58000</item> <!-- SCHED GROUP DOWNMIGRATE resource opcode -->
- <item>0x5A</item> <!-- SCHED GROUP DOWNMIGRATE resource value -->
- <item>0x40C54000</item> <!-- SCHED GROUP UPMIGRATE resource opcode -->
- <item>0x5F</item> <!-- SCHED GROUP UPMIGRATE resource value -->
- </integer-array>
-
- <!-- Whether cpu boost is enabled for pre-fling. -->
- <bool name="config_enableCpuBoostForPreFling">true</bool>
- <integer name="preflingboost_timeout_param">80</integer>
- <integer-array name="preflingboost_param_value">
- <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
- <item>0x33</item> <!-- CPUBW_MIN_FREQ resource value-->
- <item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode -->
- <item>1000</item> <!-- CPUBOOST MIN_FREQ resource value -->
- <item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode -->
- <item>1000</item> <!-- CPUBOOST MIN_FREQ resource value -->
- <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
- <item>0x2</item> <!-- SCHEDBOOST resource value-->
- </integer-array>
-
- <bool name="config_enableCpuBoostForOverScrollerFling">true</bool>
- <integer-array name="flingboost_param_value">
- <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
- <item>0x33</item> <!-- CPUBW_MIN_FREQ resource value-->
- <item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode -->
- <item>1000</item> <!-- CPUBOOST MIN_FREQ resource value -->
- <item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode -->
- <item>1000</item> <!-- CPUBOOST MIN_FREQ resource value -->
- <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
- <item>0x2</item> <!-- SCHEDBOOST resource value-->
- </integer-array>
-
<!-- Operating volatage for bluetooth controller. 0 by default-->
<integer translatable="false" name="config_bluetooth_operating_voltage_mv">3300</integer>
- <bool name="config_enableCpuBoostForScroller">true</bool>
- <integer-array name="scrollboost_param_value">
- <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
- <item>0x2</item> <!-- SCHEDBOOST resource value-->
- </integer-array>
-
- <bool name="config_debugBoost">true</bool>
- <!-- Activities list for custom boosts -->
- <string-array translatable="false" name="debugBoost_activityList">
- <item>com.android.gallery3d</item>
- <item>com.android.music</item>
- <item>com.android.contacts</item>
- <item>com.android.chrome</item>
- <item>com.google.android.gm</item>
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wigig0"</item>
+ <item>"softap0"</item>
</string-array>
- <!-- Params for custom debug boost -->
- <integer name="debugBoost_timeout">150</integer>
- <integer-array name="debugBoost_param_value">
- <item>0x40800100</item> <!-- SCALING_MIN_FREQ little cluster resource opcode-->
- <item>0x4A6</item> <!-- SCALING_MIN_FREQ of 1190 MHz for little cluster resource value-->
- <item>0x40800000</item> <!-- SCALING_MIN_FREQ big cluster resource opcode -->
- <item>0x4A6</item> <!-- SCALING_MIN_FREQ of 1190 MHz big cluster resource value -->
- </integer-array>
-
- <!-- Device supports Sustained Performance Mode-->
- <bool name="config_sustainedPerformanceModeSupported">true</bool>
</resources>
Only in unified_n/overlay/packages/apps: Dialer
diff -bur unified_n/p2p_supplicant_overlay.conf unified_o/p2p_supplicant_overlay.conf
--- unified_n/p2p_supplicant_overlay.conf 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/p2p_supplicant_overlay.conf 2017-08-30 14:53:05.867414786 +0530
@@ -1,2 +1,3 @@
disable_scan_offload=1
p2p_no_group_iface=1
+persistent_reconnect=1
diff -bur unified_n/power/Android.mk unified_o/power/Android.mk
--- unified_n/power/Android.mk 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/power/Android.mk 2017-08-30 14:59:55.474875953 +0530
@@ -49,7 +49,7 @@
LOCAL_SRC_FILES += power-8953.c
endif
-ifeq ($(call is-board-platform-in-list,msm8998), true)
+ifeq ($(call is-board-platform-in-list,msm8998 apq8098_latv), true)
LOCAL_SRC_FILES += power-8998.c
endif
@@ -57,6 +57,9 @@
LOCAL_SRC_FILES += power-660.c
endif
+ifeq ($(call is-board-platform-in-list,sdm845), true)
+LOCAL_SRC_FILES += power-845.c
+endif
ifeq ($(TARGET_USES_INTERACTION_BOOST),true)
LOCAL_CFLAGS += -DINTERACTION_BOOST
@@ -65,29 +68,7 @@
LOCAL_MODULE := power.qcom
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS := -Wno-unused-parameter -Wno-unused-variable
-include $(BUILD_SHARED_LIBRARY)
-
-
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := powerhintparser.c
-
-LOCAL_MODULE := powerhint.qti
-
-
-LOCAL_SHARED_LIBRARIES := liblog libcutils libdl libxml2
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_C_INCLUDES := external/libxml2/include \
- external/icu/icu4c/source/common
-
-
-LOCAL_CFLAGS := -Wno-unused-parameter -Wno-unused-variable
-
-LOCAL_MODULE_RELATIVE_PATH := hw
-
+LOCAL_VENDOR_MODULE := true
include $(BUILD_SHARED_LIBRARY)
endif
diff -bur unified_n/power/hint-data.h unified_o/power/hint-data.h
--- unified_n/power/hint-data.h 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/power/hint-data.h 2017-08-30 14:59:55.474875953 +0530
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012, 2013, 2015, 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
@@ -37,6 +37,21 @@
#define VR_MODE_HINT_ID (0x1000)
#define VR_MODE_SUSTAINED_PERF_HINT_ID (0x1001)
+#define AOSP_DELTA (0x1200)
+
+#define VSYNC_HINT AOSP_DELTA + POWER_HINT_VSYNC
+#define INTERACTION_HINT AOSP_DELTA + POWER_HINT_INTERACTION
+#define VIDEO_DECODE_HINT AOSP_DELTA + POWER_HINT_VIDEO_DECODE
+#define VIDEO_ENCODE_HINT AOSP_DELTA + POWER_HINT_VIDEO_ENCODE
+#define LOW_POWER_HINT AOSP_DELTA + POWER_HINT_LOW_POWER
+#define SUSTAINED_PERF_HINT AOSP_DELTA + POWER_HINT_SUSTAINED_PERFORMANCE
+#define VR_MODE_HINT AOSP_DELTA + POWER_HINT_VR_MODE
+#define LAUNCH_HINT AOSP_DELTA + POWER_HINT_LAUNCH
+#define DISABLE_TOUCH_HINT AOSP_DELTA + POWER_HINT_DISABLE_TOUCH
+
+#define VR_MODE_SUSTAINED_PERF_HINT (0x1301)
+
+
struct hint_data {
unsigned long hint_id; /* This is our key. */
unsigned long perflock_handle;
diff -bur unified_n/power/performance.h unified_o/power/performance.h
--- unified_n/power/performance.h 2017-08-30 15:08:58.153652091 +0530
+++ unified_o/power/performance.h 2017-08-30 14:59:55.474875953 +0530
@@ -35,6 +35,12 @@
#define SUCCESS 0
#define INDEFINITE_DURATION 0
+/* Hints sent to perf HAL from power HAL
+ * These have to be kept in sync with Perf HAL side definitions
+ */
+#define VENDOR_HINT_DISPLAY_OFF 0x00001086
+#define VENDOR_HINT_DISPLAY_ON 0x00001087
+
enum SCREEN_DISPLAY_TYPE {
DISPLAY_OFF = 0x00FF,
};
diff -bur unified_n/power/power-660.c unified_o/power/power-660.c
--- unified_n/power/power-660.c 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/power-660.c 2017-08-30 14:59:55.474875953 +0530
@@ -228,7 +228,8 @@
- hispeed freq for big - 1113Mhz
- go hispeed load for big - 95
- above_hispeed_delay for big - 40ms
- - target loads - 90
+ - target loads - 95
+ - nr_run - 5
2. BusDCVS V2 params
- Sample_ms of 10ms
*/
@@ -236,8 +237,9 @@
int res[] = { 0x41414000, 0x459,
0x41410000, 0x5F,
0x41400000, 0x4,
- 0x41420000, 0x5A,
- 0x41820000, 0xA};;
+ 0x41420000, 0x5F,
+ 0x40C2C000, 0X5,
+ 0x41820000, 0xA};
memcpy(resource_values, res, MIN_VAL(sizeof(resource_values), sizeof(res)));
num_resources = sizeof(res)/sizeof(res[0]);
Only in unified_o/power: power-845.c
diff -bur unified_n/power/power-8998.c unified_o/power/power-8998.c
--- unified_n/power/power-8998.c 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/power-8998.c 2017-08-30 14:59:55.474875953 +0530
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-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
@@ -47,7 +47,6 @@
#include "performance.h"
#include "power-common.h"
#include "powerhintparser.h"
-#include "qti_power.h"
#define CHECK_HANDLE(x) ((x)>0)
#define NUM_PERF_MODES 3
@@ -65,9 +64,9 @@
int perf_hint_id;
}perf_mode_t;
-perf_mode_t perf_modes[NUM_PERF_MODES] = { { SUSTAINED_MODE, POWER_HINT_SUSTAINED_PERFORMANCE },
- { VR_MODE, POWER_HINT_VR_MODE },
- { VR_SUSTAINED_MODE, POWER_HINT_QTI_VR_SUSTAINED_PERFORMANCE } };
+perf_mode_t perf_modes[NUM_PERF_MODES] = { { SUSTAINED_MODE, SUSTAINED_PERF_HINT },
+ { VR_MODE, VR_MODE_HINT },
+ { VR_SUSTAINED_MODE, VR_MODE_SUSTAINED_PERF_HINT } };
static pthread_mutex_t perf_mode_switch_lock = PTHREAD_MUTEX_INITIALIZER;
static int current_mode = NORMAL_MODE;
@@ -98,10 +97,9 @@
// switch to a perf mode
hint_id = get_perfd_hint_id(mode);
if(hint_id != 0) {
- perfd_mode_handle = interaction_with_handle_HL(perfd_mode_handle, 0,
- hint_id);
+ perfd_mode_handle = perf_hint_enable(hint_id, 0);
if (!CHECK_HANDLE(perfd_mode_handle)) {
- ALOGE("Failed interaction_with_handle_HL for mode: 0x%x", mode);
+ ALOGE("Failed perf_hint_interaction for mode: 0x%x", mode);
return -1;
}
ALOGD("Acquired handle 0x%x", perfd_mode_handle);
@@ -157,8 +155,7 @@
{
char governor[80];
struct video_encode_metadata_t video_encode_metadata;
-
- ALOGE("Process Video encode Hint\n");
+ static int video_encode_handle = 0;
if(!metadata)
return HINT_NONE;
@@ -172,7 +169,6 @@
/* Initialize encode metadata struct fields */
memset(&video_encode_metadata, 0, sizeof(struct video_encode_metadata_t));
video_encode_metadata.state = -1;
- video_encode_metadata.hint_id = POWER_HINT_VIDEO_ENCODE;
if (parse_video_encode_metadata((char *)metadata, &video_encode_metadata) ==
-1) {
@@ -180,22 +176,15 @@
return HINT_NONE;
}
- ALOGE("VIDEO ENCODE: Metadata state: %d, hint_id: %d",video_encode_metadata.state, video_encode_metadata.hint_id);
-
if (video_encode_metadata.state == 1) {
if (is_interactive_governor(governor)) {
-
- int *resource_values;
- int resources;
-
- /* extract perflock resources */
- perform_hint_action_HL(video_encode_metadata.hint_id);
- ALOGI("Video Encode hint start");
+ video_encode_handle = perf_hint_enable(
+ VIDEO_ENCODE_HINT, 0);
return HINT_HANDLED;
}
} else if (video_encode_metadata.state == 0) {
if (is_interactive_governor(governor)) {
- undo_hint_action(video_encode_metadata.hint_id);
+ release_request(video_encode_handle);
ALOGI("Video Encode hint stop");
return HINT_HANDLED;
}
diff -bur unified_n/power/power.c unified_o/power/power.c
--- unified_n/power/power.c 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/power.c 2017-08-30 14:59:55.478875894 +0530
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-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
@@ -57,8 +57,11 @@
static int display_hint_sent;
int display_boost;
+static int power_device_open(const hw_module_t* module, const char* name,
+ hw_device_t** device);
+
static struct hw_module_methods_t power_module_methods = {
- .open = NULL,
+ .open = power_device_open,
};
static void power_init(struct power_module *module)
@@ -244,6 +247,14 @@
struct video_encode_metadata_t video_encode_metadata;
int rc = 0;
+ if (!on) {
+ /* Send Display OFF hint to perf HAL */
+ perf_hint_enable(VENDOR_HINT_DISPLAY_OFF, 0);
+ } else {
+ /* Send Display ON hint to perf HAL */
+ perf_hint_enable(VENDOR_HINT_DISPLAY_ON, 0);
+ }
+
if (set_interactive_override(module, on) == HINT_HANDLED) {
return;
}
@@ -442,6 +453,44 @@
saved_interactive_mode = !!on;
}
+static int power_device_open(const hw_module_t* module, const char* name,
+ hw_device_t** device)
+{
+ int status = -EINVAL;
+ if (module && name && device) {
+ if (!strcmp(name, POWER_HARDWARE_MODULE_ID)) {
+ power_module_t *dev = (power_module_t *)malloc(sizeof(*dev));
+
+ if(dev) {
+ memset(dev, 0, sizeof(*dev));
+
+ if(dev) {
+ /* initialize the fields */
+ dev->common.module_api_version = POWER_MODULE_API_VERSION_0_2;
+ dev->common.tag = HARDWARE_DEVICE_TAG;
+ dev->init = power_init;
+ dev->powerHint = power_hint;
+ dev->setInteractive = set_interactive;
+ /* At the moment we support 0.2 APIs */
+ dev->setFeature = NULL,
+ dev->get_number_of_platform_modes = NULL,
+ dev->get_platform_low_power_stats = NULL,
+ dev->get_voter_list = NULL,
+ *device = (hw_device_t*)dev;
+ status = 0;
+ } else {
+ status = -ENOMEM;
+ }
+ }
+ else {
+ status = -ENOMEM;
+ }
+ }
+ }
+
+ return status;
+}
+
struct power_module HAL_MODULE_INFO_SYM = {
.common = {
.tag = HARDWARE_MODULE_TAG,
diff -bur unified_n/power/powerhintparser.c unified_o/power/powerhintparser.c
--- unified_n/power/powerhintparser.c 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/powerhintparser.c 2017-08-30 14:59:55.478875894 +0530
@@ -33,8 +33,7 @@
#include <libxml/parser.h>
#include <libxml/tree.h>
#include "powerhintparser.h"
-#define LOG_TAG "QTI PowerHintParser"
-
+#define LOG_TAG "QCOM PowerHAL"
int parsePowerhintXML() {
@@ -44,28 +43,12 @@
int opcode = 0, value = 0, type = 0;
int numParams = 0;
static int hintCount;
- int fd;
- char buf[10] = {0};
- char path[39];
-
- /* powerhint.xml is soc_id specific */
- fd = open("/sys/devices/soc0/soc_id", O_RDONLY);
- if (fd >= 0) {
- if (read(fd, buf, sizeof(buf) - 1) == -1) {
- ALOGW("Unable to read soc_id");
- } else {
- int soc_id = atoi(buf);
- snprintf(path, MAX_LIB_PATH,"/system/etc/powerhint_soc_id_%d.xml",
- soc_id);
- }
- close(fd);
- }
- if(access(path, F_OK) < 0) {
+ if(access(POWERHINT_XML, F_OK) < 0) {
return -1;
}
- doc = xmlReadFile(path, "UTF-8", XML_PARSE_RECOVER);
+ doc = xmlReadFile(POWERHINT_XML, "UTF-8", XML_PARSE_RECOVER);
if(!doc) {
ALOGE("Document not parsed successfully");
return -1;
@@ -111,7 +94,7 @@
xmlCleanupParser();
return -1;
}
- type = strtoul(type_str, NULL, 16);
+ type = strtol(type_str, NULL, 16);
}
node = node->children;
@@ -188,6 +171,8 @@
}
}
- ALOGI("Returning resource list with %d total resources\n",*params);
+ /*for (int j = 0; j < *params; j++)
+ ALOGI("Powerhal resource again%x = \n", result[j]);*/
+
return result;
}
diff -bur unified_n/power/powerhintparser.h unified_o/power/powerhintparser.h
--- unified_n/power/powerhintparser.h 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/powerhintparser.h 2017-08-30 14:59:55.478875894 +0530
@@ -30,9 +30,8 @@
#ifndef __POWERHINTPARSER__
#define __POWERHINTPARSER__
-#define POWERHINT_XML "/system/etc/powerhint.xml"
-#define MAX_LIB_PATH 39
-#define MAX_HINT 30
+#define POWERHINT_XML "/vendor/etc/powerhint.xml"
+#define MAX_HINT 6
#define MAX_PARAM 30
typedef struct perflock_param_t {
Only in unified_n/power: qti_power.h
diff -bur unified_n/power/utils.c unified_o/power/utils.c
--- unified_n/power/utils.c 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/utils.c 2017-08-30 14:59:55.478875894 +0530
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2013,2015-2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2013,2015-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
@@ -40,7 +40,6 @@
#include "power-common.h"
#define LOG_TAG "QCOM PowerHAL"
-
#include <utils/Log.h>
char scaling_gov_path[4][80] ={
@@ -50,28 +49,25 @@
"sys/devices/system/cpu/cpu3/cpufreq/scaling_governor"
};
+#define PERF_HAL_PATH "libqti-perfd-client.so"
static void *qcopt_handle;
static int (*perf_lock_acq)(unsigned long handle, int duration,
int list[], int numArgs);
-static int (*perf_lock_acq_hl)(unsigned long handle, int duration, int hint_id);
static int (*perf_lock_rel)(unsigned long handle);
+static int (*perf_hint)(int, char *, int, int);
static struct list_node active_hint_list_head;
static void *get_qcopt_handle()
{
- char qcopt_lib_path[PATH_MAX] = {0};
void *handle = NULL;
dlerror();
- if (property_get("ro.vendor.extension_library", qcopt_lib_path,
- NULL)) {
- handle = dlopen(qcopt_lib_path, RTLD_NOW);
+ handle = dlopen(PERF_HAL_PATH, RTLD_NOW);
if (!handle) {
- ALOGE("Unable to open %s: %s\n", qcopt_lib_path,
+ ALOGE("Unable to open %s: %s\n", PERF_HAL_PATH,
dlerror());
}
- }
return handle;
}
@@ -93,16 +89,17 @@
ALOGE("Unable to get perf_lock_acq function handle.\n");
}
- perf_lock_acq_hl = dlsym(qcopt_handle, "perf_lock_acq_hl");
-
- if (!perf_lock_acq_hl) {
- ALOGE("Unable to get perf_lock_acq_hl function handle.\n");
- }
perf_lock_rel = dlsym(qcopt_handle, "perf_lock_rel");
if (!perf_lock_rel) {
ALOGE("Unable to get perf_lock_rel function handle.\n");
}
+
+ perf_hint = dlsym(qcopt_handle, "perf_hint");
+
+ if (!perf_hint) {
+ ALOGE("Unable to get perf_hint function handle.\n");
+ }
}
}
@@ -243,44 +240,19 @@
}
return lock_handle;
}
-/* _HL versions of these functions are created to help transition to
- * having perfd do the translation from hint_id to resource list. They use
- * perf_lock_acq_hl instead of perf_lock_acq
- */
-
-void interaction_HL(int duration, int hint_id)
+//this is interaction_with_handle using perf_hint instead of
+//perf_lock_acq
+int perf_hint_enable(int hint_id , int duration)
{
-#ifdef INTERACTION_BOOST
- static int lock_handle = 0;
-
- if (duration < 0 )
- return;
-
- if (qcopt_handle) {
- if (perf_lock_acq_hl) {
- lock_handle = perf_lock_acq_hl(lock_handle, duration, hint_id);
- if (lock_handle == -1)
- ALOGE("Failed to acquire lock.");
- }
- }
-#endif
-}
-
-int interaction_with_handle_HL(int lock_handle, int duration, int hint_id)
-{
-
-#if ADEBUG
- ALOGE("Interaction with handle HL\n");
-#endif
-
+ int lock_handle = 0;
if (duration < 0)
return 0;
if (qcopt_handle) {
- if (perf_lock_acq_hl) {
- lock_handle = perf_lock_acq_hl(lock_handle, duration, hint_id);
+ if (perf_hint) {
+ lock_handle = perf_hint(hint_id, NULL, duration, -1);
if (lock_handle == -1)
ALOGE("Failed to acquire lock.");
}
@@ -304,59 +276,6 @@
if (lock_handle == -1) {
ALOGE("Failed to acquire lock.");
- } else {
- /* Add this handle to our internal hint-list. */
- struct hint_data *new_hint =
- (struct hint_data *)malloc(sizeof(struct hint_data));
-
- if (new_hint) {
- if (!active_hint_list_head.compare) {
- active_hint_list_head.compare =
- (int (*)(void *, void *))hint_compare;
- active_hint_list_head.dump = (void (*)(void *))hint_dump;
- }
-
- new_hint->hint_id = hint_id;
- new_hint->perflock_handle = lock_handle;
-
- if (add_list_node(&active_hint_list_head, new_hint) == NULL) {
- free(new_hint);
- /* Can't keep track of this lock. Release it. */
- if (perf_lock_rel)
- perf_lock_rel(lock_handle);
-
- ALOGE("Failed to process hint.");
- }
- } else {
- /* Can't keep track of this lock. Release it. */
- if (perf_lock_rel)
- perf_lock_rel(lock_handle);
-
- ALOGE("Failed to process hint.");
- }
- }
- }
- }
-}
-
-/* _HL versions of this functions are created to help transition to
- * having perfd do the translation from hint_id to resource list, it uses
- * perf_lock_acq_hl instead of perf_lock_acq
- */
-void perform_hint_action_HL(int hint_id)
-{
-
-#if ADEBUG
- ALOGE("perform hint action HL\n");
-#endif
-
- if (qcopt_handle) {
- if (perf_lock_acq_hl) {
- /* Acquire an indefinite lock for the requested resources. */
- int lock_handle = perf_lock_acq_hl(0, 0, hint_id);
-
- if (lock_handle == -1) {
- ALOGE("Failed to acquire lock.");
} else {
/* Add this handle to our internal hint-list. */
struct hint_data *new_hint =
diff -bur unified_n/power/utils.h unified_o/power/utils.h
--- unified_n/power/utils.h 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/power/utils.h 2017-08-30 14:59:55.478875894 +0530
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2013,2015-2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2013,2015-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
@@ -44,12 +44,4 @@
void undo_hint_action(int hint_id);
void release_request(int lock_handle);
int interaction_with_handle(int lock_handle, int duration, int num_args, int opt_list[]);
-
-
-void perform_hint_action_HL(int hint_id);
-
-
-int interaction_with_handle_HL(int lock_handle, int duration, int hint_id);
-
-
-void interaction_HL(int duration, int hint_id);
+int perf_hint_enable(int hint_id, int duration);
Only in unified_n: powerhint_soc_id_292.xml
Only in unified_o: powerhint.xml
diff -bur unified_n/product/overlay/frameworks/base/core/res/res/values/config.xml unified_o/product/overlay/frameworks/base/core/res/res/values/config.xml
--- unified_n/product/overlay/frameworks/base/core/res/res/values/config.xml 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/product/overlay/frameworks/base/core/res/res/values/config.xml 2017-08-30 14:59:55.478875894 +0530
@@ -37,12 +37,12 @@
<bool name="config_enableFusedLocationOverlay" translatable="false">false</bool>
<string name="config_networkLocationProviderPackageName" translatable="false">com.qualcomm.location</string>
<string name="config_fusedLocationProviderPackageName" translatable="false">com.qualcomm.location</string>
- <bool name="config_allowAllRotations">true</bool>
<!-- Enable doze mode -->
<string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
<bool name="config_dozeAfterScreenOff">true</bool>
<!-- Screen brightness when dozing. -->
<integer name="config_screenBrightnessDoze">17</integer>
<bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
+ <bool name="config_setColorTransformAccelerated">true</bool>
</resources>
diff -bur unified_n/product/overlay/packages/apps/Bluetooth/res/values/config.xml unified_o/product/overlay/packages/apps/Bluetooth/res/values/config.xml
--- unified_n/product/overlay/packages/apps/Bluetooth/res/values/config.xml 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/product/overlay/packages/apps/Bluetooth/res/values/config.xml 2017-08-30 14:59:55.478875894 +0530
@@ -30,8 +30,8 @@
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<resources>
- <bool name="profile_supported_hfpclient">true</bool>
- <bool name="profile_supported_avrcp_controller">true</bool>
- <bool name="profile_supported_a2dp_sink">true</bool>
+ <bool name="profile_supported_hfpclient">false</bool>
+ <bool name="profile_supported_avrcp_controller">false</bool>
+ <bool name="profile_supported_a2dp_sink">false</bool>
<bool name="profile_supported_sap">true</bool>
</resources>
Only in unified_o: qti_whitelist.xml
diff -bur unified_n/recovery/oem-recovery/Android.mk unified_o/recovery/oem-recovery/Android.mk
--- unified_n/recovery/oem-recovery/Android.mk 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/recovery/oem-recovery/Android.mk 2017-08-30 14:59:55.478875894 +0530
@@ -27,5 +27,6 @@
LOCAL_MODULE := librecovery_updater_msm
LOCAL_COPY_HEADERS_TO := gpt-utils/inc
LOCAL_COPY_HEADERS := gpt-utils.h
+LOCAL_VENDOR_MODULE := true
include $(BUILD_SHARED_LIBRARY)
endif
diff -bur unified_n/recovery/oem-recovery/gpt-utils.cpp unified_o/recovery/oem-recovery/gpt-utils.cpp
--- unified_n/recovery/oem-recovery/gpt-utils.cpp 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/recovery/oem-recovery/gpt-utils.cpp 2017-08-30 14:59:55.478875894 +0530
@@ -1157,7 +1157,7 @@
enum gpt_instance instance)
{
uint32_t block_size = 0;
- off_t gpt_header_offset = 0;
+ off64_t gpt_header_offset = 0;
if (!gpt_header || fd < 0) {
ALOGE("%s: Invalid arguments",
__func__);
diff -bur unified_n/recovery/oem-recovery/gpt-utils.h unified_o/recovery/oem-recovery/gpt-utils.h
--- unified_n/recovery/oem-recovery/gpt-utils.h 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/recovery/oem-recovery/gpt-utils.h 2017-08-30 14:59:55.478875894 +0530
@@ -79,8 +79,9 @@
#define AB_SLOT_A_SUFFIX "_a"
#define AB_SLOT_B_SUFFIX "_b"
#define PTN_XBL "xbl"
-#define PTN_SWAP_LIST PTN_XBL, "sbl1", "rpm", "tz", "aboot", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "abl", "mdtpsecapp", "mdtp"
-#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "system", "vendor", "modem", "bluetooth", "dsp"
+#define PTN_XBL_CFG "xbl_config"
+#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo"
+#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "system", "vendor", "modem", "bluetooth"
#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name"
/******************************************************************************
diff -bur unified_n/recovery/oem-recovery/oem-updater.cpp unified_o/recovery/oem-recovery/oem-updater.cpp
--- unified_n/recovery/oem-recovery/oem-updater.cpp 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/recovery/oem-recovery/oem-updater.cpp 2017-08-30 14:59:55.478875894 +0530
@@ -34,49 +34,49 @@
#include "dec.h"
#include "gpt-utils.h"
-Value* DecryptFn(const char* name, State* state, int argc, Expr* argv[]) {
+Value* DecryptFn(const char* name, State* state, const std::vector<std::unique_ptr<Expr>>& argv) {
int rc = -1;
- char *src_file, *dst_file;
- if (argc != 2)
- return ErrorAbort(state, "%s expects 2 args, got %d", name, argc);
+ if (argv.size() != 2)
+ return ErrorAbort(state,kArgsParsingFailure, "%s() expects 2 arg, got %zu", name, argv.size());
- if (ReadArgs(state, argv, 2, &src_file, &dst_file))
+ std::vector<std::string> args;
+ if (!ReadArgs(state, argv, &args))
return NULL;
- rc = decrypt_image(src_file, dst_file);
+ const std::string& src_file = args[0];
+ const std::string& dst_file = args[1];
- free(src_file);
- free(dst_file);
+ rc = decrypt_image(src_file.c_str(), dst_file.c_str());
return StringValue(strdup(rc >= 0 ? "t" : ""));
}
-Value* BootUpdateFn(const char* name, State* state, int argc, Expr* argv[])
+Value* BootUpdateFn(const char* name, State* state, const std::vector<std::unique_ptr<Expr>>& argv)
{
int rc = 0;
- char *stageStr;
enum boot_update_stage stage;
- if (argc != 1)
- return ErrorAbort(state, "%s() expects 1 args, got %d", name, argc);
+ if (argv.size() != 1)
+ return ErrorAbort(state,kArgsParsingFailure, "%s() expects 1 arg, got %zu", name, argv.size());
- if (ReadArgs(state, argv, 1, &stageStr))
+ std::vector<std::string> args;
+ if (!ReadArgs(state, argv, &args))
return NULL;
- if (!strcmp(stageStr, "main"))
+ const std::string& stageStr = args[0];
+
+ if (!strcmp(stageStr.c_str(), "main"))
stage = UPDATE_MAIN;
- else if (!strcmp(stageStr, "backup"))
+ else if (!strcmp(stageStr.c_str(), "backup"))
stage = UPDATE_BACKUP;
- else if (!strcmp(stageStr, "finalize"))
+ else if (!strcmp(stageStr.c_str(), "finalize"))
stage = UPDATE_FINALIZE;
else {
fprintf(stderr, "Unrecognized boot update stage, exitting\n");
rc = -1;
}
- free(stageStr);
-
if (!rc)
rc = prepare_boot_update(stage);
Only in unified_o: recovery_AB_non-split_variant.fstab
Only in unified_o: recovery_AB_split_variant.fstab
Only in unified_n: recovery.fstab
Only in unified_o: recovery_non-AB_non-split_variant.fstab
Only in unified_o: recovery_non-AB_split_variant.fstab
diff -bur unified_n/rootdir/Android.mk unified_o/rootdir/Android.mk
--- unified_n/rootdir/Android.mk 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/Android.mk 2017-08-30 14:59:55.478875894 +0530
@@ -8,7 +8,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.early_boot.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -16,6 +16,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.post_boot.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -23,27 +24,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qti.ims.sh
-include $(BUILD_PREBUILT)
-
-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 := hsic.control.bt.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/hsic.control.bt.sh
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := init.ath3k.bt.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/init.ath3k.bt.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -51,6 +32,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.efs.sync.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -58,13 +40,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.coex.sh
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := init.qcom.fm.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/init.qcom.fm.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -72,6 +48,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.sdio.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -79,6 +56,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.wifi.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -86,6 +64,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.crda.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -93,7 +72,15 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.rc
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := init.recovery.qcom.rc
+LOCAL_MODULE_TAGS := optional eng
+LOCAL_MODULE_CLASS := ETC
+LOCAL_SRC_FILES := etc/init.recovery.qcom.rc
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -101,7 +88,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.factory.rc
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -109,7 +96,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -117,7 +104,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.class_core.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -125,7 +112,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.class_main.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -133,7 +120,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.usb.rc
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -141,7 +128,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.msm.usb.configfs.rc
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -149,15 +136,16 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.usb.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := ueventd.qcom.rc
+LOCAL_MODULE_STEM := ueventd.rc
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/ueventd.qcom.rc
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -165,14 +153,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.syspart_fixup.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := init.qcom.audio.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/init.qcom.audio.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -180,13 +161,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/qca6234-service.sh
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := hcidump.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/hcidump.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -194,7 +169,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.ssr.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -202,7 +177,7 @@
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.mdm.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -210,6 +185,7 @@
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.debug.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -217,20 +193,7 @@
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.debug-sdm660.sh
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := init.qcom.testscripts.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/init.qcom.testscripts.sh
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := init.qcom.uicc.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/init.qcom.uicc.sh
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -238,7 +201,7 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.sensors.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
@@ -247,8 +210,24 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.test.rc
- LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
+
+ include $(CLEAR_VARS)
+ LOCAL_MODULE := init.qcom.testscripts.sh
+ LOCAL_MODULE_TAGS := optional eng
+ LOCAL_MODULE_CLASS := ETC
+ LOCAL_SRC_FILES := etc/init.qcom.testscripts.sh
+ include $(BUILD_PREBUILT)
+
+ include $(CLEAR_VARS)
+ LOCAL_MODULE := init.qti.vendor.testscripts.sh
+ LOCAL_MODULE_TAGS := debug
+ LOCAL_MODULE_CLASS := ETC
+ LOCAL_SRC_FILES := etc/init.qti.vendor.testscripts.sh
+ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
+ include $(BUILD_PREBUILT)
+
endif
include $(CLEAR_VARS)
@@ -256,5 +235,5 @@
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.crashdata.sh
-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
Only in unified_n/rootdir/etc: hcidump.sh
Only in unified_n/rootdir/etc: hsic.control.bt.sh
Only in unified_n/rootdir/etc: init.ath3k.bt.sh
diff -bur unified_n/rootdir/etc/init.class_main.sh unified_o/rootdir/etc/init.class_main.sh
--- unified_n/rootdir/etc/init.class_main.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.class_main.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -30,7 +31,7 @@
# start ril-daemon only for targets on which radio is present
#
baseband=`getprop ro.baseband`
-sgltecsfb=`getprop persist.radio.sglte_csfb`
+sgltecsfb=`getprop persist.vendor.radio.sglte_csfb`
datamode=`getprop persist.data.mode`
case "$baseband" in
@@ -40,8 +41,12 @@
esac
case "$baseband" in
- "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3" | "sdm" | "sdx")
+ "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3")
start qmuxd
+esac
+
+case "$baseband" in
+ "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3" | "sdm" | "sdx")
start ipacm-diag
start ipacm
case "$baseband" in
@@ -52,7 +57,7 @@
if [ "x$sgltecsfb" != "xtrue" ]; then
start qmiproxy
else
- setprop persist.radio.voice.modem.index 0
+ setprop persist.vendor.radio.voice.modem.index 0
fi
;;
"dsda2")
diff -bur unified_n/rootdir/etc/init.crda.sh unified_o/rootdir/etc/init.crda.sh
--- unified_n/rootdir/etc/init.crda.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.crda.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.mdm.sh unified_o/rootdir/etc/init.mdm.sh
--- unified_n/rootdir/etc/init.mdm.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.mdm.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.msm.usb.configfs.rc unified_o/rootdir/etc/init.msm.usb.configfs.rc
--- unified_n/rootdir/etc/init.msm.usb.configfs.rc 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.msm.usb.configfs.rc 2017-08-30 14:59:55.478875894 +0530
@@ -34,6 +34,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0xF000
symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1
@@ -50,6 +53,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9015
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
@@ -67,6 +73,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x901D
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -81,6 +90,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x900E
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -97,6 +109,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9091
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -113,6 +128,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9092
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -134,6 +152,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0xF00E
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -153,6 +174,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9024
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -167,6 +191,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x902C
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -184,6 +211,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x902D
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -199,6 +229,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90B3
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -216,6 +249,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90B4
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -231,6 +267,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90B5
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -249,6 +288,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90B6
symlink /config/usb_gadget/g1/functions/${sys.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -265,6 +307,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x901B
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
@@ -282,6 +327,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x903A
symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
@@ -297,6 +345,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x904A
write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1
@@ -315,6 +366,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9060
write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1
@@ -331,6 +385,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9083
write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1
@@ -350,13 +407,16 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9084
write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f2
- symlink /config/usb_gadget/g1/functions/${sys.usb.rmnet.func.name}.rmnet /config/usb_gadget/g1/configs/b.1/f3
- symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3
+ symlink /config/usb_gadget/g1/functions/${sys.usb.rmnet.func.name}.rmnet /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
@@ -367,6 +427,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9081
write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1
@@ -386,6 +449,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9082
write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1
@@ -403,6 +469,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0xA4A1
symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1
@@ -419,6 +488,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x908C
symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1
@@ -433,6 +505,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9004
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -450,6 +525,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x901f
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -465,6 +543,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90b7
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -484,6 +565,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90b8
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -501,6 +585,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90bf
symlink /config/usb_gadget/g1/functions/gsi.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -519,6 +606,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90c0
symlink /config/usb_gadget/g1/functions/gsi.rndis /config/usb_gadget/g1/configs/b.1/f1
@@ -535,6 +625,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90CE
symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1
@@ -551,6 +644,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90CF
symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1
@@ -565,6 +661,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90D0
symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1
@@ -582,6 +681,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90D1
symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f1
@@ -597,6 +699,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90D2
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -616,6 +721,9 @@
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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x90D3
symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
@@ -625,3 +733,103 @@
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f5
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_rmnet"
+ 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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
+ write /config/usb_gadget/g1/idVendor 0x05C6
+ write /config/usb_gadget/g1/idProduct 0x90D7
+ symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
+ symlink /config/usb_gadget/g1/functions/diag.diag_mdm /config/usb_gadget/g1/configs/b.1/f2
+ symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3
+ symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4
+ symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5
+ symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6
+ symlink /config/usb_gadget/g1/functions/${sys.usb.rmnet.func.name}.rmnet /config/usb_gadget/g1/configs/b.1/f7
+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb && property:sys.usb.configfs=1
+ start adbd
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm,qdss_qdss_mdm_dun_dun_mdm_rmnet_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
+ rm /config/usb_gadget/g1/configs/b.1/f6
+ rm /config/usb_gadget/g1/configs/b.1/f7
+ rm /config/usb_gadget/g1/configs/b.1/f8
+ write /config/usb_gadget/g1/idVendor 0x05C6
+ write /config/usb_gadget/g1/idProduct 0x90D8
+ symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
+ symlink /config/usb_gadget/g1/functions/diag.diag_mdm /config/usb_gadget/g1/configs/b.1/f2
+ symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3
+ symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f4
+ symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f5
+ symlink /config/usb_gadget/g1/functions/cser.dun.2 /config/usb_gadget/g1/configs/b.1/f6
+ symlink /config/usb_gadget/g1/functions/${sys.usb.rmnet.func.name}.rmnet /config/usb_gadget/g1/configs/b.1/f7
+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f8
+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee7
+
+on property:sys.usb.config=mtp && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee1
+
+on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee2
+
+on property:sys.usb.config=ptp && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee5
+
+on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee6
+
+on property:sys.usb.config=accessory && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d00
+
+on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d01
+
+on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d02
+
+on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d03
+
+on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d04
+
+on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x2d05
+
+on property:sys.usb.config=midi && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee8
+
+on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/idProduct 0x4ee9
Only in unified_n/rootdir/etc: init.qcom.audio.sh
Only in unified_n/rootdir/etc: init.qcom.bt.sh
diff -bur unified_n/rootdir/etc/init.qcom.class_core.sh unified_o/rootdir/etc/init.qcom.class_core.sh
--- unified_n/rootdir/etc/init.qcom.class_core.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.class_core.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#!/vendor/bin/sh
+
# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.coex.sh unified_o/rootdir/etc/init.qcom.coex.sh
--- unified_n/rootdir/etc/init.qcom.coex.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.coex.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2009-2010, 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.crashdata.sh unified_o/rootdir/etc/init.qcom.crashdata.sh
--- unified_n/rootdir/etc/init.qcom.crashdata.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.crashdata.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,4 @@
-#!/system/bin/sh
+#!/vendor/bin/sh
# Copyright (c) 2017, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.debug-sdm660.sh unified_o/rootdir/etc/init.qcom.debug-sdm660.sh
--- unified_n/rootdir/etc/init.qcom.debug-sdm660.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.debug-sdm660.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,4 @@
-#!/system/bin/sh
+#!/vendor/bin/sh
# Copyright (c) 2017, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.debug.sh unified_o/rootdir/etc/init.qcom.debug.sh
--- unified_n/rootdir/etc/init.qcom.debug.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.debug.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -41,11 +42,6 @@
then
return
fi
- #bail out if coresight-stm device node isn't present
- if [ ! -e /dev/coresight-stm ]
- then
- return
- fi
# bail out if ftrace events aren't present
if [ ! -d /sys/kernel/debug/tracing/events ]
then
@@ -53,8 +49,8 @@
fi
echo 0x2000000 > /sys/bus/coresight/devices/coresight-tmc-etr/mem_size
- echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/curr_sink
- echo 1 > /sys/bus/coresight/devices/coresight-stm/enable
+ echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/$sinkenable
+ echo 1 > /sys/bus/coresight/devices/coresight-stm/$srcenable
echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 0 > /sys/bus/coresight/devices/coresight-stm/hwevent_enable
# timer
@@ -137,6 +133,1565 @@
echo 1 > /sys/kernel/debug/tracing/events/thermal/thermal_post_frequency_mit/enable
}
+# Function SDM845 DCC configuration
+enable_sdm845_dcc_config()
+{
+ DCC_PATH="/sys/bus/platform/devices/10a2000.dcc_v2"
+
+ if [ ! -d $DCC_PATH ]; then
+ echo "DCC does not exist on this build."
+ return
+ fi
+
+ echo 0 > $DCC_PATH/enable
+ echo cap > $DCC_PATH/func_type
+ echo sram > $DCC_PATH/data_sink
+ echo 1 > $DCC_PATH/config_reset
+ echo 2 > $DCC_PATH/curr_list
+
+
+ echo 0x17DC3A84 2 > $DCC_PATH/config
+ echo 0x17DB3A84 1 > $DCC_PATH/config
+ echo 0x17840C18 1 > $DCC_PATH/config
+ echo 0x17830C18 1 > $DCC_PATH/config
+ echo 0x17D20000 1 > $DCC_PATH/config
+ echo 0x17D2000C 1 > $DCC_PATH/config
+ echo 0x17D20018 1 > $DCC_PATH/config
+
+ echo 0x17E00024 1 > $DCC_PATH/config
+ echo 0x17E00040 1 > $DCC_PATH/config
+ echo 0x17E10024 1 > $DCC_PATH/config
+ echo 0x17E10040 1 > $DCC_PATH/config
+ echo 0x17E20024 1 > $DCC_PATH/config
+ echo 0x17E20040 1 > $DCC_PATH/config
+ echo 0x17E30024 1 > $DCC_PATH/config
+ echo 0x17E30040 1 > $DCC_PATH/config
+ echo 0x17E40024 1 > $DCC_PATH/config
+ echo 0x17E40040 1 > $DCC_PATH/config
+ echo 0x17E50024 1 > $DCC_PATH/config
+ echo 0x17E50040 1 > $DCC_PATH/config
+ echo 0x17E60024 1 > $DCC_PATH/config
+ echo 0x17E60040 1 > $DCC_PATH/config
+ echo 0x17E70024 1 > $DCC_PATH/config
+ echo 0x17E70040 1 > $DCC_PATH/config
+ echo 0x17810024 1 > $DCC_PATH/config
+ echo 0x17810040 1 > $DCC_PATH/config
+ echo 0x17810104 1 > $DCC_PATH/config
+ echo 0x17810118 1 > $DCC_PATH/config
+ echo 0x17810128 1 > $DCC_PATH/config
+ echo 0x178100F4 1 > $DCC_PATH/config
+ echo 0x179C0400 1 > $DCC_PATH/config
+ echo 0x179C0404 1 > $DCC_PATH/config
+ echo 0x179C0408 1 > $DCC_PATH/config
+ echo 0x179C0038 1 > $DCC_PATH/config
+ echo 0x179C0040 1 > $DCC_PATH/config
+ echo 0x179C0048 1 > $DCC_PATH/config
+ echo 0x0B201020 1 > $DCC_PATH/config
+ echo 0x0B201024 1 > $DCC_PATH/config
+ echo 0x01301000 1 > $DCC_PATH/config
+ echo 0x01301004 1 > $DCC_PATH/config
+
+ echo 0x1781012C 4 > $DCC_PATH/config
+ echo 0x17E00048 2 > $DCC_PATH/config
+ echo 0x17E10048 2 > $DCC_PATH/config
+ echo 0x17E20048 2 > $DCC_PATH/config
+ echo 0x17E30048 2 > $DCC_PATH/config
+ echo 0x17E40048 2 > $DCC_PATH/config
+ echo 0x17E50048 2 > $DCC_PATH/config
+ echo 0x17E60048 2 > $DCC_PATH/config
+ echo 0x17E70048 2 > $DCC_PATH/config
+ echo 0x17810048 2 > $DCC_PATH/config
+ echo 0x17990044 1 > $DCC_PATH/config
+
+ echo 0x179E0D14 1 > $DCC_PATH/config
+ echo 0x179E0D18 1 > $DCC_PATH/config
+ echo 0x179E0D1C 1 > $DCC_PATH/config
+ echo 0x179E0D30 1 > $DCC_PATH/config
+ echo 0x179E0D34 1 > $DCC_PATH/config
+ echo 0x179E0D38 1 > $DCC_PATH/config
+ echo 0x179E0D3C 1 > $DCC_PATH/config
+ echo 0x179E0D44 1 > $DCC_PATH/config
+ echo 0x179E0D48 1 > $DCC_PATH/config
+ echo 0x179E0D4C 1 > $DCC_PATH/config
+ echo 0x179E0D50 1 > $DCC_PATH/config
+ echo 0x179E0D58 1 > $DCC_PATH/config
+ echo 0x179E0D5C 1 > $DCC_PATH/config
+ echo 0x179E0D60 1 > $DCC_PATH/config
+ echo 0x179E0D64 1 > $DCC_PATH/config
+ echo 0x179E0FB4 1 > $DCC_PATH/config
+ echo 0x179E0FB8 1 > $DCC_PATH/config
+ echo 0x179E0FBC 1 > $DCC_PATH/config
+ echo 0x179E0FD0 1 > $DCC_PATH/config
+ echo 0x179E0FD4 1 > $DCC_PATH/config
+ echo 0x179E0FD8 1 > $DCC_PATH/config
+ echo 0x179E0FDC 1 > $DCC_PATH/config
+ echo 0x179E0FE4 1 > $DCC_PATH/config
+ echo 0x179E0FE8 1 > $DCC_PATH/config
+ echo 0x179E0FEC 1 > $DCC_PATH/config
+ echo 0x179E0FF0 1 > $DCC_PATH/config
+ echo 0x179E0FF8 1 > $DCC_PATH/config
+ echo 0x179E0FFC 1 > $DCC_PATH/config
+ echo 0x179E1000 1 > $DCC_PATH/config
+ echo 0x179E1004 1 > $DCC_PATH/config
+
+ echo 0x17D45F00 1 > $DCC_PATH/config
+ echo 0x17D45F08 1 > $DCC_PATH/config
+ echo 0x17D45F0C 1 > $DCC_PATH/config
+ echo 0x17D45F10 1 > $DCC_PATH/config
+ echo 0x17D45F14 1 > $DCC_PATH/config
+ echo 0x17D45F18 1 > $DCC_PATH/config
+ echo 0x17D45F1C 1 > $DCC_PATH/config
+ echo 0x17D45F80 1 > $DCC_PATH/config
+ echo 0x17D47418 1 > $DCC_PATH/config
+ echo 0x17D47570 1 > $DCC_PATH/config
+ echo 0x17D47588 1 > $DCC_PATH/config
+ echo 0x17D43700 1 > $DCC_PATH/config
+ echo 0x17D43708 1 > $DCC_PATH/config
+ echo 0x17D4370C 1 > $DCC_PATH/config
+ echo 0x17D43710 1 > $DCC_PATH/config
+ echo 0x17D43714 1 > $DCC_PATH/config
+ echo 0x17D43718 1 > $DCC_PATH/config
+ echo 0x17D4371C 1 > $DCC_PATH/config
+ echo 0x17D43780 1 > $DCC_PATH/config
+ echo 0x17D44C18 1 > $DCC_PATH/config
+ echo 0x17D44D70 1 > $DCC_PATH/config
+ echo 0x17D44D88 1 > $DCC_PATH/config
+ echo 0x17D41700 1 > $DCC_PATH/config
+ echo 0x17D41708 1 > $DCC_PATH/config
+ echo 0x17D4170C 1 > $DCC_PATH/config
+ echo 0x17D41710 1 > $DCC_PATH/config
+ echo 0x17D41714 1 > $DCC_PATH/config
+ echo 0x17D41718 1 > $DCC_PATH/config
+ echo 0x17D4171C 1 > $DCC_PATH/config
+ echo 0x17D41780 1 > $DCC_PATH/config
+ echo 0x17D42C18 1 > $DCC_PATH/config
+ echo 0x17D42D70 1 > $DCC_PATH/config
+ echo 0x17D42D88 1 > $DCC_PATH/config
+
+ echo 0x069EA00C 0x00600007 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x00136800 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136810 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136820 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136830 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136840 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136850 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136860 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00136870 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003e9a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003c0a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003d1a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003d2a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003d5a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003d6a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003b1a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003b2a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003b5a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003b6a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003c2a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003c5a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x0003c6a0 1 > $DCC_PATH/config_write
+ echo 0x069EA01C 0x001368a0 1 > $DCC_PATH/config_write
+ echo 0x069EA014 1 1 > $DCC_PATH/config
+ echo 0x069EA01C 0x00f1e000 1 > $DCC_PATH/config_write
+ echo 0x069EA008 0x00000007 1 > $DCC_PATH/config_write
+ echo 0x013E7E00 31 > $DCC_PATH/config
+
+ # DDR_SS
+ echo 0x01132100 1 > $DCC_PATH/config
+ echo 0x01136044 1 > $DCC_PATH/config
+ echo 0x01136048 1 > $DCC_PATH/config
+ echo 0x0113604C 1 > $DCC_PATH/config
+ echo 0x01136050 1 > $DCC_PATH/config
+ echo 0x011360B0 1 > $DCC_PATH/config
+ echo 0x0113E030 1 > $DCC_PATH/config
+ echo 0x0113E034 1 > $DCC_PATH/config
+ echo 0x01142028 1 > $DCC_PATH/config
+ echo 0x01148058 1 > $DCC_PATH/config
+ echo 0x0114805C 1 > $DCC_PATH/config
+ echo 0x01148060 1 > $DCC_PATH/config
+ echo 0x01148064 1 > $DCC_PATH/config
+ echo 0x01160410 1 > $DCC_PATH/config
+ echo 0x01160414 1 > $DCC_PATH/config
+ echo 0x01160418 1 > $DCC_PATH/config
+ echo 0x011604A0 1 > $DCC_PATH/config
+ echo 0x011604B8 1 > $DCC_PATH/config
+ echo 0x01165804 1 > $DCC_PATH/config
+ echo 0x01166418 1 > $DCC_PATH/config
+ echo 0x011B2100 1 > $DCC_PATH/config
+ echo 0x011B6044 1 > $DCC_PATH/config
+ echo 0x011B6048 1 > $DCC_PATH/config
+ echo 0x011B604C 1 > $DCC_PATH/config
+ echo 0x011B6050 1 > $DCC_PATH/config
+ echo 0x011B60B0 1 > $DCC_PATH/config
+ echo 0x011BE030 1 > $DCC_PATH/config
+ echo 0x011BE034 1 > $DCC_PATH/config
+ echo 0x011C2028 1 > $DCC_PATH/config
+ echo 0x011C8058 1 > $DCC_PATH/config
+ echo 0x011C805C 1 > $DCC_PATH/config
+ echo 0x011C8060 1 > $DCC_PATH/config
+ echo 0x011C8064 1 > $DCC_PATH/config
+ echo 0x011E0410 1 > $DCC_PATH/config
+ echo 0x011E0414 1 > $DCC_PATH/config
+ echo 0x011E0418 1 > $DCC_PATH/config
+ echo 0x011E04A0 1 > $DCC_PATH/config
+ echo 0x011E04B8 1 > $DCC_PATH/config
+ echo 0x011E5804 1 > $DCC_PATH/config
+ echo 0x011E6418 1 > $DCC_PATH/config
+ echo 0x01232100 1 > $DCC_PATH/config
+ echo 0x01236044 1 > $DCC_PATH/config
+ echo 0x01236048 1 > $DCC_PATH/config
+ echo 0x0123604C 1 > $DCC_PATH/config
+ echo 0x01236050 1 > $DCC_PATH/config
+ echo 0x012360B0 1 > $DCC_PATH/config
+ echo 0x0123E030 1 > $DCC_PATH/config
+ echo 0x0123E034 1 > $DCC_PATH/config
+ echo 0x01242028 1 > $DCC_PATH/config
+ echo 0x01248058 1 > $DCC_PATH/config
+ echo 0x0124805C 1 > $DCC_PATH/config
+ echo 0x01248060 1 > $DCC_PATH/config
+ echo 0x01248064 1 > $DCC_PATH/config
+ echo 0x01260410 1 > $DCC_PATH/config
+ echo 0x01260414 1 > $DCC_PATH/config
+ echo 0x01260418 1 > $DCC_PATH/config
+ echo 0x012604A0 1 > $DCC_PATH/config
+ echo 0x012604B8 1 > $DCC_PATH/config
+ echo 0x01265804 1 > $DCC_PATH/config
+ echo 0x01266418 1 > $DCC_PATH/config
+ echo 0x012B2100 1 > $DCC_PATH/config
+ echo 0x012B6044 1 > $DCC_PATH/config
+ echo 0x012B6048 1 > $DCC_PATH/config
+ echo 0x012B604C 1 > $DCC_PATH/config
+ echo 0x012B6050 1 > $DCC_PATH/config
+ echo 0x012B60B0 1 > $DCC_PATH/config
+ echo 0x012BE030 1 > $DCC_PATH/config
+ echo 0x012BE034 1 > $DCC_PATH/config
+ echo 0x012C2028 1 > $DCC_PATH/config
+ echo 0x012C8058 1 > $DCC_PATH/config
+ echo 0x012C805C 1 > $DCC_PATH/config
+ echo 0x012C8060 1 > $DCC_PATH/config
+ echo 0x012C8064 1 > $DCC_PATH/config
+ echo 0x012E0410 1 > $DCC_PATH/config
+ echo 0x012E0414 1 > $DCC_PATH/config
+ echo 0x012E0418 1 > $DCC_PATH/config
+ echo 0x012E04A0 1 > $DCC_PATH/config
+ echo 0x012E04B8 1 > $DCC_PATH/config
+ echo 0x012E5804 1 > $DCC_PATH/config
+ echo 0x012E6418 1 > $DCC_PATH/config
+ echo 0x01380900 1 > $DCC_PATH/config
+ echo 0x01380904 1 > $DCC_PATH/config
+ echo 0x01380908 1 > $DCC_PATH/config
+ echo 0x0138090c 1 > $DCC_PATH/config
+ echo 0x01380910 1 > $DCC_PATH/config
+ echo 0x01380914 1 > $DCC_PATH/config
+ echo 0x01380918 1 > $DCC_PATH/config
+ echo 0x0138091c 1 > $DCC_PATH/config
+ echo 0x01380d00 1 > $DCC_PATH/config
+ echo 0x01380d04 1 > $DCC_PATH/config
+ echo 0x01380d08 1 > $DCC_PATH/config
+ echo 0x01380d0c 1 > $DCC_PATH/config
+ echo 0x01380d10 1 > $DCC_PATH/config
+ echo 0x01350110 1 > $DCC_PATH/config
+ echo 0x01350114 1 > $DCC_PATH/config
+ echo 0x01350118 1 > $DCC_PATH/config
+ echo 0x0135011c 1 > $DCC_PATH/config
+ echo 0x01430280 1 > $DCC_PATH/config
+ echo 0x01430288 1 > $DCC_PATH/config
+ echo 0x0143028c 1 > $DCC_PATH/config
+ echo 0x01430290 1 > $DCC_PATH/config
+ echo 0x01430294 1 > $DCC_PATH/config
+ echo 0x01430298 1 > $DCC_PATH/config
+ echo 0x0143029c 1 > $DCC_PATH/config
+ echo 0x014302a0 1 > $DCC_PATH/config
+
+ # DDR_SS Repeat
+ echo 0x01132100 1 > $DCC_PATH/config
+ echo 0x01136044 1 > $DCC_PATH/config
+ echo 0x01136048 1 > $DCC_PATH/config
+ echo 0x0113604C 1 > $DCC_PATH/config
+ echo 0x01136050 1 > $DCC_PATH/config
+ echo 0x011360B0 1 > $DCC_PATH/config
+ echo 0x0113E030 1 > $DCC_PATH/config
+ echo 0x0113E034 1 > $DCC_PATH/config
+ echo 0x01142028 1 > $DCC_PATH/config
+ echo 0x01148058 1 > $DCC_PATH/config
+ echo 0x0114805C 1 > $DCC_PATH/config
+ echo 0x01148060 1 > $DCC_PATH/config
+ echo 0x01148064 1 > $DCC_PATH/config
+ echo 0x01160410 1 > $DCC_PATH/config
+ echo 0x01160414 1 > $DCC_PATH/config
+ echo 0x01160418 1 > $DCC_PATH/config
+ echo 0x011604A0 1 > $DCC_PATH/config
+ echo 0x011604B8 1 > $DCC_PATH/config
+ echo 0x01165804 1 > $DCC_PATH/config
+ echo 0x01166418 1 > $DCC_PATH/config
+ echo 0x011B2100 1 > $DCC_PATH/config
+ echo 0x011B6044 1 > $DCC_PATH/config
+ echo 0x011B6048 1 > $DCC_PATH/config
+ echo 0x011B604C 1 > $DCC_PATH/config
+ echo 0x011B6050 1 > $DCC_PATH/config
+ echo 0x011B60B0 1 > $DCC_PATH/config
+ echo 0x011BE030 1 > $DCC_PATH/config
+ echo 0x011BE034 1 > $DCC_PATH/config
+ echo 0x011C2028 1 > $DCC_PATH/config
+ echo 0x011C8058 1 > $DCC_PATH/config
+ echo 0x011C805C 1 > $DCC_PATH/config
+ echo 0x011C8060 1 > $DCC_PATH/config
+ echo 0x011C8064 1 > $DCC_PATH/config
+ echo 0x011E0410 1 > $DCC_PATH/config
+ echo 0x011E0414 1 > $DCC_PATH/config
+ echo 0x011E0418 1 > $DCC_PATH/config
+ echo 0x011E04A0 1 > $DCC_PATH/config
+ echo 0x011E04B8 1 > $DCC_PATH/config
+ echo 0x011E5804 1 > $DCC_PATH/config
+ echo 0x011E6418 1 > $DCC_PATH/config
+ echo 0x01232100 1 > $DCC_PATH/config
+ echo 0x01236044 1 > $DCC_PATH/config
+ echo 0x01236048 1 > $DCC_PATH/config
+ echo 0x0123604C 1 > $DCC_PATH/config
+ echo 0x01236050 1 > $DCC_PATH/config
+ echo 0x012360B0 1 > $DCC_PATH/config
+ echo 0x0123E030 1 > $DCC_PATH/config
+ echo 0x0123E034 1 > $DCC_PATH/config
+ echo 0x01242028 1 > $DCC_PATH/config
+ echo 0x01248058 1 > $DCC_PATH/config
+ echo 0x0124805C 1 > $DCC_PATH/config
+ echo 0x01248060 1 > $DCC_PATH/config
+ echo 0x01248064 1 > $DCC_PATH/config
+ echo 0x01260410 1 > $DCC_PATH/config
+ echo 0x01260414 1 > $DCC_PATH/config
+ echo 0x01260418 1 > $DCC_PATH/config
+ echo 0x012604A0 1 > $DCC_PATH/config
+ echo 0x012604B8 1 > $DCC_PATH/config
+ echo 0x01265804 1 > $DCC_PATH/config
+ echo 0x01266418 1 > $DCC_PATH/config
+ echo 0x012B2100 1 > $DCC_PATH/config
+ echo 0x012B6044 1 > $DCC_PATH/config
+ echo 0x012B6048 1 > $DCC_PATH/config
+ echo 0x012B604C 1 > $DCC_PATH/config
+ echo 0x012B6050 1 > $DCC_PATH/config
+ echo 0x012B60B0 1 > $DCC_PATH/config
+ echo 0x012BE030 1 > $DCC_PATH/config
+ echo 0x012BE034 1 > $DCC_PATH/config
+ echo 0x012C2028 1 > $DCC_PATH/config
+ echo 0x012C8058 1 > $DCC_PATH/config
+ echo 0x012C805C 1 > $DCC_PATH/config
+ echo 0x012C8060 1 > $DCC_PATH/config
+ echo 0x012C8064 1 > $DCC_PATH/config
+ echo 0x012E0410 1 > $DCC_PATH/config
+ echo 0x012E0414 1 > $DCC_PATH/config
+ echo 0x012E0418 1 > $DCC_PATH/config
+ echo 0x012E04A0 1 > $DCC_PATH/config
+ echo 0x012E04B8 1 > $DCC_PATH/config
+ echo 0x012E5804 1 > $DCC_PATH/config
+ echo 0x012E6418 1 > $DCC_PATH/config
+ echo 0x01380900 1 > $DCC_PATH/config
+ echo 0x01380904 1 > $DCC_PATH/config
+ echo 0x01380908 1 > $DCC_PATH/config
+ echo 0x0138090c 1 > $DCC_PATH/config
+ echo 0x01380910 1 > $DCC_PATH/config
+ echo 0x01380914 1 > $DCC_PATH/config
+ echo 0x01380918 1 > $DCC_PATH/config
+ echo 0x0138091c 1 > $DCC_PATH/config
+ echo 0x01380d00 1 > $DCC_PATH/config
+ echo 0x01380d04 1 > $DCC_PATH/config
+ echo 0x01380d08 1 > $DCC_PATH/config
+ echo 0x01380d0c 1 > $DCC_PATH/config
+ echo 0x01380d10 1 > $DCC_PATH/config
+ echo 0x01350110 1 > $DCC_PATH/config
+ echo 0x01350114 1 > $DCC_PATH/config
+ echo 0x01350118 1 > $DCC_PATH/config
+ echo 0x0135011c 1 > $DCC_PATH/config
+ echo 0x01430280 1 > $DCC_PATH/config
+ echo 0x01430288 1 > $DCC_PATH/config
+ echo 0x0143028c 1 > $DCC_PATH/config
+ echo 0x01430290 1 > $DCC_PATH/config
+ echo 0x01430294 1 > $DCC_PATH/config
+ echo 0x01430298 1 > $DCC_PATH/config
+ echo 0x0143029c 1 > $DCC_PATH/config
+ echo 0x014302a0 1 > $DCC_PATH/config
+
+ #Apply configuration and enable DCC
+ echo 1 > $DCC_PATH/enable
+}
+
+# Function MSMCOBALT DCC configuration
+enable_msm8998_dcc_config()
+{
+ DCC_PATH="/sys/bus/platform/devices/10b3000.dcc"
+ if [ ! -d $DCC_PATH ]; then
+ echo "DCC don't exist on this build."
+ return
+ fi
+
+ echo 0 > $DCC_PATH/enable
+ echo cap > $DCC_PATH/func_type
+ echo sram > $DCC_PATH/data_sink
+ echo 1 > $DCC_PATH/config_reset
+
+ #OSM WDOG
+ echo 0x179C1C00 37 > $DCC_PATH/config
+ echo 0x179C3C00 37 > $DCC_PATH/config
+ #APM
+ echo 0x179D0000 1 > $DCC_PATH/config
+ echo 0x179D000C 1 > $DCC_PATH/config
+ echo 0x179D0018 1 > $DCC_PATH/config
+ #L2_SAW4_PMIC_STS
+ echo 0x17912C18 1 > $DCC_PATH/config
+ echo 0x17812C18 1 > $DCC_PATH/config
+ #CPRH_STATUS
+ echo 0x179CBAA4 1 > $DCC_PATH/config
+ echo 0x179C7AA4 1 > $DCC_PATH/config
+
+ # default configuration
+ #SPM registers
+ echo 0x17989000 > $DCC_PATH/config
+ echo 0x17989C0C > $DCC_PATH/config
+ echo 0x17988064 > $DCC_PATH/config
+ echo 0x17999000 > $DCC_PATH/config
+ echo 0x17999C0C > $DCC_PATH/config
+ echo 0x17998064 > $DCC_PATH/config
+ echo 0x179A9000 > $DCC_PATH/config
+ echo 0x179A9C0C > $DCC_PATH/config
+ echo 0x179A8064 > $DCC_PATH/config
+ echo 0x179B9000 > $DCC_PATH/config
+ echo 0x179B9C0C > $DCC_PATH/config
+ echo 0x179B8064 > $DCC_PATH/config
+ echo 0x17912000 > $DCC_PATH/config
+ echo 0x17912C0C > $DCC_PATH/config
+ echo 0x17911210 > $DCC_PATH/config
+ echo 0x17911290 > $DCC_PATH/config
+ echo 0x17911218 > $DCC_PATH/config
+ echo 0x17889000 > $DCC_PATH/config
+ echo 0x17889C0C > $DCC_PATH/config
+ echo 0x17888064 > $DCC_PATH/config
+ echo 0x17899000 > $DCC_PATH/config
+ echo 0x17899C0C > $DCC_PATH/config
+ echo 0x17898064 > $DCC_PATH/config
+ echo 0x178A9000 > $DCC_PATH/config
+ echo 0x178A9C0C > $DCC_PATH/config
+ echo 0x178A8064 > $DCC_PATH/config
+ echo 0x178B9000 > $DCC_PATH/config
+ echo 0x178B9C0C > $DCC_PATH/config
+ echo 0x178B8064 > $DCC_PATH/config
+ echo 0x17812000 > $DCC_PATH/config
+ echo 0x17812C0C > $DCC_PATH/config
+ echo 0x17811210 > $DCC_PATH/config
+ echo 0x17811290 > $DCC_PATH/config
+ echo 0x17811218 > $DCC_PATH/config
+ echo 0x179D2000 > $DCC_PATH/config
+ echo 0x179D2C0C > $DCC_PATH/config
+ echo 0x7ba4008 > $DCC_PATH/config
+ echo 0x7ba400C > $DCC_PATH/config
+ echo 0x7ba4010 > $DCC_PATH/config
+ echo 0x7ba4014 > $DCC_PATH/config
+
+ # CCI ACE / Stalled Transaction
+ echo 0x7ba82B0 > $DCC_PATH/config
+
+ # 8 times, same register
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+ echo 0x7ba1000 > $DCC_PATH/config
+
+ #SCMO STATUS
+ echo 0x01030560 1 > $DCC_PATH/config
+ echo 0x010305A0 1 > $DCC_PATH/config
+ echo 0x0103C560 1 > $DCC_PATH/config
+ echo 0x0103C5A0 1 > $DCC_PATH/config
+
+ #DPE STATUS
+ echo 0x0103409C 1 > $DCC_PATH/config
+ echo 0x0104009C 1 > $DCC_PATH/config
+
+ # DDR registers Masterport status
+ echo 0x01008400 38 > $DCC_PATH/config
+ echo 0x0101C400 38 > $DCC_PATH/config
+ echo 0x01014400 38 > $DCC_PATH/config
+ echo 0x01010400 38 > $DCC_PATH/config
+ echo 0x01018400 38 > $DCC_PATH/config
+
+ #SWAY
+ echo 0x01048400 16 > $DCC_PATH/config
+ echo 0x01050400 16 > $DCC_PATH/config
+ echo 0x01058400 16 > $DCC_PATH/config
+
+ #ARB
+ echo 0x01049800 1 > $DCC_PATH/config
+ echo 0x01051800 1 > $DCC_PATH/config
+ echo 0x01059800 1 > $DCC_PATH/config
+
+ #DRAM Status
+ echo 0x01035074 1 > $DCC_PATH/config
+ echo 0x01041074 1 > $DCC_PATH/config
+ echo 0x01030450 1 > $DCC_PATH/config
+ echo 0x0103C450 1 > $DCC_PATH/config
+
+ # APCS_ALIAS0_CPU_PWR_CTL
+ echo 0x17988004 2 > $DCC_PATH/config
+ echo 0x17998004 2 > $DCC_PATH/config
+ echo 0x179A8004 2 > $DCC_PATH/config
+ echo 0x179B8004 2 > $DCC_PATH/config
+ echo 0x17888004 2 > $DCC_PATH/config
+ echo 0x17898004 2 > $DCC_PATH/config
+ echo 0x178A8004 2 > $DCC_PATH/config
+ echo 0x178B8004 2 > $DCC_PATH/config
+ echo 0x17911014 2 > $DCC_PATH/config
+ echo 0x17811014 2 > $DCC_PATH/config
+
+ echo 1 > $DCC_PATH/enable
+}
+
+# Function MSMFALCON DCC configuration
+enable_sdm660_dcc_config()
+{
+ DCC_PATH="/sys/bus/platform/devices/10b3000.dcc"
+ if [ ! -d $DCC_PATH ]; then
+ echo "DCC don't exist on this build."
+ return
+ fi
+
+ echo 0 > $DCC_PATH/enable
+ echo cap > $DCC_PATH/func_type
+ echo sram > $DCC_PATH/data_sink
+ echo 1 > $DCC_PATH/config_reset
+
+ #OSM WDOG
+ echo 0x179C1C00 37 > $DCC_PATH/config
+ echo 0x179C3C00 37 > $DCC_PATH/config
+ #APM
+ echo 0x179D0000 1 > $DCC_PATH/config
+ echo 0x179D000C 1 > $DCC_PATH/config
+ echo 0x179D0018 1 > $DCC_PATH/config
+ #L2_SAW4_PMIC_STS
+ echo 0x17912C18 1 > $DCC_PATH/config
+ echo 0x17812C18 1 > $DCC_PATH/config
+ #CPRH_STATUS
+ echo 0x179C4000 1 > $DCC_PATH/config
+ echo 0x179C8000 1 > $DCC_PATH/config
+ echo 0x179CBAA4 1 > $DCC_PATH/config
+ echo 0x179C7AA4 1 > $DCC_PATH/config
+
+ #APCS_ALIAS0_APSS_ACS
+ echo 0x17988004 2 > $DCC_PATH/config #CPU_PWR_CTL and APC_PWR_STATUS
+ echo 0x17988064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS0_SAW4_1_1_SPM
+ echo 0x17989000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS0_SAW4_1_1_STS
+ echo 0x17989C0C 2 > $DCC_PATH/config #SPM_STS
+ echo 0x17989C10 > $DCC_PATH/config #SPM_STS2
+ echo 0x17989C20 > $DCC_PATH/config #SPM_STS3
+ echo 0x17989C18 > $DCC_PATH/config #PMIC_STS
+
+ #APCS_ALIAS1_APSS_ACS
+ echo 0x17998004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x17998064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS1_SAW4_1_1_SPM
+ echo 0x17999000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS1_SAW4_1_1_STS
+ echo 0x17999C0C > $DCC_PATH/config #SPM_STS
+ echo 0x17999C10 > $DCC_PATH/config #SPM_STS2
+ echo 0x17999C20 > $DCC_PATH/config #SPM_STS3
+
+ #APCS_ALIAS2_APSS_ACS
+ echo 0x179A8004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x179A8064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS2_SAW4_1_1_SPM
+ echo 0x179A9000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS2_SAW4_1_1_STS
+ echo 0x179A9C0C > $DCC_PATH/config #SPM_STS
+ echo 0x179A9C10 > $DCC_PATH/config #SPM_STS2
+ echo 0x179A9C20 > $DCC_PATH/config #SPM_STS3
+
+ #APCS_ALIAS3_APSS_ACS
+ echo 0x179B8004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x179B8064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS3_SAW4_1_1_SPM
+ echo 0x179B9000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS3_SAW4_1_1_STS
+ echo 0x179B9C0C > $DCC_PATH/config #SPM_STS
+ echo 0x179B9C10 > $DCC_PATH/config #SPM_STS2
+ echo 0x179B9C20 > $DCC_PATH/config #SPM_STS3
+
+ #APCS_ALIAS0_APSS_GLB
+ echo 0x17911014 2 > $DCC_PATH/config #L2_PWR_CTL and #L2_PWR_STATUS
+ echo 0x17911210 > $DCC_PATH/config #L2_SPM_QCHANNEL_CFG
+ echo 0x17911218 > $DCC_PATH/config #L2_FLUSH_CTL
+ echo 0x17911234 > $DCC_PATH/config #L2_FLUSH_STS
+ echo 0x17911290 > $DCC_PATH/config #DX_FSM_STATUS
+ #APCLUS0_L2_SAW4_1_1_SPM
+ echo 0x17912000 2 > $DCC_PATH/config #SPM_CTL and #SPM_DLY
+ echo 0x1791200C > $DCC_PATH/config #SPM_CFG
+ #APCLUS0_L2_SAW4_1_1_STS
+ echo 0x17912C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x17912C20 > $DCC_PATH/config #SPM_STS3
+ echo 0x17912C18 > $DCC_PATH/config #PMIC_STS
+
+
+ #APCS_ALIAS4_APSS_ACS
+ echo 0x17888004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x17888064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS4_SAW4_1_1_SPM
+ echo 0x17889000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS4_SAW4_1_1_STS
+ echo 0x17889C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x17889C20 > $DCC_PATH/config #SPM_STS3
+ echo 0x17889C18 > $DCC_PATH/config #PMIC_STS
+
+ #APCS_ALIAS5_APSS_ACS
+ echo 0x17898004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x17898064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS5_SAW4_1_1_SPM
+ echo 0x17899000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS5_SAW4_1_1_STS
+ echo 0x17899C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x17899C20 > $DCC_PATH/config #SPM_STS3
+
+ #APCS_ALIAS6_APSS_ACS
+ echo 0x178A8004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x178A8064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS6_SAW4_1_1_SPM
+ echo 0x178A9000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS6_SAW4_1_1_STS
+ echo 0x178A9C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x178A9C20 > $DCC_PATH/config #SPM_STS3
+
+ #APCS_ALIAS7_APSS_ACS
+ echo 0x178B8004 2 > $DCC_PATH/config #CPU_PWR_CTL and #APC_PWR_STATUS
+ echo 0x178B8064 > $DCC_PATH/config #SPM_QCHANNEL_CFG
+ #APCS_ALIAS7_SAW4_1_1_SPM
+ echo 0x178B9000 > $DCC_PATH/config #SPM_CTL
+ #APCS_ALIAS7_SAW4_1_1_STS
+ echo 0x178B9C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x178B9C20 > $DCC_PATH/config #SPM_STS3
+
+ #APCS_ALIAS1_APSS_GLB
+ echo 0x17811014 > $DCC_PATH/config #L2_PWR_CTL
+ echo 0x17811018 > $DCC_PATH/config #L2_PWR_STATUS
+ echo 0x17811210 > $DCC_PATH/config #L2_SPM_QCHANNEL_CFG
+ echo 0x17811218 > $DCC_PATH/config #L2_FLUSH_CTL
+ echo 0x17811234 > $DCC_PATH/config #L2_FLUSH_STS
+ echo 0x17811290 > $DCC_PATH/config #DX_FSM_STATUS
+ #APCLUS1_L2_SAW4_1_1_SPM
+ echo 0x17812000 2 > $DCC_PATH/config #SPM_CTL and #SPM_DLY
+ echo 0x1781200C > $DCC_PATH/config #SPM_CFG
+ #APCLUS1_L2_SAW4_1_1_STS
+ echo 0x17812C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x17812C20 > $DCC_PATH/config #SPM_STS3
+ echo 0x17812C18 > $DCC_PATH/config #PMIC_STS
+
+ #APCS_CCI_GLADIATOR
+ echo 0x07BA0008 > $DCC_PATH/config #APCS_CCI_GLADIATOR_MAIN_CRIXUS_CFGIO
+ echo 0x07BA0078 > $DCC_PATH/config #APCS_CCI_GLADIATOR_MAIN_CRIXUS_CFGDUT
+ echo 0x07BA0080 3 > $DCC_PATH/config #GNOC ACE0 Status
+ echo 0x07BA00A0 3 > $DCC_PATH/config #GNOC ACE1 Status
+ echo 0x07BA1014 11 > $DCC_PATH/config #APCS_CCI_GLADIATOR_MAIN_CRIXUS_MAIN ERRORS
+ echo 0x07BA4008 4 > $DCC_PATH/config #APCS_CCI_PD_GNOC_MAIN_PROGPOWERCONTROLLER_TARGET0
+ echo 0x07BA800C 12 > $DCC_PATH/config #APCS_CCI_TRACE_MAIN ERRORS
+ echo 0x07BA82B0 > $DCC_PATH/config #APCS_CCI_PORT_STATUS
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1000 4 > $DCC_PATH/config #GLADIATOR STALLED TRANSACTION READ 8 TIMES
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config #Read Same addresses 100 times
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+ echo 0x07BA1008 2 > $DCC_PATH/config
+
+ #SNOC Fault/Error registers
+ echo 0x0162000C > $DCC_PATH/config #SNOC_OBS_ERRVLD
+ echo 0x01620014 6 > $DCC_PATH/config
+ echo 0x01620108 4 > $DCC_PATH/config # SNOC_SBM_FAULTSTATUS
+ echo 0x016201B0 > $DCC_PATH/config # SNOC_SBM_SENSEIN0
+
+ #CCI_SAW4_1_1_SPM
+ echo 0x179D2000 > $DCC_PATH/config #SPM_CTL
+ #CCI_SAW4_1_1_STS
+ echo 0x179D2C0C 2 > $DCC_PATH/config #SPM_STS and #SPM_STS2
+ echo 0x179D2C20 > $DCC_PATH/config #SPM_STS3
+ echo 0x179D2C18 > $DCC_PATH/config #PMIC_STS
+
+ #LMH_PERF
+ echo 0x179CD0C0 > $DCC_PATH/config #TSense0_Reg
+ echo 0x179CD0C4 > $DCC_PATH/config #Tsense1_Reg
+ echo 0x179CD0CC > $DCC_PATH/config #Tsense2_Reg
+ echo 0x179CD0CD > $DCC_PATH/config #Tsense3_Reg
+ echo 0x179CD03C > $DCC_PATH/config #TTL_WORD_REG
+ echo 0x179CD300 > $DCC_PATH/config #FIFO0
+ echo 0x179CD310 > $DCC_PATH/config #FIFO1
+ echo 0x179CD320 > $DCC_PATH/config #FIFO2
+ echo 0x179CD330 > $DCC_PATH/config #FIFO2
+ echo 0x179CD810 > $DCC_PATH/config #LMH_DCVS_CS_STATUS
+ echo 0x179CD814 > $DCC_PATH/config #LMH_DCVS_THERMAL_STATUS
+ echo 0x179CD81C > $DCC_PATH/config #LMH_DCVS_BCL_STATUS
+
+ #LMH_PWR
+ echo 0x179CF0C0 > $DCC_PATH/config #TSense0_Reg
+ echo 0x179CF0C4 > $DCC_PATH/config #Tsense1_Reg
+ echo 0x179CF03C > $DCC_PATH/config #TTL_WORD_REG
+ echo 0x179CF300 > $DCC_PATH/config #FIFO0
+ echo 0x179CF310 > $DCC_PATH/config #FIFO1
+ echo 0x179CF814 > $DCC_PATH/config #LMH_DCVS_THERMAL_STATUS
+
+ #ISENSE
+ echo 0x179DC10C > $DCC_PATH/config #Isense core01
+ echo 0x179DC110 > $DCC_PATH/config #Isense core23
+
+ #BIMC_GLOBAL2
+ echo 0x010021F0 4 > $DCC_PATH/config #BIMC_BRIC_DEFAULT_SEGMENT
+
+ #GCC_GPLL0
+ echo 0x100000 10 > $DCC_PATH/config
+
+ #GCC_GPLL1
+ echo 0x101000 10 > $DCC_PATH/config
+
+ #GCC_GPLL2
+ echo 0x102000 10 > $DCC_PATH/config
+
+ #GCC_GPLL3
+ echo 0x103000 10 > $DCC_PATH/config
+
+ #GCC_GPLL4
+ echo 0x177000 10 > $DCC_PATH/config
+
+ #GCC_GPLL5
+ echo 0x174000 10 > $DCC_PATH/config
+
+ echo 0x151000 > $DCC_PATH/config #GCC_RPM_GPLL_ENA_VOTE
+
+ echo 0x144004 > $DCC_PATH/config #GCC_BIMC_GDSCR
+ echo 0x146048 > $DCC_PATH/config #GCC_DDR_DIM_WRAPPER_GDSCR
+ echo 0x183004 > $DCC_PATH/config #GCC_AGGRE2_NOC_GDSCR
+
+ echo 0x104020 2 > $DCC_PATH/config
+ echo 0x104040 2 > $DCC_PATH/config
+ echo 0x105038 2 > $DCC_PATH/config
+ echo 0x10A008 2 > $DCC_PATH/config
+
+ #GCC_CNOC
+ echo 0x105050 2 > $DCC_PATH/config
+
+ #GCC_QDSS
+ echo 0x10D000 2 > $DCC_PATH/config
+ echo 0x10D018 2 > $DCC_PATH/config
+ echo 0x10D030 2 > $DCC_PATH/config
+
+ echo 0x10E000 2 > $DCC_PATH/config
+ echo 0x10E018 2 > $DCC_PATH/config
+ echo 0x10E030 2 > $DCC_PATH/config
+ echo 0x10E048 2 > $DCC_PATH/config
+
+ #GCC_RPM
+ echo 0x13C018 2 > $DCC_PATH/config
+
+ #GCC_CE1
+ echo 0x141010 2 > $DCC_PATH/config
+
+ #GCC_BIMC
+ echo 0x145018 2 > $DCC_PATH/config
+
+ #GCC_BIMC_DDR_CPLL0_ROOT
+ echo 0x146010 2 > $DCC_PATH/config
+
+ #GCC_BIMC_DDR_CPLL1_ROOT
+ echo 0x146028 2 > $DCC_PATH/config
+
+ #GCC_CDSP_BIMC
+ echo 0x147030 2 > $DCC_PATH/config
+
+ echo 0x148014 2 > $DCC_PATH/config
+
+ echo 0x14802C 2 > $DCC_PATH/config
+
+ echo 0x18A024 2 > $DCC_PATH/config
+
+ echo 0x17101C 2 > $DCC_PATH/config
+
+ echo 0x189018 2 > $DCC_PATH/config
+
+ echo 0x17A014 2 > $DCC_PATH/config
+
+ echo 0x17A02C 2 > $DCC_PATH/config
+ echo 0x17A044 2 > $DCC_PATH/config
+ echo 0x17A05C 2 > $DCC_PATH/config
+ echo 0x17A074 2 > $DCC_PATH/config
+
+ echo 0x146004 2 > $DCC_PATH/config
+
+ echo 0xC8CC000 10 > $DCC_PATH/config
+
+ echo 0xC8CC050 10 > $DCC_PATH/config
+
+ echo 0xC8C00F0 10 > $DCC_PATH/config
+
+ echo 0xC8C4000 > $DCC_PATH/config #MMSS_PLL_VOTE_RPM
+
+ echo 0xC8CD000 2 > $DCC_PATH/config
+
+ echo 0x1030560 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_RCH_STATUS
+ echo 0x10305a0 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_WCH_STATUS
+ echo 0x103c560 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_RCH_STATUS
+ echo 0x103c5a0 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_WCH_STATUS
+ echo 0x1030520 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_CMD_BUF_STATUS
+ echo 0x103c520 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_CMD_BUF_STATUS
+ echo 0x103408c 1 > $DCC_PATH/config ##BIMC_S_DDR0_DPE_DRAM_STATUS_0
+ echo 0x104008c 1 > $DCC_PATH/config ##BIMC_S_DDR1_DPE_DRAM_STATUS_0
+ echo 0x103409c 1 > $DCC_PATH/config ##BIMC_S_DDR0_DPE_MEMC_STATUS_0
+ echo 0x104009c 1 > $DCC_PATH/config ##BIMC_S_DDR1_DPE_MEMC_STATUS_0
+ echo 0xffd220 1 > $DCC_PATH/config ##MCCC_MCCC_CLK_PERIOD
+ echo 0x108f094 1 > $DCC_PATH/config ##DDR_CC_MCCC_DDRCC_MCCC_TOP_STATUS
+ echo 0xffd200 1 > $DCC_PATH/config ##MCCC_MCCC_FREQ_SWITCH_UPDATE
+ echo 0xffd02c 1 > $DCC_PATH/config ##MCCC_MCCC_CH0_FSC_STATUS0
+ echo 0xffd038 1 > $DCC_PATH/config ##MCCC_MCCC_CH0_FSC_STATUS3
+ echo 0xffd12c 1 > $DCC_PATH/config ##MCCC_MCCC_CH1_FSC_STATUS0
+ echo 0xffd138 1 > $DCC_PATH/config ##MCCC_MCCC_CH1_FSC_STATUS3
+ echo 0x1086020 1 > $DCC_PATH/config ##CH0_DDRCC_PLLCTRL_GCC_CTRL
+ echo 0x1086028 1 > $DCC_PATH/config ##CH0_DDRCC_PLLCTRL_CLK_SWITCH_STATUS
+ echo 0x1086030 1 > $DCC_PATH/config ##CH0_DDRCC_PLLCTRL_STATUS
+ echo 0x1086124 1 > $DCC_PATH/config ##CH0_DDRCC_PLL0_STATUS
+ echo 0x1086164 1 > $DCC_PATH/config ##CH0_DDRCC_PLL1_STATUS
+ echo 0x10861dc 1 > $DCC_PATH/config ##CH0_DDRCC_DLL0_STATUS
+ echo 0x10861ec 1 > $DCC_PATH/config ##CH0_DDRCC_DLL1_STATUS
+ echo 0x1035070 1 > $DCC_PATH/config ##BIMC_S_DDR0_SHKE_MREG_RDATA_STATUS
+ echo 0x1041070 1 > $DCC_PATH/config ##BIMC_S_DDR1_SHKE_MREG_RDATA_STATUS
+ echo 0x10340b8 1 > $DCC_PATH/config ##BIMC_S_DDR0_DPE_INTERRUPT_STATUS
+ echo 0x103408c 1 > $DCC_PATH/config ##BIMC_S_DDR0_DPE_DRAM_STATUS_0
+ echo 0x1035074 1 > $DCC_PATH/config ##BIMC_S_DDR0_SHKE_DRAM_STATUS
+
+ ##BIMC_S_DDR0_SHKE_PERIODIC_MRR_RDATA
+ echo 0x10350b0 4 > $DCC_PATH/config
+
+ echo 0x10400b8 1 > $DCC_PATH/config ##BIMC_S_DDR1_DPE_INTERRUPT_STATUS
+ echo 0x1041074 1 > $DCC_PATH/config ##BIMC_S_DDR1_SHKE_DRAM_STATUS
+
+ ##BIMC_S_DDR1_SHKE_PERIODIC_MRR_RDATA
+ echo 0x10410b0 4 > $DCC_PATH/config
+
+ echo 0x1008100 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_INTERRUPT_STATUS
+ echo 0x1020100 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_INTERRUPT_STATUS
+ echo 0x100c100 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_INTERRUPT_STATUS
+ echo 0x101c100 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_INTERRUPT_STATUS
+ echo 0x1010100 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_INTERRUPT_STATUS
+ echo 0x1018100 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_INTERRUPT_STATUS
+ echo 0x1014100 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_INTERRUPT_STATUS
+
+
+
+ echo 0x1030100 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_INTERRUPT_STATUS
+ echo 0x1030124 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_ESYN_ADDR1
+ echo 0x103012c 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_ESYN_APACKET_1
+ echo 0x1030130 1 > $DCC_PATH/config ##BIMC_S_DDR0_SCMO_ESYN_APACKET_2
+ echo 0x103c100 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_INTERRUPT_STATUS
+ echo 0x103c124 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_ESYN_ADDR1
+ echo 0x103c12c 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_ESYN_APACKET_1
+ echo 0x103c130 1 > $DCC_PATH/config ##BIMC_S_DDR1_SCMO_ESYN_APACKET_2
+
+ echo 0x01FC0804 1 > $DCC_PATH/config
+ echo 0x00149024 1 > $DCC_PATH/config
+
+ echo 0x7ba0078 4 > $DCC_PATH/config
+ echo 0x7ba00A0 3 > $DCC_PATH/config
+ echo 0x7ba4150 3 > $DCC_PATH/config
+ echo 0x7ba4250 3 > $DCC_PATH/config
+
+ echo 0x1008260 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_PIPE0_GATHERING
+ echo 0x1008264 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_PIPE1_GATHERING
+ echo 0x1008268 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_PIPE2_GATHERING
+ echo 0x1008400 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_0A
+ echo 0x1008404 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_0B
+ echo 0x1008410 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_1A
+ echo 0x1008420 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_2A
+ echo 0x1008424 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_2B
+ echo 0x1008430 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_3A
+ echo 0x1008434 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_3B
+ echo 0x1008440 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_4A
+ echo 0x1008444 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_4B
+ echo 0x1008450 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_5A
+ echo 0x1008454 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_5B
+ echo 0x1008460 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_6A
+ echo 0x1008464 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_6B
+ echo 0x1008470 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_7A
+ echo 0x1008474 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_7B
+ echo 0x1008480 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_8A
+ echo 0x1008484 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_8B
+ echo 0x1008490 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_9A
+ echo 0x1008494 1 > $DCC_PATH/config ##BIMC_M_APP_MPORT_STATUS_9B
+
+ echo 0x100c260 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_PIPE0_GATHERING
+ echo 0x100c264 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_PIPE1_GATHERING
+ echo 0x100c268 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_PIPE2_GATHERING
+ echo 0x100c400 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_0A
+ echo 0x100c404 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_0B
+ echo 0x100c410 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_1A
+ echo 0x100c420 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_2A
+ echo 0x100c424 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_2B
+ echo 0x100c430 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_3A
+ echo 0x100c434 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_3B
+ echo 0x100c440 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_4A
+ echo 0x100c444 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_4B
+ echo 0x100c450 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_5A
+ echo 0x100c454 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_5B
+ echo 0x100c460 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_6A
+ echo 0x100c464 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_6B
+ echo 0x100c470 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_7A
+ echo 0x100c474 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_7B
+ echo 0x100c480 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_8A
+ echo 0x100c484 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_8B
+ echo 0x100c490 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_9A
+ echo 0x100c494 1 > $DCC_PATH/config ##BIMC_M_GPU_MPORT_STATUS_9B
+
+ echo 0x1010260 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_PIPE0_GATHERING
+ echo 0x1010264 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_PIPE1_GATHERING
+ echo 0x1010268 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_PIPE2_GATHERING
+ echo 0x1010400 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_0A
+ echo 0x1010404 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_0B
+ echo 0x1010410 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_1A
+ echo 0x1010420 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_2A
+ echo 0x1010424 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_2B
+ echo 0x1010430 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_3A
+ echo 0x1010434 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_3B
+ echo 0x1010440 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_4A
+ echo 0x1010444 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_4B
+ echo 0x1010450 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_5A
+ echo 0x1010454 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_5B
+ echo 0x1010460 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_6A
+ echo 0x1010464 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_6B
+ echo 0x1010470 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_7A
+ echo 0x1010474 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_7B
+ echo 0x1010480 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_8A
+ echo 0x1010484 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_8B
+ echo 0x1010490 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_9A
+ echo 0x1010494 1 > $DCC_PATH/config ##BIMC_M_MMSS_MPORT_STATUS_9B
+
+ echo 0x1014260 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_PIPE0_GATHERING
+ echo 0x1014264 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_PIPE1_GATHERING
+ echo 0x1014268 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_PIPE2_GATHERING
+ echo 0x1014400 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_0A
+ echo 0x1014404 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_0B
+ echo 0x1014410 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_1A
+ echo 0x1014420 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_2A
+ echo 0x1014424 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_2B
+ echo 0x1014430 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_3A
+ echo 0x1014434 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_3B
+ echo 0x1014440 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_4A
+ echo 0x1014444 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_4B
+ echo 0x1014450 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_5A
+ echo 0x1014454 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_5B
+ echo 0x1014460 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_6A
+ echo 0x1014464 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_6B
+ echo 0x1014470 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_7A
+ echo 0x1014474 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_7B
+ echo 0x1014480 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_8A
+ echo 0x1014484 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_8B
+ echo 0x1014490 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_9A
+ echo 0x1014494 1 > $DCC_PATH/config ##BIMC_M_SYS_MPORT_STATUS_9B
+
+ echo 0x1018260 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_PIPE0_GATHERING
+ echo 0x1018264 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_PIPE1_GATHERING
+ echo 0x1018268 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_PIPE2_GATHERING
+ echo 0x1018400 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_0A
+ echo 0x1018404 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_0B
+ echo 0x1018410 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_1A
+ echo 0x1018420 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_2A
+ echo 0x1018424 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_2B
+ echo 0x1018430 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_3A
+ echo 0x1018434 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_3B
+ echo 0x1018440 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_4A
+ echo 0x1018444 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_4B
+ echo 0x1018450 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_5A
+ echo 0x1018454 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_5B
+ echo 0x1018460 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_6A
+ echo 0x1018464 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_6B
+ echo 0x1018470 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_7A
+ echo 0x1018474 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_7B
+ echo 0x1018480 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_8A
+ echo 0x1018484 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_8B
+ echo 0x1018490 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_9A
+ echo 0x1018494 1 > $DCC_PATH/config ##BIMC_M_PIMEM_MPORT_STATUS_9B
+
+ echo 0x101c260 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_PIPE0_GATHERING
+ echo 0x101c264 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_PIPE1_GATHERING
+ echo 0x101c268 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_PIPE2_GATHERING
+ echo 0x101c400 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_0A
+ echo 0x101c404 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_0B
+ echo 0x101c410 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_1A
+ echo 0x101c420 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_2A
+ echo 0x101c424 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_2B
+ echo 0x101c430 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_3A
+ echo 0x101c434 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_3B
+ echo 0x101c440 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_4A
+ echo 0x101c444 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_4B
+ echo 0x101c450 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_5A
+ echo 0x101c454 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_5B
+ echo 0x101c460 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_6A
+ echo 0x101c464 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_6B
+ echo 0x101c470 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_7A
+ echo 0x101c474 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_7B
+ echo 0x101c480 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_8A
+ echo 0x101c484 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_8B
+ echo 0x101c490 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_9A
+ echo 0x101c494 1 > $DCC_PATH/config ##BIMC_M_MDSP_MPORT_STATUS_9B
+
+ echo 0x1020260 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_PIPE0_GATHERING
+ echo 0x1020264 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_PIPE1_GATHERING
+ echo 0x1020268 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_PIPE2_GATHERING
+ echo 0x1020400 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_0A
+ echo 0x1020404 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_0B
+ echo 0x1020410 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_1A
+ echo 0x1020420 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_2A
+ echo 0x1020424 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_2B
+ echo 0x1020430 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_3A
+ echo 0x1020434 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_3B
+ echo 0x1020440 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_4A
+ echo 0x1020444 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_4B
+ echo 0x1020450 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_5A
+ echo 0x1020454 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_5B
+ echo 0x1020460 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_6A
+ echo 0x1020464 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_6B
+ echo 0x1020470 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_7A
+ echo 0x1020474 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_7B
+ echo 0x1020480 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_8A
+ echo 0x1020484 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_8B
+ echo 0x1020490 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_9A
+ echo 0x1020494 1 > $DCC_PATH/config ##BIMC_M_CDSP_MPORT_STATUS_9B
+
+ echo 0x1049800 1 > $DCC_PATH/config ##BIMC_S_APP_ARB_STATUS_0A
+ echo 0x1051800 1 > $DCC_PATH/config ##BIMC_S_SYS0_ARB_STATUS_0A
+ echo 0x1031800 1 > $DCC_PATH/config ##BIMC_S_DDR0_ARB_STATUS_0A
+ echo 0x103d800 1 > $DCC_PATH/config ##BIMC_S_DDR1_ARB_STATUS_0A
+ echo 0x1048400 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_0A
+ echo 0x1050400 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_0A
+ echo 0x1048404 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_0B
+ echo 0x1048408 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_0C
+ echo 0x104840c 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_0D
+ echo 0x1048410 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_1A
+ echo 0x1048414 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_1B
+ echo 0x1048418 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_1C
+ echo 0x1048420 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_2A
+ echo 0x1048424 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_2B
+ echo 0x1048428 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_2C
+ echo 0x104842c 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_2D
+ echo 0x1048430 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_3A
+ echo 0x1048434 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_3B
+ echo 0x1048438 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_3C
+ echo 0x104843c 1 > $DCC_PATH/config ##BIMC_S_APP_SWAY_STATUS_3D
+ echo 0x1050404 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_0B
+ echo 0x1050408 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_0C
+ echo 0x105040c 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_0D
+ echo 0x1050410 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_1A
+ echo 0x1050414 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_1B
+ echo 0x1050418 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_1C
+ echo 0x1050420 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_2A
+ echo 0x1050424 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_2B
+ echo 0x1050428 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_2C
+ echo 0x105042c 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_2D
+ echo 0x1050430 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_3A
+ echo 0x1050434 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_3B
+ echo 0x1050438 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_3C
+ echo 0x105043c 1 > $DCC_PATH/config ##BIMC_S_SYS0_SWAY_STATUS_3D
+
+ ##PIMEM registers
+ echo 0x00610070 9 > $DCC_PATH/config
+ echo 0x006100D0 2 > $DCC_PATH/config
+
+ ##GIC registers
+ echo 0x17A00100 20 > $DCC_PATH/config
+ echo 0x17A00200 20 > $DCC_PATH/config
+ echo 0x17B10100 > $DCC_PATH/config
+ echo 0x17B10200 > $DCC_PATH/config
+ echo 0x17B30100 > $DCC_PATH/config
+ echo 0x17B30200 > $DCC_PATH/config
+ echo 0x17B50100 > $DCC_PATH/config
+ echo 0x17B50200 > $DCC_PATH/config
+ echo 0x17B70100 > $DCC_PATH/config
+ echo 0x17B70200 > $DCC_PATH/config
+ echo 0x17B90100 > $DCC_PATH/config
+ echo 0x17B90200 > $DCC_PATH/config
+ echo 0x17B90100 > $DCC_PATH/config
+ echo 0x17BB0200 > $DCC_PATH/config
+ echo 0x17BB0100 > $DCC_PATH/config
+ echo 0x17BD0200 > $DCC_PATH/config
+ echo 0x17BD0100 > $DCC_PATH/config
+ echo 0x17BF0200 > $DCC_PATH/config
+ echo 0x17BF0100 > $DCC_PATH/config
+
+ echo 1 > $DCC_PATH/enable
+}
+
+# Function MSM8996 DCC configuration
+enable_msm8996_dcc_config()
+{
+ DCC_PATH="/sys/bus/platform/devices/4b3000.dcc"
+ if [ ! -d $DCC_PATH ]; then
+ echo "DCC don't exist on this build."
+ return
+ fi
+
+ echo 0 > $DCC_PATH/enable
+ echo cap > $DCC_PATH/func_type
+ echo sram > $DCC_PATH/data_sink
+ echo 1 > $DCC_PATH/config_reset
+
+ #SPM Registers
+ # CPU0
+ echo 0x998000C > $DCC_PATH/config
+ echo 0x9980030 > $DCC_PATH/config
+ echo 0x998003C > $DCC_PATH/config
+ # CPU1
+ echo 0x999000C > $DCC_PATH/config
+ echo 0x9990030 > $DCC_PATH/config
+ echo 0x999003C > $DCC_PATH/config
+ # CPU2
+ echo 0x99B000C > $DCC_PATH/config
+ echo 0x99B0030 > $DCC_PATH/config
+ echo 0x99B003C > $DCC_PATH/config
+ # CPU3
+ echo 0x99C000C > $DCC_PATH/config
+ echo 0x99C0030 > $DCC_PATH/config
+ echo 0x99C003C > $DCC_PATH/config
+ # PWRL2
+ echo 0x99A000C > $DCC_PATH/config
+ echo 0x99A0030 > $DCC_PATH/config
+ echo 0x99A003C > $DCC_PATH/config
+ # PERFL2
+ echo 0x99D000C > $DCC_PATH/config
+ echo 0x99D0030 > $DCC_PATH/config
+ echo 0x99D003C > $DCC_PATH/config
+ # L3
+ echo 0x9A0000C > $DCC_PATH/config
+ echo 0x9A00030 > $DCC_PATH/config
+ echo 0x9A0003C > $DCC_PATH/config
+ # CBF
+ echo 0x9A1000C > $DCC_PATH/config
+ echo 0x9A10030 > $DCC_PATH/config
+ echo 0x9A1003C > $DCC_PATH/config
+ # PWR L2 HW-FLUSH
+ echo 0x99A1060 > $DCC_PATH/config
+ # PERF L2 HW-FLUSH
+ echo 0x99D1060 > $DCC_PATH/config
+ # APCS_APC0_SLEEP_EN_VOTE
+ echo 0x99A2030 > $DCC_PATH/config
+ # APCS_APCC_SW_EN_VOTE
+ echo 0x99E0020 > $DCC_PATH/config
+ # pIMEM
+ echo 0x0038070 > $DCC_PATH/config
+ echo 0x0038074 > $DCC_PATH/config
+ echo 0x0038078 > $DCC_PATH/config
+ echo 0x003807C > $DCC_PATH/config
+ echo 0x0038080 > $DCC_PATH/config
+ echo 0x0038084 > $DCC_PATH/config
+ echo 0x0038088 > $DCC_PATH/config
+ echo 0x003808C > $DCC_PATH/config
+
+ echo 1 > $DCC_PATH/enable
+}
+
+# Function MSM8953 DCC configuration
+enable_msm8953_dcc_config()
+{
+ DCC_PATH="/sys/bus/platform/devices/b3000.dcc"
+ if [ ! -d $DCC_PATH ]; then
+ echo "DCC don't exist on this build."
+ return
+ fi
+
+ echo 0 > $DCC_PATH/enable
+ echo cap > $DCC_PATH/func_type
+ echo sram > $DCC_PATH/data_sink
+
+ #GCC_GPLL0
+ echo 0x1821000 0x9 > $DCC_PATH/config
+
+ #GCC_GPLL2
+ echo 0x184A000 0x1 > $DCC_PATH/config
+ echo 0x184A010 0x5 > $DCC_PATH/config
+
+ #GCC_GPLL4
+ echo 0x1824000 0x1 > $DCC_PATH/config
+ echo 0x1824010 0x5 > $DCC_PATH/config
+
+ #GCC_GPLL5
+ echo 0x1825000 0x2 > $DCC_PATH/config
+ echo 0x1825010 0x1 > $DCC_PATH/config
+ echo 0x1825018 0x2 > $DCC_PATH/config
+ echo 0x1825024 0x1 > $DCC_PATH/config
+
+ #GCC_BIMC
+ echo 0x1823000 0x2 > $DCC_PATH/config
+ echo 0x1823010 0x1 > $DCC_PATH/config
+ echo 0x1823018 0x2 > $DCC_PATH/config
+ echo 0x1823024 0x1 > $DCC_PATH/config
+
+ #GCC_GPLL6
+ echo 0x1837000 0x1 > $DCC_PATH/config
+ echo 0x1837010 0x1 > $DCC_PATH/config
+ echo 0x1837018 0x2 > $DCC_PATH/config
+ echo 0x1837024 0x1 > $DCC_PATH/config
+
+ #GCC_SYSTEM_NOC
+ echo 0x1826004 0x2 > $DCC_PATH/config
+
+ #GCC_PCNOC
+ echo 0x1827000 0x2 > $DCC_PATH/config
+
+ #GCC_SYSTEM_MMNOC
+ echo 0x183D000 0x2 > $DCC_PATH/config
+
+ #GCC_DDR
+ echo 0x1832024 0x2 > $DCC_PATH/config
+
+ #GCC_BIMC
+ echo 0x1831018 0x1 > $DCC_PATH/config
+ echo 0x1831004 0x1 > $DCC_PATH/config
+ echo 0x1831024 0x3 > $DCC_PATH/config
+
+ #GCC_Q6
+ echo 0x1838030 0x2 > $DCC_PATH/config
+
+ #GCC_APSS_TCU
+ echo 0x1838000 0x2 > $DCC_PATH/config
+
+ #GCC_APSS_AXI
+ echo 0x1838048 0x2 > $DCC_PATH/config
+
+ # OCIMEM START #MARK the start
+ echo 0x00448560 1 > $DCC_PATH/config
+ echo 0x004485A0 1 > $DCC_PATH/config
+ echo 0x00448520 1 > $DCC_PATH/config
+ echo 0x00448450 1 > $DCC_PATH/config
+ echo 0x0044C08C 1 > $DCC_PATH/config
+ echo 0x0044C09C 1 > $DCC_PATH/config
+ echo 0x00408420 1 > $DCC_PATH/config
+ echo 0x00408424 1 > $DCC_PATH/config
+ echo 0x00408430 1 > $DCC_PATH/config
+ echo 0x00408434 1 > $DCC_PATH/config
+ echo 0x0041c100 1 > $DCC_PATH/config
+ echo 0x0041c420 1 > $DCC_PATH/config
+ echo 0x0041c424 1 > $DCC_PATH/config
+ echo 0x0041c430 1 > $DCC_PATH/config
+ echo 0x0041c434 1 > $DCC_PATH/config
+
+ echo 0x0040C420 1 > $DCC_PATH/config
+ echo 0x0040C424 1 > $DCC_PATH/config
+ echo 0x0040C430 1 > $DCC_PATH/config
+ echo 0x0040C434 1 > $DCC_PATH/config
+
+ echo 0x00414100 1 > $DCC_PATH/config
+ echo 0x00414420 1 > $DCC_PATH/config
+ echo 0x00414424 1 > $DCC_PATH/config
+ echo 0x00414430 1 > $DCC_PATH/config
+ echo 0x00414434 1 > $DCC_PATH/config
+ echo 0x00418420 1 > $DCC_PATH/config
+ echo 0x00418424 1 > $DCC_PATH/config
+ echo 0x00418430 1 > $DCC_PATH/config
+ echo 0x00418434 1 > $DCC_PATH/config
+
+ echo 0x00410420 1 > $DCC_PATH/config
+ echo 0x00410424 1 > $DCC_PATH/config
+ echo 0x00410430 1 > $DCC_PATH/config
+ echo 0x00410434 1 > $DCC_PATH/config
+
+ echo 0x00420420 1 > $DCC_PATH/config
+ echo 0x00420424 1 > $DCC_PATH/config
+ echo 0x00420430 1 > $DCC_PATH/config
+ echo 0x00420434 1 > $DCC_PATH/config
+
+ echo 1 > $DCC_PATH/enable
+}
+
+# Function MSM8976 DCC configuration
+enable_msm8976_dcc_config()
+{
+ DCC_PATH="/sys/bus/platform/devices/b3000.dcc"
+ if [ ! -d $DCC_PATH ]; then
+ echo "DCC don't exist on this build."
+ return
+ fi
+
+ echo 0 > $DCC_PATH/enable
+ echo cap > $DCC_PATH/func_type
+ echo sram > $DCC_PATH/data_sink
+ echo 1 > $DCC_PATH/config_reset
+
+ #BIMC_S_DDR0
+ echo 0x00448500 41 > $DCC_PATH/config
+ echo 0x0044D070 2 > $DCC_PATH/config
+ #BIMC_S_DDR1
+ echo 0x00450500 41 > $DCC_PATH/config
+ echo 0x00455070 2 > $DCC_PATH/config
+ #BMIC_M_XXX_MPORT
+ echo 0x00408400 30 > $DCC_PATH/config
+ echo 0x0040C400 30 > $DCC_PATH/config
+ echo 0x00410400 30 > $DCC_PATH/config
+ echo 0x00414400 30 > $DCC_PATH/config
+ echo 0x00418400 30 > $DCC_PATH/config
+ #APCS_ALIAS_APSS_GLB
+ echo 0x0B011014 2 > $DCC_PATH/config
+ echo 0x0B011210 1 > $DCC_PATH/config
+ echo 0x0B011218 1 > $DCC_PATH/config
+ #APCLUS1_L2_SAW2
+ echo 0x0B01200C 1 > $DCC_PATH/config
+ echo 0x0B012030 1 > $DCC_PATH/config
+ #APCS_ALIAS4_APSS_ACS
+ echo 0x0B088004 2 > $DCC_PATH/config
+ echo 0x0B088064 1 > $DCC_PATH/config
+ echo 0x0B088090 1 > $DCC_PATH/config
+ #APCS_ALIAS4_SAW2
+ echo 0x0B08900C 1 > $DCC_PATH/config
+ echo 0x0B089030 1 > $DCC_PATH/config
+ #APCS_ALIAS5_APSS_ACS
+ echo 0x0B098004 2 > $DCC_PATH/config
+ echo 0x0B098064 1 > $DCC_PATH/config
+ echo 0x0B098090 1 > $DCC_PATH/config
+ #APCS_ALIAS5_SAW2
+ echo 0x0B09900C 1 > $DCC_PATH/config
+ echo 0x0B099030 1 > $DCC_PATH/config
+ #APCS_ALIAS6_APSS_ACS
+ echo 0x0B0A8004 2 > $DCC_PATH/config
+ echo 0x0B0A8064 1 > $DCC_PATH/config
+ echo 0x0B0A8090 1 > $DCC_PATH/config
+ #APCS_ALIAS6_SAW2
+ echo 0x0B0A900C 1 > $DCC_PATH/config
+ echo 0x0B0A9030 1 > $DCC_PATH/config
+ #APCS_ALIAS7_APSS_ACS
+ echo 0x0B0B8004 2 > $DCC_PATH/config
+ echo 0x0B0B8064 1 > $DCC_PATH/config
+ echo 0x0B0B8090 1 > $DCC_PATH/config
+ #APCS_ALIAS7_SAW2
+ echo 0x0B0B900C 1 > $DCC_PATH/config
+ echo 0x0B0B9030 1 > $DCC_PATH/config
+ #APCS_ALIAS0_APSS_GLB
+ echo 0x0B111014 2 > $DCC_PATH/config
+ echo 0x0B111210 1 > $DCC_PATH/config
+ echo 0x0B111218 1 > $DCC_PATH/config
+ #APCLUS0_L2_SAW2
+ echo 0x0B11200C 1 > $DCC_PATH/config
+ echo 0x0B112030 1 > $DCC_PATH/config
+ #APCS_ALIAS0_APSS_ACS
+ echo 0x0B188004 2 > $DCC_PATH/config
+ echo 0x0B188064 1 > $DCC_PATH/config
+ #APCS_ALIAS0_SAW2
+ echo 0x0B18900C 1 > $DCC_PATH/config
+ echo 0x0B189030 1 > $DCC_PATH/config
+ #APCS_ALIAS1_APSS_ACS
+ echo 0x0B198004 2 > $DCC_PATH/config
+ echo 0x0B198064 1 > $DCC_PATH/config
+ #APCS_ALIAS1_SAW2
+ echo 0x0B19900C 1 > $DCC_PATH/config
+ echo 0x0B199030 1 > $DCC_PATH/config
+ #APCS_ALIAS2_APSS_ACS
+ echo 0x0B1A8004 2 > $DCC_PATH/config
+ echo 0x0B1A8064 1 > $DCC_PATH/config
+ #APCS_ALIAS2_SAW2
+ echo 0x0B1A900C 1 > $DCC_PATH/config
+ echo 0x0B1A9030 1 > $DCC_PATH/config
+ #APCS_ALIAS3_APSS_ACS
+ echo 0x0B1B8004 2 > $DCC_PATH/config
+ echo 0x0B1B8064 1 > $DCC_PATH/config
+ #APCS_ALIAS3_SAW2
+ echo 0x0B1B900C 1 > $DCC_PATH/config
+ echo 0x0B1B9030 1 > $DCC_PATH/config
+ #APCS_COMMON_APSS_SHARED
+ echo 0x0B1D1058 2 > $DCC_PATH/config
+ echo 0x0B1D200C 1 > $DCC_PATH/config
+ echo 0x0B1D2030 1 > $DCC_PATH/config
+
+ echo 1 > $DCC_PATH/enable
+}
+
+# Function DCC configuration
+enable_dcc_config()
+{
+ target=`getprop ro.board.platform`
+
+ 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
+
+ case "$target" in
+ "msm8996")
+ echo "Enabling DCC config for 8996."
+ enable_msm8996_dcc_config
+ ;;
+
+ "msm8998")
+ echo "Enabling DCC config for msm8998."
+ enable_msm8998_dcc_config
+ ;;
+
+ "sdm660")
+ echo "Enabling DCC config for sdm660."
+ enable_sdm660_dcc_config
+ ;;
+
+ "apq8098_latv")
+ echo "Enabling DCC config for apq8098_latv."
+ enable_msm8998_dcc_config
+ ;;
+
+ "msm8953")
+ echo "Enabling DCC config for 8953."
+ enable_msm8953_dcc_config
+ ;;
+
+ "msm8952")
+ case "$soc_id" in
+ "266" | "274" | "277" | "278")
+ echo "Enabling DCC config for 8976."
+ enable_msm8976_dcc_config
+ ;;
+ esac
+ ;;
+
+ "sdm845")
+ echo "Enabling DCC config for sdm845."
+ enable_sdm845_dcc_config
+ ;;
+ esac
+}
+
enable_msm8998_core_hang_config()
{
CORE_PATH_SILVER="/sys/devices/system/cpu/hang_detect_silver"
@@ -193,6 +1748,10 @@
echo "Enabling OSM WDOG status registers for msm8998"
enable_msm8998_osm_wdog_status_config
;;
+ "apq8098_latv")
+ echo "Enabling OSM WDOG status registers for apq8098_latv"
+ enable_msm8998_osm_wdog_status_config
+ ;;
esac
}
@@ -206,30 +1765,44 @@
enable_msm8998_core_hang_config
enable_msm8998_gladiator_hang_config
;;
+ "apq8098_latv")
+ echo "Enabling core & gladiator config for apq8098_latv"
+ enable_msm8998_core_hang_config
+ enable_msm8998_gladiator_hang_config
+ ;;
esac
}
coresight_config=`getprop persist.debug.coresight.config`
coresight_stm_cfg_done=`getprop ro.dbg.coresight.stm_cfg_done`
+srcenable="enable"
+sinkenable="curr_sink"
#Android turns off tracing by default. Make sure tracing is turned on after boot is done
if [ ! -z $coresight_stm_cfg_done ]
then
- echo 1 > /sys/kernel/debug/tracing/tracing_on
+ #echo 1 > /sys/kernel/debug/tracing/tracing_on
exit
fi
+enable_dcc_config
enable_core_gladiator_hang_config
enable_osm_wdog_status_config
case "$coresight_config" in
"stm-events")
- if [ $target == "sdm660" ]; then
+ if [ $target == "sdm660" ];
+ then
echo "Enabling STM/Debug events for SDM660"
enable_sdm660_debug
else
- echo "Enabling STM events."
- enable_stm_events
+ if [ $target == "sdm845" ];
+ then
+ srcenable="enable_source"
+ sinkenable="enable_sink"
+ fi
+ #echo "Enabling STM events."
+ #enable_stm_events
setprop ro.dbg.coresight.stm_cfg_done 1
fi
;;
diff -bur unified_n/rootdir/etc/init.qcom.early_boot.sh unified_o/rootdir/etc/init.qcom.early_boot.sh
--- unified_n/rootdir/etc/init.qcom.early_boot.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.early_boot.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,5 +1,6 @@
-#!/system/bin/sh
-# Copyright (c) 2012-2013,2016-2017 The Linux Foundation. All rights reserved.
+#! /vendor/bin/sh
+
+# Copyright (c) 2012-2013,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:
@@ -26,13 +27,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-HERE=/system/etc
-source $HERE/init.qti.dcc.sh
-
-export PATH=/system/bin
-
-#enable DCC
-enable_dcc_config
+export PATH=/vendor/bin
# Set platform variables
if [ -f /sys/devices/soc0/hw_platform ]; then
@@ -58,14 +53,20 @@
log -t BOOT -p i "MSM target '$1', SoC '$soc_hwplatform', HwID '$soc_hwid', SoC ver '$soc_hwver'"
+#For drm based display driver
+vbfile=/sys/module/drm/parameters/vblankoffdelay
+if [ -w $vbfile ]; then
+ echo -1 > $vbfile
+else
+ log -t DRM_BOOT -p w "file: '$vbfile' or perms doesn't exist"
+fi
+
function set_density_by_fb() {
#put default density based on width
if [ -z $fb_width ]; then
setprop ro.sf.lcd_density 320
else
- if [ $fb_width -ge 1440 ]; then
- setprop ro.sf.lcd_density 560
- elif [ $fb_width -ge 1080 ]; then
+ if [ $fb_width -ge 1080 ]; then
setprop ro.sf.lcd_density 480
elif [ $fb_width -ge 720 ]; then
setprop ro.sf.lcd_density 320 #for 720X1280 resolution
@@ -202,6 +203,10 @@
setprop ro.sf.lcd_density 240
setprop qemu.hw.mainkeys 0
;;
+ "ADP")
+ setprop ro.sf.lcd_density 160
+ setprop qemu.hw.mainkeys 0
+ ;;
"SBC")
setprop ro.sf.lcd_density 240
setprop qemu.hw.mainkeys 0
@@ -216,13 +221,12 @@
# MSM8937 and MSM8940 variants supports OpenGLES 3.1
# 196608 is decimal for 0x30000 to report version 3.0
# 196609 is decimal for 0x30001 to report version 3.1
- # 196610 is decimal for 0x30002 to report version 3.2
case "$soc_hwid" in
294|295|296|297|298|313)
- setprop ro.opengles.version 196610
+ setprop ro.opengles.version 196609
;;
- 303|307|308|309|320)
- # Vulkan is not supported for 8917 & 8920 variants
+ 303|307|308|309)
+ # Vulkan is not supported for 8917 variants
setprop ro.opengles.version 196608
setprop persist.graphics.vulkan.disable true
;;
@@ -231,7 +235,27 @@
;;
esac
;;
- "msm8998")
+ "msm8909")
+ case "$soc_hwplatform" in
+ *)
+ setprop persist.graphics.vulkan.disable true
+ ;;
+ esac
+ ;;
+ "msm8998" | "apq8098_latv")
+ case "$soc_hwplatform" in
+ *)
+ setprop ro.sf.lcd_density 560
+ if [ ! -e /dev/kgsl-3d0 ]; then
+ setprop persist.sys.force_sw_gles 1
+ setprop sdm.idle_time 0
+ else
+ setprop persist.sys.force_sw_gles 0
+ fi
+ ;;
+ esac
+ ;;
+ "sdm845")
case "$soc_hwplatform" in
*)
setprop ro.sf.lcd_density 560
@@ -244,6 +268,33 @@
;;
esac
;;
+ "sdm660")
+ if [ -f /firmware/verinfo/ver_info.txt ]; then
+ Meta_Build_ID=`cat /firmware/verinfo/ver_info.txt |
+ sed -n 's/^[^:]*Meta_Build_ID[^:]*:[[:blank:]]*//p' |
+ sed 's/.*LA.\(.*\)/\1/g' | cut -d \- -f 1`
+ # In SDM660 if meta version is greater than 2.1, need
+ # to use the new vendor-ril which supports L+L feature
+ # otherwise use the existing old one.
+ product=`getprop ro.product.device`
+ case "$product" in
+ "sdm660_64")
+ if [ "$Meta_Build_ID" \< "2.1" ]; then
+ setprop vendor.rild.libpath "/vendor/lib64/libril-qc-qmi-1.so"
+ else
+ setprop vendor.rild.libpath "/vendor/lib64/libril-qc-hal-qmi.so"
+ fi
+ ;;
+ "sdm660_32")
+ if [ "$Meta_Build_ID" \< "2.1" ]; then
+ setprop vendor.rild.libpath "/vendor/lib/libril-qc-qmi-1.so"
+ else
+ setprop vendor.rild.libpath "/vendor/lib/libril-qc-hal-qmi.so"
+ fi
+ ;;
+ esac
+ fi
+ ;;
esac
#set default lcd density
#Since lcd density has read only
@@ -283,14 +334,17 @@
set_perms $file/pa system.graphics 0664
set_perms $file/cec/wr_msg system.graphics 0600
set_perms $file/hdcp/tp system.graphics 0664
- set_perms $file/hdcp2p2/min_level_change system.graphics 0660
set_perms $file/hdmi_audio_cb audioserver.audio 0600
ln -s $dev_file $dev_gfx_hdmi
}
-# check for HDMI connection
-for fb_cnt in 0 1 2 3
-do
+# check for the type of driver FB or DRM
+fb_driver=/sys/class/graphics/fb0
+if [ -e "$fb_driver" ]
+then
+ # check for HDMI connection
+ for fb_cnt in 0 1 2 3
+ do
file=/sys/class/graphics/fb$fb_cnt/msm_fb_panel_info
if [ -f "$file" ]
then
@@ -304,15 +358,12 @@
esac
done
fi
-done
-
-
+ done
-# check for mdp caps
-file=/sys/class/graphics/fb0/mdp/caps
-if [ -f "$file" ]
-then
- setprop debug.gralloc.enable_fb_ubwc 0
+ # check for mdp caps
+ file=/sys/class/graphics/fb0/mdp/caps
+ if [ -f "$file" ]
+ then
setprop debug.gralloc.gfx_ubwc_disable 1
cat $file | while read line; do
case "$line" in
@@ -321,22 +372,22 @@
setprop debug.gralloc.gfx_ubwc_disable 0
esac
done
-fi
+ fi
-file=/sys/class/graphics/fb0
-if [ -d "$file" ]
-then
+ file=/sys/class/graphics/fb0
+ if [ -d "$file" ]
+ then
set_perms $file/idle_time system.graphics 0664
set_perms $file/dynamic_fps system.graphics 0664
set_perms $file/dyn_pu system.graphics 0664
set_perms $file/modes system.graphics 0664
set_perms $file/mode system.graphics 0664
set_perms $file/msm_cmd_autorefresh_en system.graphics 0664
-fi
+ fi
-# set lineptr permissions for all displays
-for fb_cnt in 0 1 2 3
-do
+ # set lineptr permissions for all displays
+ for fb_cnt in 0 1 2 3
+ do
file=/sys/class/graphics/fb$fb_cnt
if [ -f "$file/lineptr_value" ]; then
set_perms $file/lineptr_value system.graphics 0664
@@ -344,7 +395,8 @@
if [ -f "$file/msm_fb_persist_mode" ]; then
set_perms $file/msm_fb_persist_mode system.graphics 0664
fi
-done
+ done
+fi
boot_reason=`cat /proc/sys/kernel/boot_reason`
reboot_reason=`getprop ro.boot.alarmboot`
@@ -364,23 +416,3 @@
gpu_freq=`cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies` 2> /dev/null
setprop ro.gpu.available_frequencies "$gpu_freq"
fi
-
-# set kgsl sysfs nodes permissions to allow adjustment by VR service
-file=/sys/devices/virtual/workqueue/kgsl-events/
-if [ -f "$file/cpumask" ]; then
- set_perms $file/cpumask system.graphics 0664
-fi
-if [ -f "$file/nice" ]; then
- set_perms $file/nice system.graphics 0664
-fi
-file=/sys/devices/virtual/workqueue/kgsl-workqueue/
-if [ -f "$file/cpumask" ]; then
- set_perms $file/cpumask system.graphics 0664
-fi
-if [ -f "$file/nice" ]; then
- set_perms $file/nice system.graphics 0664
-fi
-file=/sys/class/kgsl/kgsl-3d0/
-if [ -f "$file/pwrscale" ]; then
- set_perms $file/pwrscale system.graphics 0664
-fi
diff -bur unified_n/rootdir/etc/init.qcom.efs.sync.sh unified_o/rootdir/etc/init.qcom.efs.sync.sh
--- unified_n/rootdir/etc/init.qcom.efs.sync.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.efs.sync.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.factory.rc unified_o/rootdir/etc/init.qcom.factory.rc
--- unified_n/rootdir/etc/init.qcom.factory.rc 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.factory.rc 2017-08-30 14:59:55.478875894 +0530
@@ -33,15 +33,23 @@
disabled
on property:sys.boot_mode=ffbm
- write -p /dev/block /dev/block/bootdevice/by-name/misc "ffbm-01"
+ write /dev/block/bootdevice/by-name/misc "ffbm-01"
+
+on property:sys.boot_mode=qmmi
+ write -p /dev/block /dev/block/bootdevice/by-name/misc "ffbm-02"
on property:sys.boot_mode=normal
- write -p /dev/block /dev/block/bootdevice/by-name/misc "normal"
+ write /dev/block/bootdevice/by-name/misc "normal"
# Creating a scratch storage on /data for factory testing.
on factory-fs
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
# ========================================================
# This is FFBM only settings.
Only in unified_n/rootdir/etc: init.qcom.fm.sh
diff -bur unified_n/rootdir/etc/init.qcom.post_boot.sh unified_o/rootdir/etc/init.qcom.post_boot.sh
--- unified_n/rootdir/etc/init.qcom.post_boot.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.post_boot.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,5 +1,6 @@
-#!/system/bin/sh
-# Copyright (c) 2012-2013, 2016-2017 The Linux Foundation. All rights reserved.
+#! /vendor/bin/sh
+
+# Copyright (c) 2012-2013, 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:
@@ -28,6 +29,16 @@
target=`getprop ro.board.platform`
+function configure_zram_parameters() {
+ # Zram disk - 512MB size
+ zram_enable=`getprop ro.vendor.qti.config.zram`
+ if [ "$zram_enable" == "true" ]; then
+ echo 536870912 > /sys/block/zram0/disksize
+ mkswap /dev/block/zram0
+ swapon /dev/block/zram0 -p 32758
+ fi
+}
+
function configure_memory_parameters() {
# Set Memory paremeters.
#
@@ -43,68 +54,72 @@
# Set ALMK parameters (usually above the highest minfree values)
# 32 bit will have 53K & 64 bit will have 81K
#
+
+ProductName=`getprop ro.product.name`
+
+if [ "$ProductName" == "msm8996" ]; then
+ # Enable Adaptive LMK
+ echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
+ echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
+
+ configure_zram_parameters
+else
arch_type=`uname -m`
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
- MemTotalPg=$((MemTotal / 4))
# Read adj series and set adj threshold for PPR and ALMK.
# This is required since adj values change from framework to framework.
adj_series=`cat /sys/module/lowmemorykiller/parameters/adj`
adj_1="${adj_series#*,}"
set_almk_ppr_adj="${adj_1%%,*}"
+
# PPR and ALMK should not act on HOME adj and below.
# Normalized ADJ for HOME is 6. Hence multiply by 6
# ADJ score represented as INT in LMK params, actual score can be in decimal
# Hence add 6 considering a worst case of 0.9 conversion to INT (0.9*6).
set_almk_ppr_adj=$(((set_almk_ppr_adj * 6) + 6))
-
- # ALMK is enabled for all configurations
- echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
- echo 80 > /sys/module/vmpressure/parameters/allocstall_threshold
echo $set_almk_ppr_adj > /sys/module/lowmemorykiller/parameters/adj_max_shift
+ echo $set_almk_ppr_adj > /sys/module/process_reclaim/parameters/min_score_adj
- # LMK and ALMK confguration changes based on arch type and total RAM size
+ #Set other memory parameters
+ echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim
+ echo 70 > /sys/module/process_reclaim/parameters/pressure_max
+ echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff
+ echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
if [ "$arch_type" == "aarch64" ] && [ $MemTotal -gt 2097152 ]; then
+ echo 10 > /sys/module/process_reclaim/parameters/pressure_min
+ echo 1024 > /sys/module/process_reclaim/parameters/per_swap_size
echo "18432,23040,27648,32256,55296,80640" > /sys/module/lowmemorykiller/parameters/minfree
echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
- elif [ "$arch_type" == "aarch64" ] ; then
+ elif [ "$arch_type" == "aarch64" ] && [ $MemTotal -gt 1048576 ]; then
+ echo 10 > /sys/module/process_reclaim/parameters/pressure_min
+ echo 1024 > /sys/module/process_reclaim/parameters/per_swap_size
+ echo "14746,18432,22118,25805,40000,55000" > /sys/module/lowmemorykiller/parameters/minfree
+ echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
+ elif [ "$arch_type" == "aarch64" ]; then
+ echo 50 > /sys/module/process_reclaim/parameters/pressure_min
+ echo 512 > /sys/module/process_reclaim/parameters/per_swap_size
echo "14746,18432,22118,25805,40000,55000" > /sys/module/lowmemorykiller/parameters/minfree
echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
else
+ echo 50 > /sys/module/process_reclaim/parameters/pressure_min
+ echo 512 > /sys/module/process_reclaim/parameters/per_swap_size
echo "15360,19200,23040,26880,34415,43737" > /sys/module/lowmemorykiller/parameters/minfree
echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
fi
- if [ $MemTotal -lt 3670016 ]; then
- # Enable and configure process reclaim with memory less than 3.5 GB
- echo $set_almk_ppr_adj > /sys/module/process_reclaim/parameters/min_score_adj
- echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim
- echo 10 > /sys/module/process_reclaim/parameters/pressure_min
- echo 70 > /sys/module/process_reclaim/parameters/pressure_max
- echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff
- echo 512 > /sys/module/process_reclaim/parameters/per_swap_size
- echo 100 > /proc/sys/vm/swappiness
- else
- # Set swappiness to 60
- # Disable process reclaim for config with memory greater than 3.5 GB
- echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim
- echo 60 > /proc/sys/vm/swappiness
- fi
-
+ configure_zram_parameters
+ SWAP_ENABLE_THRESHOLD=1048576
+ swap_enable=`getprop ro.vendor.qti.config.swap`
- # Zram disk - 512MB size
- zram_enable=`getprop ro.config.zram`
- if [ "$zram_enable" == "true" ]; then
- echo 536870912 > /sys/block/zram0/disksize
- mkswap /dev/block/zram0
- swapon /dev/block/zram0 -p 32758
+ 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
- SWAP_ENABLE_THRESHOLD=1048576
- swap_enable=`getprop ro.config.swap`
-
# Enable swap initially only for 1 GB targets
if [ "$MemTotal" -le "$SWAP_ENABLE_THRESHOLD" ] && [ "$swap_enable" == "true" ]; then
# Static swiftness
@@ -118,31 +133,32 @@
mkswap /data/system/swap/swapfile
swapon /data/system/swap/swapfile -p 32758
fi
+fi
}
-function set_rt_bandwidth()
+function enable_memory_features()
{
- # The default RT bandwidth setttings for bg_non_interactive cgroup
- # is 10 msec/1 sec. There should not be any active RT tasks in this
- # cgroup, so the limited bandwidth is not a concern. But the tasks
- # in this cgroup can be boosted to RT priority when they acquire a
- # RT mutex. The RT throttling is exempted for boosted tasks, but when
- # a kernel debug feature is turned on, we hit panic. We can opt out
- # of panic when a RT runqueue has boosted tasks, but that would mean
- # a task acquiring a RT mutex can run for a very long time without
- # getting noticed. Instead set the bg_non_interactive cgroup RT
- # bandwidth settings to same as the root cgroup settings.
-
- if [ ! -f /dev/cpuctl/bg_non_interactive/cpu.rt_runtime_us ]; then
- return
- fi
+ MemTotalStr=`cat /proc/meminfo | grep MemTotal`
+ MemTotal=${MemTotalStr:16:8}
- if [ ! -f /dev/cpuctl/cpu.rt_runtime_us ]; then
- return
+ if [ $MemTotal -le 2097152 ]; then
+ #Enable B service adj transition for 2GB or less memory
+ setprop ro.vendor.qti.sys.fw.bservice_enable true
+ setprop ro.vendor.qti.sys.fw.bservice_limit 5
+ setprop ro.vendor.qti.sys.fw.bservice_age 5000
+
+ #Enable Delay Service Restart
+ setprop ro.vendor.qti.am.reschedule_service true
fi
+}
- rt_runtime=`cat /dev/cpuctl/cpu.rt_runtime_us`
- echo $rt_runtime > /dev/cpuctl/bg_non_interactive/cpu.rt_runtime_us
+function start_hbtp()
+{
+ # Start the Host based Touch processing but not in the power off mode.
+ bootmode=`getprop ro.bootmode`
+ if [ "charger" != $bootmode ]; then
+ start hbtp
+ fi
}
case "$target" in
@@ -482,14 +498,14 @@
"Surf")
case "$platform_subtype_id" in
"1")
- start hbtp
+ start_hbtp
;;
esac
;;
"MTP")
case "$platform_subtype_id" in
"3")
- start hbtp
+ start_hbtp
;;
esac
;;
@@ -736,16 +752,6 @@
case "$target" in
"msm8952")
- #Enable adaptive LMK and set vmpressure_file_min
- ProductName=`getprop ro.product.name`
- if [ "$ProductName" == "msm8952_32" ] || [ "$ProductName" == "msm8952_32_LMT" ]; then
- echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
- echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
- elif [ "$ProductName" == "msm8952_64" ] || [ "$ProductName" == "msm8952_64_LMT" ]; then
- echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
- echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
- fi
-
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
@@ -789,19 +795,19 @@
echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle
echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle
- for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
+ for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor
do
echo "cpufreq" > $devfreq_gov
done
- for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor
+ for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor
do
echo "bw_hwmon" > $devfreq_gov
- for cpu_io_percent in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/io_percent
+ for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent
do
echo 20 > $cpu_io_percent
done
- for cpu_guard_band in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/guard_band_mbps
+ for cpu_guard_band in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps
do
echo 30 > $cpu_guard_band
done
@@ -912,6 +918,10 @@
echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating
# Enable timer migration to little cluster
echo 1 > /proc/sys/kernel/power_aware_timer_migration
+
+ # Set Memory parameters
+ configure_memory_parameters
+
;;
*)
panel=`cat /sys/class/graphics/fb0/modes`
@@ -954,19 +964,19 @@
echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run
echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run
- for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
+ for devfreq_gov in /sys/class/devfreq/*qcom,mincpubw*/governor
do
echo "cpufreq" > $devfreq_gov
done
- for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor
+ for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor
do
echo "bw_hwmon" > $devfreq_gov
- for cpu_io_percent in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/io_percent
+ for cpu_io_percent in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/io_percent
do
echo 20 > $cpu_io_percent
done
- for cpu_guard_band in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/guard_band_mbps
+ for cpu_guard_band in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps
do
echo 30 > $cpu_guard_band
done
@@ -1110,16 +1120,20 @@
# Enable timer migration to little cluster
echo 1 > /proc/sys/kernel/power_aware_timer_migration
+
+ # Set Memory parameters
+ configure_memory_parameters
+
;;
esac
+ #Enable Memory Features
+ enable_memory_features
;;
esac
case "$target" in
"msm8953")
- set_rt_bandwidth
-
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
@@ -1142,7 +1156,7 @@
#1200p panel is connected to the device.
dir="/sys/bus/i2c/devices/3-0038"
if [ ! -d "$dir" ]; then
- start hbtp
+ start_hbtp
fi
;;
esac
@@ -1336,8 +1350,6 @@
case "$target" in
"msm8937")
- set_rt_bandwidth
-
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
@@ -1356,7 +1368,7 @@
# Start Host based Touch processing
case "$hw_platform" in
"MTP" | "Surf" | "RCM" )
- start hbtp
+ start_hbtp
;;
esac
# Apply Scheduler and Governor settings for 8917 / 8920
@@ -1469,7 +1481,7 @@
# Start Host based Touch processing
case "$hw_platform" in
"MTP" | "Surf" | "RCM" )
- start hbtp
+ start_hbtp
;;
esac
@@ -1622,7 +1634,10 @@
case "$target" in
"sdm660")
- set_rt_bandwidth
+ # Set the default IRQ affinity to the primary cluster. When a
+ # CPU is isolated/hotplugged, the IRQ affinity is adjusted
+ # to one of the CPU from the default IRQ affinity mask.
+ echo f > /proc/irq/default_smp_affinity
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
@@ -1664,8 +1679,8 @@
# Setting b.L scheduler parameters
echo 96 > /proc/sys/kernel/sched_upmigrate
echo 90 > /proc/sys/kernel/sched_downmigrate
- echo 200 > /proc/sys/kernel/sched_group_upmigrate
- echo 180 > /proc/sys/kernel/sched_group_downmigrate
+ echo 140 > /proc/sys/kernel/sched_group_upmigrate
+ echo 120 > /proc/sys/kernel/sched_group_downmigrate
echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us
echo 400000 > /proc/sys/kernel/sched_freq_inc_notify
echo 400000 > /proc/sys/kernel/sched_freq_dec_notify
@@ -1673,6 +1688,10 @@
echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill
echo 100000 > /proc/sys/kernel/sched_short_burst_ns
+ # cpuset settings
+ echo 0-3 > /dev/cpuset/background/cpus
+ echo 0-3 > /dev/cpuset/system-background/cpus
+
# disable thermal bcl hotplug to switch governor
echo 0 > /sys/module/msm_thermal/core_control/enabled
@@ -1777,10 +1796,7 @@
# Start Host based Touch processing
case "$hw_platform" in
"MTP" | "Surf" | "RCM" | "QRD" )
- bootmode=`getprop ro.bootmode`
- if [ "$bootmode" != "charger" ]; then
- start hbtp
- fi
+ start_hbtp
;;
esac
;;
@@ -1792,10 +1808,7 @@
# Start Host based Touch processing
case "$hw_platform" in
"MTP" | "Surf" | "RCM" | "QRD" )
- bootmode=`getprop ro.bootmode`
- if [ "$bootmode" != "charger" ]; then
- start hbtp
- fi
+ start_hbtp
;;
esac
@@ -1814,6 +1827,10 @@
echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill
echo 50000 > /proc/sys/kernel/sched_short_burst_ns
+ # cpuset settings
+ echo 0-3 > /dev/cpuset/background/cpus
+ echo 0-3 > /dev/cpuset/system-background/cpus
+
# disable thermal bcl hotplug to switch governor
echo 0 > /sys/module/msm_thermal/core_control/enabled
for mode in /sys/devices/soc.0/qcom,bcl.*/mode
@@ -2237,8 +2254,6 @@
case "$target" in
"msm8996")
- set_rt_bandwidth
-
# disable thermal bcl hotplug to switch governor
echo 0 > /sys/module/msm_thermal/core_control/enabled
echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode
@@ -2248,9 +2263,6 @@
echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask
echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode
- # Enable Adaptive LMK
- echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
- echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
# configure governor settings for little cluster
echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load
@@ -2347,13 +2359,31 @@
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
# Starting io prefetcher service
start iop
+
+ # Set Memory parameters
+ configure_memory_parameters
;;
esac
case "$target" in
- "msmskunk")
- set_rt_bandwidth
+ "sdm845")
+
+ # Set the default IRQ affinity to the silver cluster. When a
+ # CPU is isolated/hotplugged, the IRQ affinity is adjusted
+ # to one of the CPU from the default IRQ affinity mask.
+ echo f > /proc/irq/default_smp_affinity
+
+ 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
+ case "$soc_id" in
+ "321") #sdm845
+ start_hbtp
+ ;;
+ esac
# Core control parameters
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
@@ -2364,7 +2394,7 @@
# Setting b.L scheduler parameters
echo 95 > /proc/sys/kernel/sched_upmigrate
- echo 90 > /proc/sys/kernel/sched_downmigrate
+ echo 85 > /proc/sys/kernel/sched_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 95 > /proc/sys/kernel/sched_group_downmigrate
echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us
@@ -2373,19 +2403,94 @@
echo 5 > /proc/sys/kernel/sched_spill_nr_run
echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill
+ # configure governor settings for little cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us
+ echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
+
+ # configure governor settings for big cluster
+ echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
+ echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us
+ echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
+ echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq
+ echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms
+
+ # Enable bus-dcvs
+ for cpubw in /sys/class/devfreq/*qcom,cpubw*
+ do
+ echo "bw_hwmon" > $cpubw/governor
+ echo 50 > $cpubw/polling_interval
+ echo "2288 4577 6500 8132 9155 10681" > $cpubw/bw_hwmon/mbps_zones
+ echo 4 > $cpubw/bw_hwmon/sample_ms
+ echo 34 > $cpubw/bw_hwmon/io_percent
+ echo 20 > $cpubw/bw_hwmon/hist_memory
+ echo 10 > $cpubw/bw_hwmon/hyst_length
+ echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps
+ echo 34 > $cpubw/bw_hwmon/low_power_io_percent
+ echo 20 > $cpubw/bw_hwmon/low_power_delay
+ echo 0 > $cpubw/bw_hwmon/guard_band_mbps
+ echo 250 > $cpubw/bw_hwmon/up_scale
+ echo 1600 > $cpubw/bw_hwmon/idle_mbps
+ done
+
+ for llccbw in /sys/class/devfreq/*qcom,llccbw*
+ do
+ echo "bw_hwmon" > $llccbw/governor
+ echo 50 > $llccbw/polling_interval
+ echo "1720 2929 4943 5931 6881" > $llccbw/bw_hwmon/mbps_zones
+ echo 4 > $llccbw/bw_hwmon/sample_ms
+ echo 68 > $llccbw/bw_hwmon/io_percent
+ echo 20 > $llccbw/bw_hwmon/hist_memory
+ echo 10 > $llccbw/bw_hwmon/hyst_length
+ echo 0 > $llccbw/bw_hwmon/low_power_ceil_mbps
+ echo 68 > $llccbw/bw_hwmon/low_power_io_percent
+ echo 20 > $llccbw/bw_hwmon/low_power_delay
+ echo 0 > $llccbw/bw_hwmon/guard_band_mbps
+ echo 250 > $llccbw/bw_hwmon/up_scale
+ echo 1600 > $llccbw/bw_hwmon/idle_mbps
+ done
+
+ #Enable mem_latency governor for DDR scaling
+ for memlat in /sys/class/devfreq/*qcom,memlat-cpu*
+ do
+ echo "mem_latency" > $memlat/governor
+ echo 10 > $memlat/polling_interval
+ echo 400 > $memlat/mem_latency/ratio_ceil
+ done
+
+ #Enable mem_latency governor for L3 scaling
+ for memlat in /sys/class/devfreq/*qcom,l3-cpu*
+ do
+ echo "mem_latency" > $memlat/governor
+ echo 10 > $memlat/polling_interval
+ echo 400 > $memlat/mem_latency/ratio_ceil
+ done
+
+ echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor
+
# cpuset parameters
- echo 0 > /dev/cpuset/background/cpus
- echo 0-2 > /dev/cpuset/system-background/cpus
+ echo 0-3 > /dev/cpuset/background/cpus
+ echo 0-3 > /dev/cpuset/system-background/cpus
# Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost
+ # Disable CPU Retention
+ echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled
+ echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled
+ # Turn on sleep modes.
+ echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
+ echo 100 > /proc/sys/vm/swappiness
;;
esac
case "$target" in
- "msm8998")
-
- set_rt_bandwidth
+ "msm8998" | "apq8098_latv")
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
@@ -2487,45 +2592,31 @@
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
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/platform_version ]; then
platform_version=`cat /sys/devices/soc0/platform_version`
platform_major_version=$((10#${platform_version}>>16))
fi
+ if [ -f /sys/devices/soc0/platform_subtype_id ]; then
+ platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
+ fi
+
case "$soc_id" in
- "292") #msm8998
+ "292") #msm8998 apq8098_latv
# Start Host based Touch processing
case "$hw_platform" in
"QRD")
case "$platform_subtype_id" in
"0")
- start hbtp
+ start_hbtp
;;
"16")
if [ $platform_major_version -lt 6 ]; then
- echo 0 > /sys/class/graphics/fb1/hpd
- start hbtp
+ start_hbtp
fi
;;
esac
- ;;
- "Surf")
- case "$platform_subtype_id" in
- "1")
- start hbtp
- ;;
- esac
- ;;
- "MTP")
- case "$platform_subtype_id" in
- "2")
- start hbtp
- ;;
- esac
+
;;
esac
;;
@@ -2544,6 +2635,7 @@
echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled
echo N > /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled
echo N > /sys/module/lpm_levels/parameters/sleep_disabled
+
echo 0-3 > /dev/cpuset/background/cpus
echo 0-3 > /dev/cpuset/system-background/cpus
echo 0 > /proc/sys/kernel/sched_boost
@@ -2553,8 +2645,6 @@
case "$target" in
"msm8909")
- set_rt_bandwidth
-
if [ -f /sys/devices/soc0/soc_id ]; then
soc_id=`cat /sys/devices/soc0/soc_id`
else
@@ -2595,10 +2685,13 @@
echo 1 > /sys/devices/system/cpu/cpu3/online
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
- for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor
+ for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor
do
echo "bw_hwmon" > $devfreq_gov
done
+
+ # Set Memory parameters
+ configure_memory_parameters
;;
esac
@@ -2651,6 +2744,12 @@
"msm8916")
setprop sys.post_boot.parsed 1
;;
+ "msm8909")
+ setprop sys.post_boot.parsed 1
+ ;;
+ "msm8952")
+ setprop sys.post_boot.parsed 1
+ ;;
"msm8937" | "msm8953")
echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb
echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb
@@ -2663,7 +2762,7 @@
start mpdecision
echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb
;;
- "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660")
+ "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845")
setprop sys.post_boot.parsed 1
;;
"apq8084")
diff -bur unified_n/rootdir/etc/init.qcom.rc unified_o/rootdir/etc/init.qcom.rc
--- unified_n/rootdir/etc/init.qcom.rc 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.rc 2017-08-30 14:59:55.478875894 +0530
@@ -25,15 +25,17 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-import init.qcom.usb.rc
-import init.msm.usb.configfs.rc
-import init.target.rc
-import init.qcom.factory.rc
-import init.qcom.test.rc
+import /vendor/etc/init/hw/init.qcom.usb.rc
+import /vendor/etc/init/hw/init.msm.usb.configfs.rc
+import /vendor/etc/init/hw/init.target.rc
+import /vendor/etc/init/hw/init.qcom.factory.rc
+import /vendor/etc/init/hw/init.qcom.test.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
+ chown root system /dev/kmsg
+ chmod 0620 /dev/kmsg
on init
# Set permissions for persist partition
@@ -44,16 +46,14 @@
symlink /sdcard /storage/sdcard0
# Create cgroup mount point for memory
- mount tmpfs none /sys/fs/cgroup mode=0750,uid=0,gid=1000
- mkdir /sys/fs/cgroup/memory 0750 root system
- mount cgroup none /sys/fs/cgroup/memory memory
- write /sys/fs/cgroup/memory/memory.move_charge_at_immigrate 0
- chown root system /sys/fs/cgroup/memory/tasks
- chmod 0660 /sys/fs/cgroup/memory/tasks
+ mkdir /sys/fs/cgroup/memory/bg 0750 root system
+ write /sys/fs/cgroup/memory/bg/memory.swappiness 140
+ write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
+ chown root system /sys/fs/cgroup/memory/bg/tasks
+ chmod 0660 /sys/fs/cgroup/memory/bg/tasks
on post-fs
chmod 0755 /sys/kernel/debug/tracing
- restorecon /sys/kernel/debug/tracing/trace_marker
on early-boot
# set RLIMIT_MEMLOCK to 64MB
@@ -62,7 +62,7 @@
write /sys/kernel/boot_adsp/boot 1
write /sys/kernel/boot_cdsp/boot 1
write /sys/kernel/boot_slpi/boot 1
- exec u:r:qti_init_shell:s0 -- /init.qcom.early_boot.sh
+ exec u:r:qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh
on boot
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
@@ -77,6 +77,7 @@
chown system system /sys/module/msm_core/parameters/disabled
chown system system /sys/kernel/debug/msm_core/enable
chown system system /sys/kernel/debug/msm_core/ptable
+ chown system system /sys/kernel/boot_slpi/ssr
chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/module/bluetooth_power/parameters/power
chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
@@ -84,7 +85,6 @@
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /proc/bluetooth/sleep/proto
chown bluetooth net_bt /dev/ttyHS0
- chown bluetooth net_bt /dev/btpower
chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
chmod 0660 /dev/ttyHS0
@@ -112,6 +112,7 @@
mkdir /persist/misc 0770 system system
mkdir /persist/alarm 0770 system system
mkdir /persist/time 0770 system system
+ mkdir /persist/secnvm 0770 system system
#Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
@@ -134,9 +135,6 @@
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
- #For bridgemgr daemon to inform the USB driver of the correct transport
- chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
-
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208
@@ -157,28 +155,6 @@
write /proc/sys/net/core/rmem_max 8388608
write /proc/sys/net/core/wmem_max 8388608
- #To allow interfaces to get v6 address when tethering is enabled
- write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
- write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
-
# To prevent out of order acknowledgements from making
# connection tracking to treat them as not belonging to
# the connection they belong to.
@@ -198,8 +174,8 @@
chown wifi wifi /sys/class/net/bond0/bonding/queue_id
# Allow access to emmc rawdump block partition and dload sysfs node
- chown root system /dev/block/bootdevice/by-name/rawdump -p /dev/block/
- chmod 0660 /dev/block/bootdevice/by-name/rawdump -p /dev/block/
+ chown root system /dev/block/bootdevice/by-name/rawdump
+ chmod 0660 /dev/block/bootdevice/by-name/rawdump
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump -p /dev/block/
@@ -207,28 +183,77 @@
chown root system /sys/kernel/dload/dload_mode
chmod 0660 /sys/kernel/dload/dload_mode
+ chown system system /sys/class/backlight/panel0-backlight/brightness
+ chown system system /sys/class/backlight/panel0-backlight/max_brightness
+
+ # Allow access to sensors device attributes
+ chown system system /sys/class/sensors/MPU6050-accel/enable
+ chown system system /sys/class/sensors/MPU6050-accel/poll_delay
+ chown system system /sys/class/sensors/MPU6050-gyro/enable
+ chown system system /sys/class/sensors/MPU6050-gyro/poll_delay
+
+ # Create directory used for display
+ mkdir /persist/display 0770 system graphics
+
+ # Create vpp directory
+ mkdir /persist/vpp 0770 media media
+
+ # load WIGIG platform driver
+ insmod /vendor/lib/modules/msm_11ad_proxy.ko
+
# msm specific files that need to be created on /data
on post-fs-data
+ mkdir /data/vendor/misc 01771 system system
+
+ # Create directory used by display clients
+ mkdir /data/vendor/display 0770 system graphics
+
+ # Change lm related dirs
+ mkdir /data/vendor/lm 0700 root root
+
+ # Create directory used by media clients
+ mkdir /data/vendor/media 0770 mediacodec media
+
#Create directories for Fingerprint
- mkdir /data/misc/stargate 0770 system system
- mkdir /data/misc/stargate/bg_estimation 0770 system system
- mkdir /data/misc/stargate/calib_test 0770 system system
- mkdir /data/misc/stargate/database 0770 system system
+ mkdir /data/vendor/misc/qti_fp 0770 system system
+ mkdir /data/vendor/misc/qti_fp/bg_estimation 0770 system system
+ mkdir /data/vendor/misc/qti_fp/calib_test 0770 system system
+ mkdir /data/vendor/misc/qti_fp/database 0770 system system
+
+ # create QDMA dropbox
+ mkdir /data/vendor/qdmastats 0700 system system
+ mkdir /data/vendor/qdma 0770 system system
# Create directory for TZ Apps
mkdir /data/misc/qsee 0770 system system
+ # Create directory for apps access via QTEEConnector
+ mkdir /data/vendor/qtee 0770 system system
+
+ # Create directory for voiceprint
+ mkdir /data/misc/qvop 0771 system system
+
#Create folder for mm-qcamera-daemon
mkdir /data/misc/camera 0770 camera camera
mkdir /data/media 0770 media_rw media_rw
chown media_rw media_rw /data/media
- mkdir /data/misc/ipa 0700 net_admin net_admin
+ #Create directory for tftp
+ mkdir /data/vendor/tombstones 0771 system system
+ mkdir /data/vendor/ramdump 0771 root system
mkdir /data/misc/bluetooth 0770 bluetooth bluetooth
+ mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth
+ mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth
# Create the directories used by the Wireless subsystem
+ mkdir /data/vendor/wifi 0770 wifi wifi
+ mkdir /data/vendor/wifi/sockets 0770 wifi wifi
+ mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
+ mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
+ mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
+ mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
@@ -236,12 +261,16 @@
chown dhcp dhcp /data/misc/dhcp
#create port-bridge log dir
- mkdir /data/misc/port_bridge 0770 radio radio
- chmod 0770 /data/misc/port_bridge
+ mkdir /data/vendor/port_bridge 0770 radio radio
+ chmod 0770 /data/vendor/port_bridge
#create netmgr log dir
- mkdir /data/misc/netmgr 0770 radio radio
- chmod 0770 /data/misc/netmgr
+ mkdir /data/vendor/netmgr 0770 radio radio
+ chmod 0770 /data/vendor/netmgr
+
+ #create ipacm log dir
+ mkdir /data/vendor/ipa 0770 radio radio
+ chmod 0770 /data/vendor/ipa
# Create the directories used by CnE subsystem
mkdir /data/connectivity 0771 system system
@@ -255,17 +284,17 @@
chown system system /data/dpm/nsrm
# Create directory used by audio subsystem
- mkdir /data/misc/audio 0770 audio audio
+ mkdir /data/vendor/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
+ mkdir /data/vendor/misc/audio/acdbdata 0770 media audio
+ mkdir /data/vendor/misc/audio/acdbdata/delta 0770 media audio
# Create directory used by the DASH client
mkdir /data/misc/dash 0770 media audio
- # Create directory used by display clients
- mkdir /data/misc/display 0770 system graphics
+ # Create directory for radio
+ mkdir /data/vendor/radio 0770 system radio
# 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
@@ -288,12 +317,9 @@
#symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
#Create directories for Location services
- mkdir /data/misc/location 0770 gps gps
- mkdir /data/misc/location/mq 0770 gps gps
- mkdir /data/misc/location/xtwifi 0770 gps gps
- mkdir /data/misc/location/gpsone_d 0770 system gps
- mkdir /data/misc/location/quipc 0770 gps system
- mkdir /data/misc/location/gsiff 0770 gps gps
+ 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
@@ -306,67 +332,60 @@
#Create directory for hostapd
mkdir /data/hostapd 0770 system wifi
- # Create /data/time folder for time-services
- mkdir /data/time/ 0700 system system
+ # Create /data/vendor/time folder for time-services
+ mkdir /data/vendor/time/ 0700 system system
- mkdir /data/audio/ 0770 media audio
+ mkdir /data/vendor/audio/ 0770 media audio
# Create a folder for audio delta files
- mkdir /data/audio/acdbdata 0770 media audio
- mkdir /data/audio/acdbdata/delta 0770 media audio
+ mkdir /data/vendor/audio/acdbdata 0770 media audio
+ mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
setprop vold.post_fs_data_done 1
+ #Create a folder for SRS to be able to create a usercfg file
+ mkdir /data/data/media 0770 media media
+
#Create FM dir for patchdownloader
mkdir /data/misc/fm 0770 system system
chmod 0770 /data/misc/fm
- # RIDL data
- mkdir /data/misc/SelfHost/ 0710 system shell
- mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell
- mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell
- mkdir /data/misc/SelfHost/storage/ 0700 system shell
- mkdir /data/misc/SelfHost/Running/ 2750 system shell
- mkdir /data/misc/SelfHost/socket/ 2770 system system
- mkdir /data/misc/OTA/ 0750 system system
-
#Create PERFD deamon related dirs
- mkdir /data/system/perfd 0770 root system
- chmod 2770 /data/system/perfd
- rm /data/system/perfd/default_values
- start perfd
+ mkdir /data/vendor/perfd 0770 root system
+ chmod 2770 /data/vendor/perfd
+ rm /data/vendor/perfd/default_values
# NFC local data and nfcee xml storage
mkdir /data/nfc 0770 nfc nfc
mkdir /data/nfc/param 0770 nfc nfc
#Create IOP deamon related dirs
- mkdir /data/misc/iop 0770 root system
+ mkdir /data/vendor/iop 0770 root 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
+ write /data/vendor/radio/copy_complete 0
+ chown radio radio /data/vendor/radio/copy_complete
+ chmod 0660 /data/vendor/radio/copy_complete
# copy prebuilt qcril.db files always
- copy /system/vendor/qcril.db /data/misc/radio/qcril_prebuilt.db
- chown radio radio /data/misc/radio/qcril_prebuilt.db
- chmod 0660 /data/misc/radio/qcril_prebuilt.db
+ copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db
+ chown radio radio /data/vendor/radio/qcril_prebuilt.db
+ chmod 0660 /data/vendor/radio/qcril_prebuilt.db
# File flags for prebuilt ril db file
- write /data/misc/radio/prebuilt_db_support 1
- chown radio radio /data/misc/radio/prebuilt_db_support
- chmod 0400 /data/misc/radio/prebuilt_db_support
- write /data/misc/radio/db_check_done 0
- chown radio radio /data/misc/radio/db_check_done
- chmod 0660 /data/misc/radio/db_check_done
+ write /data/vendor/radio/prebuilt_db_support 1
+ chown radio radio /data/vendor/radio/prebuilt_db_support
+ chmod 0400 /data/vendor/radio/prebuilt_db_support
+ write /data/vendor/radio/db_check_done 0
+ chown radio radio /data/vendor/radio/db_check_done
+ chmod 0660 /data/vendor/radio/db_check_done
# qti-logkit data
- mkdir /data/misc/qti-logkit/ 0771 system system
- mkdir /data/misc/qti-logkit/shared-privileged/ 2770 system system
- mkdir /data/misc/qti-logkit/shared-public/ 2770 system qcom_diag
- mkdir /data/misc/qti-logkit/socket-privileged/ 2770 system system
- mkdir /data/misc/qti-logkit/socket-public/ 2750 system qcom_diag
- mkdir /data/misc/qti-logkit/logdata/ 2750 system shell
+ mkdir /data/vendor/qti-logkit/ 0771 system system
+ mkdir /data/vendor/qti-logkit/shared-privileged/ 2770 system system
+ mkdir /data/vendor/qti-logkit/shared-public/ 2770 system diag
+ mkdir /data/vendor/qti-logkit/socket-privileged/ 2770 system system
+ mkdir /data/vendor/qti-logkit/socket-public/ 2750 system diag
+ mkdir /data/vendor/qti-logkit/logdata/ 2750 system shell
#Create SWAP related dirs
mkdir /data/system/swap 0770 root system
@@ -376,9 +395,11 @@
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
- # create QDMA related dirs
- mkdir /data/misc/qdmastats 0700 system system
- mkdir /data/misc/qdma 0770 system system
+ # Create vpp directory
+ mkdir /data/vendor/vpp 0770 media media
+
+ #Create FTM_AP dir for factory test
+ mkdir /data/FTM_AP 0775 system system
service nqnfcinfo /system/vendor/bin/nqnfcinfo
class late_start
@@ -386,30 +407,23 @@
user system
oneshot
-service perfd /system/vendor/bin/perfd
- class main
- user root
- group root readproc
- disabled
- socket perfd seqpacket 0666 root system
-
-service iop /system/bin/iop
+service iop /system/vendor/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
-service qcomsysd /system/bin/qcom-system-daemon
+service qcomsysd /system/vendor/bin/qcom-system-daemon
class main
user root
- group root qcom_diag
+ group root diag
-service ssr_setup /system/bin/ssr_setup
+service ssr_setup /system/vendor/bin/ssr_setup
oneshot
disabled
-service ss_ramdump /system/bin/subsystem_ramdump
+service ss_ramdump /system/vendor/bin/subsystem_ramdump
class main
user system
group system
@@ -439,16 +453,14 @@
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
on property:sys.boot_completed=1
- exec u:r:qti_init_shell:s0 -- /init.qcom.crashdata.sh
+ exec u:r:qti_init_shell:s0 -- /vendor/bin/init.qcom.crashdata.sh
write /dev/kmsg "Boot completed "
#Reset read ahead for dm-0 and dm-1 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
#WDSP FW boot sysfs node used by STHAL
chown media audio /sys/kernel/wdsp0/boot
- #CPE fw_name used by sound trigger HAL
chown media audio /sys/kernel/wcd_cpe0/fw_name
-
on property:persist.radio.atfwd.start=false
stop atfwd
@@ -463,6 +475,12 @@
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
+on property:bluetooth.sap.status=running
+ start bt-sap
+
+on property:bluetooth.sap.status=stopped
+ stop bt-sap
+
on property:bluetooth.dun.status=running
start bt-dun
@@ -484,48 +502,46 @@
on property:bluetooth.startbtlogger=false
stop bt_logger
-service qcom-c_core-sh /system/bin/sh /init.qcom.class_core.sh
+service qcom-c_core-sh /vendor/bin/init.qcom.class_core.sh
class core
user root
oneshot
-service qcom-c_main-sh /system/bin/sh /init.class_main.sh
+service qcom-c_main-sh /vendor/bin/init.class_main.sh
class main
user root
oneshot
on property:vold.decrypt=trigger_restart_framework
start qcom-c_main-sh
- start config_bt_addr
- start config_bluetooth
start wcnss-service
start cnss_diag
+on property:persist.env.fastdorm.enabled=true
+ setprop persist.radio.data_no_toggle 1
-service cnd /system/bin/cnd
+service cnd /system/vendor/bin/cnd
class main
- socket cnd stream 660 root inet
+ user system
+ group system wifi inet radio wakelock net_admin
-service dpmd /system/bin/dpmd
- class late_start
- socket dpmd stream 660 root system
- group system readproc
+service dpmQmiMgr /system/vendor/bin/dpmQmiMgr
+ class main
+ user system
+ group system
-service irsc_util /system/bin/irsc_util "/etc/sec_config"
+service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
class core
user root
oneshot
-service rmt_storage /system/bin/rmt_storage
- class core
- user root
-
-service rfs_access /system/bin/rfs_access
+service rmt_storage /vendor/bin/rmt_storage
class core
user root
- group system net_raw
+ shutdown critical
+ ioprio rt 0
-service tftp_server /system/bin/tftp_server
+service tftp_server /vendor/bin/tftp_server
class core
user root
@@ -535,61 +551,24 @@
on property:wc_transport.start_hci=false
stop start_hci_filter
-on property:wc_transport.start_fmhci=true
- start fmhal_service
-
-on property:wc_transport.start_fmhci=false
- stop fmhal_service
-
-service start_hci_filter /system/bin/wcnss_filter
+service start_hci_filter /system/vendor/bin/wcnss_filter
class late_start
user bluetooth
- group bluetooth qcom_diag system wakelock
+ group bluetooth diag system wakelock
+ seclabel u:r:bluetooth:s0
disabled
-#net_admin capability needed to write rfkill sysfs entry
-service fmhal_service /system/bin/fmhal_service
+service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0
class late_start
user bluetooth
- group bluetooth net_bt_admin
+ group bluetooth net_bt_admin inet
disabled
oneshot
-service config_bt_addr /system/bin/btnvtool -O
- class core
- user bluetooth
- group bluetooth radio
- oneshot
-
-service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot"
- class core
- user root
- oneshot
-
-service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
- class late_start
+service bt-sap /system/bin/sapd 15
user bluetooth
group bluetooth net_bt_admin
- disabled
- oneshot
-
-on property:bluetooth.hciattach=true
- start hciattach
-
-on property:bluetooth.hciattach=false
- setprop bluetooth.status off
-
-service hciattach_ath3k /system/bin/sh /system/etc/init.ath3k.bt.sh
class late_start
- user bluetooth
- group system bluetooth net_bt_admin misc
- disabled
- oneshot
-
-service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0
- class late_start
- user bluetooth
- group bluetooth net_bt_admin inet
disabled
oneshot
@@ -610,17 +589,11 @@
service ftmd /system/bin/logwrapper /system/bin/ftmdaemon
class late_start
user root
- group bluetooth net_bt_admin misc net_bt_stack qcom_diag net_bt
+ group bluetooth net_bt_admin misc net_bt_stack diag net_bt
disabled
oneshot
-service bridgemgrd /system/bin/bridgemgrd
- class late_start
- user radio
- group radio qcom_diag
- disabled
-
-service port-bridge /system/bin/port-bridge
+service port-bridge /system/vendor/bin/port-bridge
class main
user radio system
group radio system inet
@@ -630,40 +603,40 @@
service qmiproxy /system/bin/qmiproxy
class main
user radio
- group radio qcom_diag
+ group radio diag
disabled
# QMUX must be in multiple groups to support external process connections
-service qmuxd /system/bin/qmuxd
+service qmuxd /system/vendor/bin/qmuxd
class main
user root
- group radio audio bluetooth gps nfc qcom_diag
+ group radio audio bluetooth gps nfc diag
disabled
-service netmgrd /system/bin/netmgrd
+service netmgrd /system/vendor/bin/netmgrd
class main
disabled
-service ipacm-diag /system/bin/ipacm-diag
+service ipacm-diag /system/vendor/bin/ipacm-diag
class main
- user system
- socket ipacm_log_file dgram 660 system net_admin
- group net_admin qcom_diag
+ user radio
+ socket ipacm_log_file dgram 660 radio radio
+ group radio diag
disabled
-service ipacm /system/bin/ipacm
+service ipacm /system/vendor/bin/ipacm
class main
- user net_admin
- group net_admin inet
+ user radio
+ group radio inet
disabled
service qti /system/vendor/bin/qti
class main
user radio
- group radio net_raw qcom_diag usb net_admin
+ group radio net_raw diag usb net_admin
disabled
-service sensors /system/bin/sensors.qcom
+service sensors /vendor/bin/sensors.qcom
class core
user root
group root
@@ -681,11 +654,29 @@
on property:sys.sysctl.tcp_adv_win_scale=*
write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
-service p2p_supplicant /system/bin/wpa_supplicant \
+service amp_init /system/vendor/bin/amploader -i
+ class late_start
+ user root
+ disabled
+ oneshot
+
+service amp_load /system/vendor/bin/amploader -l 7000
+ class late_start
+ user root
+ disabled
+ oneshot
+
+service amp_unload /system/vendor/bin/amploader -u
+ class late_start
+ user root
+ disabled
+ oneshot
+
+service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
- -I/system/etc/wifi/p2p_supplicant_overlay.conf -N \
+ -I/vendor/etc/wifi/p2p_supplicant_overlay.conf -N \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
- -I/system/etc/wifi/wpa_supplicant_overlay.conf \
+ -I/vendor/etc/wifi/wpa_supplicant_overlay.conf \
-O/data/misc/wifi/sockets -puse_p2p_group_interface=1 -dd \
-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
# we will start as root and wpa_supplicant will switch to user wifi
@@ -697,25 +688,12 @@
disabled
oneshot
-service wpa_supplicant /system/bin/wpa_supplicant \
- -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
- -I/system/etc/wifi/wpa_supplicant_overlay.conf \
- -O/data/misc/wifi/sockets -dd \
- -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
- # we will start as root and wpa_supplicant will switch to user wifi
- # after setting up the capabilities required for WEXT
- # user wifi
- # group wifi inet keystore
- class main
- socket wpa_wlan0 dgram 660 wifi wifi
- disabled
- oneshot
-
-service wigig_supplicant /system/bin/wpa_supplicant \
- -iwigig0 -Dnl80211 -c/data/misc/wifi/wigig_supplicant.conf \
- -m/data/misc/wifi/wigig_p2p_supplicant.conf \
- -O/data/misc/wifi/wigig_sockets -dd \
- -e/data/misc/wifi/wigig_entropy.bin -g@android:wpa_wigig0
+service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
+ -iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
+ -m/data/vendor/wifi/wigig_p2p_supplicant.conf \
+ -O/data/vendor/wifi/wigig_sockets -dd \
+ -e/data/vendor/wifi/wigig_entropy.bin -g@android:wpa_wigig0 \
+ -S wigigsvc
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
@@ -726,7 +704,7 @@
oneshot
# FST Manager with hostapd (softap) - all settings inside ini file
-service fstman /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini
+service fstman /vendor/bin/fstman -B -ddd -c /data/vendor/wifi/fstman.ini
user wifi
group wifi net_admin net_raw
class main
@@ -734,7 +712,7 @@
oneshot
# FST Manager with supplicant - connect to supplicant socket
-service fstman_wlan0 /system/bin/fstman -B -ddd -c /data/misc/wifi/fstman.ini @android:wpa_wlan0
+service fstman_wlan0 /vendor/bin/fstman -B -ddd -c /data/vendor/wifi/fstman.ini @android:wpa_wlan0
user wifi
group wifi net_admin net_raw
class main
@@ -747,6 +725,16 @@
on property:netd.fstman.start=false
stop fstman
+service wigighalsvc /vendor/bin/wigighalsvc
+ class main
+ user system
+ group wifi
+ disabled
+
+on property:persist.vendor.wigig.enable=1
+ insmod /vendor/lib/modules/wil6210.ko alt_ifname=1
+ start wigighalsvc
+
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
@@ -787,19 +775,19 @@
disabled
oneshot
-service ptt_socket_app /system/bin/ptt_socket_app -d
+service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
class main
user root
group root
oneshot
-service ptt_ffbm /system/bin/ptt_socket_app -f -d
+service ptt_ffbm /system/vendor/bin/ptt_socket_app -f -d
user root
group root
disabled
oneshot
-service wifi_ftmd /system/bin/wifi_ftmd
+service wifi_ftmd /system/vendor/bin/wifi_ftmd
user system
group system inet net_admin
socket wififtmd_server dgram 0660 system system
@@ -809,13 +797,13 @@
on property:wifi.ftmd.load=true
insmod /system/lib/modules/pronto/pronto_wlan.ko con_mode=5
-service cnss_diag /system/bin/cnss_diag -q -f -b 128
+service cnss_diag /system/vendor/bin/cnss_diag -q -f
class main
user system
group system wifi inet net_admin sdcard_rw media_rw diag
oneshot
-service cnss-daemon /system/bin/cnss-daemon -n -l
+service cnss-daemon /system/vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet net_admin wifi
@@ -833,29 +821,48 @@
disabled
oneshot
-service loc_launcher /system/bin/loc_launcher
- #loc_launcher will start as root and set its uid to gps
+service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG
+ disabled
+ oneshot
+
+service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG
+ disabled
+ oneshot
+
+service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG
+ disabled
+ oneshot
+
+service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG
+ disabled
+ oneshot
+
+service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG
+ disabled
+ oneshot
+
+service ssgqmigd /vendor/bin/ssgqmigd
class late_start
- group gps inet qcom_diag wifi
+ user radio
+ group radio
+ socket ssgqmig seqpacket 0660 radio inet
-service mlid /system/bin/mlid
+service mlid /vendor/bin/mlid
class late_start
user gps
group gps
socket mlid stream 0666 gps gps
-service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh
+service loc_launcher /system/vendor/bin/loc_launcher
+ #loc_launcher will start as root and set its uid to gps
class late_start
- user system
- group system
- disabled
- oneshot
+ group gps inet diag wifi
on property:crypto.driver.load=1
insmod /system/lib/modules/qce.ko
insmod /system/lib/modules/qcedev.ko
-service drmdiag /system/bin/drmdiagapp
+service drmdiag /system/vendor/bin/drmdiagapp
class late_start
user root
disabled
@@ -867,36 +874,29 @@
on property:drmdiag.load=0
stop drmdiag
-service qcom-sh /system/bin/sh /init.qcom.sh
+service qcom-sh /vendor/bin/init.qcom.sh
class late_start
user root
oneshot
-service sensor-sh /system/bin/sh /init.qcom.sensors.sh
+service sensor-sh /vendor/bin/init.qcom.sensors.sh
class core
user root
oneshot
-service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh
+service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
class late_start
user root
disabled
oneshot
-service qti-testscripts /system/bin/sh /system/etc/init.qcom.testscripts.sh
- class late_start
- user root
- disabled
- oneshot
- seclabel u:r:qti-testscripts:s0
-
-service wifi-sdio-on /system/bin/sh /system/etc/init.qcom.sdio.sh
+service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh
class late_start
group wifi inet
disabled
oneshot
-service wifi-crda /system/bin/sh /system/etc/init.crda.sh
+service wifi-crda /vendor/bin/init.crda.sh
class late_start
user root
disabled
@@ -904,30 +904,32 @@
on property:sys.boot_completed=1
start qcom-post-boot
- start qti-testscripts
-service atfwd /system/bin/ATFWD-daemon
+service qvop-daemon /vendor/bin/qvop-daemon
+ class late_start
+ user system
+ group system drmrpc
+
+service atfwd /vendor/bin/ATFWD-daemon
class late_start
user system
group system radio
-service hostapd /system/bin/hostapd -dd /data/hostapd/hostapd.conf
+service hostapd_fst /vendor/bin/hostapd -dd -g /data/vendor/wifi/hostapd/global /data/vendor/wifi/hostapd.conf
class late_start
- user root
- group root
+ user wifi
+ group wifi inet keystore net_admin net_raw
oneshot
disabled
-service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D
+service vendor.wigig_hostapd /vendor/bin/hostapd -dd /data/vendor/wifi/wigig_hostapd.conf
class late_start
- group radio wifi inet
- disabled
+ user wifi
+ group wifi inet keystore net_admin net_raw
oneshot
+ disabled
-on property:persist.data.ds_fmc_app.mode=1
- start ds_fmc_appd
-
-service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative
+service ims_regmanager /system/vendor/bin/exe-ims-regmanagerprocessnative
class late_start
group net_bt_admin inet radio wifi
disabled
@@ -944,39 +946,23 @@
group system
disabled
-service ril-daemon2 /system/bin/rild -c 2
+service ril-daemon2 /vendor/bin/hw/rild -c 2
class main
socket rild2 stream 660 root radio
socket rild-debug2 stream 660 radio system
- user root
+ user radio
disabled
- group radio cache inet misc audio sdcard_r sdcard_rw qcom_diag diag log
+ group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
+ capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
-service ril-daemon3 /system/bin/rild -c 3
+service ril-daemon3 /vendor/bin/hw/rild -c 3
class main
socket rild3 stream 660 root radio
socket rild-debug3 stream 660 radio system
- user root
- disabled
- group radio cache inet misc audio sdcard_r sdcard_rw qcom_diag diag log
-
-service usb_uicc_enable /system/bin/sh /system/etc/init.qcom.uicc.sh
- class late_start
- user root
+ user radio
disabled
- oneshot
-
-service usb_uicc_daemon /system/bin/usb_uicc_client
- class main
- user system
- group system log net_raw
- oneshot
-
-on property:sys.usb_uicc.enabled=1
- start usb_uicc_enable
-
-on property:sys.usb_uicc.enabled=0
- start usb_uicc_enable
+ group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
+ capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service profiler_daemon /system/bin/profiler_daemon
class late_start
@@ -984,18 +970,12 @@
group root
disabled
-service hcidump /system/bin/sh /system/etc/hcidump.sh
- user bluetooth
- group bluetooth system net_bt_admin net_admin
- disabled
- oneshot
-
service charger /charger
class charger
group system graphics
seclabel u:r:healthd:s0
-service ssr_diag /system/bin/ssr_diag
+service ssr_diag /system/vendor/bin/ssr_diag
class late_start
user system
group system
@@ -1030,14 +1010,14 @@
service diag_mdlog_start /system/bin/diag_mdlog
class late_start
user shell
- group system qcom_diag sdcard_rw sdcard_r media_rw
+ group system diag sdcard_rw sdcard_r media_rw
disabled
oneshot
service diag_mdlog_stop /system/bin/diag_mdlog -k
class late_start
user shell
- group system qcom_diag sdcard_rw sdcard_r media_rw
+ group system diag sdcard_rw sdcard_r media_rw
disabled
oneshot
@@ -1055,50 +1035,33 @@
group root
disabled
-service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
+service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
class core
user root
group root
disabled
-service wfdservice /system/bin/wfdservice
- class main
- user system
- group audio camera inet net_bt_stack drmrpc media_rw media input net_admin
- #removed these because of limit of 12 groups
- #graphics net_bt net_bt_admin bluetooth
+service vendor.msm_irqbl_sdm630 /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_sdm630.conf
+ class core
+ user root
+ group root
disabled
- oneshot
-
-on property:sys.wfdservice=enable
- start wfdservice
-
-on property:sys.wfdservice=disable
- stop wfdservice
-
-service RIDL /system/vendor/bin/RIDLClient.exe
- class late_start
- oneshot
- user system
- group system inet log sdcard_r sdcard_rw qcom_diag
- # removed for security team - misc bluetooth radio gps wifi diag media_rw
- # limited to 12 groups. Unused: audio usb net_bt_admin net_bt_stac net_raw net_admin
# service for USERDEBUG
-service LKCore-dbg /system/vendor/bin/LKCore
+service vendor.LKCore-dbg /vendor/bin/LKCore
class late_start
oneshot
disabled
user root
- group root system log qcom_diag net_raw
+ group root system log diag net_raw
# service for USER
-service LKCore-rel /system/vendor/bin/LKCore
+service vendor.LKCore-rel /vendor/bin/LKCore
class late_start
oneshot
disabled
user system
- group system log qcom_diag
+ group system log diag
service qseeproxydaemon /system/vendor/bin/qseeproxydaemon
class late_start
@@ -1110,17 +1073,13 @@
user system
group nfc
-# Seemp health service
-service seemp_healthd /system/vendor/bin/seemp_healthd
- class late_start
- user system
- group system
-
on charger
setprop persist.sys.usb.config mass_storage
+ load_system_props
+ start qcom-post-boot
#add poweroffhandler
-service poweroffhandler /system/bin/poweroffhandler
+service poweroffhandler /system/vendor/bin/poweroffhandler
class core
user media
group graphics audio
@@ -1128,22 +1087,31 @@
oneshot
# Logcat dump daemon, dumps logs to logdump partition
-service logdumpd /system/bin/logcat -b all -v threadtime -D -w /dev/block/bootdevice/by-name/logdump
- class core
- writepid /dev/cpuset/system-background/tasks
- seclabel u:r:logdumpd:s0
- disabled
+#service logdumpd /system/bin/logcat -b all -v threadtime -D -w /dev/block/bootdevice/by-name/logdump
+# class core
+# writepid /dev/cpuset/system-background/tasks
+# seclabel u:r:logdumpd:s0
+# disabled
# Logdumpd is enabled only for userdebug non-perf build
-on property:ro.logdumpd.enabled=1
- start logdumpd
+#on property:ro.logdumpd.enabled=1
+# start logdumpd
+
+service time_daemon /system/vendor/bin/time_daemon
+ class main
+ user root
+ group root
-service qdmastatsd /system/bin/qdmastatsd
+service qdmastatsd /system/vendor/bin/qdmastatsd
class late_start
user system
- group system
+ group readproc system net_bw_stats radio
-service time_daemon /system/bin/time_daemon
+service vppservice /vendor/bin/vppservice
class main
- user root
- group root
+ user media
+ group camera
+
+# Set vendor-ril lib path based on Meta version
+on property:vendor.rild.libpath=*
+ setprop rild.libpath ${vendor.rild.libpath}
diff -bur unified_n/rootdir/etc/init.qcom.sdio.sh unified_o/rootdir/etc/init.qcom.sdio.sh
--- unified_n/rootdir/etc/init.qcom.sdio.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.sdio.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2010, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.sensors.sh unified_o/rootdir/etc/init.qcom.sensors.sh
--- unified_n/rootdir/etc/init.qcom.sensors.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.sensors.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,4 @@
-#!/system/bin/sh
+#!/vendor/bin/sh
# Copyright (c) 2015, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -34,11 +34,8 @@
if [ -c /dev/msm_dsps -o -c /dev/sensors ]; then
chmod -h 775 /persist/sensors
chmod -h 664 /persist/sensors/sensors_settings
+ mkdir -p /persist/sensors/registry/registry
chown -h system.root /persist/sensors/sensors_settings
-
- mkdir -p /data/misc/sensors
- chmod -h 775 /data/misc/sensors
-
start sensors
fi
}
diff -bur unified_n/rootdir/etc/init.qcom.sh unified_o/rootdir/etc/init.qcom.sh
--- unified_n/rootdir/etc/init.qcom.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -80,26 +81,31 @@
start_msm_irqbalance_8939()
{
- if [ -f /system/bin/msm_irqbalance ]; then
+ if [ -f /system/vendor/bin/msm_irqbalance ]; then
case "$platformid" in
"239" | "293" | "294" | "295" | "304" | "313")
- start msm_irqbalance;;
+ start vendor.msm_irqbalance;;
esac
fi
}
start_msm_irqbalance()
{
- if [ -f /system/bin/msm_irqbalance ]; then
- start msm_irqbalance
+ if [ -f /vendor/bin/msm_irqbalance ]; then
+ case "$platformid" in
+ "317" | "324" | "325" | "326")
+ start vendor.msm_irqbalance;;
+ "318" | "327")
+ start vendor.msm_irqbl_sdm630;;
+ esac
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
+ if [ -f /vendor/radio/qcril_database/qcril.db -a ! -f /data/vendor/radio/qcril.db ]; then
+ cp /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril.db
+ chown -h radio.radio /data/vendor/radio/qcril.db
fi
}
@@ -252,7 +258,7 @@
;;
esac
;;
- "msm8994" | "msm8992" | "msm8998" | "msmskunk" | "sdmbat")
+ "msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845")
start_msm_irqbalance
;;
"msm8996")
@@ -304,6 +310,9 @@
"RCM")
setprop qemu.hw.mainkeys 0
;;
+ "QRD")
+ setprop qemu.hw.mainkeys 0
+ ;;
esac
;;
esac
@@ -333,40 +342,43 @@
"RCM")
setprop qemu.hw.mainkeys 0
;;
- esac
+ "QRD")
+ setprop qemu.hw.mainkeys 0
;;
esac
;;
esac
+ ;;
+esac
#
# Copy qcril.db if needed for RIL
#
start_copying_prebuilt_qcril_db
-echo 1 > /data/misc/radio/db_check_done
+echo 1 > /data/vendor/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`
+if [ -f /data/vendor/radio/ver_info.txt ]; then
+ prev_version_info=`cat /data/vendor/radio/ver_info.txt`
else
prev_version_info=""
fi
cur_version_info=`cat /firmware/verinfo/ver_info.txt`
if [ ! -f /firmware/verinfo/ver_info.txt -o "$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
+ rm -rf /data/vendor/radio/modem_config
+ mkdir /data/vendor/radio/modem_config
+ chmod 770 /data/vendor/radio/modem_config
+ cp -r /firmware/image/modem_pr/mcfg/configs/* /data/vendor/radio/modem_config
+ chown -hR radio.radio /data/vendor/radio/modem_config
+ cp /firmware/verinfo/ver_info.txt /data/vendor/radio/ver_info.txt
+ chown radio.radio /data/vendor/radio/ver_info.txt
fi
-cp /firmware/image/modem_pr/mbn_ota.txt /data/misc/radio/modem_config
-chown radio.radio /data/misc/radio/modem_config/mbn_ota.txt
-echo 1 > /data/misc/radio/copy_complete
+cp /firmware/image/modem_pr/mbn_ota.txt /data/vendor/radio/modem_config
+chown radio.radio /data/vendor/radio/modem_config/mbn_ota.txt
+echo 1 > /data/vendor/radio/copy_complete
#check build variant for printk logging
#current default minimum boot-time-default
diff -bur unified_n/rootdir/etc/init.qcom.ssr.sh unified_o/rootdir/etc/init.qcom.ssr.sh
--- unified_n/rootdir/etc/init.qcom.ssr.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.ssr.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/init.qcom.syspart_fixup.sh unified_o/rootdir/etc/init.qcom.syspart_fixup.sh
--- unified_n/rootdir/etc/init.qcom.syspart_fixup.sh 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.syspart_fixup.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -52,22 +53,22 @@
# Run modem link script
if [ -f /system/etc/init.qcom.modem_links.sh ]; then
- /system/bin/sh /system/etc/init.qcom.modem_links.sh
+ /system/vendor/bin/init.qcom.modem_links.sh
fi
# Run mdm link script
if [ -f /system/etc/init.qcom.mdm_links.sh ]; then
- /system/bin/sh /system/etc/init.qcom.mdm_links.sh
+ /system/vendor/bin/init.qcom.mdm_links.sh
fi
# Run wifi script
-if [ -f /system/etc/init.qcom.wifi.sh ]; then
- /system/bin/sh /system/etc/init.qcom.wifi.sh "$target" "$serial"
+if [ -f /vendor/bin/init.qcom.wifi.sh ]; then
+ /vendor/bin/init.qcom.wifi.sh "$target" "$serial"
fi
# Run the sensor script
if [ -f /system/etc/init.qcom.sensor.sh ]; then
- /system/bin/sh /system/etc/init.qcom.sensor.sh
+ /system/vendor/bin/init.qcom.sensor.sh
fi
touch /system/etc/boot_fixup
diff -bur unified_n/rootdir/etc/init.qcom.test.rc unified_o/rootdir/etc/init.qcom.test.rc
--- unified_n/rootdir/etc/init.qcom.test.rc 2017-08-30 15:08:58.157652243 +0530
+++ unified_o/rootdir/etc/init.qcom.test.rc 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,4 @@
-# Copyright (c) 2016, The Linux Foundation. All rights reserved.
+# Copyright (c) 2016-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:
@@ -27,22 +27,39 @@
write /proc/sys/kernel/kptr_restrict 0
+
+#testscript domains
+service qti-testscripts /system/etc/init.qcom.testscripts.sh
+ class late_start
+ user root
+ disabled
+ oneshot
+
+service vendor-qti-testscripts /vendor/bin/sh /vendor/bin/init.qti.vendor.testscripts.sh
+ class late_start
+ user root
+ disabled
+ oneshot
+
# Coresight early boot service
-service cs-early-boot /system/bin/sh /persist/coresight/qdss.agent.sh early-boot /system/etc/init.qcom.debug.sh
+service cs-early-boot /vendor/bin/sh /persist/coresight/qdss.agent.sh early-boot /vendor/bin/init.qcom.debug.sh
class core
user root
oneshot
- seclabel u:r:qti-testscripts:s0
+ seclabel u:r:vendor-qti-testscripts:s0
# Coresight post boot servive
-service cs-post-boot /system/bin/sh /persist/coresight/qdss.agent.sh post-boot /system/etc/init.qcom.debug.sh
+service cs-post-boot /vendor/bin/sh /persist/coresight/qdss.agent.sh post-boot /vendor/bin/init.qcom.debug.sh
user root
disabled
oneshot
- seclabel u:r:qti-testscripts:s0
+ seclabel u:r:vendor-qti-testscripts:s0
on property:sys.boot_completed=1
start cs-post-boot
+ start qti-testscripts
+# exec - system system -- /system/etc/init.qcom.testscripts.sh
+ start vendor-qti-testscripts
on property:sys.dbg.coresight.enable=1
write /persist/coresight/enable 1
@@ -50,10 +67,9 @@
on property:sys.dbg.coresight.enable=0
write /persist/coresight/enable 0
-# Enable coredump generation
-# on userdebug/eng build
-on post-fs-data
- # Create directory for coredump-generation.
- mkdir /data/misc/core 0777 root root
- # Write core-pattern to generate core file in /data/misc/core
- write /proc/sys/kernel/core_pattern "/data/misc/core/%E.%p.%e"
+service DiagDaemon /system/vendor/bin/diag_socket_log -f /sdcard/ipaddress.txt
+ class late_start
+ oneshot
+ disabled
+ user root
+ group root system log qcom_diag net_raw
diff -bur unified_n/rootdir/etc/init.qcom.testscripts.sh unified_o/rootdir/etc/init.qcom.testscripts.sh
--- unified_n/rootdir/etc/init.qcom.testscripts.sh 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/init.qcom.testscripts.sh 2017-08-30 14:59:55.478875894 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /system/bin/sh
+
# Copyright (c) 2015, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Only in unified_n/rootdir/etc: init.qcom.uicc.sh
diff -bur unified_n/rootdir/etc/init.qcom.usb.rc unified_o/rootdir/etc/init.qcom.usb.rc
--- unified_n/rootdir/etc/init.qcom.usb.rc 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/init.qcom.usb.rc 2017-08-30 14:59:55.478875894 +0530
@@ -64,17 +64,19 @@
mkdir /config/usb_gadget/g1/functions/mtp.gs0
mkdir /config/usb_gadget/g1/functions/ptp.gs1
mkdir /config/usb_gadget/g1/functions/accessory.gs2
- mkdir /config/usb_gadget/g1/functions/audio_source.gs2
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/diag.diag_mdm
mkdir /config/usb_gadget/g1/functions/cser.dun.0
mkdir /config/usb_gadget/g1/functions/cser.nmea.1
+ mkdir /config/usb_gadget/g1/functions/cser.dun.2
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/qdss.qdss_mdm
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
@@ -89,7 +91,7 @@
write /sys/class/android_usb/android0/f_ffs/aliases adb
enable qcom-usb-sh
-service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
+service qcom-usb-sh /vendor/bin/init.qcom.usb.sh
class core
user root
oneshot
@@ -1627,7 +1629,6 @@
write /sys/class/android_usb/android0/idProduct 90CB
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,adb,video
- write /sys/module/dwc3/parameters/high_bw_ep_in_num 4
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
@@ -1638,7 +1639,6 @@
write /sys/class/android_usb/android0/idProduct 90CC
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,adb,uac2_func,video
- write /sys/module/dwc3/parameters/high_bw_ep_in_num 5
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
diff -bur unified_n/rootdir/etc/init.qcom.usb.sh unified_o/rootdir/etc/init.qcom.usb.sh
--- unified_n/rootdir/etc/init.qcom.usb.sh 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/init.qcom.usb.sh 2017-08-30 14:59:55.482875837 +0530
@@ -1,5 +1,5 @@
-#!/system/bin/sh
-# Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
+#!/vendor/bin/sh
+# Copyright (c) 2012-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
@@ -162,7 +162,7 @@
"msm8952" | "msm8953")
setprop persist.sys.usb.config diag,serial_smd,rmnet_ipa,adb
;;
- "msm8998" | "sdm660")
+ "msm8998" | "sdm660" | "sdm845" | "apq8098_latv")
setprop persist.sys.usb.config diag,serial_cdev,rmnet,adb
;;
*)
@@ -188,7 +188,7 @@
setprop sys.usb.rndis.func.name "rndis_bam"
setprop sys.usb.rmnet.func.name "rmnet_bam"
;;
- "msm8998")
+ "msm8998" | "apq8098_latv")
setprop sys.usb.controller "a800000.dwc3"
setprop sys.usb.rndis.func.name "gsi"
setprop sys.usb.rmnet.func.name "gsi"
@@ -199,7 +199,7 @@
setprop sys.usb.rmnet.func.name "rmnet_bam"
echo 15916 > /sys/module/usb_f_qcrndis/parameters/rndis_dl_max_xfer_size
;;
- "msmskunk")
+ "sdm845")
setprop sys.usb.controller "a600000.dwc3"
setprop sys.usb.rndis.func.name "gsi"
setprop sys.usb.rmnet.func.name "gsi"
@@ -218,13 +218,31 @@
echo "$product_string" > /config/usb_gadget/g1/strings/0x409/product
# ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy
- serialno=`getprop ro.serialno`
- if [ "$serialno" == "" ]; then
+ serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber` 2> /dev/null
+ if [ "$serialnumber" == "" ]; then
serialno=1234567
- fi
echo $serialno > /config/usb_gadget/g1/strings/0x409/serialnumber
+ fi
+
+ persist_comp=`getprop persist.sys.usb.config`
+ comp=`getprop sys.usb.config`
+ echo $persist_comp
+ echo $comp
+ if [ "$comp" != "$persist_comp" ]; then
+ echo "setting sys.usb.config"
+ setprop sys.usb.config $persist_comp
+ fi
setprop sys.usb.configfs 1
+else
+ persist_comp=`getprop persist.sys.usb.config`
+ comp=`getprop sys.usb.config`
+ echo $persist_comp
+ echo $comp
+ if [ "$comp" != "$persist_comp" ]; then
+ echo "setting sys.usb.config"
+ setprop sys.usb.config $persist_comp
+ fi
fi
#
diff -bur unified_n/rootdir/etc/init.qcom.wifi.sh unified_o/rootdir/etc/init.qcom.wifi.sh
--- unified_n/rootdir/etc/init.qcom.wifi.sh 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/init.qcom.wifi.sh 2017-08-30 14:59:55.482875837 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2010-2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -502,5 +503,3 @@
;;
esac
-# Run audio init script
-/system/bin/sh /system/etc/init.qcom.audio.sh "$target" "$btsoc"
Only in unified_n/rootdir/etc: init.qti.dcc.sh
diff -bur unified_n/rootdir/etc/init.qti.ims.sh unified_o/rootdir/etc/init.qti.ims.sh
--- unified_n/rootdir/etc/init.qti.ims.sh 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/init.qti.ims.sh 2017-08-30 14:59:55.482875837 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2014, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
Only in unified_o/rootdir/etc: init.qti.vendor.testscripts.sh
Only in unified_o/rootdir/etc: init.recovery.qcom.rc
diff -bur unified_n/rootdir/etc/qca6234-service.sh unified_o/rootdir/etc/qca6234-service.sh
--- unified_n/rootdir/etc/qca6234-service.sh 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/qca6234-service.sh 2017-08-30 14:59:55.482875837 +0530
@@ -1,4 +1,5 @@
-#!/system/bin/sh
+#! /vendor/bin/sh
+
# Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
diff -bur unified_n/rootdir/etc/ueventd.qcom.rc unified_o/rootdir/etc/ueventd.qcom.rc
--- unified_n/rootdir/etc/ueventd.qcom.rc 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/rootdir/etc/ueventd.qcom.rc 2017-08-30 14:59:55.482875837 +0530
@@ -1,4 +1,4 @@
-# Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
+# Copyright (c) 2012-2015, 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:
@@ -26,10 +26,10 @@
#
# the DIAG device node is not world writable/readable.
-/dev/diag 0660 system qcom_diag
+/dev/diag 0660 system oem_2901
/dev/genlock 0666 system system
-/dev/wlan 0660 system system
+/dev/wlan 0660 wifi wifi
/dev/kgsl 0666 system system
/dev/kgsl-3d0 0666 system system
/dev/kgsl-2d0 0666 root root
@@ -43,9 +43,9 @@
/dev/smd6 0660 system system
/dev/smd7 0660 bluetooth bluetooth
/dev/ccid_bridge 0660 system system
-/dev/ipa 0660 system net_admin
-/dev/wwan_ioctl 0660 system net_admin
-/dev/ipaNatTable 0660 net_admin net_admin
+/dev/ipa 0660 radio radio
+/dev/wwan_ioctl 0660 radio radio
+/dev/ipaNatTable 0660 radio radio
/dev/rmnet_ctrl 0660 usb usb
/dev/dpl_ctrl 0660 usb usb
@@ -53,6 +53,8 @@
/dev/smd11 0660 radio radio
#permsissions for BT/FM
+/dev/smd2 0660 bluetooth bluetooth
+/dev/smd3 0660 bluetooth bluetooth
/dev/btpower 0660 bluetooth system
#permissions for pta
@@ -121,11 +123,8 @@
/dev/seemplog 0660 system system
/dev/pft 0660 system drmrpc
/dev/spcom 0660 system system
-/dev/splog 0660 system system
/dev/sp_kernel 0660 system system
/dev/sp_ssr 0660 system system
-/dev/sec_nvm_sampleapp 0660 system system
-/dev/sec_nvm_jcos 0660 system system
/dev/sp_keymaster 0660 system system
/dev/cryptoapp 0660 system system
/dev/gemini0 0660 system camera
@@ -141,9 +140,7 @@
/dev/wcnss_ctrl 0660 system system
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system
-/sys/devices/soc/18800000.qcom,icnss/net/wlan0/queues/rx-* rps_cpus 0660 system system
-/sys/devices/soc/18800000.qcom,icnss/net/p2p0/queues/rx-* rps_cpus 0660 system system
-/sys/devices/soc/18800000.qcom,icnss/net/softap0/queues/rx-* rps_cpus 0660 system system
+/dev/spidev0.0 0660 system audio
/dev/msm_camera/* 0660 system camera
/dev/gemini/ 0660 system camera
/dev/mercury0 0660 system camera
@@ -173,7 +170,8 @@
/dev/msm_aac_in 0660 system audio
/dev/msm_qcelp_in 0660 system audio
/dev/msm_evrc_in 0660 system audio
-/dev/msm_amrnb_in 0640 system audio
+/dev/msm_amrnb_in 0660 system audio
+/dev/msm_amrwb_in 0660 system audio
/dev/msm_a2dp_in 0660 system audio
/dev/msm_ac3 0660 system audio
/dev/msm_audio_cal 0660 system audio
@@ -185,8 +183,6 @@
/dev/msm_preproc_ctl 0660 system audio
/dev/msm_rtac 0660 system audio
/dev/msm_voicememo 0660 system audio
-/dev/smd3 0660 bluetooth net_bt_stack
-/dev/smd2 0660 bluetooth net_bt_stack
/dev/ttyHSL1 0660 system system
/dev/ttyHS1 0660 system system
/dev/mdm 0660 system radio
@@ -195,7 +191,6 @@
/dev/tty_sdio_00 0660 system system
/dev/ttyGS0 0660 system system
/dev/i2c-5 0660 media media
-/dev/voice_svc 0660 system audio
/dev/avtimer 0660 system audio
# DVB devices
@@ -237,13 +232,11 @@
/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch_enable 0660 system drmrpc
/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch 0440 system drmrpc
/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch_enable 0660 system drmrpc
-/sys/devices/soc/c178000.i2c/i2c-4/4-0020/input/input* secure_touch 0440 system drmrpc
-/sys/devices/soc/c178000.i2c/i2c-4/4-0020/input/input* secure_touch_enable 0660 system drmrpc
# laser sensor access
-/sys/devices/virtual/input/input* enable_ps_sensor 0660 system system
-/sys/devices/virtual/input/input* set_delay_ms 0660 system system
-/sys/devices/virtual/input/input* do_flush 0660 system system
+/sys/devices/virtual/input/input* enable_ps_sensor 0660 system input
+/sys/devices/virtual/input/input* set_delay_ms 0660 system input
+/sys/devices/virtual/input/input* do_flush 0660 system input
# vm_bms
/dev/vm_bms 0660 system system
@@ -259,9 +252,7 @@
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
-/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wlan1/queues/rx-0/rps_cpus 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
-/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wlan1/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
#nfc permissions
@@ -296,6 +287,7 @@
/dev/block/platform/soc/624000.ufshc/by-name/frp 0600 system system
/dev/block/platform/soc/1da4000.ufshc/by-name/frp 0600 system system
/dev/block/platform/soc/c0c4000.sdhci/by-name/frp 0600 system system
+/dev/block/platform/soc/1d84000.ufshc/by-name/frp 0600 system system
# Kmsg device
/dev/kmsg 0620 root system
diff -bur unified_n/sdllvm-lto-defs.mk unified_o/sdllvm-lto-defs.mk
--- unified_n/sdllvm-lto-defs.mk 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/sdllvm-lto-defs.mk 2017-08-30 14:59:55.482875837 +0530
@@ -2,6 +2,11 @@
# For STATIC_LIBRARIES we need to use SD LLVM's archiver and archiver flags.
AR := $(SDCLANG_PATH)/llvm-ar
+
+ifeq ($(LOCAL_SDCLANG_2),true)
+AR := $(SDCLANG_PATH_2)/llvm-ar
+endif
+
ARFLAGS := crsD
# For 32 bit
diff -bur unified_n/seccomp/mediacodec-seccomp.policy unified_o/seccomp/mediacodec-seccomp.policy
--- unified_n/seccomp/mediacodec-seccomp.policy 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/seccomp/mediacodec-seccomp.policy 2017-08-30 14:53:05.867414786 +0530
@@ -5,3 +5,8 @@
sendto: 1
recvfrom: 1
_llseek: 1
+sysinfo: 1
+getcwd: 1
+getdents64: 1
+inotify_init1: 1
+inotify_add_watch: 1
diff -bur unified_n/sec_config unified_o/sec_config
--- unified_n/sec_config 2017-08-30 15:05:07.466918078 +0530
+++ unified_o/sec_config 2017-08-30 14:59:55.482875837 +0530
@@ -1,6 +1,6 @@
/* IPC Security Config */
/* <GPS QMI Service ID - 16>:<GPS QMI Instance ID - all instances>:<Client Group ID> */
-16:4294967295:1000:1021:1026
+16:4294967295:1000:1021
/* <LOWI QMI Service ID - 38>:<LOWI QMI Instance ID - all instances>:<Client Group ID> */
56:4294967295:1021
/* Allow SS CTL service to be used by system and net_raw processes */
@@ -315,7 +315,7 @@
/* Allow Data dpmd to access QMI DFS */
48:4294967295:1000:3004
/* DIAG */
-4097:4294967295:2002:2950:3009
+4097:4294967295:2002:2950:3009:2901
/* <WLFW QMI Service ID - 0x45>:<WLFW QMI Instance ID - all instances>:<Client Group ID> */
69:4294967295:1000
/* <WLPS QMI Service ID - 0x39>:<WLFW QMI Instance ID - all instances>:<Client Group ID> */
diff -bur unified_n/sensors/hals.conf unified_o/sensors/hals.conf
--- unified_n/sensors/hals.conf 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/sensors/hals.conf 2017-08-30 14:53:05.867414786 +0530
@@ -1,2 +1 @@
sensors.ssc.so
-sensors.hal.tof.so
Only in unified_o: stop_scan.mk
diff -bur unified_n/system.prop unified_o/system.prop
--- unified_n/system.prop 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/system.prop 2017-08-30 14:53:05.867414786 +0530
@@ -19,15 +19,13 @@
# Set network mode to (T/L/G/W/1X/EVDO, T/G/W/L) for 7+5 mode device on DSDS mode
ro.telephony.default_network=22,20
+debug.sf.enable_hwc_vds=1
debug.sf.hw=1
+debug.sf.latch_unsignaled=1
debug.gralloc.enable_fb_ubwc=1
dalvik.vm.heapsize=36m
dev.pm.dyn_samplingrate=1
persist.demo.hdmirotationlock=false
-sdm.debug.disable_partial_split=1
-
-#property to specify the number of frames to skip before setting hint
-sdm.perf_hint_window=50
#ro.hdmi.enable=true
#
@@ -44,6 +42,8 @@
mmp.enable.3g2=true
media.aac_51_output_enabled=true
mm.enable.smoothstreaming=true
+media.settings.xml=/vendor/etc/media_profiles_vendor.xml
+
#13631487 is decimal sum of supported codecs in AAL
#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE DSD
mm.enable.qcom_parser=13631487
@@ -61,18 +61,8 @@
#system props for time-services
persist.timed.enable=true
-#
-# system prop for opengles version
-#
-# 196608 is decimal for 0x30000 to report version 3
-# 196609 is decimal for 0x30001 to report version 3.1
-# 196610 is decimal for 0x30002 to report version 3.2
-ro.opengles.version=196610
-
# system property for maximum number of HFP client connections
bt.max.hfpclient.connections=1
-#force disable Bluetooth AAC by default
-persist.bt.a2dp.aac_disable=false
# System property for cabl
ro.qualcomm.cabl=2
@@ -86,9 +76,6 @@
#
persist.fuse_sdcard=true
-#system prop for Bluetooth SOC type
-qcom.bluetooth.soc=cherokee
-
#system prop for A4WP profile support
ro.bluetooth.a4wp=false
@@ -111,13 +98,6 @@
persist.data.df.iwlan_mux=9
persist.data.df.dev_name=rmnet_usb0
-#
-# system property determining camera HAL to be used for a Video call
-#
-# 1 is camera1
-# 2 or anything else is camera2
-persist.radio.VT_CAM_INTERFACE=2
-
#property to enable user to access Google WFD settings
persist.debug.wfd.enable=1
##property to choose between virtual/external wfd display
@@ -126,13 +106,6 @@
# system prop for NFC DT
ro.nfc.port=I2C
-#property for vendor specific library
-ro.vendor.at_library=libqti-at.so
-
-#min/max cpu in core control
-ro.core_ctl_min_cpu=2
-ro.core_ctl_max_cpu=4
-
#hwui properties
ro.hwui.texture_cache_size=72
ro.hwui.layer_cache_size=48
@@ -144,33 +117,38 @@
ro.hwui.text_small_cache_width=1024
ro.hwui.text_small_cache_height=1024
ro.hwui.text_large_cache_width=2048
-ro.hwui.text_large_cache_height=1024
-
-# enable navigation bar
-qemu.hw.mainkeys=0
+ro.hwui.text_large_cache_height=4096
#property to enable VDS WFD solution
persist.hwc.enable_vds=1
#Increase cached app limit
-ro.sys.fw.bg_apps_limit=60
+ro.vendor.qti.sys.fw.bg_apps_limit=60
+
+# Property to enable sched colocation, app trigger, game trigger
+sched.colocate.enable=1
+ro.vendor.gt_library=libqti-gt.so
+ro.vendor.at_library=libqti-at.so
+sys.games.gt.prof=1
+
+#min/max cpu in core control
+ro.vendor.qti.core_ctl_min_cpu=2
+ro.vendor.qti.core_ctl_max_cpu=4
#Settings to enable sensors
#Device Orientation sensor
-ro.qti.sensors.dev_ori=true
+ro.vendor.sensors.dev_ori=true
#Persistent Motion Detector
-ro.qti.sensors.pmd=true
+ro.vendor.sensors.pmd=true
#Stationary Detector
-ro.qti.sensors.sta_detect=true
+ro.vendor.sensors.sta_detect=true
#Motion Detector
-ro.qti.sensors.mot_detect=true
+ro.vendor.sensors.mot_detect=true
#Device Position Classifier
-ro.qti.sensors.dpc=true
+ro.vendor.sensors.dpc=true
#MultiShake sensor
-ro.qti.sensors.multishake=true
-#IOD sensor
-ro.qti.sensors.iod=true
+ro.vendor.sensors.multishake=true
#Enable stm events
persist.debug.coresight.config=stm-events
@@ -178,8 +156,14 @@
#Disable face beautification
persist.ts.rtmakeup=false
-#Set cutoff voltage to 3200mV
-ro.cutoff_voltage_mv=3200
+#Property to enable display default color mode
+vendor.display.enable_default_color_mode=true
#Expose aux camera for below packages
-camera.aux.packagelist=org.codeaurora.snapcam,com.qualcomm.saltproject,com.qualcomm.saltproject2
+vendor.camera.aux.packagelist=org.codeaurora.snapcam
+
+#enable IZat OptInApp overlay
+persist.vendor.overlay.izat.optin=rro
+
+# Property for backup NTP Server
+persist.backup.ntpServer="0.pool.ntp.org"
Only in unified_n: thermal
diff -bur unified_n/vendorsetup.sh unified_o/vendorsetup.sh
--- unified_n/vendorsetup.sh 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/vendorsetup.sh 2017-08-30 14:59:55.482875837 +0530
@@ -52,4 +52,6 @@
add_lunch_combo msm8998_32-userdebug
add_lunch_combo sdm660_64-userdebug
add_lunch_combo sdm660_32-userdebug
-add_lunch_combo msmskunk-userdebug
+add_lunch_combo sdm845-userdebug
+add_lunch_combo apq8098_latv-userdebug
+add_lunch_combo msmpeafowl-userdebug
Only in unified_o: vndk
Only in unified_n: vr
diff -bur unified_n/WCNSS_qcom_cfg.ini unified_o/WCNSS_qcom_cfg.ini
--- unified_n/WCNSS_qcom_cfg.ini 2017-08-30 15:08:58.145651787 +0530
+++ unified_o/WCNSS_qcom_cfg.ini 2017-08-30 14:53:05.863414912 +0530
@@ -29,6 +29,11 @@
# Flag to allow STA send AddTspec even when ACM is Off
gAddTSWhenACMIsOff=1
+# Flags to filter Mcast and Bcast RX packets.
+# Value 0: No filtering, 1: Filter all Multicast.
+# 2: Filter all Broadcast. 3: Filter all Mcast abd Bcast
+McastBcastFilter=3
+
#Flag to enable HostARPOffload feature or not
hostArpOffload=1
@@ -208,6 +213,9 @@
gEnableFastRoamInConcurrency=1
+#Enable/Disable PER based roaming
+gper_roam_enabled=0
+
#Maxium Channel time in msec
gMaxMediumTime = 6000
@@ -351,7 +359,7 @@
# Enable or Disable Random MAC (Spoofing)
# 1=Enable, 0=Disable (default)
-gEnableMacAddrSpoof=0
+gEnableMacAddrSpoof=1
################ Datapath feature set Begin ################
# Bus bandwidth threshold values in terms of number of packets
diff -bur unified_n/whitelistedapps.xml unified_o/whitelistedapps.xml
--- unified_n/whitelistedapps.xml 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/whitelistedapps.xml 2017-08-30 14:53:05.867414786 +0530
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
-/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 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
@@ -40,8 +40,14 @@
<GameColocateApps>
<!-- Only PackageName supported, ActivityName and VersionCode will be ignored.
-->
+
+ <!-- Riptide game whitelisted for sched colocation.
+ -->
+ <AppAttributes
+ PackageName="com.vectorunit.redcmgeplaycn" />
+ <AppAttributes
+ PackageName="com.vectorunit.red" />
<AppAttributes
- PackageName="com.t2ksports.nba2k16android" DownMigrate="39950" UpMigrate="40000"/>
- <!-- ActivityName="com.t2ksports.nba2k16android.gameactivity" VersionCode="26" -->
+ PackageName="com.gameloft.android.ANMP.GloftA8HM" />
</GameColocateApps>
</AppCatalog>
diff -bur unified_n/wifi_concurrency_cfg.txt unified_o/wifi_concurrency_cfg.txt
--- unified_n/wifi_concurrency_cfg.txt 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/wifi_concurrency_cfg.txt 2017-08-30 14:53:05.867414786 +0530
@@ -1,3 +1,2 @@
ENABLE_STA_SAP_CONCURRENCY:1
-SAP_INTERFACE_NAME:softap0
SAP_CHANNEL:6
diff -bur unified_n/wpa_supplicant_overlay.conf unified_o/wpa_supplicant_overlay.conf
--- unified_n/wpa_supplicant_overlay.conf 2017-08-30 15:08:58.161652394 +0530
+++ unified_o/wpa_supplicant_overlay.conf 2017-08-30 14:53:05.867414786 +0530
@@ -1,2 +1,3 @@
disable_scan_offload=1
p2p_disabled=1
+tdls_external_control=1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment