aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosme Domínguez Díaz <cosme.ddiaz@gmail.com>2018-03-06 20:53:55 +0100
committerCosme Domínguez Díaz <cosme.ddiaz@gmail.com>2018-03-06 20:53:55 +0100
commit4a0b9fdf1f28c2ea587412375b20850ffba5189a (patch)
treee304e88c7088c3e983e7bd5fdb4bb61baa0a3f6a
parent95ab79ae2c595e4c47c21e9b4dffa762ae048b20 (diff)
parent7d10229e40e095bf46bebea08c5cbb0c1f887928 (diff)
Merge branch 'staging/treble' into lineage-15.1
-rw-r--r--BoardConfigCommon.mk111
-rw-r--r--camera/QCamera2/Android.mk1
-rw-r--r--camera/QCamera2/HAL/QCamera2HWI.cpp18
-rwxr-xr-xcamera/QCamera2/HAL/QCameraMem.cpp29
-rw-r--r--camera/QCamera2/HAL/QCameraMem.h9
-rw-r--r--camera/QCamera2/HAL3/QCamera3HWI.cpp3
-rw-r--r--camera/QCamera2/stack/Android.mk2
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/Android.mk1
-rw-r--r--camera/QCamera2/stack/mm-jpeg-interface/Android.mk1
-rw-r--r--camera/QCamera2/stack/mm-lib2d-interface/Android.mk1
-rw-r--r--camera/mm-image-codec/qomx_core/Android.mk1
-rw-r--r--config.fs4
-rw-r--r--configs/media_codecs.xml9
-rw-r--r--configs/media_codecs_performance.xml68
-rw-r--r--configs/media_profiles_V1_0.xml (renamed from configs/media_profiles.xml)120
-rw-r--r--configs/powerhint.xml125
-rwxr-xr-x[-rw-r--r--]extract-files.sh13
-rw-r--r--hidl.mk126
-rw-r--r--manifest.xml78
-rwxr-xr-xmsm8996.mk261
-rw-r--r--proprietary-files.txt638
-rw-r--r--rootdir/Android.mk20
-rw-r--r--rootdir/etc/fstab.full23
-rw-r--r--rootdir/etc/fstab.qcom20
-rw-r--r--[-rwxr-xr-x]rootdir/etc/init.qcom.power.rc3
-rw-r--r--[-rwxr-xr-x]rootdir/etc/init.qcom.rc450
-rw-r--r--rootdir/etc/init.qcom.sensors.sh43
-rw-r--r--[-rwxr-xr-x]rootdir/etc/init.qcom.usb.rc2
-rw-r--r--rootdir/etc/ueventd.qcom.rc75
-rw-r--r--sepolicy/file_contexts3
-rw-r--r--sepolicy/hal_perf_default.te3
-rwxr-xr-xsetup-makefiles.sh4
-rwxr-xr-xupdate-sha1sums.py79
-rw-r--r--vendor.prop (renamed from system.prop)15
34 files changed, 1134 insertions, 1225 deletions
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 21d35ab..6a2abcd 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -13,31 +13,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#
-# This file sets variables that control the way modules are built
-# thorughout the system. It should not be used to conditionally
-# disable makefiles (the proper mechanism to control what gets
-# included in a build is to use PRODUCT_PACKAGES in a product
-# definition file).
-#
+BOARD_VENDOR := zuk
VENDOR_PATH := device/zuk/msm8996-common
TARGET_SPECIFIC_HEADER_PATH := $(VENDOR_PATH)/include
-BOARD_VENDOR := zuk
-
-# Bootloader
-TARGET_BOOTLOADER_BOARD_NAME := msm8996
-TARGET_NO_BOOTLOADER := true
-
-# Platform
-TARGET_BOARD_PLATFORM := msm8996
-TARGET_BOARD_PLATFORM_GPU := qcom-adreno530
-
-# Properties
-TARGET_SYSTEM_PROP += $(VENDOR_PATH)/system.prop
-
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
@@ -53,20 +34,31 @@ TARGET_2ND_CPU_VARIANT := kryo
TARGET_USES_64_BIT_BINDER := true
+# Bootloader
+TARGET_BOOTLOADER_BOARD_NAME := msm8996
+TARGET_NO_BOOTLOADER := true
+
# Kernel
-BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff
BOARD_KERNEL_BASE := 0x80000000
+BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff
+BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_TAGS_OFFSET := 0x00000100
-BOARD_RAMDISK_OFFSET := 0x01000000
-BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
+BOARD_RAMDISK_OFFSET := 0x01000000
TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_HEADER_ARCH := arm64
-TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
TARGET_KERNEL_SOURCE := kernel/zuk/msm8996
+TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
+
+# Platform
+TARGET_BOARD_PLATFORM := msm8996
+TARGET_BOARD_PLATFORM_GPU := qcom-adreno530
+
+# Properties
+BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
+TARGET_VENDOR_PROP += $(VENDOR_PATH)/vendor.prop
# Audio
-AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
@@ -77,11 +69,12 @@ AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
AUDIO_FEATURE_ENABLED_FLUENCE := true
AUDIO_FEATURE_ENABLED_HFP := true
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
+AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
-AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
+AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
BOARD_USES_ALSA_AUDIO := true
USE_CUSTOM_AUDIO_POLICY := 1
USE_XML_AUDIO_POLICY_CONF := 1
@@ -96,8 +89,9 @@ QCOM_BT_USE_BTNV := true
# Camera
BOARD_QTI_CAMERA_32BIT_ONLY := true
-USE_DEVICE_SPECIFIC_CAMERA := true
TARGET_SUPPORT_HAL1 := false
+TARGET_USES_MEDIA_EXTENSIONS := true
+USE_DEVICE_SPECIFIC_CAMERA := true
# Charger
BOARD_CHARGER_ENABLE_SUSPEND := true
@@ -106,10 +100,6 @@ BOARD_CHARGER_DISABLE_INIT_BLANK := true
# CNE and DPM
BOARD_USES_QCNE := true
-# Crypto
-TARGET_HW_DISK_ENCRYPTION := true
-TARGET_KEYMASTER_WAIT_FOR_QSEE := true
-
# Dex
ifeq ($(HOST_OS),linux)
ifneq ($(TARGET_BUILD_VARIANT),eng)
@@ -121,21 +111,27 @@ WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY ?= true
# Display
BOARD_USES_ADRENO := true
TARGET_CONTINUOUS_SPLASH_ENABLED := true
+MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
+TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
TARGET_USES_C2D_COMPOSITION := true
-TARGET_USES_ION := true
-TARGET_USES_NEW_ION_API :=true
TARGET_USES_GRALLOC1 := true
TARGET_USES_HWC2 := true
+TARGET_USES_ION := true
+TARGET_USES_NEW_ION_API :=true
TARGET_USES_OVERLAY := true
USE_OPENGL_RENDERER := true
MAX_EGL_CACHE_KEY_SIZE := 12*1024
MAX_EGL_CACHE_SIZE := 2048*1024
-OVERRIDE_RS_DRIVER:= libRSDriver_adreno.so
-MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
-TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
+
+OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
+
VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000
+# Encryption
+TARGET_HW_DISK_ENCRYPTION := true
+TARGET_KEYMASTER_WAIT_FOR_QSEE := true
+
# Filesystem
TARGET_FS_CONFIG_GEN := $(VENDOR_PATH)/config.fs
@@ -145,41 +141,45 @@ BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET := true
TARGET_NO_RPC := true
USE_DEVICE_SPECIFIC_GPS := true
-# Hidl manifests
+# HIDL
DEVICE_MANIFEST_FILE := $(VENDOR_PATH)/manifest.xml
DEVICE_MATRIX_FILE := $(VENDOR_PATH)/compatibility_matrix.xml
# Init
-TARGET_INIT_VENDOR_LIB := libinit_msm8996
-TARGET_RECOVERY_DEVICE_MODULES := libinit_msm8996
TARGET_PLATFORM_DEVICE_BASE := /devices/soc/
# Lineage Hardware
BOARD_HARDWARE_CLASS += \
$(VENDOR_PATH)/lineagehw
-# Keystore
+# Keymaster
TARGET_PROVIDES_KEYMASTER := true
-# Media
-TARGET_USES_MEDIA_EXTENSIONS := true
+# Lights
+TARGET_PROVIDES_LIBLIGHT := true
# Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864
BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
+BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_USERDATAIMAGE_PARTITION_SIZE := 58132761600
-BOARD_FLASH_BLOCK_SIZE := 262144
+BOARD_VENDORIMAGE_PARTITION_SIZE := 390029312
+BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
+TARGET_COPY_OUT_VENDOR := vendor
-# QCOM hardware
-BOARD_USES_QCOM_HARDWARE := true
-
-# QCOM Power
+# Power
TARGET_HAS_NO_WIFI_STATS := true
+TARGET_TAP_TO_WAKE_NODE := "/sys/devices/virtual/touch/tp_dev/gesture_on"
+
+# QCOM
+BOARD_USES_QCOM_HARDWARE := true
+TARGET_USE_SDCLANG := true
# Recovery
-TARGET_RECOVERY_FSTAB := $(VENDOR_PATH)/rootdir/etc/fstab.full
+TARGET_RECOVERY_FSTAB := $(VENDOR_PATH)/rootdir/etc/fstab.qcom
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
@@ -191,18 +191,9 @@ TARGET_RIL_VARIANT := caf
include device/qcom/sepolicy/sepolicy.mk
BOARD_SEPOLICY_DIRS += $(VENDOR_PATH)/sepolicy
-# Tap to wake node
-TARGET_TAP_TO_WAKE_NODE := "/sys/devices/virtual/touch/tp_dev/gesture_on"
-
-# Telephony
-PRODUCT_PACKAGES += \
- telephony-ext
-
-PRODUCT_BOOT_JARS += \
- telephony-ext
-
-# Use Snapdragon LLVM, if available
-TARGET_USE_SDCLANG := true
+# Vendor init
+TARGET_INIT_VENDOR_LIB := libinit_msm8996
+TARGET_RECOVERY_DEVICE_MODULES := libinit_msm8996
# Wifi
BOARD_HAS_QCOM_WLAN := true
diff --git a/camera/QCamera2/Android.mk b/camera/QCamera2/Android.mk
index f101f75..2487561 100644
--- a/camera/QCamera2/Android.mk
+++ b/camera/QCamera2/Android.mk
@@ -116,6 +116,7 @@ LOCAL_STATIC_LIBRARIES := android.hardware.camera.common@1.0-helper
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_MODULE := camera.$(TARGET_BOARD_PLATFORM)
+LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
diff --git a/camera/QCamera2/HAL/QCamera2HWI.cpp b/camera/QCamera2/HAL/QCamera2HWI.cpp
index bc97c07..7066805 100644
--- a/camera/QCamera2/HAL/QCamera2HWI.cpp
+++ b/camera/QCamera2/HAL/QCamera2HWI.cpp
@@ -2715,14 +2715,16 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamBuf(
{
if (isNoDisplayMode()) {
mem = new QCameraStreamMemory(mGetMemory,
+ mCallbackCookie,
bCachedMem,
(bPoolMem) ? &m_memoryPool : NULL,
stream_type);
} else {
cam_dimension_t dim;
int minFPS, maxFPS;
- QCameraGrallocMemory *grallocMemory =
- new QCameraGrallocMemory(mGetMemory);
+ QCameraGrallocMemory *grallocMemory = NULL;
+
+ grallocMemory = new QCameraGrallocMemory(mGetMemory, mCallbackCookie);
mParameters.getStreamDimension(stream_type, dim);
/* we are interested only in maxfps here */
@@ -2758,12 +2760,12 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamBuf(
case CAM_STREAM_TYPE_POSTVIEW:
{
if (isNoDisplayMode() || isPreviewRestartEnabled()) {
- mem = new QCameraStreamMemory(mGetMemory, bCachedMem);
+ mem = new QCameraStreamMemory(mGetMemory, mCallbackCookie, bCachedMem);
} else {
cam_dimension_t dim;
int minFPS, maxFPS;
QCameraGrallocMemory *grallocMemory =
- new QCameraGrallocMemory(mGetMemory);
+ new QCameraGrallocMemory(mGetMemory, mCallbackCookie);
mParameters.getStreamDimension(stream_type, dim);
/* we are interested only in maxfps here */
@@ -2782,6 +2784,7 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamBuf(
case CAM_STREAM_TYPE_RAW:
case CAM_STREAM_TYPE_OFFLINE_PROC:
mem = new QCameraStreamMemory(mGetMemory,
+ mCallbackCookie,
bCachedMem,
(bPoolMem) ? &m_memoryPool : NULL,
stream_type);
@@ -2823,7 +2826,7 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamBuf(
QCameraVideoMemory *videoMemory = NULL;
if (mParameters.getVideoBatchSize()) {
videoMemory = new QCameraVideoMemory(
- mGetMemory, FALSE, QCAMERA_MEM_TYPE_BATCH);
+ mGetMemory, mCallbackCookie, FALSE, QCAMERA_MEM_TYPE_BATCH);
if (videoMemory == NULL) {
LOGE("Out of memory for video batching obj");
return NULL;
@@ -2842,7 +2845,7 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamBuf(
}
} else {
videoMemory =
- new QCameraVideoMemory(mGetMemory, bCachedMem);
+ new QCameraVideoMemory(mGetMemory, mCallbackCookie, bCachedMem);
if (videoMemory == NULL) {
LOGE("Out of memory for video obj");
return NULL;
@@ -2862,6 +2865,7 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamBuf(
break;
case CAM_STREAM_TYPE_CALLBACK:
mem = new QCameraStreamMemory(mGetMemory,
+ mCallbackCookie,
bCachedMem,
(bPoolMem) ? &m_memoryPool : NULL,
stream_type);
@@ -3175,7 +3179,7 @@ QCameraMemory *QCamera2HardwareInterface::allocateStreamUserBuf(
switch (streamInfo->stream_type) {
case CAM_STREAM_TYPE_VIDEO: {
QCameraVideoMemory *video_mem = new QCameraVideoMemory(
- mGetMemory, FALSE, QCAMERA_MEM_TYPE_BATCH);
+ mGetMemory, mCallbackCookie, FALSE, QCAMERA_MEM_TYPE_BATCH);
if (video_mem == NULL) {
LOGE("Out of memory for video obj");
return NULL;
diff --git a/camera/QCamera2/HAL/QCameraMem.cpp b/camera/QCamera2/HAL/QCameraMem.cpp
index f4c239a..2502cf3 100755
--- a/camera/QCamera2/HAL/QCameraMem.cpp
+++ b/camera/QCamera2/HAL/QCameraMem.cpp
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2016, 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
@@ -1050,11 +1050,13 @@ int QCameraMetadataStreamMemory::getRegFlags(uint8_t *regFlags) const
* RETURN : none
*==========================================================================*/
QCameraStreamMemory::QCameraStreamMemory(camera_request_memory memory,
+ void* cbCookie,
bool cached,
QCameraMemoryPool *pool,
cam_stream_type_t streamType, __unused cam_stream_buf_type bufType)
:QCameraMemory(cached, pool, streamType),
- mGetMemory(memory)
+ mGetMemory(memory),
+ mCallbackCookie(cbCookie)
{
for (int i = 0; i < MM_CAMERA_MAX_NUM_FRAMES; i ++)
mCameraMemory[i] = NULL;
@@ -1100,7 +1102,7 @@ int QCameraStreamMemory::allocate(uint8_t count, size_t size, uint32_t isSecure)
if (isSecure == SECURE) {
mCameraMemory[i] = 0;
} else {
- mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, this);
+ mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, mCallbackCookie);
}
}
mBufferCount = count;
@@ -1132,7 +1134,7 @@ int QCameraStreamMemory::allocateMore(uint8_t count, size_t size)
}
for (int i = mBufferCount; i < mBufferCount + count; i++) {
- mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, this);
+ mCameraMemory[i] = mGetMemory(mMemInfo[i].fd, mMemInfo[i].size, 1, mCallbackCookie);
}
mBufferCount = (uint8_t)(mBufferCount + count);
ATRACE_END();
@@ -1280,9 +1282,9 @@ void *QCameraStreamMemory::getPtr(uint32_t index) const
*
* RETURN : none
*==========================================================================*/
-QCameraVideoMemory::QCameraVideoMemory(camera_request_memory memory,
+QCameraVideoMemory::QCameraVideoMemory(camera_request_memory memory, void* cbCookie,
bool cached, QCameraMemType bufType)
- : QCameraStreamMemory(memory, cached)
+ : QCameraStreamMemory(memory, cbCookie, cached)
{
memset(mMetadata, 0, sizeof(mMetadata));
memset(mNativeHandle, 0, sizeof(mNativeHandle));
@@ -1385,7 +1387,7 @@ int QCameraVideoMemory::allocateMore(uint8_t count, size_t size)
if (!(mBufType & QCAMERA_MEM_TYPE_BATCH)) {
for (int i = mBufferCount; i < count + mBufferCount; i ++) {
mMetadata[i] = mGetMemory(-1,
- sizeof(media_metadata_buffer), 1, this);
+ sizeof(media_metadata_buffer), 1, mCallbackCookie);
if (!mMetadata[i]) {
LOGE("allocation of video metadata failed.");
for (int j = mBufferCount; j <= i-1; j ++) {
@@ -1447,7 +1449,7 @@ int QCameraVideoMemory::allocateMeta(uint8_t buf_cnt, int numFDs, int numInts)
for (int i = 0; i < buf_cnt; i++) {
mMetadata[i] = mGetMemory(-1,
- sizeof(media_metadata_buffer), 1, this);
+ sizeof(media_metadata_buffer), 1, mCallbackCookie);
if (!mMetadata[i]) {
LOGE("allocation of video metadata failed.");
for (int j = (i - 1); j >= 0; j--) {
@@ -1709,11 +1711,9 @@ int QCameraVideoMemory::convCamtoOMXFormat(cam_format_t format)
case CAM_FORMAT_YUV_420_NV12_VENUS:
omxFormat = OMX_COLOR_FormatYUV420SemiPlanar;
break;
-#ifndef VANILLA_HAL
case CAM_FORMAT_YUV_420_NV12_UBWC:
omxFormat = QOMX_COLOR_FORMATYUV420PackedSemiPlanar32mCompressed;
break;
-#endif
default:
omxFormat = OMX_COLOR_FormatYUV420SemiPlanar;
}
@@ -1731,7 +1731,7 @@ int QCameraVideoMemory::convCamtoOMXFormat(cam_format_t format)
*
* RETURN : none
*==========================================================================*/
-QCameraGrallocMemory::QCameraGrallocMemory(camera_request_memory memory)
+QCameraGrallocMemory::QCameraGrallocMemory(camera_request_memory memory, void* cbCookie)
: QCameraMemory(true), mColorSpace(ITU_R_601_FR)
{
mMinUndequeuedBuffers = 0;
@@ -1739,6 +1739,7 @@ QCameraGrallocMemory::QCameraGrallocMemory(camera_request_memory memory)
mWindow = NULL;
mWidth = mHeight = mStride = mScanline = mUsage = 0;
mFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP;
+ mCallbackCookie = cbCookie;
mGetMemory = memory;
for (int i = 0; i < MM_CAMERA_MAX_NUM_FRAMES; i ++) {
mBufferHandle[i] = NULL;
@@ -1889,7 +1890,7 @@ int QCameraGrallocMemory::displayBuffer(uint32_t index)
mGetMemory(mPrivateHandle[dequeuedIdx]->fd,
(size_t)mPrivateHandle[dequeuedIdx]->size,
1,
- (void *)this);
+ mCallbackCookie);
LOGH("idx = %d, fd = %d, size = %d, offset = %d",
dequeuedIdx, mPrivateHandle[dequeuedIdx]->fd,
mPrivateHandle[dequeuedIdx]->size,
@@ -2010,7 +2011,7 @@ int32_t QCameraGrallocMemory::dequeueBuffer()
mGetMemory(mPrivateHandle[dequeuedIdx]->fd,
(size_t)mPrivateHandle[dequeuedIdx]->size,
1,
- (void *)this);
+ mCallbackCookie);
LOGH("idx = %d, fd = %d, size = %d, offset = %d",
dequeuedIdx, mPrivateHandle[dequeuedIdx]->fd,
mPrivateHandle[dequeuedIdx]->size,
@@ -2201,7 +2202,7 @@ int QCameraGrallocMemory::allocate(uint8_t count, size_t /*size*/,
mGetMemory(mPrivateHandle[cnt]->fd,
(size_t)mPrivateHandle[cnt]->size,
1,
- (void *)this);
+ mCallbackCookie);
LOGH("idx = %d, fd = %d, size = %d, offset = %d",
cnt, mPrivateHandle[cnt]->fd,
mPrivateHandle[cnt]->size,
diff --git a/camera/QCamera2/HAL/QCameraMem.h b/camera/QCamera2/HAL/QCameraMem.h
index a20e29a..ec75e51 100644
--- a/camera/QCamera2/HAL/QCameraMem.h
+++ b/camera/QCamera2/HAL/QCameraMem.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2016, 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
@@ -192,6 +192,7 @@ public:
class QCameraStreamMemory : public QCameraMemory {
public:
QCameraStreamMemory(camera_request_memory getMemory,
+ void* cbCookie,
bool cached,
QCameraMemoryPool *pool = NULL,
cam_stream_type_t streamType = CAM_STREAM_TYPE_DEFAULT,
@@ -210,13 +211,14 @@ public:
protected:
camera_request_memory mGetMemory;
camera_memory_t *mCameraMemory[MM_CAMERA_MAX_NUM_FRAMES];
+ void* mCallbackCookie;
};
// Externel heap memory is used for memories shared with
// framework. They are allocated from /dev/ion or gralloc.
class QCameraVideoMemory : public QCameraStreamMemory {
public:
- QCameraVideoMemory(camera_request_memory getMemory, bool cached,
+ QCameraVideoMemory(camera_request_memory getMemory, void* cbCookie, bool cached,
QCameraMemType bufType = QCAMERA_MEM_TYPE_DEFAULT);
virtual ~QCameraVideoMemory();
@@ -248,7 +250,7 @@ class QCameraGrallocMemory : public QCameraMemory {
BUFFER_OWNED,
};
public:
- QCameraGrallocMemory(camera_request_memory getMemory);
+ QCameraGrallocMemory(camera_request_memory getMemory, void* cbCookie);
void setNativeWindow(preview_stream_ops_t *anw);
virtual ~QCameraGrallocMemory();
@@ -282,6 +284,7 @@ private:
preview_stream_ops_t *mWindow;
int mWidth, mHeight, mFormat, mStride, mScanline, mUsage, mMaxFPS;
camera_request_memory mGetMemory;
+ void* mCallbackCookie;
camera_memory_t *mCameraMemory[MM_CAMERA_MAX_NUM_FRAMES];
int mMinUndequeuedBuffers;
enum ColorSpace_t mColorSpace;
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 14d15a5..4e785f6 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2111,7 +2111,8 @@ int QCamera3HardwareInterface::configureStreamsPerfLocked(
default:
LOGE("not a supported format 0x%x", newStream->format);
- break;
+ pthread_mutex_unlock(&mMutex);
+ return -EINVAL;
}
} else if (newStream->stream_type == CAMERA3_STREAM_INPUT) {
newStream->max_buffers = MAX_INFLIGHT_REPROCESS_REQUESTS;
diff --git a/camera/QCamera2/stack/Android.mk b/camera/QCamera2/stack/Android.mk
index a357417..bd1c3e6 100644
--- a/camera/QCamera2/stack/Android.mk
+++ b/camera/QCamera2/stack/Android.mk
@@ -1,5 +1,3 @@
LOCAL_PATH:= $(call my-dir)
include $(LOCAL_PATH)/mm-camera-interface/Android.mk
include $(LOCAL_PATH)/mm-jpeg-interface/Android.mk
-include $(LOCAL_PATH)/mm-jpeg-interface/test/Android.mk
-include $(LOCAL_PATH)/mm-camera-test/Android.mk
diff --git a/camera/QCamera2/stack/mm-camera-interface/Android.mk b/camera/QCamera2/stack/mm-camera-interface/Android.mk
index 169c1cf..22e4509 100644
--- a/camera/QCamera2/stack/mm-camera-interface/Android.mk
+++ b/camera/QCamera2/stack/mm-camera-interface/Android.mk
@@ -56,6 +56,7 @@ LOCAL_MODULE := libmmcamera_interface
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libdl libcutils liblog
LOCAL_MODULE_TAGS := optional
+LOCAL_VENDOR_MODULE := true
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
include $(BUILD_SHARED_LIBRARY)
diff --git a/camera/QCamera2/stack/mm-jpeg-interface/Android.mk b/camera/QCamera2/stack/mm-jpeg-interface/Android.mk
index 175796b..8dd448d 100644
--- a/camera/QCamera2/stack/mm-jpeg-interface/Android.mk
+++ b/camera/QCamera2/stack/mm-jpeg-interface/Android.mk
@@ -75,6 +75,7 @@ ifeq ($(strip $(LIB2D_ROTATION)),true)
LOCAL_SHARED_LIBRARIES += libmmlib2d_interface
endif
LOCAL_MODULE_TAGS := optional
+LOCAL_VENDOR_MODULE := true
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
include $(BUILD_SHARED_LIBRARY)
diff --git a/camera/QCamera2/stack/mm-lib2d-interface/Android.mk b/camera/QCamera2/stack/mm-lib2d-interface/Android.mk
index 696f04a..e963b69 100644
--- a/camera/QCamera2/stack/mm-lib2d-interface/Android.mk
+++ b/camera/QCamera2/stack/mm-lib2d-interface/Android.mk
@@ -32,6 +32,7 @@ LOCAL_MODULE := libmmlib2d_interface
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libdl libcutils liblog libmmcamera_interface
LOCAL_MODULE_TAGS := optional
+LOCAL_VENDOR_MODULE := true
LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
include $(BUILD_SHARED_LIBRARY)
diff --git a/camera/mm-image-codec/qomx_core/Android.mk b/camera/mm-image-codec/qomx_core/Android.mk
index c4edfc4..9f46202 100644
--- a/camera/mm-image-codec/qomx_core/Android.mk
+++ b/camera/mm-image-codec/qomx_core/Android.mk
@@ -20,6 +20,7 @@ LOCAL_SRC_FILES := qomx_core.c
LOCAL_MODULE := libqomx_core
LOCAL_PRELINK_MODULE := false
+LOCAL_VENDOR_MODULE := true
LOCAL_SHARED_LIBRARIES := libcutils libdl liblog
LOCAL_32_BIT_ONLY := true
diff --git a/config.fs b/config.fs
index cdb02c0..fc8335b 100644
--- a/config.fs
+++ b/config.fs
@@ -1,13 +1,13 @@
[AID_QTI_DIAG]
value:2901
-[system/bin/wcnss_filter]
+[vendor/bin/wcnss_filter]
mode: 0755
user: AID_BLUETOOTH
group: AID_BLUETOOTH
caps: BLOCK_SUSPEND
-[system/bin/cnss-daemon]
+[vendor/bin/cnss-daemon]
mode: 0755
user: AID_BLUETOOTH
group: AID_BLUETOOTH
diff --git a/configs/media_codecs.xml b/configs/media_codecs.xml
index 5c8ba25..eed96b9 100644
--- a/configs/media_codecs.xml
+++ b/configs/media_codecs.xml
@@ -126,7 +126,7 @@ Only the three quirks included above are recognized at this point:
<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="4096x2160" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="979200" />
@@ -134,6 +134,7 @@ Only the three quirks included above are recognized at this point:
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Feature name="intra-refresh" />
+ <Feature name="can-swap-width-height" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
@@ -199,6 +200,7 @@ Only the three quirks included above are recognized at this point:
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
+ <Feature name="can-swap-width-height" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
@@ -386,8 +388,9 @@ Only the three quirks included above are recognized at this point:
<Limit name="concurrent-instances" max="6" />
</MediaCodec>
<!-- Audio Software -->
- <MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" />
+ <MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" >
+ <Limit name="concurrent-instances" max="10" />
+ </MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
- <!--Include href="media_codecs_ffmpeg.xml" /-->
</MediaCodecs>
diff --git a/configs/media_codecs_performance.xml b/configs/media_codecs_performance.xml
index 917ec7d..c16aeb3 100644
--- a/configs/media_codecs_performance.xml
+++ b/configs/media_codecs_performance.xml
@@ -32,7 +32,7 @@ limitations under the License.
<Limit name="measured-frame-rate-720x480" range="121-121" />
<Limit name="measured-frame-rate-1280x720" range="49-49" />
<Limit name="measured-frame-rate-1920x1080" range="16-45" />
- <Limit name="measured-frame-rate-3840x2160" range="9-28" />
+ <Limit name="measured-frame-rate-3840x2160" range="8-32" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="303-303" />
@@ -50,19 +50,19 @@ limitations under the License.
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="609-609" />
- <Limit name="measured-frame-rate-720x480" range="91-69" />
- <Limit name="measured-frame-rate-1280x720" range="57-57" />
- <Limit name="measured-frame-rate-1920x1080" range="31-31" />
+ <Limit name="measured-frame-rate-320x240" range="375-430" />
+ <Limit name="measured-frame-rate-720x480" range="156-193" />
+ <Limit name="measured-frame-rate-1280x720" range="84-112" />
+ <Limit name="measured-frame-rate-1920x1080" range="42-57" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
- <Limit name="measured-frame-rate-176x144" range="400-400" />
+ <Limit name="measured-frame-rate-176x144" range="200-600" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="280-280" />
+ <Limit name="measured-frame-rate-176x144" range="411-524" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
- <Limit name="measured-frame-rate-320x180" range="160-180" />
+ <Limit name="measured-frame-rate-320x180" range="240-250" />
<Limit name="measured-frame-rate-640x360" range="50-57" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
@@ -71,15 +71,15 @@ limitations under the License.
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="221-221" />
- <Limit name="measured-frame-rate-720x480" range="190-210" />
- <Limit name="measured-frame-rate-1280x720" range="200-220" />
- <Limit name="measured-frame-rate-1920x1088" range="170-180" />
+ <Limit name="measured-frame-rate-720x480" range="156-156" />
+ <Limit name="measured-frame-rate-1280x720" range="270-270" />
+ <Limit name="measured-frame-rate-1920x1088" range="206-211" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-352x288" range="250-255" />
- <Limit name="measured-frame-rate-720x480" range="242-246" />
- <Limit name="measured-frame-rate-1280x720" range="230-235" />
- <Limit name="measured-frame-rate-1920x1080" range="216-226" />
+ <Limit name="measured-frame-rate-352x288" range="222-222" />
+ <Limit name="measured-frame-rate-720x480" range="165-165" />
+ <Limit name="measured-frame-rate-1280x720" range="292-292" />
+ <Limit name="measured-frame-rate-1920x1080" range="240-240" />
<Limit name="measured-frame-rate-3840x2160" range="68-68" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true">
@@ -87,7 +87,7 @@ limitations under the License.
<Limit name="measured-frame-rate-352x288" range="292-292" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="152-152" />
+ <Limit name="measured-frame-rate-176x144" range="146-146" />
<Limit name="measured-frame-rate-480x360" range="145-145" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
@@ -101,24 +101,24 @@ limitations under the License.
<Limit name="measured-frame-rate-640x360" range="323-323" />
<Limit name="measured-frame-rate-1280x720" range="262-262" />
<Limit name="measured-frame-rate-1920x1080" range="220-220" />
- <Limit name="measured-frame-rate-3840x2160" range="51-51" />
+ <Limit name="measured-frame-rate-3840x2160" range="19-19" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="445-445" />
- <Limit name="measured-frame-rate-720x480" range="204-204" />
- <Limit name="measured-frame-rate-1280x720" range="80-80" />
- <Limit name="measured-frame-rate-1920x1080" range="35-35" />
+ <Limit name="measured-frame-rate-320x240" range="577-847" />
+ <Limit name="measured-frame-rate-720x480" range="248-248" />
+ <Limit name="measured-frame-rate-1280x720" range="84-84" />
+ <Limit name="measured-frame-rate-1920x1080" range="46-46" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="104-279" />
<Limit name="measured-frame-rate-352x288" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-352x288" range="386-386" />
- <Limit name="measured-frame-rate-640x360" range="270-232" />
- <Limit name="measured-frame-rate-720x480" range="220-290" />
- <Limit name="measured-frame-rate-1280x720" range="100-100" />
- <Limit name="measured-frame-rate-1920x1080" range="62-64" />
+ <Limit name="measured-frame-rate-352x288" range="170-170" />
+ <Limit name="measured-frame-rate-640x360" range="209-209" />
+ <Limit name="measured-frame-rate-720x480" range="190-190" />
+ <Limit name="measured-frame-rate-1280x720" range="32-32" />
+ <Limit name="measured-frame-rate-1920x1080" range="21-21" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
@@ -126,16 +126,16 @@ limitations under the License.
</Type>
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
- <Limit name="measured-frame-rate-320x240" range="360-400" />
- <Limit name="measured-frame-rate-640x360" range="200-300" />
- <Limit name="measured-frame-rate-1280x720" range="50-80" />
- <Limit name="measured-frame-rate-1920x1080" range="15-30" />
+ <Limit name="measured-frame-rate-320x240" range="330-381" />
+ <Limit name="measured-frame-rate-640x360" range="139-185" />
+ <Limit name="measured-frame-rate-1280x720" range="22-38" />
+ <Limit name="measured-frame-rate-1920x1080" range="9-18" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
- <Limit name="measured-frame-rate-320x240" range="380-380" />
- <Limit name="measured-frame-rate-640x360" range="270-270" />
- <Limit name="measured-frame-rate-1280x720" range="100-120" />
- <Limit name="measured-frame-rate-1920x1080" range="75-75" />
+ <Limit name="measured-frame-rate-320x240" range="200-230" />
+ <Limit name="measured-frame-rate-640x360" range="315-360" />
+ <Limit name="measured-frame-rate-1280x720" range="143-146" />
+ <Limit name="measured-frame-rate-1920x1080" range="84-87" />
</MediaCodec>
</Decoders>
</MediaCodecs>
diff --git a/configs/media_profiles.xml b/configs/media_profiles_V1_0.xml
index 4298d71..80aa065 100644
--- a/configs/media_profiles.xml
+++ b/configs/media_profiles_V1_0.xml
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
- Copyright (C) 2012-2015 The Linux Foundation. All rights reserved.
- Not a contribution.
+<!-- Copyright 2016 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.
@@ -15,77 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!DOCTYPE MediaSettings [
-<!ELEMENT MediaSettings (CamcorderProfiles,
- EncoderOutputFileFormat+,
- VideoEncoderCap+,
- AudioEncoderCap+,
- VideoDecoderCap,
- AudioDecoderCap)>
-<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
-<!ELEMENT EncoderProfile (Video, Audio)>
-<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
-<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
-<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
-<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
-<!ELEMENT Video EMPTY>
-<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
-<!ATTLIST Video bitRate CDATA #REQUIRED>
-<!ATTLIST Video width CDATA #REQUIRED>
-<!ATTLIST Video height CDATA #REQUIRED>
-<!ATTLIST Video frameRate CDATA #REQUIRED>
-<!ELEMENT Audio EMPTY>
-<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
-<!ATTLIST Audio bitRate CDATA #REQUIRED>
-<!ATTLIST Audio sampleRate CDATA #REQUIRED>
-<!ATTLIST Audio channels (1|2|6) #REQUIRED>
-<!ELEMENT ImageEncoding EMPTY>
-<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
-<!ELEMENT ImageDecoding EMPTY>
-<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
-<!ELEMENT Camera EMPTY>
-<!ELEMENT EncoderOutputFileFormat EMPTY>
-<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
-<!ELEMENT VideoEncoderCap EMPTY>
-<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
-<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
-<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
-<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
-<!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) #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>
-<!ELEMENT VideoDecoderCap EMPTY>
-<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
-<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
-<!ELEMENT AudioDecoderCap EMPTY>
-<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
-<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
-<!ELEMENT VideoEditorCap EMPTY>
-<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
-<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
-<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
-<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
-<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
-<!ELEMENT ExportVideoProfile EMPTY>
-<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
-<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
-<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
-]>
+<!DOCTYPE MediaSettings SYSTEM "/system/etc/media_profiles_V1_0.dtd">
<!--
This file is used to declare the multimedia profiles and capabilities
on an android-powered device.
@@ -116,8 +44,8 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
+ bitRate="328000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -168,8 +96,8 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
+ bitRate="328000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -181,8 +109,8 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
+ bitRate="328000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -194,8 +122,8 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="156000"
- sampleRate="48000"
+ bitRate="328000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -347,8 +275,8 @@
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
+ bitRate="382000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -361,8 +289,8 @@
frameRate="60" />
<!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
+ bitRate="328000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -374,8 +302,8 @@
frameRate="120" />
<!-- audio setting is ignored -->
<Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
+ bitRate="328000"
+ sampleRate="96000"
channels="2" />
</EncoderProfile>
@@ -637,7 +565,7 @@
minBitRate="64000" maxBitRate="42000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
- minFrameRate="15" maxFrameRate="30"
+ minFrameRate="15" maxFrameRate="60"
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
maxHFRMode="120" />
@@ -645,7 +573,7 @@
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
- minFrameRate="15" maxFrameRate="30"
+ minFrameRate="15" maxFrameRate="60"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
@@ -653,7 +581,7 @@
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1088"
- minFrameRate="15" maxFrameRate="30"
+ minFrameRate="15" maxFrameRate="60"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
@@ -661,22 +589,22 @@
minBitRate="64000" maxBitRate="100000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
- minFrameRate="15" maxFrameRate="30"
+ minFrameRate="15" maxFrameRate="60"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<AudioEncoderCap name="aac" enabled="true"
- minBitRate="8000" maxBitRate="192000"
- minSampleRate="8000" maxSampleRate="48000"
+ minBitRate="8000" maxBitRate="328000"
+ minSampleRate="8000" maxSampleRate="96000"
minChannels="1" maxChannels="6" />
<AudioEncoderCap name="heaac" enabled="true"
minBitRate="8000" maxBitRate="64000"
- minSampleRate="16000" maxSampleRate="48000"
+ minSampleRate="16000" maxSampleRate="96000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="aaceld" enabled="true"
- minBitRate="16000" maxBitRate="192000"
+ minBitRate="16000" maxBitRate="328000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="1" />
diff --git a/configs/powerhint.xml b/configs/powerhint.xml
new file mode 100644
index 0000000..68eb920
--- /dev/null
+++ b/configs/powerhint.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<!--
+/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018, The LineageOS Project.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-->
+<HintConfigs>
+ <Powerhint>
+ <!--preview-->
+ <!-- B CPU - above_hispeed_delay of 40 ms -->
+ <!-- B CPU - go hispeed load 95 -->
+ <!-- B CPU - hispeed freq of 556 MHz -->
+ <!-- B CPU - target load of 90 -->
+ <!-- L CPU - above_hispeed_delay of 40 ms -->
+ <!-- L CPU - go hispeed load 95 -->
+ <!-- L CPU - hispeed freq of 556 MHz- -->
+ <!-- L CPU - target load of 90 -->
+ <!-- CPUBW low power ceil mpbs of 2500 -->
+ <!-- CPUBW low power io percent of 50 -->
+
+ <Config
+ Id="0x00001300" Enable="true" Target="msm8996"
+ Resources="0x41400000, 0x4, 0x41410000, 0x5F, 0x41414000, 0x22C, 0x41420000, 0x5A, 0x41400100, 0x4, 0x41410100, 0x5F
+ , 0x41414100, 0x22C, 0x41420100, 0x5A, 0x41810000, 0x9C4, 0x41814000, 0x32" />
+
+ <!--video encode 30 fps-->
+ <!-- B CPU - above_hispeed_delay of 40 ms -->
+ <!-- B CPU - go hispeed load 95 -->
+ <!-- B CPU - hispeed freq of 806 MHz -->
+ <!-- B CPU - target load of 90 -->
+ <!-- L CPU - above_hispeed_delay of 40 ms -->
+ <!-- L CPU - go hispeed load 95 -->
+ <!-- L CPU - hispeed freq of 556 MHz- -->
+ <!-- L CPU - target load of 90 -->
+ <!-- CPUBW low power ceil mpbs of 2500 -->
+ <!-- CPUBW low power io percent of 50 -->
+ <!-- CPUBW disable hysteresis -->
+ <!-- CPUBW sample_ms of 10ms -->
+ <!-- L CPU - disable ignore_hispeed_notif -->
+ <!-- B CPU - disable ignore_hispeed_notif -->
+ <Config
+ Id="0x00001203" Enable="true" Target="msm8996"
+ Resources="0x41400000, 0x4, 0x41410000, 0x5F ,0x41414000, 0x326, 0x41420000, 0x5A, 0x41400100, 0x4, 0x41410100
+ , 0x5F, 0x41414100, 0x22C, 0x41420100, 0x5A, 0x41810000 ,0x9C4, 0x41814000,
+ 0x32, 0x4180C000 ,0x0, 0x41820000, 0xA, 0x41438100, 0x0, 0x41438000, 0x0" />
+
+ <!--video decode-->
+ <!-- L CPU - above_hispeed_delay of 40 ms -->
+ <!-- L CPU - go hispeed load 95 -->
+ <!-- L CPU - hispeed freq of 768 MHz- -->
+ <!-- L CPU - target load of 90 -->
+ <!-- B CPU - above_hispeed_delay of 40 ms -->
+ <!-- B CPU - go hispeed load 95 -->
+ <!-- B CPU - hispeed freq of 729 MHz -->
+ <!-- B CPU - target load of 90 -->
+ <Config
+ Id="0x00001204" Enable="true" Target="msm8996"
+ Resources="0x41400100, 0x4, 0x41410100, 0x5F ,0x41414100, 0x2D9, 0x41420100, 0x5A, 0x41400000, 0x4, 0x41410000
+ , 0x5F, 0x41414000, 0x2D9, 0x41420000, 0x5A" />
+
+ <!--sustained performance-->
+ <!-- B CPU - Cluster min freq uncapped -->
+ <!-- L CPU - Cluster min freq uncapped -->
+ <!-- B CPU - Cluster max freq ~1.2 GHz -->
+ <!-- L CPU - Cluster max freq ~1.2 Ghz -->
+ <!-- GPU - min freq 180 Mhz -->
+ <!-- GPU - max freq 342 Mhz -->
+ <!-- GPUBW freq uncapped -->
+ <Config
+ Id="0x00001206" Enable="true" Target="msm8996"
+ Resources="0x40800000, 0x0, 0x40800100, 0x0, 0x40804000, 0x4E0, 0x40804100, 0x4E0,
+ 0x4280C000, 0xB4, 0x42810000, 0x156, 0x42814000, 0x0"/>
+ <!--vr mode-->
+ <!-- B CPU - Cluster min freq ~1.4 Ghz -->
+ <!-- L CPU - Cluster min freq ~1.4 Ghz -->
+ <!-- B CPU - Cluster max freq ~1.4 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.4 Ghz -->
+ <!-- GPU - min freq 510 Mhz -->
+ <!-- GPU - max freq 510 Mhz -->
+ <!-- GPUBW freq 775 Mhz-->
+ <Config
+ Id="0x00001207" Enable="true" Target="msm8996"
+ Resources="0x40800000, 0x579, 0x40800100, 0x579, 0x40804000, 0x579, 0x40804100, 0x579,
+ 0x4280C000, 0x203, 0x42810000, 0x203, 0x42814000, 0x1E4F"/>
+
+ <!--vr mode sustained performance-->
+ <!-- B CPU - Cluster min freq ~1.2 Ghz -->
+ <!-- L CPU - Cluster min freq ~1.2 Ghz -->
+ <!-- B CPU - Cluster max freq ~1.2 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.2 Ghz -->
+ <!-- GPU - min freq 342 Mhz -->
+ <!-- GPU - max freq 342 Mhz -->
+ <!-- GPUBW freq 775 Mhz -->
+ <Config
+ Id="0x00001301" Enable="true" Target="msm8996"
+ Resources="0x40800000, 0x4E0, 0x40800100, 0x4E0, 0x40804000, 0x4E0, 0x40804100, 0x4E0, 0x4280C000, 0x156,
+ 0x42810000, 0x156, 0x42814000, 0x1E4F"/>
+ </Powerhint>
+</HintConfigs>
diff --git a/extract-files.sh b/extract-files.sh
index c5e540e..78747c0 100644..100755
--- a/extract-files.sh
+++ b/extract-files.sh
@@ -18,12 +18,6 @@
set -e
-# Required!
-export DEVICE=z2_plus
-export VENDOR=zuk
-
-export DEVICE_BRINGUP_YEAR=2016
-
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
@@ -42,14 +36,13 @@ CLEAN_VENDOR=true
while [ "$1" != "" ]; do
case $1 in
- -p | --path ) shift
- SRC=$1
+ -n | --no-cleanup ) CLEAN_VENDOR=false
;;
-s | --section ) shift
SECTION=$1
CLEAN_VENDOR=false
;;
- -n | --no-cleanup ) CLEAN_VENDOR=false
+ * ) SRC=$1
;;
esac
shift
@@ -60,7 +53,7 @@ if [ -z "$SRC" ]; then
fi
# Initialize the helper for common device
-setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" true "$CLEAN_VENDOR"
+setup_vendor "$DEVICE_COMMON" "$VENDOR" "$LINEAGE_ROOT" true "$CLEAN_VENDOR"
extract "$MY_DIR"/proprietary-files.txt "$SRC" "$SECTION"
diff --git a/hidl.mk b/hidl.mk
deleted file mode 100644
index 25c2b47..0000000
--- a/hidl.mk
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright (C) 2013-2016, The CyanogenMod Project
-# Copyright (C) 2017, The LineageOS Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# This file sets variables that control the way modules are built
-# thorughout the system. It should not be used to conditionally
-# disable makefiles (the proper mechanism to control what gets
-# included in a build is to use PRODUCT_PACKAGES in a product
-# definition file).
-#
-
-# Audio
-PRODUCT_PACKAGES += \
- android.hardware.audio@2.0-impl \
- android.hardware.audio@2.0-service \
- android.hardware.audio.effect@2.0-impl
-
-# Bluetooth
-PRODUCT_PACKAGES += \
- android.hardware.bluetooth@1.0-impl \
- android.hardware.bluetooth@1.0-service
-
-# Camera
-PRODUCT_PACKAGES += \
- android.hardware.camera.provider@2.4-impl \
- android.hardware.camera.provider@2.4-service
-
-# Display
-PRODUCT_PACKAGES += \
- android.hardware.graphics.allocator@2.0-impl \
- android.hardware.graphics.allocator@2.0-service \
- android.hardware.graphics.composer@2.1-impl \
- android.hardware.graphics.composer@2.1-service \
- android.hardware.graphics.mapper@2.0-impl \
- android.hardware.memtrack@1.0-impl \
- android.hardware.memtrack@1.0-service \
- vendor.display.color@1.0-impl \
- vendor.display.color@1.0-service \
- vendor.display.config@1.1 \
- vendor.display.config@1.1_vendor
-
-# DRM
-PRODUCT_PACKAGES += \
- android.hardware.drm@1.0-impl \
- android.hardware.drm@1.0-service
-
-# Fingerprint
-PRODUCT_PACKAGES += \
- android.hardware.biometrics.fingerprint@2.1-service
-
-# GPS
-PRODUCT_PACKAGES += \
- android.hardware.gnss@1.0-impl-qti \
- android.hardware.gnss@1.0-service-qti
-
-# Gatekeeper HAL
-PRODUCT_PACKAGES += \
- android.hardware.gatekeeper@1.0-impl \
- android.hardware.gatekeeper@1.0-service
-
-# HIDL
-PRODUCT_PACKAGES += \
- android.hidl.base@1.0 \
- android.hidl.manager@1.0
-
-# Healthd
-PRODUCT_PACKAGES += \
- android.hardware.health@1.0-convert \
- android.hardware.health@1.0-impl \
- android.hardware.health@1.0-service
-
-# HIDL
-PRODUCT_PACKAGES += \
- android.hidl.manager@1.0-java
-
-# Keymaster HAL
-PRODUCT_PACKAGES += \
- android.hardware.keymaster@3.0-impl \
- android.hardware.keymaster@3.0-service
-
-# Lights
-PRODUCT_PACKAGES += \
- android.hardware.light@2.0-service.zuk_8996
-
-# Power
-PRODUCT_PACKAGES += \
- android.hardware.power@1.0-service-qti
-
-# RenderScript HAL
-PRODUCT_PACKAGES += \
- android.hardware.renderscript@1.0-impl
-
-# Sensors
-PRODUCT_PACKAGES += \
- android.hardware.sensors@1.0-impl \
- android.hardware.sensors@1.0-service
-
-# USB HAL
-PRODUCT_PACKAGES += \
- android.hardware.usb@1.0-service
-
-# Thermal
-PRODUCT_PACKAGES += \
- android.hardware.thermal@1.0-impl \
- android.hardware.thermal@1.0-service
-
-# Vibrator
-PRODUCT_PACKAGES += \
- android.hardware.vibrator@1.0-impl \
- android.hardware.vibrator@1.0-service
-
-# WiFi HAL
-PRODUCT_PACKAGES += \
- android.hardware.wifi@1.0-service
diff --git a/manifest.xml b/manifest.xml
index 1526f87..ab95262 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -45,6 +45,15 @@
</interface>
</hal>
<hal format="hidl">
+ <name>android.hardware.cas</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IMediaCasService</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
<name>android.hardware.configstore</name>
<transport>hwbinder</transport>
<version>1.0</version>
@@ -56,15 +65,16 @@
<hal format="hidl">
<name>android.hardware.drm</name>
<transport>hwbinder</transport>
- <impl level="generic"></impl>
<version>1.0</version>
<interface>
<name>ICryptoFactory</name>
<instance>default</instance>
+ <instance>widevine</instance>
</interface>
<interface>
<name>IDrmFactory</name>
<instance>default</instance>
+ <instance>widevine</instance>
</interface>
</hal>
<hal format="hidl">
@@ -83,6 +93,7 @@
<interface>
<name>IGnss</name>
<instance>default</instance>
+ <instance>gnss_vendor</instance>
</interface>
</hal>
<hal format="hidl">
@@ -241,6 +252,15 @@
</interface>
</hal>
<hal format="hidl">
+ <name>android.hardware.usb</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IUsb</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
<name>android.hardware.vibrator</name>
<transport>hwbinder</transport>
<version>1.0</version>
@@ -268,30 +288,30 @@
</interface>
</hal>
<hal format="hidl">
- <name>com.quicinc.cne.api</name>
+ <name>com.qualcomm.qti.imscmservice</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
- <name>IApiService</name>
- <instance>cnd</instance>
+ <name>IImsCmService</name>
+ <instance>qti.ims.connectionmanagerservice</instance>
</interface>
</hal>
<hal format="hidl">
- <name>com.quicinc.cne.server</name>
+ <name>com.qualcomm.qti.uceservice</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
- <name>IServer</name>
- <instance>cnd</instance>
+ <name>IUceService</name>
+ <instance>com.qualcomm.qti.uceservice</instance>
</interface>
</hal>
<hal format="hidl">
- <name>vendor.qti.hardware.qdutils_disp</name>
+ <name>com.quicinc.cne.api</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
- <name>IQdutilsDisp</name>
- <instance>default</instance>
+ <name>IApiService</name>
+ <instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
@@ -331,6 +351,15 @@
</interface>
</hal>
<hal format="hidl">
+ <name>vendor.lineage.power</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>ILineagePower</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
<name>vendor.qti.gnss</name>
<transport>hwbinder</transport>
<version>1.0</version>
@@ -358,12 +387,12 @@
</interface>
</hal>
<hal format="hidl">
- <name>com.qualcomm.qti.imscmservice</name>
+ <name>vendor.qti.hardware.qdutils_disp</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
- <name>IImsCmService</name>
- <instance>qti.ims.connectionmanagerservice</instance>
+ <name>IQdutilsDisp</name>
+ <instance>default</instance>
</interface>
</hal>
<hal format="hidl">
@@ -377,25 +406,6 @@
</interface>
</hal>
<hal format="hidl">
- <name>vendor.qti.hardware.radio.atcmdfwd</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IAtCmdFwd</name>
- <instance>AtCmdFwdService</instance>
- </interface>
- </hal>
- <hal format="hidl">
- <name>vendor.qti.hardware.radio.config</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IConfig</name>
- <instance>radioconfig0</instance>
- <instance>radioconfig1</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>vendor.qti.hardware.radio.ims</name>
<transport>hwbinder</transport>
<version>1.0</version>
@@ -412,7 +422,6 @@
<interface>
<name>IUimLpa</name>
<instance>UimLpa0</instance>
- <instance>UimLpa1</instance>
</interface>
</hal>
<hal format="hidl">
@@ -474,7 +483,4 @@
<instance>imsrtpservice</instance>
</interface>
</hal>
- <sepolicy>
- <version>26.0</version>
- </sepolicy>
</manifest>
diff --git a/msm8996.mk b/msm8996.mk
index 358e83c..03eb61f 100755
--- a/msm8996.mk
+++ b/msm8996.mk
@@ -20,71 +20,74 @@
# included in a build is to use PRODUCT_PACKAGES in a product
# definition file).
#
+$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_m.mk)
# Get non-open-source specific aspects
$(call inherit-product, vendor/zuk/msm8996-common/msm8996-common-vendor.mk)
-# Hidl HALs
-$(call inherit-product, $(LOCAL_PATH)/hidl.mk)
-
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay \
$(LOCAL_PATH)/overlay-lineage
+PRODUCT_ENFORCE_RRO_TARGETS := \
+ framework-res
+
+# Screen density
+PRODUCT_AAPT_CONFIG := normal
+PRODUCT_AAPT_PREF_CONFIG := xxhdpi
+
+# Boot animation
+TARGET_SCREEN_HEIGHT := 1920
+TARGET_SCREEN_WIDTH := 1080
+
+# HWUI overrides
+$(call inherit-product, frameworks/native/build/phone-xxhdpi-3072-hwui-memory.mk)
+
# Permissions
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
- frameworks/native/data/etc/android.hardware.audio.pro.xml:system/etc/permissions/android.hardware.audio.pro.xml \
- frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
- frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
- 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.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml \
- frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
+ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
+ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/system/etc/permissions/android.hardware.audio.pro.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.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.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.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.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.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.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.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.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.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
+ frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.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.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.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
- frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.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.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.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.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.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.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.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
- frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
- frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.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.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
- frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:system/etc/permissions/android.hardware.wifi.passpoint.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
-
-# Device uses high-density artwork where available
-PRODUCT_AAPT_CONFIG := normal
-PRODUCT_AAPT_PREF_CONFIG := xxhdpi
-
-# Boot animation
-TARGET_SCREEN_HEIGHT := 1920
-TARGET_SCREEN_WIDTH := 1080
-
-# HWUI overrides
-$(call inherit-product, frameworks/native/build/phone-xxhdpi-3072-hwui-memory.mk)
+ 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
-# Haters gonna hate..
PRODUCT_CHARACTERISTICS := nosdcard
# Audio
PRODUCT_PACKAGES += \
- audiod \
+ android.hardware.audio@2.0-impl \
+ android.hardware.audio@2.0-service \
+ android.hardware.audio.effect@2.0-impl \
audio.a2dp.default \
audio.primary.msm8996 \
audio.r_submix.default \
@@ -108,31 +111,56 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
PRODUCT_COPY_FILES += \
- $(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
- $(TOPDIR)frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
- $(TOPDIR)frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
- $(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
- $(TOPDIR)frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
+ frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
+ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
+ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
# Bluetooth
PRODUCT_PACKAGES += \
+ android.hardware.bluetooth@1.0-impl \
+ android.hardware.bluetooth@1.0-service \
libbt-vendor
# Camera
PRODUCT_PACKAGES += \
- Snap \
+ android.hardware.camera.provider@2.4-impl \
+ android.hardware.camera.provider@2.4-service \
camera.msm8996 \
libmm-qcamera \
- mm-qcamera-app
+ mm-qcamera-app \
+ Snap
-# Connectivity Engine support (CNE)
+# CNE
PRODUCT_PACKAGES += \
cneapiclient \
com.quicinc.cne \
services-ext
+# Common init scripts
+PRODUCT_PACKAGES += \
+ fstab.qcom \
+ init.qcom.rc \
+ init.qcom.power.rc \
+ init.qcom.usb.rc \
+ init.qcom.usb.sh \
+ init.qcom.bt.sh \
+ ueventd.qcom.rc
+
# Display
PRODUCT_PACKAGES += \
+ android.hardware.graphics.allocator@2.0-impl \
+ android.hardware.graphics.allocator@2.0-service \
+ android.hardware.graphics.composer@2.1-impl \
+ android.hardware.graphics.composer@2.1-service \
+ android.hardware.graphics.mapper@2.0-impl \
+ android.hardware.memtrack@1.0-impl \
+ android.hardware.memtrack@1.0-service \
+ vendor.display.color@1.0-impl \
+ vendor.display.color@1.0-service \
+ vendor.display.config@1.1 \
+ vendor.display.config@1.1_vendor \
copybit.msm8996 \
gralloc.msm8996 \
hwcomposer.msm8996 \
@@ -150,19 +178,31 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
ZukDoze
+# DRM
+PRODUCT_PACKAGES += \
+ android.hardware.drm@1.0-impl \
+ android.hardware.drm@1.0-service
+
# For config.fs
PRODUCT_PACKAGES += \
fs_config_files
+# Gatekeeper
+PRODUCT_PACKAGES += \
+ android.hardware.gatekeeper@1.0-impl \
+ android.hardware.gatekeeper@1.0-service
+
# GPS
PRODUCT_PACKAGES += \
- libgnss \
- libgnsspps \
+ android.hardware.gnss@1.0-impl-qti \
+ android.hardware.gnss@1.0-service-qti \
libcurl \
- gps.conf
+ libgnss \
+ libgnsspps
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/gps/etc/flp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/flp.conf \
+ $(LOCAL_PATH)/gps/etc/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf \
$(LOCAL_PATH)/gps/etc/izat.conf:$(TARGET_COPY_OUT_VENDOR)/etc/izat.conf \
$(LOCAL_PATH)/gps/etc/lowi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lowi.conf \
$(LOCAL_PATH)/gps/etc/sap.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sap.conf \
@@ -174,12 +214,30 @@ PRODUCT_PACKAGES += \
# Healthd
PRODUCT_PACKAGES += \
+ android.hardware.health@1.0-convert \
+ android.hardware.health@1.0-impl \
+ android.hardware.health@1.0-service \
chargeonlymode
+# HIDL
+PRODUCT_PACKAGES += \
+ android.hidl.base@1.0 \
+ android.hidl.manager@1.0-java \
+ android.hidl.manager@1.0
+
# IMS
PRODUCT_PACKAGES += \
ims-ext-common
+# Input
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/keylayout/fpc1020tp.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/fpc1020tp.kl \
+ $(LOCAL_PATH)/keylayout/goodix-ts.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/goodix-ts.kl \
+ $(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \
+ $(LOCAL_PATH)/keylayout/synaptics_dsx.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/synaptics_dsx.kl \
+ $(LOCAL_PATH)/keylayout/msm8996-tasha-mtp-snd-card_Button_Jack.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/msm8996-tasha-mtp-snd-card_Button_Jack.kl \
+ $(LOCAL_PATH)/keylayout/qpnp_pon.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/qpnp_pon.kl
+
# IPA Manager
PRODUCT_PACKAGES += \
ipacm \
@@ -195,24 +253,24 @@ PRODUCT_PACKAGES += \
ethertypes \
libebtc
+# Keymaster
+PRODUCT_PACKAGES += \
+ android.hardware.keymaster@3.0-impl \
+ android.hardware.keymaster@3.0-service
+
+# Lights
+PRODUCT_PACKAGES += \
+ android.hardware.light@2.0-service.zuk_8996
+
# LiveDisplay native
PRODUCT_PACKAGES += \
libjni_livedisplay
-# Keylayouts
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/keylayout/fpc1020tp.kl:system/usr/keylayout/fpc1020tp.kl \
- $(LOCAL_PATH)/keylayout/goodix-ts.kl:system/usr/keylayout/goodix-ts.kl \
- $(LOCAL_PATH)/keylayout/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
- $(LOCAL_PATH)/keylayout/synaptics_dsx.kl:system/usr/keylayout/synaptics_dsx.kl \
- $(LOCAL_PATH)/keylayout/msm8996-tasha-mtp-snd-card_Button_Jack.kl:system/usr/keylayout/msm8996-tasha-mtp-snd-card_Button_Jack.kl \
- $(LOCAL_PATH)/keylayout/qpnp_pon.kl:system/usr/keylayout/qpnp_pon.kl
-
# Media
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
$(LOCAL_PATH)/configs/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
- $(LOCAL_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml
+ $(LOCAL_PATH)/configs/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
@@ -239,32 +297,33 @@ PRODUCT_PACKAGES += \
libOmxVdecHevc \
libstagefrighthw
-# QCOM
+# Power
+PRODUCT_PACKAGES += \
+ android.hardware.power@1.0-service-qti
+
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/privapp-permissions-qti.xml:system/etc/permissions/privapp-permissions-qti.xml
+ $(LOCAL_PATH)/configs/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
-# Qualcomm
+# QCOM
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/privapp-permissions-oem.xml:system/etc/permissions/privapp-permissions-oem.xml
+ $(LOCAL_PATH)/configs/privapp-permissions-oem.xml:system/etc/permissions/privapp-permissions-oem.xml \
+ $(LOCAL_PATH)/configs/privapp-permissions-qti.xml:system/etc/permissions/privapp-permissions-qti.xml \
+ $(LOCAL_PATH)/configs/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
# QMI
PRODUCT_PACKAGES += \
libjson
-
-# QTI
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
-# Ramdisk
+# RCS
PRODUCT_PACKAGES += \
- fstab.qcom \
- init.qcom.power.rc \
- init.qcom.rc \
- init.qcom.usb.rc \
- init.qcom.usb.sh \
- init.qcom.bt.sh \
- ueventd.qcom.rc \
- init.qcom.sensors.sh
+ rcs_service_aidl \
+ rcs_service_aidl.xml \
+ rcs_service_api \
+ rcs_service_api.xml
+
+# RenderScript
+PRODUCT_PACKAGES += \
+ android.hardware.renderscript@1.0-impl
# RIL
PRODUCT_PACKAGES += \
@@ -276,29 +335,47 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp_policy/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
$(LOCAL_PATH)/seccomp_policy/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
-# Thermal
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/thermal-engine.conf:system/etc/thermal-engine.conf
+# Sensors
+PRODUCT_PACKAGES += \
+ android.hardware.sensors@1.0-impl \
+ android.hardware.sensors@1.0-service
-# VNDK-SP:
+# Telephony
+PRODUCT_PACKAGES += \
+ telephony-ext
+
+PRODUCT_BOOT_JARS += \
+ telephony-ext
+
+# TextClassifier
+PRODUCT_PACKAGES += \
+ textclassifier.smartselection.bundle1
+
+# USB
+PRODUCT_PACKAGES += \
+ android.hardware.usb@1.0-service
+
+# VNDK
PRODUCT_PACKAGES += \
vndk-sp
-# Wifi
+# Vibrator
+PRODUCT_PACKAGES += \
+ android.hardware.vibrator@1.0-impl \
+ android.hardware.vibrator@1.0-service
+
+# WiFi
PRODUCT_PACKAGES += \
+ android.hardware.wifi@1.0-service \
hostapd \
hostapd_cli \
libqsap_sdk \
libQWiFiSoftApCfg \
libwifi-hal-qcom \
- wificond \
+ readmac \
wpa_supplicant \
wpa_supplicant.conf
-PRODUCT_PACKAGES += \
- ipacm \
- IPACM_cfg.xml
-
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
$(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
@@ -306,3 +383,15 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wifi/WCNSS_cfg.dat:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_cfg.dat \
$(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini
+
+# Fingerprint
+PRODUCT_PACKAGES += \
+ android.hardware.biometrics.fingerprint@2.1-service
+
+# Thermal
+PRODUCT_PACKAGES += \
+ android.hardware.thermal@1.0-impl \
+ android.hardware.thermal@1.0-service
+
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/thermal-engine.conf:system/etc/thermal-engine.conf
diff --git a/proprietary-files.txt b/proprietary-files.txt
index e8145e8..f1039db 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -1,112 +1,74 @@
# ADSP
vendor/bin/adsprpcd
+vendor/lib64/libadsprpc.so
+vendor/lib64/libadsp_default_listener.so
+vendor/lib64/libfastcvadsp_stub.so
+vendor/lib64/libfastcvopt.so
vendor/lib/libadsprpc.so
vendor/lib/libadsp_default_listener.so
vendor/lib/libadsp_hvx_callback_skel.so
vendor/lib/libadsp_hvx_stub.so
vendor/lib/libfastcvadsp_stub.so
vendor/lib/libfastcvopt.so
-vendor/lib64/libadsprpc.so
-vendor/lib64/libadsp_default_listener.so
-vendor/lib64/libfastcvadsp_stub.so
-vendor/lib64/libfastcvopt.so
# ADSP modules
-vendor/lib/rfsa/adsp/libapps_mem_heap.so
-vendor/lib/rfsa/adsp/libdspCV_skel.so
vendor/lib/rfsa/adsp/libadsp_fd_skel.so
vendor/lib/rfsa/adsp/libadsp_hvx_add_constant.so
vendor/lib/rfsa/adsp/libadsp_hvx_skel.so
vendor/lib/rfsa/adsp/libadsp_hvx_stats.so
vendor/lib/rfsa/adsp/libadsp_hvx_zzhdr_BGGR.so
vendor/lib/rfsa/adsp/libadsp_hvx_zzhdr_RGGB.so
-vendor/lib/rfsa/adsp/libfastcvadsp_skel.so
+vendor/lib/rfsa/adsp/libapps_mem_heap.so
+vendor/lib/rfsa/adsp/libscveBlobDescriptor_skel.so
+vendor/lib/rfsa/adsp/libscveT2T_skel.so
+vendor/lib/rfsa/adsp/libdspCV_skel.so
+vendor/lib/rfsa/adsp/libexternal_dog_skel.so
vendor/lib/rfsa/adsp/libfastcvadsp.so
-vendor/lib/rfsa/adsp/libvpp_frc.so
+vendor/lib/rfsa/adsp/libfastcvadsp_skel.so
+vendor/lib/rfsa/adsp/libhvxMathVIO.so
vendor/lib/rfsa/adsp/libvpp_svc_skel.so
+vendor/lib/rfsa/adsp/libvpp_frc.so
vendor/lib/rfsa/adsp/us-syncproximity.so
-vendor/lib/rfsa/adsp/libscveBlobDescriptor_skel.so
-vendor/lib/rfsa/adsp/libscveT2T_skel.so
-
-# Audio ACDB
-vendor/etc/acdbdata/Liquid/Liquid_Hdmi_cal.acdb
-vendor/etc/acdbdata/Liquid/Liquid_Global_cal.acdb
-vendor/etc/acdbdata/Liquid/Liquid_General_cal.acdb
-vendor/etc/acdbdata/Liquid/Liquid_Headset_cal.acdb
-vendor/etc/acdbdata/Liquid/Liquid_Handset_cal.acdb
-vendor/etc/acdbdata/Liquid/Liquid_Bluetooth_cal.acdb
-vendor/etc/acdbdata/Liquid/Liquid_Speaker_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_Speaker_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_Bluetooth_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_General_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_Hdmi_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_Handset_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_Headset_cal.acdb
-vendor/etc/acdbdata/Fluid/Fluid_Global_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_Speaker_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_Headset_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_General_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_Bluetooth_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_Hdmi_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_Handset_cal.acdb
-vendor/etc/acdbdata/QRD/QRD_Global_cal.acdb
# Audio libraries
-vendor/lib/soundfx/libqcbassboost.so
-vendor/lib/soundfx/libqcreverb.so
-vendor/lib/soundfx/libqcvirt.so
-vendor/lib/libadm.so
+etc/permissions/audiosphere.xml
+framework/audiosphere.jar
vendor/lib/libacdb-fts.so
vendor/lib/libacdbloader.so
-vendor/lib/libacdbmapper.so
vendor/lib/libacdbrtac.so
vendor/lib/libadiertac.so
+vendor/lib/libadm.so
vendor/lib/libaudcal.so
vendor/lib/libaudioalsa.so
-vendor/lib/libaudiodevarb.so
--vendor/lib/libaudio_log_utils.so
vendor/lib/libmdsprpc.so
-vendor/lib/libqct_resampler.so
vendor/lib/libqtigef.so
-vendor/lib64/soundfx/libqcbassboost.so
-vendor/lib64/soundfx/libqcreverb.so
-vendor/lib64/soundfx/libqcvirt.so
+vendor/lib/soundfx/libasphere.so
+vendor/lib/soundfx/libqcbassboost.so
+vendor/lib/soundfx/libqcreverb.so
+vendor/lib/soundfx/libqcvirt.so
+vendor/lib/soundfx/libshoebox.so
vendor/lib64/libacdb-fts.so
vendor/lib64/libacdbloader.so
-vendor/lib64/libacdbmapper.so
vendor/lib64/libacdbrtac.so
vendor/lib64/libadiertac.so
vendor/lib64/libaudcal.so
vendor/lib64/libaudioalsa.so
-vendor/lib64/libaudiodevarb.so
--vendor/lib64/libaudio_log_utils.so
vendor/lib64/libmdsprpc.so
vendor/lib64/libqtigef.so
+vendor/lib64/soundfx/libasphere.so
+vendor/lib64/soundfx/libqcbassboost.so
+vendor/lib64/soundfx/libqcreverb.so
+vendor/lib64/soundfx/libqcvirt.so
+vendor/lib64/soundfx/libshoebox.so
# Bluetooth
-bin/hci_qcomm_init
-bin/wcnss_filter
+vendor/bin/wcnss_filter
vendor/lib64/libbtnv.so
vendor/lib/libbtnv.so
-# Bluetooth firmware
-etc/firmware/btfw32.tlv
-etc/firmware/btnv32.bin
-etc/firmware/nvm_tlv.bin
-etc/firmware/nvm_tlv_1.3.bin
-etc/firmware/nvm_tlv_2.1.bin
-etc/firmware/nvm_tlv_3.0.bin
-etc/firmware/nvm_tlv_3.2.bin
-etc/firmware/rampatch_tlv.img
-etc/firmware/rampatch_tlv_1.3.tlv
-etc/firmware/rampatch_tlv_2.1.tlv
-etc/firmware/rampatch_tlv_3.0.tlv
-etc/firmware/rampatch_tlv_3.2.tlv
-
# Camera
lib/libtrueportrait.so
-vendor/bin/mm-qcamera-daemon
-vendor/lib/libarcsoft_beautyshot.so
+vendor/bin/mm-qcamera-daemon|0ffe963b560222f52e65084cd9de455656a7bc11
vendor/lib/libchromaflash.so
vendor/lib/libflash_pmic.so
vendor/lib/libjpegdhw.so
@@ -156,39 +118,29 @@ vendor/lib/libmmcamera2_stats_modules.so
vendor/lib/libmmjpeg.so
vendor/lib/libmmqjpeg_codec.so
vendor/lib/libmmqjpegdma.so
-vendor/lib/libmorpho_image_stab4.so
vendor/lib/libmpbase.so
vendor/lib/liboptizoom.so
vendor/lib/libqomx_jpegdec.so
vendor/lib/libqomx_jpegenc_pipe.so
vendor/lib/libqomx_jpegenc.so
vendor/lib/libseemore.so
-vendor/lib/libtm_interface.so
vendor/lib/libtsvideoprocess.so
vendor/lib/libubifocus.so
-vendor/lib64/libmmcamera_dbg.so
-vendor/lib64/libmmcamera_tintless_algo.so
-vendor/lib64/libmmcamera_tintless_bg_pca_algo.so
-vendor/lib64/libmmcamera2_frame_algorithm.so
-vendor/lib64/libmmcamera2_is.so
-vendor/lib64/libmmcamera2_memleak.so
-vendor/lib64/libmmcamera2_q3a_core.so
-vendor/lib64/libmmcamera2_stats_algorithm.so
# Camera eeproms
vendor/lib/libmmcamera_gt24c08h_eeprom.so
# Camera firmware
-etc/firmware/cpp_firmware_v1_1_1.fw
-etc/firmware/cpp_firmware_v1_1_6.fw
-etc/firmware/cpp_firmware_v1_10_0.fw
-etc/firmware/cpp_firmware_v1_12_0.fw
-etc/firmware/cpp_firmware_v1_2_0.fw
-etc/firmware/cpp_firmware_v1_4_0.fw
-etc/firmware/cpp_firmware_v1_5_0.fw
-etc/firmware/cpp_firmware_v1_5_2.fw
-etc/firmware/cpp_firmware_v1_6_0.fw
-etc/firmware/cpp_firmware_v1_8_0.fw
+etc/firmware/cpp_firmware_v1_1_1.fw:vendor/firmware/cpp_firmware_v1_1_1.fw
+etc/firmware/cpp_firmware_v1_1_6.fw:vendor/firmware/cpp_firmware_v1_1_6.fw
+etc/firmware/cpp_firmware_v1_10_0.fw:vendor/firmware/cpp_firmware_v1_10_0.fw
+etc/firmware/cpp_firmware_v1_12_0.fw:vendor/firmware/cpp_firmware_v1_12_0.fw
+etc/firmware/cpp_firmware_v1_2_0.fw:vendor/firmware/cpp_firmware_v1_2_0.fw
+etc/firmware/cpp_firmware_v1_4_0.fw:vendor/firmware/cpp_firmware_v1_4_0.fw
+etc/firmware/cpp_firmware_v1_5_0.fw:vendor/firmware/cpp_firmware_v1_5_0.fw
+etc/firmware/cpp_firmware_v1_5_2.fw:vendor/firmware/cpp_firmware_v1_5_2.fw
+etc/firmware/cpp_firmware_v1_6_0.fw:vendor/firmware/cpp_firmware_v1_6_0.fw
+etc/firmware/cpp_firmware_v1_8_0.fw:vendor/firmware/cpp_firmware_v1_8_0.fw
# Camera ov8865
etc/camera/ov8865_chromatix.xml
@@ -218,7 +170,6 @@ vendor/lib/libchromatix_ov8865_snapshot.so
vendor/lib/libchromatix_ov8865_video_full.so
vendor/lib/libchromatix_ov8865_zsl_preview.so
vendor/lib/libchromatix_ov8865_zsl_video.so
-vendor/lib/libmmcamera_ov8865.so
# Camera sensors
vendor/lib/libmmcamera_isp_abf47.so
@@ -264,10 +215,21 @@ vendor/lib/libmmcamera_isp_snr47.so
vendor/lib/libmmcamera_isp_sub_module.so
# CNE
+etc/cne/andsfCne.xml
+etc/cne/SwimConfig.xml
+etc/permissions/cneapiclient.xml
+etc/permissions/com.quicinc.cne.xml
+framework/cneapiclient.jar
framework/com.quicinc.cne.api-V1.0-java.jar
framework/com.quicinc.cne.jar
-etc/permissions/com.quicinc.cne.xml
+-priv-app/CNEService/CNEService.apk
vendor/bin/cnd
+vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml
+vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml
+vendor/etc/cne/wqeclient/ATT/ATT_profile3.xml
+vendor/etc/cne/wqeclient/ATT/ATT_profile4.xml
+vendor/etc/cne/wqeclient/ATT/ATT_profile5.xml
+vendor/etc/cne/wqeclient/ATT/ATT_profile6.xml
vendor/etc/cne/wqeclient/ROW/ROW_profile1.xml
vendor/etc/cne/wqeclient/ROW/ROW_profile2.xml
vendor/etc/cne/wqeclient/ROW/ROW_profile3.xml
@@ -275,51 +237,35 @@ vendor/etc/cne/wqeclient/ROW/ROW_profile4.xml
vendor/etc/cne/wqeclient/ROW/ROW_profile5.xml
vendor/etc/cne/wqeclient/ROW/ROW_profile6.xml
vendor/etc/cne/wqeclient/ROW/ROW_profile7.xml
-vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml
-vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml
-vendor/etc/cne/wqeclient/ATT/ATT_profile3.xml
-vendor/etc/cne/wqeclient/ATT/ATT_profile4.xml
-vendor/etc/cne/wqeclient/ATT/ATT_profile5.xml
-vendor/etc/cne/wqeclient/ATT/ATT_profile6.xml
vendor/etc/cne/wqeclient/VZW/VZW_profile1.xml
vendor/etc/cne/wqeclient/VZW/VZW_profile2.xml
vendor/etc/cne/wqeclient/VZW/VZW_profile3.xml
vendor/etc/cne/wqeclient/VZW/VZW_profile4.xml
vendor/etc/cne/wqeclient/VZW/VZW_profile5.xml
vendor/etc/cne/wqeclient/VZW/VZW_profile6.xml
--vendor/lib/com.quicinc.cne.api@1.0.so
--vendor/lib/com.quicinc.cne.constants@1.0.so
--vendor/lib/com.quicinc.cne.constants@2.0.so
--vendor/lib/com.quicinc.cne.server@1.0.so
--vendor/lib/com.quicinc.cne.server@2.0.so
+vendor/lib/com.quicinc.cne.api@1.0.so
+vendor/lib/com.quicinc.cne.constants@1.0.so
+vendor/lib/com.quicinc.cne.constants@2.0.so
+vendor/lib/com.quicinc.cne.server@1.0.so
+vendor/lib/com.quicinc.cne.server@2.0.so
+vendor/lib/libcne.so
vendor/lib/libcneapiclient.so
+vendor/lib/libcneoplookup.so
vendor/lib/libcneqmiutils.so
-vendor/lib/libcne.so
-vendor/lib/libwms.so
vendor/lib/libwqe.so
vendor/lib/libxml.so
--vendor/lib64/com.quicinc.cne.api@1.0.so
--vendor/lib64/com.quicinc.cne.constants@1.0.so
--vendor/lib64/com.quicinc.cne.constants@2.0.so
--vendor/lib64/com.quicinc.cne.server@1.0.so
--vendor/lib64/com.quicinc.cne.server@2.0.so
+vendor/lib64/com.quicinc.cne.api@1.0.so
+vendor/lib64/com.quicinc.cne.constants@1.0.so
+vendor/lib64/com.quicinc.cne.constants@2.0.so
+vendor/lib64/com.quicinc.cne.server@1.0.so
+vendor/lib64/com.quicinc.cne.server@2.0.so
+vendor/lib64/libcne.so
vendor/lib64/libcneapiclient.so
+vendor/lib64/libcneoplookup.so
vendor/lib64/libcneqmiutils.so
-vendor/lib64/libcne.so
-vendor/lib64/libwms.so
vendor/lib64/libwqe.so
vendor/lib64/libxml.so
-# FIDO
-vendor/lib/libFidoCryptoJNI.so
-vendor/lib/libFidoCrypto.so
-vendor/lib/libFIDOKeyProvisioning.so
-vendor/lib/libFidoSuiJNI.so
-vendor/lib64/libFidoCryptoJNI.so
-vendor/lib64/libFidoCrypto.so
-vendor/lib64/libFIDOKeyProvisioning.so
-vendor/lib64/libFidoSuiJNI.so
-
# Fingerprint
lib64/hw/fingerprint.qcom.so
vendor/lib64/libqvop-service.so
@@ -329,6 +275,29 @@ vendor/lib/libqvop-service.so
vendor/lib64/hw/gatekeeper.msm8996.so
vendor/lib/hw/gatekeeper.msm8996.so
+# DPM
+vendor/bin/dpmQmiMgr
+vendor/lib64/com.qualcomm.qti.dpm.api@1.0_vendor.so
+vendor/lib64/libdpmqmihal.so
+vendor/lib/com.qualcomm.qti.dpm.api@1.0_vendor.so
+vendor/lib/libdpmqmihal.so
+
+# DRM and SEE
+vendor/bin/qseecomd
+vendor/lib64/libGPreqcancel.so
+vendor/lib64/libGPreqcancel_svc.so
+vendor/lib64/libQSEEComAPI.so
+vendor/lib64/libSecureUILib.so
+vendor/lib64/libStDrvInt.so
+vendor/lib64/libdrmfs.so
+vendor/lib64/libdrmtime.so
+vendor/lib64/libqisl.so
+vendor/lib64/librpmb.so
+vendor/lib64/libsecureui.so
+vendor/lib64/libsecureui_svcsock.so
+vendor/lib64/libssd.so
+vendor/lib/libQSEEComAPI.so
+
# GPS
etc/permissions/com.qti.location.sdk.xml
etc/permissions/com.qualcomm.location.xml
@@ -344,8 +313,6 @@ vendor/bin/loc_launcher
vendor/bin/lowi-server
vendor/bin/slim_daemon
vendor/bin/xtra-daemon
-vendor/bin/xtwifi-client
-vendor/bin/xtwifi-inet-agent
vendor/etc/cacert_location.pem
vendor/etc/init/vendor.qti.gnss@1.0-service.rc
vendor/etc/xtra_root_cert.pem
@@ -353,6 +320,7 @@ vendor/lib64/hw/vendor.qti.gnss@1.0-impl.so
vendor/lib64/libalarmservice_jni.so
vendor/lib64/libdataitems.so
vendor/lib64/libdrplugin_client.so
+vendor/lib64/lib_drplugin_server.so
vendor/lib64/libDRPlugin.so
vendor/lib64/libevent_observer.so
vendor/lib64/libflp.so
@@ -374,127 +342,120 @@ vendor/lib64/libxtadapter.so
vendor/lib64/libxtwifi_ulp_adaptor.so
vendor/lib64/vendor.qti.gnss@1.0_vendor.so
-# Graphics
-vendor/lib/egl/eglSubDriverAndroid.so
-vendor/lib/egl/libEGL_adreno.so
-vendor/lib/egl/libGLESv1_CM_adreno.so
-vendor/lib/egl/libGLESv2_adreno.so
-vendor/lib/egl/libQTapGLES.so
-vendor/lib/egl/libq3dtools_adreno.so
-vendor/lib/hw/vulkan.msm8996.so
-vendor/lib/libC2D2.so
-vendor/lib/libCB.so
-vendor/lib/libOpenCL.so
-vendor/lib/libqseed3.so
-vendor/lib/libRSDriver_adreno.so
-vendor/lib/libadreno_utils.so
-vendor/lib/libbccQTI.so
-vendor/lib/libc2d30-a5xx.so
-vendor/lib/libc2d30_bltlib.so
-vendor/lib/libgsl.so
-vendor/lib/libllvm-glnext.so
-vendor/lib/libllvm-qcom.so
-vendor/lib/libllvm-qgl.so
-vendor/lib/libmm-disp-apis.so
-vendor/lib/libmm-qdcm.so
-vendor/lib/librs_adreno.so
-vendor/lib/librs_adreno_sha1.so
-vendor/lib/libscalar.so
-vendor/lib/libsdm-color.so
-vendor/lib/libsdm-diag.so
-vendor/lib/libsdm-disp-apis.so
-vendor/lib/libsdmextension.so
--vendor/lib/libsdm-disp-vndapis.so
-vendor/lib/libtinyxml2_1.so
-vendor/lib64/egl/eglSubDriverAndroid.so
-vendor/lib64/egl/libEGL_adreno.so
-vendor/lib64/egl/libGLESv1_CM_adreno.so
-vendor/lib64/egl/libGLESv2_adreno.so
-vendor/lib64/egl/libQTapGLES.so
-vendor/lib64/egl/libq3dtools_adreno.so
-vendor/lib64/hw/vulkan.msm8996.so
-vendor/lib64/libC2D2.so
-vendor/lib64/libCB.so
-vendor/lib64/libOpenCL.so
-vendor/lib64/libqseed3.so
-vendor/lib64/libRSDriver_adreno.so
-vendor/lib64/libadreno_utils.so
-vendor/lib64/libbccQTI.so
-vendor/lib64/libc2d30-a5xx.so
-vendor/lib64/libc2d30_bltlib.so
-vendor/lib64/libgsl.so
-vendor/lib64/libllvm-glnext.so
-vendor/lib64/libllvm-qcom.so
-vendor/lib64/libllvm-qgl.so
-vendor/lib64/libmm-disp-apis.so
-vendor/lib64/libmm-qdcm.so
-vendor/lib64/librs_adreno.so
-vendor/lib64/librs_adreno_sha1.so
-vendor/lib64/libscalar.so
-vendor/lib64/libsdm-color.so
-vendor/lib64/libsdm-diag.so
-vendor/lib64/libsdm-disp-apis.so
-vendor/lib64/libsdmextension.so
--vendor/lib64/libsdm-disp-vndapis.so
-vendor/lib64/libtinyxml2_1.so
-
-# Graphics - HDR
-vendor/lib/libhdr_tm.so
-vendor/lib64/libhdr_tm.so
+# Graphics - from cheeseburger - OPR6.170623.013
+vendor/lib/egl/eglSubDriverAndroid.so|ac4d51b7a0f0d04f34042f980fd84b7af64140c2
+vendor/lib/egl/libEGL_adreno.so|7e9cef1dae8c675962a83638539d6e87c8070f6e
+vendor/lib/egl/libGLESv1_CM_adreno.so|b6804a9e72fab7f7708cc23e6c6c166c0cc3df3e
+vendor/lib/egl/libGLESv2_adreno.so|3251cc22ebd6da9ac406d66fddb39422f81283c1
+vendor/lib/egl/libq3dtools_adreno.so|0859b1ea8b49ed14429ca45826551f1633895264
+vendor/lib/egl/libQTapGLES.so|59a92cc3ffc98147498ee6895e60d66d8549796a
+vendor/lib/libadreno_utils.so|4efe5db073db43b7244d9ec50fc30d59601daf58
+vendor/lib/libbccQTI.so|b3c81111663a75c3c33c4a02bfbc0ea8bc6c5bb2
+vendor/lib/libC2D2.so|8830eb461ac5f920b21526ed5c536da162cbadaa
+vendor/lib/libc2d30_bltlib.so|d33d00cb11bc9851046a718f0929752fe462f214
+vendor/lib/libc2d30-a5xx.so|958fb589a61cde6813f9a98f2e2500dc36a207f0
+vendor/lib/libCB.so|6b3caddd5b37b06ab9b6a8f8594a89c45d42fbef
+vendor/lib/libgsl.so|415c0a927a2fc896b2264d1500f86c3e08daa824
+vendor/lib/libllvm-glnext.so|088c1e73bf360fe8ac619ecb48c2222446152e1c
+vendor/lib/libllvm-qcom.so|f386dfb25738923f6d85bd02e2f6da0824da24bc
+vendor/lib/libllvm-qgl.so|e16cb0919b12738fff78c9b4c16b9205abff88cb
+vendor/lib/libmm-disp-apis.so|01875b0eedf37f224fdada719377451ccd27e640
+vendor/lib/libmm-qdcm.so|b06fcb152371a82248724863ddff98ce26fa0621
+vendor/lib/libOpenCL.so|5dc66f1d3008e79c1a1b9483399423dbe737a773
+vendor/lib/libqseed3.so|1f533a4f49953577ceab0caae4467ec50fde1193
+vendor/lib/librs_adreno_sha1.so|106b78053703bae0f62a8a5d6503510d445de64b
+vendor/lib/librs_adreno.so|ba45fb2ac5ea9f881eb54fda685d19752859893e
+vendor/lib/libRSDriver_adreno.so|201410b612bbf14936ddca9858e6d2fa608d5fd9
+vendor/lib64/egl/eglSubDriverAndroid.so|f65610275a6834a161bf20e8fa0270803deaafe3
+vendor/lib64/egl/libEGL_adreno.so|60375ff06520aaee699771e2c5ce03943c665290
+vendor/lib64/egl/libGLESv1_CM_adreno.so|f82b3e4b5b13258654957328b7b8ad6a55270718
+vendor/lib64/egl/libGLESv2_adreno.so|871d74d9bdaef7b928d19f5aeee7fbc08e3831bd
+vendor/lib64/egl/libq3dtools_adreno.so|ed700e0cafafad66293e1406d9a189e41b5fcba7
+vendor/lib64/egl/libQTapGLES.so|5842caa7a0c8e04c3a9900cd3178971fe47ec55e
+vendor/lib64/libadreno_utils.so|df34a647e6e381c8474f9961d1e45b0f33ea9b78
+vendor/lib64/libbccQTI.so|12049b2950dda021771ff3b74c342316e30077fa
+vendor/lib64/libC2D2.so|12f97946eb0e201e10128f7cf483bf97de604fea
+vendor/lib64/libc2d30_bltlib.so|5c1625ce6618f39a779ed05fb6c803a0d2b2619f
+vendor/lib64/libc2d30-a5xx.so|7c93d41e945a7bc9855bb754c4f95d89c2d9a94b
+vendor/lib64/libCB.so|339bc32a208f138dc6220f374ff5a6172cbc4783
+vendor/lib64/libgsl.so|2f54e4f0b4bdb1ac8a54be6dfe7fdfca1a1cc664
+vendor/lib64/libllvm-glnext.so|d70b9c49ab16944ca3f9f8542ee72ad80c920f69
+vendor/lib64/libllvm-qcom.so|b0c9938edd357894944777dc07af0fa7dcf491ea
+vendor/lib64/libllvm-qgl.so|eb55611e95d9b01f68c0adad08f024b8ef29a540
+vendor/lib64/libmm-disp-apis.so|d4ed09c076e25c115a8184ca26340907fdf98c86
+vendor/lib64/libmm-qdcm.so|2b679cb476dcdd69eadbb97543eeebd2e4032596
+vendor/lib64/libOpenCL.so|eae487ec35aa44b075ebbfc5b306387ca55f01bb
+vendor/lib64/libqseed3.so|639aec109c64d26321849b2c7012f0e3d0b1af72
+vendor/lib64/librs_adreno_sha1.so|8e492eb0656a4dfae6936ab52b754f5006d8d25a
+vendor/lib64/librs_adreno.so|25a9a431fb34c32344f1b706224b46747667e130
+vendor/lib64/libRSDriver_adreno.so|5356c65f29b46964ffefa8065b3e2c0261433c40
+
+# Graphics (HDR) - from cheeseburger - OPR6.170623.013
+vendor/lib/libhdr_tm.so|cf23edb8174445f87c6e6394c48cdbda70dff98b
+vendor/lib64/libhdr_tm.so|8ced1c36da811e0f66d2eed9f6f9d6218ab93bd0
+
+# Graphics (SDM) - from cheeseburger - OPR6.170623.013
+lib/libsdm-disp-apis.so:vendor/lib/libsdm-disp-apis.so|152b51f294f170ebd3528d80c6e65fcc4436f6aa
+lib64/libsdm-disp-apis.so:vendor/lib64/libsdm-disp-apis.so|629e27c4bb84af37588831ed122167d609d767b0
+vendor/lib64/libscalar.so|cf5a230e7720d86ac030eaaca7c96b153c83e475
+vendor/lib64/libsdm-color.so|0db611bb5babef142b35de1769865c1d50772bda
+vendor/lib64/libsdm-diag.so|77d9f47d47831211e9811b691e3271c720663816
+-vendor/lib64/libsdm-disp-vndapis.so|c6f930ed2b3163b59b21ab8d0751a625b1d4308d
+vendor/lib64/libsdmextension.so|a2ac403747a4ad8716168b4f00721ec4fb19c5aa
+vendor/lib64/libtinyxml2_1.so|eb4cd93e051980b8b35f5eeebd3d980e033cb87f
+vendor/lib/libscalar.so|b94311683c8ae9ff3363fc5cf729d9bc64589096
+vendor/lib/libsdm-color.so|9404c85d63894562733484ede557c3ac9635c52d
+vendor/lib/libsdm-diag.so|8613ea99b5fa79105657f8fc45982241a55c7fd2
+-vendor/lib/libsdm-disp-vndapis.so|e0964709bc17595eb5cd9dedabf703117a2714f8
+vendor/lib/libsdmextension.so|5d539b3215c6551a1fedb8c167d2fa086c9ed1ff
+vendor/lib/libtinyxml2_1.so|fddc48298389f15337c65a1b1fa3361925fa937e
+
+# Graphics (Vulkan) - from op3 - OPR6.170623.013
+vendor/lib/hw/vulkan.msm8996.so|dcd44a4df3234649eb25d5e16dfc16ab4a4284f1
+vendor/lib64/hw/vulkan.msm8996.so|7531d20d0ef872e704ce4949e52ff2a6857c72d8
# Graphics firmware
-etc/firmware/a225_pfp.fw
-etc/firmware/a225_pm4.fw
-etc/firmware/a225p5_pm4.fw
-etc/firmware/a300_pfp.fw
-etc/firmware/a300_pm4.fw
-etc/firmware/a330_pfp.fw
-etc/firmware/a330_pm4.fw
-etc/firmware/a420_pfp.fw
-etc/firmware/a420_pm4.fw
-etc/firmware/a530_gpmu.fw2
-etc/firmware/a530_pfp.fw
-etc/firmware/a530_pm4.fw
-etc/firmware/a530_zap.b00
-etc/firmware/a530_zap.b01
-etc/firmware/a530_zap.b02
-etc/firmware/a530_zap.elf
-etc/firmware/a530_zap.mdt
-etc/firmware/a540_gpmu.fw2
-etc/firmware/a530v1_pfp.fw
-etc/firmware/a530v1_pm4.fw
-etc/firmware/a530v2_seq.fw2
-etc/firmware/a530v3_gpmu.fw2
-etc/firmware/a530v3_seq.fw2
-etc/firmware/leia_pfp_470.fw
-etc/firmware/leia_pm4_470.fw
+vendor/firmware/a530_pfp.fw
+vendor/firmware/a530_pm4.fw
+vendor/firmware/a530_zap.b02
+vendor/firmware/a530_zap.mdt
+vendor/firmware/a530v3_gpmu.fw2
+vendor/firmware/a530v3_seq.fw2
# IMS
+-app/ims/ims.apk
+etc/permissions/qti-vzw-ims-internal.xml
lib/com.qualcomm.qti.imscmservice@1.0.so
-lib/lib-imsvt.so
+lib/lib-imscamera.so
+lib/lib-imsvideocodec.so
+lib/lib-imsvtextutils.so
+lib/lib-imsvtutils.so
+lib/libdiag_system.so
+lib/libimscamera_jni.so
+lib/libimsmedia_jni.so
+lib/librcc.so
lib/vendor.qti.imsrtpservice@1.0.so
lib64/com.qualcomm.qti.imscmservice@1.0.so
+lib64/lib-imscamera.so
+lib64/lib-imsvideocodec.so
lib64/lib-imsvt.so
+lib64/lib-imsvtextutils.so
+lib64/lib-imsvtutils.so
+lib64/libdiag_system.so
+lib64/libimscamera_jni.so
+lib64/libimsmedia_jni.so
+lib64/librcc.so
lib64/vendor.qti.imsrtpservice@1.0.so
--vendor/app/imssettings/imssettings.apk
--vendor/app/ims/ims.apk
vendor/bin/ims_rtp_daemon
vendor/bin/imsdatadaemon
vendor/bin/imsqmidaemon
vendor/bin/imsrcsd
+vendor/framework/qti-vzw-ims-internal.jar
vendor/lib/com.qualcomm.qti.imscmservice@1.0_vendor.so
-vendor/lib/lib-dplmedia.so
-vendor/lib/lib-imsSDP.so
vendor/lib/lib-imscmservice.so
-vendor/lib/lib-imsdpl.so
-vendor/lib/lib-imsqimf.so
-vendor/lib/lib-imsxml.so
-vendor/lib/lib-rtpcommon.so
-vendor/lib/lib-rtpcore.so
-vendor/lib/lib-rtpdaemoninterface.so
-vendor/lib/lib-rtpsl.so
-vendor/lib/vendor.qti.imsrtpservice@1.0_vendor.so
+vendor/lib/lib-uceservice.so
vendor/lib/vendor.qti.imsrtpservice@1.0-service-Impl.so
+vendor/lib/vendor.qti.imsrtpservice@1.0_vendor.so
vendor/lib64/com.qualcomm.qti.imscmservice@1.0_vendor.so
vendor/lib64/lib-dplmedia.so
vendor/lib64/lib-imsSDP.so
@@ -507,8 +468,6 @@ vendor/lib64/lib-rtpcore.so
vendor/lib64/lib-rtpdaemoninterface.so
vendor/lib64/lib-rtpsl.so
vendor/lib64/lib-uceservice.so
-vendor/lib64/libimsmedia_jni.so
-vendor/lib64/libimscamera_jni.so
vendor/lib64/vendor.qti.imsrtpservice@1.0-service-Impl.so
vendor/lib64/vendor.qti.imsrtpservice@1.0_vendor.so
@@ -517,6 +476,7 @@ vendor/lib64/hw/keystore.msm8996.so
vendor/lib/hw/keystore.msm8996.so
# Listen
+vendor/lib64/hw/sound_trigger.primary.msm8996.so
vendor/lib/hw/sound_trigger.primary.msm8996.so
vendor/lib/libadpcmdec.so
vendor/lib/libsmwrapper.so
@@ -524,63 +484,53 @@ vendor/lib/vendor.qti.voiceprint@1.0.so
vendor/lib64/hw/sound_trigger.primary.msm8996.so
vendor/lib64/vendor.qti.voiceprint@1.0.so
-# Media
-lib64/libextmedia_jni.so
--vendor/lib/libgpustats.so
-vendor/lib/libI420colorconvert.so
-vendor/lib/libOmxAacDec.so
-vendor/lib/libOmxAlacDec.so
-vendor/lib/libOmxAlacDecSw.so
-vendor/lib/libOmxAmrwbplusDec.so
-vendor/lib/libOmxApeDec.so
-vendor/lib/libOmxApeDecSw.so
-vendor/lib/libOmxEvrcDec.so
-vendor/lib/libOmxQcelp13Dec.so
-vendor/lib/libOmxVideoDSMode.so
-vendor/lib/libOmxWmaDec.so
-vendor/lib/libmm-color-convertor.so
-vendor/lib/libvpphvx.so
-vendor/lib/libvqzip.so
-vendor/lib/libOmxAmrDec.so
-vendor/lib/libOmxVpp.so
-vendor/lib/libvpplibrary.so
--vendor/lib64/libgpustats.so
-vendor/lib64/libOmxAmrDec.so
-vendor/lib64/libOmxVpp.so
-vendor/lib64/libvpplibrary.so
-vendor/lib64/libmm-color-convertor.so
-vendor/lib64/libI420colorconvert.so
-vendor/lib64/libOmxAacDec.so
-vendor/lib64/libOmxAlacDec.so
-vendor/lib64/libOmxAlacDecSw.so
-vendor/lib64/libOmxAmrwbplusDec.so
-vendor/lib64/libOmxApeDec.so
-vendor/lib64/libOmxApeDecSw.so
-vendor/lib64/libOmxEvrcDec.so
-vendor/lib64/libOmxQcelp13Dec.so
-vendor/lib64/libOmxWmaDec.so
-vendor/lib64/libvpphvx.so
-
-# NXP Amplifier
-lib64/libtfa98xx.so
-lib/libtfa98xx.so
+# Media - from op3 - OPR6.170623.013
+-vendor/lib/libgpustats.so|176395bf6055b3475080d9bae65684820bafab49
+vendor/lib/libI420colorconvert.so|38212d068cd62a91a7cf88337a9655c0fd2c46ca
+vendor/lib/libOmxAacDec.so|97d293d79b13861e24dac73ab9f40742ee818907
+vendor/lib/libOmxAlacDec.so|f4b863ddd41f27d23b1d2c9f68f4162a03a7ab07
+vendor/lib/libOmxAlacDecSw.so|bdf6cc236bd864d264754f5608c4655ed96558ee
+vendor/lib/libOmxAmrDec.so|09e1952a90160e009d51204b5d833908a0f745f7
+vendor/lib/libOmxAmrwbplusDec.so|17695d74555241750399c556cb9570b25f40f2aa
+vendor/lib/libOmxApeDec.so|5f284c3629c28a16c0e9e9a9a981ec064f5e3516
+vendor/lib/libOmxApeDecSw.so|0d5e081f2634d0d375518e9227a5708586b2f648
+vendor/lib/libOmxEvrcDec.so|20320f64a288a74f28154eb6b53a6790034799ca
+vendor/lib/libOmxQcelp13Dec.so|ac8733bccd9080e4cd8f78164ea5601f6b37eeec
+vendor/lib/libOmxVideoDSMode.so|7d25cfdff92adf8c90aa5565fca60e705d3fb4aa
+vendor/lib/libOmxVpp.so|e732e95e48659f166368d5e4d9ca6d0502ed0290
+vendor/lib/libOmxWmaDec.so|723256e9722a2d29328432ea3750c03dd889739d
+vendor/lib/libmm-color-convertor.so|7b22d9452ece4d1d758dbc076ca59b43f5dac298
+vendor/lib/libvpphvx.so|b095e79409b7927f64845b9086b29a131a3f5d93
+vendor/lib/libvpplibrary.so|2e4573d902dbb8f59ee12709181dd9b21aa21347
+vendor/lib/libvqzip.so|be0c08dee3aaf0c0040d3ecbdda71b72dd4ee53f
+-vendor/lib64/libgpustats.so|34c19702c14ddfb22fe0caffb4a22f842efe206c
+vendor/lib64/libI420colorconvert.so|5c0dc1548bf7460af33748f5ebcc424d0fb4086a
+vendor/lib64/libOmxAacDec.so|36480e7e5a5b5c1213030577058f4fa3aaf13364
+vendor/lib64/libOmxAlacDec.so|81092745725b144aece37a8a6e6477b4cd11c5e8
+vendor/lib64/libOmxAlacDecSw.so|776efbcf019e2cddb5c5d2d4d8dd09da022ce159
+vendor/lib64/libOmxAmrDec.so|4331a8d0476cc3ab2a084208d1c220b424599d83
+vendor/lib64/libOmxAmrwbplusDec.so|9f04305f47afd1798c4cb36111a5612fe288819f
+vendor/lib64/libOmxApeDec.so|7bd5e0aadd5fc79628afbe89f1573c3db10b8d3c
+vendor/lib64/libOmxApeDecSw.so|be950c4f2df3c56729006a321af29a87617cd32c
+vendor/lib64/libOmxEvrcDec.so|688a524158e3f3611ea19b61861245582839d7b7
+vendor/lib64/libOmxQcelp13Dec.so|d729fa0178bc9dc19a9a53ed3fc416c3f6aaf6f4
+vendor/lib64/libOmxVpp.so|48953e90bb82eda736789eeb9193fc1d3b5f57f8
+vendor/lib64/libOmxWmaDec.so|008e871ac07dc66a0f50e12ec9efe93e408de751
+vendor/lib64/libmm-color-convertor.so|2efb05d595c2d55457d88897562115e340631fe6
+vendor/lib64/libvpphvx.so|1a83a5b32b4f65725a0d4485b402356dfbcd859c
+vendor/lib64/libvpplibrary.so|733e8aa44490239a8b038eaa862cd4f1bdbe259e
# Perf
-lib/libqti_performance.so
-lib/libqti-perfd-client_system.so
lib/vendor.qti.hardware.iop@1.0.so
lib/vendor.qti.hardware.perf@1.0.so
-lib64/libqti_performance.so
-lib64/libqti-perfd-client_system.so
lib64/vendor.qti.hardware.iop@1.0.so
lib64/vendor.qti.hardware.perf@1.0.so
vendor/bin/energy-awareness
-vendor/bin/msm_irqbalance
vendor/bin/hw/vendor.qti.hardware.iop@1.0-service
vendor/bin/hw/vendor.qti.hardware.perf@1.0-service
-vendor/etc/msm_irqbalance.conf
vendor/etc/init/vendor.qti.hardware.iop@1.0-service.rc
vendor/etc/init/vendor.qti.hardware.perf@1.0-service.rc
+vendor/etc/perf/perfboostsconfig.xml
vendor/etc/perf/perf-profile0.conf
vendor/etc/perf/perf-profile1.conf
vendor/etc/perf/perf-profile2.conf
@@ -588,21 +538,24 @@ vendor/etc/perf/perf-profile3.conf
vendor/etc/perf/perf-profile4.conf
vendor/etc/perf/perf-profile5.conf
vendor/etc/perf/perf-profile6.conf
-vendor/etc/perf/perfboostsconfig.xml
+vendor/lib/hw/vendor.qti.hardware.iop@1.0-impl.so
+vendor/lib/libfeedbackhandler.so
vendor/lib/libperfgluelayer.so
-vendor/lib/libqti-iopd-client.so
vendor/lib/libqti-iopd.so
+vendor/lib/libqti-iopd-client.so
+vendor/lib/libqti-perfd.so
vendor/lib/libqti-perfd-client.so
vendor/lib/libqti-util.so
-vendor/lib/hw/vendor.qti.hardware.iop@1.0-impl.so
vendor/lib/vendor.qti.hardware.iop@1.0_vendor.so
vendor/lib/vendor.qti.hardware.perf@1.0_vendor.so
+vendor/lib64/hw/vendor.qti.hardware.iop@1.0-impl.so
+vendor/lib64/libfeedbackhandler.so
vendor/lib64/libperfgluelayer.so
-vendor/lib64/libqti-iopd-client.so
vendor/lib64/libqti-iopd.so
+vendor/lib64/libqti-iopd-client.so
+vendor/lib64/libqti-perfd.so
vendor/lib64/libqti-perfd-client.so
vendor/lib64/libqti-util.so
-vendor/lib64/hw/vendor.qti.hardware.iop@1.0-impl.so
vendor/lib64/vendor.qti.hardware.iop@1.0_vendor.so
vendor/lib64/vendor.qti.hardware.perf@1.0_vendor.so
@@ -612,34 +565,38 @@ vendor/bin/pm-service
vendor/lib64/libperipheral_client.so
vendor/lib/libperipheral_client.so
-# Postprocessing
-etc/permissions/com.qti.snapdragon.sdk.display.xml
-framework/com.qti.snapdragon.sdk.display.jar
-lib/vendor.display.color@1.0.so
-lib/vendor.display.postproc@1.0.so
-lib/vendor.qti.hardware.qdutils_disp@1.0.so
-lib64/vendor.display.color@1.0.so
-lib64/vendor.display.postproc@1.0.so
-lib64/vendor.qti.hardware.qdutils_disp@1.0.so
--vendor/app/colorservice/colorservice.apk
-vendor/bin/mm-pp-dpps
-vendor/bin/hw/vendor.display.color@1.0-service
-vendor/bin/hw/vendor.qti.hardware.qdutils_disp@1.0-service-qti
-vendor/etc/init/vendor.display.color@1.0-service.rc
-vendor/etc/init/vendor.qti.hardware.qdutils_disp@1.0-service-qti.rc
-vendor/lib/libsd_sdk_display.so
-vendor/lib/vendor.display.color@1.0_vendor.so
-vendor/lib/vendor.display.postproc@1.0_vendor.so
-vendor/lib/vendor.qti.hardware.qdutils_disp@1.0_vendor.so
-vendor/lib64/libdisp-aba.so
-vendor/lib64/libsd_sdk_display.so
-vendor/lib64/vendor.display.color@1.0_vendor.so
-vendor/lib64/vendor.display.postproc@1.0_vendor.so
-vendor/lib64/vendor.qti.hardware.qdutils_disp@1.0_vendor.so
+# Postprocessing - from cheeseburger - OPR6.170623.013
+etc/permissions/com.qti.snapdragon.sdk.display.xml|0bff16d681e75f203c1e11ff33afba82490e49b3
+framework/com.qti.snapdragon.sdk.display.jar|2865536d37515945ae3466f2492cd36e6863fa2e
+lib/libsd_sdk_display.so:vendor/lib/libsd_sdk_display.so|e3b3be83d2d181e3b26ba105da0cbc06688966b2
+lib/vendor.display.color@1.0.so|baa2dad5f8a9df6153e4fd2ba5428e1e2ed0f68b
+lib/vendor.display.postproc@1.0.so|b90d5ef619f2069731250250a36d6a947dce920b
+lib/vendor.qti.hardware.qdutils_disp@1.0.so|892b272dddf0b85eebeea559c62c028bb4bd77dc
+lib64/libsd_sdk_display.so:vendor/lib64/libsd_sdk_display.so|a019f586ef761f852cdd04dce259cb8922e2633c
+lib64/vendor.display.color@1.0.so|31d03c1a3ee66554d334ac16d4796d730ded72ed
+lib64/vendor.display.postproc@1.0.so|863190e800e47b13797634679eece852e8fd8c6c
+lib64/vendor.qti.hardware.qdutils_disp@1.0.so|00eca62445ae716e7e202bc7d79caa1c7d5d5234
+vendor/bin/hw/vendor.display.color@1.0-service|3f42a79e4a1ef0009637b4954c9e4a38680dd88c
+vendor/bin/hw/vendor.qti.hardware.qdutils_disp@1.0-service-qti|0ed4f41dd0868e12c57ef0ecf493dafa6885ace2
+vendor/bin/mm-pp-dpps|034d0550197c7a64b17ab099ed9fb379538464e0
+vendor/etc/init/vendor.display.color@1.0-service.rc|5ad673f879b3685a0e79b5633437e5499cb94f48
+vendor/etc/init/vendor.qti.hardware.qdutils_disp@1.0-service-qti.rc|69d9cbc54f8ac0a0fb010f92bfa7de5981d643cf
+vendor/lib64/libdisp-aba.so|67f743e755742690d3e921d9db6ad3f5410ff291
+vendor/lib64/vendor.display.color@1.0_vendor.so|34b397e1c6f8077af848c9353d158ef8f458c2b8
+vendor/lib64/vendor.display.postproc@1.0_vendor.so|e57cfa45f72430d8c749a251aa423ab665a04088
+vendor/lib64/vendor.qti.hardware.qdutils_disp@1.0_vendor.so|ede5278f1774fe1ea9eb9b0de1cdd01054ef6c8a
+vendor/lib/libdisp-aba.so|318c3f38ba34848b2a35e5069ff0a176f4679a35
+vendor/lib/vendor.display.color@1.0_vendor.so|615820f1ddbf3e06b501aca6b948196b9e8027ab
+vendor/lib/vendor.display.postproc@1.0_vendor.so|dcabce39e2a9cab878fea28a52be053bdc752e59
+vendor/lib/vendor.qti.hardware.qdutils_disp@1.0_vendor.so|8414feb896b30cf23c1af2055c836e54843a90d7
# QMI
-vendor/bin/irsc_util
etc/permissions/qti_permissions.xml
+lib/libdiag_system.so
+lib/libqmi_cci_system.so
+lib64/libdiag_system.so
+lib64/libqmi_cci_system.so
+vendor/bin/irsc_util
vendor/lib/libdiag.so
vendor/lib/libdsi_netctrl.so
vendor/lib/libdsutils.so
@@ -653,8 +610,8 @@ vendor/lib/libqmi_client_qmux.so
vendor/lib/libqmi_common_so.so
vendor/lib/libqmi_csi.so
vendor/lib/libqmi_encdec.so
-vendor/lib/libqmiservices.so
vendor/lib/libqmi.so
+vendor/lib/libqmiservices.so
vendor/lib/libsmemlog.so
vendor/lib64/libdiag.so
vendor/lib64/libdsi_netctrl.so
@@ -669,61 +626,27 @@ vendor/lib64/libqmi_client_qmux.so
vendor/lib64/libqmi_common_so.so
vendor/lib64/libqmi_csi.so
vendor/lib64/libqmi_encdec.so
-vendor/lib64/libqmiservices.so
vendor/lib64/libqmi.so
+vendor/lib64/libqmiservices.so
vendor/lib64/libsmemlog.so
-# QSEE
-vendor/bin/qseecomd
-vendor/lib/libStDrvInt.so
-vendor/lib/libcppf.so
-vendor/lib/libqisl.so
-vendor/lib/librpmb.so
-vendor/lib/libssd.so
-vendor/lib/lib-sec-disp.so
-vendor/lib/libQSEEComAPI.so
-vendor/lib/libtzdrmgenprov.so
-vendor/lib64/lib-sec-disp.so
-vendor/lib64/libGPreqcancel.so
-vendor/lib64/libGPreqcancel_svc.so
-vendor/lib64/libQSEEComAPI.so
-vendor/lib64/libSecureUILib.so
-vendor/lib64/libStDrvInt.so
-vendor/lib64/libdrmfs.so
-vendor/lib64/libdrmtime.so
-vendor/lib64/libqisl.so
-vendor/lib64/librpmb.so
-vendor/lib64/libsecureui.so
-vendor/lib64/libsecureui_svcsock.so
-vendor/lib64/libssd.so
-vendor/lib64/libtzdrmgenprov.so
-
-# Radio
+# RIL
-app/QtiTelephonyService/QtiTelephonyService.apk
-bin/port-bridge
-etc/permissions/telephonyservice.xml
etc/permissions/qcrilhook.xml
-etc/permissions/qcnvitems.xml
-etc/permissions/qti-vzw-ims-internal.xml
+etc/permissions/telephonyservice.xml
+-framework/QtiTelephonyServicelibrary.jar
-framework/qcrilhook.jar
--framework/qcnvitems.jar
-framework/QtiTelephonyServicelibrary.jar
-framework/qti-telephony-common.jar|2eba987ae297a892e895ec1e9a302b41dbe0232e
-lib64/libparam.so
+-framework/qti-telephony-common.jar|2eba987ae297a892e895ec1e9a302b41dbe0232e
-priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
+vendor/bin/port-bridge
vendor/bin/netmgrd
-vendor/bin/pd-mapper
vendor/bin/qti
vendor/bin/rmt_storage
vendor/bin/tftp_server
vendor/etc/data/dsi_config.xml
vendor/etc/data/netmgr_config.xml
-vendor/etc/RIDL/qdss.cfg
-vendor/framework/qti-vzw-ims-internal.jar
vendor/lib/libmdmdetect.so
vendor/lib/libqcmaputils.so
-vendor/lib/libqti-at.so
-vendor/lib/lib_remote_simlock.so
vendor/lib/vendor.qti.hardware.radio.am@1.0_vendor.so
vendor/lib/vendor.qti.hardware.radio.ims@1.0_vendor.so
vendor/lib/vendor.qti.hardware.radio.lpa@1.0_vendor.so
@@ -737,7 +660,6 @@ vendor/lib64/liblqe.so
vendor/lib64/libmdmdetect.so
vendor/lib64/libnetmgr.so
vendor/lib64/libqcmaputils.so
-vendor/lib64/libqti-at.so
vendor/lib64/libril-qc-ltedirectdisc.so
vendor/lib64/libril-qc-qmi-1.so
vendor/lib64/libril-qc-radioconfig.so
@@ -745,7 +667,6 @@ vendor/lib64/libril-qcril-hook-oem.so
vendor/lib64/librilqmiservices.so
vendor/lib64/libsettings.so
vendor/lib64/libsystem_health_mon.so
-vendor/lib64/lib_remote_simlock.so
vendor/lib64/vendor.qti.hardware.radio.am@1.0_vendor.so
vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0_vendor.so
vendor/lib64/vendor.qti.hardware.radio.ims@1.0_vendor.so
@@ -759,8 +680,6 @@ vendor/radio/qcril_database/qcril.db
# Sensors
vendor/bin/sensors.qcom
-vendor/etc/sensors/hals.conf
-vendor/etc/sensors/sensor_def_qcomdev.conf
vendor/lib/hw/activity_recognition.msm8996.so
vendor/lib/libsensor_reg.so
vendor/lib/libsensor1.so
@@ -772,29 +691,20 @@ vendor/lib64/sensors.ssc.so
# Thermal
vendor/bin/thermal-engine
-vendor/lib/libthermalclient.so
+-vendor/lib64/libthermalclient.so
vendor/lib64/libthermalioctl.so
-vendor/lib64/libthermalclient.so
+-vendor/lib/libthermalclient.so
-# Time service
+# Time services
-vendor/app/TimeService/TimeService.apk
vendor/bin/time_daemon
-vendor/lib64/libTimeService.so
vendor/lib64/libtime_genoff.so
-# TUI
-lib/vendor.qti.hardware.tui_comm@1.0.so
-lib64/vendor.qti.hardware.tui_comm@1.0.so
-vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti
-vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc
-vendor/lib/vendor.qti.hardware.tui_comm@1.0_vendor.so
-vendor/lib64/vendor.qti.hardware.tui_comm@1.0_vendor.so
-
-# Widevine
-vendor/lib/libWVStreamControlAPI_L3.so
-vendor/lib/libwvdrm_L3.so
-vendor/lib/mediadrm/libwvdrmengine.so
+# Widevine DRM
+vendor/bin/hw/android.hardware.drm@1.0-service.widevine
+vendor/etc/init/android.hardware.drm@1.0-service.widevine.rc
+vendor/lib/libwvhidl.so
# WiFi
-bin/cnss-daemon
+vendor/bin/cnss-daemon
etc/firmware/bdwlan30.bin
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index bcdc60c..6c3df51 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -7,7 +7,7 @@ LOCAL_MODULE := fstab.qcom
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/fstab.qcom
-LOCAL_VENDOR_MODULE := true
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -16,7 +16,7 @@ LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.power.rc
LOCAL_VENDOR_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := init/hw
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -25,7 +25,7 @@ LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.rc
LOCAL_VENDOR_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := init/hw
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -34,7 +34,7 @@ LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.usb.rc
LOCAL_VENDOR_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := init/hw
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -42,7 +42,7 @@ LOCAL_MODULE := init.qcom.usb.sh
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_SRC_FILES := etc/init.qcom.usb.sh
-LOCAL_VENDOR_MODULE := true
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -50,7 +50,7 @@ LOCAL_MODULE := init.qcom.bt.sh
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_SRC_FILES := etc/init.qcom.bt.sh
-LOCAL_VENDOR_MODULE := true
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
@@ -63,14 +63,6 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
-LOCAL_MODULE := init.qcom.sensors.sh
-LOCAL_MODULE_TAGS := optional eng
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SRC_FILES := etc/init.qcom.sensors.sh
-LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
LOCAL_MODULE := chargeonlymode
LOCAL_MODULE_OWNER := zuk
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
diff --git a/rootdir/etc/fstab.full b/rootdir/etc/fstab.full
deleted file mode 100644
index 4c3d9c6..0000000
--- a/rootdir/etc/fstab.full
+++ /dev/null
@@ -1,23 +0,0 @@
-# Android fstab file.
-# The filesystem that contains the filesystem checker binary (typically /system) cannot
-# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
-
-#TODO: Add 'check' as fs_mgr_flags with data partition.
-# Currently we dont have e2fsck compiled. So fs check would failed.
-
-#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
-/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
-/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
-/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait
-/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,inline_xattr,data_flush wait,check,encryptable=footer,length=-16384
-/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,barrier=1,noauto_da_alloc wait,check,encryptable=footer,length=-16384
-/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,nodev,noatime,inline_xattr,flush_merge,data_flush wait,check
-/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait,check
-/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,noatime,barrier=1 wait
-/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait
-/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
-/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=222,fmask=333,context=u:object_r:bt_firmware_file:s0 wait
-/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-/dev/block/zram0 none swap defaults zramsize=536870912,max_comp_streams=4
-
-/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usbdisk:auto
diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom
index f09eee1..0785242 100644
--- a/rootdir/etc/fstab.qcom
+++ b/rootdir/etc/fstab.qcom
@@ -1,22 +1,26 @@
# Android fstab file.
-# The filesystem that contains the filesystem checker binary (typically /system) cannot
-# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+# The filesystem that contains the filesystem e2fsck binary (typically /system) cannot
+# specify 'check', and must come before any filesystems that do specify 'check'
-#TODO: Add 'check' as fs_mgr_flags with data partition.
-# Currently we dont have e2fsck compiled. So fs check would failed.
+# NOTE: /system and /vendor (/factory mounted as /vendor) partitions are now early-mounted and the fstab entry is specified in device tree (duplicated below for recovery image purposes only):
+# /proc/device-tree/firmware/android/fstab/system
+# /proc/device-tree/firmware/android/fstab/vendor
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
-/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,inline_xattr,data_flush wait,check,encryptable=footer,length=-16384
-/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,barrier=1,noauto_da_alloc wait,check,encryptable=footer,length=-16384
-/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,nodev,noatime,inline_xattr,flush_merge,data_flush wait,check
+/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,barrier=1,noauto_da_alloc wait,check,encryptable=footer
+/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,inline_xattr,data_flush wait,check,encryptable=footer
+/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,recoveryonly
+/dev/block/bootdevice/by-name/factory /vendor ext4 ro,barrier=1 wait,recoveryonly
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait,check
+/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,nodev,noatime,inline_xattr,flush_merge,data_flush wait,check
/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,noatime,barrier=1 wait
/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=222,fmask=333,context=u:object_r:bt_firmware_file:s0 wait
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-/dev/block/zram0 none swap defaults zramsize=536870912,max_comp_streams=4
+/dev/block/zram0 none swap defaults zramsize=536870912,max_comp_streams=4
+/dev/block/bootdevice/by-name/frp /frp emmc defaults defaults
/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usbdisk:auto
diff --git a/rootdir/etc/init.qcom.power.rc b/rootdir/etc/init.qcom.power.rc
index b2a660b..8cd5021 100755..100644
--- a/rootdir/etc/init.qcom.power.rc
+++ b/rootdir/etc/init.qcom.power.rc
@@ -41,6 +41,9 @@ on enable-low-power
write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1
write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 81250
+ # Set sync wakee policy tunable
+ write /proc/sys/kernel/sched_prefer_sync_wakee_to_waker 1
+
# Configure governor settings for little cluster
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load 1
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc
index d193e33..d1fd36a 100755..100644
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -1,4 +1,4 @@
-# Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved.
+# Copyright (c) 2009-2012, 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 met:
@@ -24,6 +24,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+
import /vendor/etc/init/hw/init.qcom.power.rc
import /vendor/etc/init/hw/init.qcom.usb.rc
@@ -33,10 +34,7 @@ on early-init
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
- mkdir /firmware 0771 system system
- mkdir /bt_firmware 0771 system system
symlink /data/tombstones /tombstones
- mkdir /dsp 0771 media media
# ZRAM setup
write /sys/block/zram0/comp_algorithm lz4
@@ -50,6 +48,15 @@ on init
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
+on fs
+ wait /dev/block/platform/soc/${ro.boot.bootdevice}
+ symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
+ restorecon_recursive /dev/block/platform/soc/${ro.boot.bootdevice}
+ mount_all /vendor/etc/fstab.qcom
+
+ # Restorecon
+ restorecon_recursive /persist
+
on late-fs
# boot time fs tune
write /sys/block/sda/queue/iostats 0
@@ -59,6 +66,152 @@ on late-fs
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
+# msm specific files that need to be created on /data
+on post-fs-data
+ mkdir /data/vendor/misc 01771 system system
+
+ mkdir /tombstones/modem 0771 system system
+ mkdir /tombstones/lpass 0771 system system
+ mkdir /tombstones/wcnss 0771 system system
+ mkdir /tombstones/dsps 0771 system system
+ mkdir /persist/data/sfs 0700 system system
+ mkdir /persist/data/tz 0700 system system
+ mkdir /persist/qc_senseid 0700 system system
+ mkdir /persist/bms 0700 root system
+ restorecon_recursive /persist
+ mkdir /data/usf 0700 system system
+ mkdir /data/misc/qvop 0660 system system
+
+ # Create directory used by display clients
+ mkdir /data/vendor/display 0770 system graphics
+
+ # Create directories for Fingerprint
+ 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 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
+
+ # Create directory for tftp
+ mkdir /data/vendor/tombstones 0771 system system
+ mkdir /data/vendor/tombstones/rfs 0771 system system
+
+ mkdir /data/vendor/ramdump 0771 root system
+ 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/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ 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
+
+ # Create netmgr log dir
+ 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
+ chown system system /data/connectivity
+
+ # Create directory used by audio subsystem
+ mkdir /data/vendor/misc/audio 0770 audio audio
+
+ # Create directory for audio delta files
+ mkdir /data/vendor/misc/audio/acdbdata 0770 media audio
+ mkdir /data/vendor/misc/audio/acdbdata/delta 0770 media audio
+
+ # Create directory for radio
+ mkdir /data/vendor/radio 0770 system radio
+
+ chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
+
+ # Chown polling nodes as needed from UI running on system server
+ chown system system /sys/devices/platform/msm_sdcc.1/polling
+ chown system system /sys/devices/platform/msm_sdcc.2/polling
+ chown system system /sys/devices/platform/msm_sdcc.3/polling
+ chown system system /sys/devices/platform/msm_sdcc.4/polling
+
+ # Create directories for Location services
+ mkdir /data/vendor/location 0770 gps gps
+ mkdir /data/vendor/location/mq 0770 gps gps
+ mkdir /data/vendor/location/xtwifi 0770 gps gps
+
+ # SSC/SLPI sensors
+ mkdir /persist/sensors 0775 root system
+ chown root system /persist/sensors/sensors_settings
+ chmod 0664 /persist/sensors/sensors_settings
+ chown root system /persist/sensors/sns.reg
+ chmod 0664 /persist/sensors/sns.reg
+
+ # /dev/sensors only supports an ioctl to get the current SLPI timestamp;
+ # allow the sensors daemon to perform this as non-root
+ chown root system /dev/sensors
+ chmod 0660 /dev/sensors
+
+ # Create /data/time folder for time-services
+ mkdir /data/time/ 0700 system system
+ mkdir /data/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
+ 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
+
+ #Create PERFD deamon related dirs
+ 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/vendor/iop 0770 root system
+
+ # Mark the copy complete flag to not completed
+ 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 /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/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
+
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
@@ -76,15 +229,6 @@ on early-boot
write /sys/bus/msm_subsys/devices/subsys4/restart_level "related"
write /sys/bus/msm_subsys/devices/subsys5/restart_level "related"
-on fs
- wait /dev/block/platform/soc/${ro.boot.bootdevice}
- symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
- restorecon_recursive /dev/block/platform/soc/${ro.boot.bootdevice}
- mount_all /vendor/etc/fstab.qcom
-
- # Restorecon
- restorecon_recursive /persist
-
on boot
# Secure touch
chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
@@ -244,9 +388,9 @@ on boot
# an ack packet comes out of order
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
- # Set the console loglevel to < KERN_INFO
- # Set the default message loglevel to KERN_INFO
- write /proc/sys/kernel/printk "6 6 1 7"
+ # Set the console loglevel to < KERN_WARNING
+ # Set the default message loglevel to KERN_WARNING
+ write /proc/sys/kernel/printk "4 4 1 7"
# Allow access for CCID command/response timeout configuration
chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
@@ -268,183 +412,13 @@ on boot
# Allow access for WLAN firmware
chown system system /sys/module/cnss_common/parameters/bdwlan_file
-# msm specific files that need to be created on /data
-on post-fs-data
- mkdir /tombstones/modem 0771 system system
- mkdir /tombstones/lpass 0771 system system
- mkdir /tombstones/wcnss 0771 system system
- mkdir /tombstones/dsps 0771 system system
- mkdir /persist/data/sfs 0700 system system
- mkdir /persist/data/tz 0700 system system
- mkdir /persist/qc_senseid 0700 system system
- mkdir /persist/bms 0700 root system
- restorecon_recursive /persist
- mkdir /data/misc/dts 0770 media audio
- mkdir /data/usf 0700 system system
- mkdir /data/misc/qvop 0660 system system
- mkdir /data/misc/audio_pp 0771 media audio
-
- # Create directory used by display clients
- mkdir /data/vendor/display 0770 system graphics
-
- # Create directories for Fingerprint
- 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 directory for TZ Apps
- mkdir /data/misc/qsee 0770 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
-
- # Create directory for tftp
- mkdir /data/vendor/tombstones 0771 system system
- mkdir /data/vendor/tombstones/rfs 0771 system system
-
- mkdir /data/misc/bluetooth 0770 bluetooth bluetooth
-
- # Create the directories used by the Wireless subsystem
- mkdir /data/misc/wifi 0770 wifi wifi
- mkdir /data/misc/wifi/sockets 0770 wifi wifi
- mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
- mkdir /data/misc/dhcp 0770 dhcp dhcp
- 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
-
- # Create netmgr log dir
- 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
- chown system system /data/connectivity
-
- mkdir /data/dpm/nsrm 0771 system system
- chown system system /data/dpm/nsrm
-
- # Create directory used by audio subsystem
- mkdir /data/misc/audio 0770 audio audio
-
- # Create directory for audio delta files
- mkdir /data/misc/audio/acdbdata 0770 media audio
- mkdir /data/misc/audio/acdbdata/delta 0770 media audio
-
- # Create directory used by the DASH client
- mkdir /data/misc/dash 0770 media audio
-
- # 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
- chown system system /persist
- chmod 0771 /persist
- chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
- chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
- chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
- chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
-
- # Chown polling nodes as needed from UI running on system server
- chown system system /sys/devices/platform/msm_sdcc.1/polling
- chown system system /sys/devices/platform/msm_sdcc.2/polling
- chown system system /sys/devices/platform/msm_sdcc.3/polling
- chown system system /sys/devices/platform/msm_sdcc.4/polling
-
- # Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
- mkdir /data/system 0775 system system
-
- #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
- # Create directories for Location services
- mkdir /data/vendor/location 0770 gps gps
- mkdir /data/vendor/location/mq 0770 gps gps
- mkdir /data/vendor/location/xtwifi 0770 gps gps
-
- # Create directory from IMS services
- mkdir /data/shared 0755
- chown system system /data/shared
-
- # Create directory for FOTA
- mkdir /data/fota 0771
- chown system system /data/fota
-
- # Create /data/time folder for time-services
- mkdir /data/time/ 0700 system system
- mkdir /data/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
- 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
-
- #Create PERFD deamon related dirs
- 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/vendor/iop 0770 root system
-
- # Mark the copy complete flag to not completed
- 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 /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/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
-
# start camera server as daemon
service qcamerasvr /vendor/bin/mm-qcamera-daemon
- class main
+ class late_start
user camera
group camera system inet input graphics
writepid /dev/cpuset/system-background/tasks
-service qvop-daemon /system/bin/qvop-daemon
- class late_start
- user system
- group system drmrpc
-
# start up peripheral manager
service per_mgr /vendor/bin/pm-service
class late_start
@@ -471,17 +445,6 @@ service qseecomd /vendor/bin/qseecomd
group root
writepid /dev/cpuset/system-background/tasks
-service seempd /system/bin/seempd
- class late_start
- user system
- group system
- socket seempdw dgram 0666 system system
-
-service secotad /system/bin/secotad
- class late_start
- user system
- group system
-
service thermal-engine /vendor/bin/thermal-engine
class main
user root
@@ -502,11 +465,6 @@ service adsprpcd /vendor/bin/adsprpcd
user media
group media
-service audiod /system/bin/audiod
- class late_start
- user system
- group system
-
service imsqmidaemon /vendor/bin/imsqmidaemon
class main
user system
@@ -552,12 +510,6 @@ on property:vendor.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
start vendor.imsrcsservice
-service dts_configurator /system/bin/dts_configurator
- class late_start
- user system
- group system media audio
- oneshot
-
service ppd /vendor/bin/mm-pp-dpps
class late_start
user system
@@ -583,12 +535,6 @@ on property:init.svc.zygote=running
on property:init.svc.zygote=restarting
stop ppd
-service tlocd /system/bin/tloc_daemon
- class late_start
- user system
- group drmrpc gps net_raw
- seclabel u:r:tlocd:s0
-
service readmac /vendor/bin/readmac
class main
user root
@@ -601,16 +547,6 @@ service energy-awareness /vendor/bin/energy-awareness
group system
oneshot
-service mdtpd /vendor/bin/mdtpd
- class late_start
- user root
- group system radio drmrpc
-
-service qcomsysd /system/bin/qcom-system-daemon
- class main
- user root
- group root diag
-
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
@@ -689,6 +625,8 @@ service rmt_storage /vendor/bin/rmt_storage
class core
user root
group root system wakelock
+ shutdown critical
+ ioprio rt 0
writepid /dev/cpuset/system-background/tasks
service tftp_server /vendor/bin/tftp_server
@@ -702,7 +640,7 @@ on property:wc_transport.start_hci=true
on property:wc_transport.start_hci=false
stop start_hci_filter
-service start_hci_filter /system/bin/wcnss_filter
+service start_hci_filter /vendor/bin/wcnss_filter
class late_start
user bluetooth
group bluetooth diag system wakelock
@@ -715,19 +653,7 @@ on property:wc_transport.start_root=true
on property:wc_transport.start_root=false
stop hci_filter_root
-service hci_filter_root /system/bin/wcnss_filter
- class late_start
- user bluetooth
- group bluetooth diag system
- disabled
-
-on property:wc_transport.start_root=true
- start hci_filter_root
-
-on property:wc_transport.start_root=false
- stop hci_filter_root
-
-service hci_filter_root /system/bin/wcnss_filter
+service hci_filter_root /vendor/bin/wcnss_filter
class late_start
user bluetooth
group bluetooth diag system
@@ -741,7 +667,7 @@ service ftmd /system/bin/logwrapper /system/bin/ftmdaemon
disabled
oneshot
-service port-bridge /system/bin/port-bridge
+service port-bridge /vendor/bin/port-bridge
class main
user radio system
group radio system inet
@@ -767,8 +693,11 @@ service qti /vendor/bin/qti
service sensors /vendor/bin/sensors.qcom
class core
- user root
- group root wakelock
+ user system
+ group system
+ # Grants the ability for this daemon to bind IPC router ports so it can
+ # register QMI services
+ capabilities NET_BIND_SERVICE
writepid /dev/cpuset/system-background/tasks
on property:ro.use_data_netmgrd=false
@@ -785,10 +714,10 @@ on property:sys.sysctl.tcp_adv_win_scale=*
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
- -I/system/vendor/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/vendor/etc/wifi/wpa_supplicant_overlay.conf \
- -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 -dd \
+ -I/vendor/etc/wifi/wpa_supplicant_overlay.conf \
+ -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \
-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
@@ -799,12 +728,6 @@ service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
disabled
oneshot
-service ptt_socket_app /system/bin/ptt_socket_app -d
- class main
- user root
- group root
- oneshot
-
service wifi_fccutild /system/bin/wifi_fccutild
user system
group system inet net_admin
@@ -812,7 +735,7 @@ service wifi_fccutild /system/bin/wifi_fccutild
disabled
oneshot
-service cnss-daemon /system/bin/cnss-daemon -n -l
+service cnss-daemon /vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet net_admin wifi
@@ -826,16 +749,6 @@ service loc_launcher /vendor/bin/loc_launcher
group gps inet diag wifi
writepid /dev/cpuset/system-background/tasks
-service sensor-sh /vendor/bin/init.qcom.sensors.sh
- class core
- user root
- oneshot
-
-service atfwd /system/bin/ATFWD-daemon
- class late_start
- user system
- group system radio
-
on property:ro.data.large_tcp_window_size=true
# Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
write /proc/sys/net/ipv4/tcp_adv_win_scale 2
@@ -853,19 +766,6 @@ service msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.
disabled
writepid /dev/cpuset/system-background/tasks
-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
-
-# Seemp health service
-service seemp_healthd /vendor/bin/seemp_healthd
- class late_start
- user system
- group system
-
on charger
setprop persist.sys.usb.config charging
diff --git a/rootdir/etc/init.qcom.sensors.sh b/rootdir/etc/init.qcom.sensors.sh
deleted file mode 100644
index fd193e2..0000000
--- a/rootdir/etc/init.qcom.sensors.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/vendor/bin/sh
-# 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 met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# * Neither the name of The Linux Foundation nor
-# the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-#
-# Function to start sensors for SSC enabled platforms
-#
-start_sensors()
-{
- 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
- start sensors
- fi
-}
-
-start_sensors
diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc
index 63a8886..e4a3535 100755..100644
--- a/rootdir/etc/init.qcom.usb.rc
+++ b/rootdir/etc/init.qcom.usb.rc
@@ -25,8 +25,6 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-import /vendor/etc/init/hw/init.zuk.usb.rc
-
on init
write /sys/class/android_usb/android0/f_rndis/wceis 1
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc
index 5263e81..d48ee2c 100644
--- a/rootdir/etc/ueventd.qcom.rc
+++ b/rootdir/etc/ueventd.qcom.rc
@@ -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:
@@ -29,12 +29,13 @@
/dev/diag 0660 system oem_2901
/dev/genlock 0666 system system
+/dev/wlan 0660 wifi wifi
/dev/kgsl 0666 system system
/dev/kgsl-3d0 0666 system system
/dev/kgsl-2d0 0666 root root
/dev/kgsl-2d1 0666 root root
/dev/ion 0664 system system
-/dev/rtc0 0600 system system
+/dev/rtc0 0660 system system
/dev/smd0 0660 system system
/dev/smd4 0660 system system
/dev/smd_cxm_qmi 0640 radio radio
@@ -51,6 +52,11 @@
#permissions for CSVT
/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
/dev/pta 0660 system system
@@ -106,12 +112,21 @@
/dev/mhi_pipe_14 0640 radio radio
/dev/mhi_pipe_16 0640 radio radio
/dev/mhi_pipe_32 0640 radio radio
+/dev/at_usb0 0640 radio radio
+/dev/at_mdm0 0640 radio radio
/dev/video* 0660 system camera
/dev/media* 0660 system camera
/dev/v4l-subdev* 0660 system camera
/dev/qseecom 0660 system drmrpc
+/dev/smcinvoke 0660 system system
+/dev/qsee_ipc_irq_spss 0660 system drmrpc
/dev/seemplog 0660 system system
/dev/pft 0660 system drmrpc
+/dev/spcom 0660 system system
+/dev/sp_kernel 0660 system system
+/dev/sp_ssr 0660 system system
+/dev/sp_keymaster 0660 system system
+/dev/cryptoapp 0660 system system
/dev/gemini0 0660 system camera
/dev/jpeg0 0660 system camera
/dev/jpeg1 0660 system camera
@@ -120,6 +135,12 @@
/dev/adsprpc-smd 0664 system system
/dev/system_health_monitor 0644 radio system
/dev/mdss_rotator 0664 system system
+# wlan
+/dev/wcnss_wlan 0660 system system
+/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
+/dev/spidev0.0 0660 system audio
/dev/msm_camera/* 0660 system camera
/dev/gemini/ 0660 system camera
/dev/mercury0 0660 system camera
@@ -129,8 +150,11 @@
/dev/msm_vidc_enc 0660 system audio
/dev/msm_rotator 0660 system system
/dev/hw_random 0600 root root
+/dev/sdsprpc-smd 0660 system system
#permissions for audio
+/dev/wcd_dsp0_control 0660 system audio
+/dev/wcd-dsp-glink 0660 system audio
/dev/audio_slimslave 0660 system audio
/dev/msm_qcelp 0660 system audio
/dev/msm_evrc 0660 system audio
@@ -146,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
@@ -158,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 bluetooth
-/dev/smd2 0660 bluetooth bluetooth
/dev/ttyHSL1 0660 system system
/dev/ttyHS1 0660 system system
/dev/mdm 0660 system radio
@@ -168,9 +191,12 @@
/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/input/event* 0660 system input
/dev/avtimer 0660 system audio
+# TFA9890 For SmartPA
+/dev/tfa9890 0660 media media
+
# DVB devices
/dev/dvb/adapter0/demux* 0440 media media
/dev/dvb/adapter0/dvr* 0660 media media
@@ -180,9 +206,6 @@
/dev/tsc_mux0 0660 media media
/dev/tsc_ci0 0660 media media
-# ultrasonic fingerprint
-/sys/devices/soc/757a000.i2c/i2c-6/* eeprom 0440 system system
-
# sensors
/sys/devices/i2c-12/12-* pollrate_ms 0664 system system
/sys/devices/f9925000.i2c/i2c-0/0-* enable 0660 input system
@@ -205,6 +228,21 @@
/sys/devices/virtual/optical_sensors/lightsensor ls_poll_delay 0660 input system
/sys/devices/virtual/input/input* poll 0660 input system
/sys/devices/virtual/input/input* pollrate_ms 0660 input system
+/sys/devices/virtual/input/input* enable 0660 system input
+/sys/devices/virtual/input/input* poll_delay 0660 system input
+/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch 0440 system drmrpc
+/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch_enable 0660 system drmrpc
+/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch 0440 system drmrpc
+/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch_enable 0660 system drmrpc
+/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch 0440 system drmrpc
+/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
+
+# laser sensor access
+/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
@@ -216,6 +254,13 @@
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
+# wigig
+/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/wigig0/gro_flush_timeout 0660 system system
+/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
+
#nfc permissions
/dev/nfc-nci 0660 nfc nfc
/dev/nq-nci 0660 nfc nfc
@@ -242,5 +287,13 @@
/dev/hbtp_input 0660 system system
/dev/hbtp_vm 0660 system system
-# TFA9890 FOR SMARTPA
-/dev/tfa9890 0660 media media
+# Add device block for FRP
+/dev/block/platform/soc/7824900.sdhci/by-name/config 0600 system system
+/dev/block/platform/soc/7464900.sdhci/by-name/frp 0600 system system
+/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 --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 43df33d..54c3534 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -40,3 +40,6 @@
# ril
/(vendor|system/vendor)/radio/qcril_database/qcril.db u:object_r:nv_data_file:s0
+
+# audio amplifier
+/dev/tfa9890 u:object_r:audio_device:s0
diff --git a/sepolicy/hal_perf_default.te b/sepolicy/hal_perf_default.te
new file mode 100644
index 0000000..434ac35
--- /dev/null
+++ b/sepolicy/hal_perf_default.te
@@ -0,0 +1,3 @@
+allow hal_perf_default property_socket:sock_file write;
+allow hal_perf_default init:unix_stream_socket connectto;
+allow hal_perf_default freq_prop:property_service set;
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
index 806f5f6..65975ec 100755
--- a/setup-makefiles.sh
+++ b/setup-makefiles.sh
@@ -40,7 +40,7 @@ setup_vendor "$DEVICE_COMMON" "$VENDOR" "$LINEAGE_ROOT" true
write_headers "z2_plus z2_row"
# The standard common blobs
-write_makefiles "$MY_DIR"/proprietary-files.txt
+write_makefiles "$MY_DIR"/proprietary-files.txt true
# We are done!
write_footers
@@ -54,7 +54,7 @@ if [ -s "$MY_DIR"/../"$DEVICE"/proprietary-files.txt ]; then
write_headers
# The standard device blobs
- write_makefiles "$MY_DIR"/../"$DEVICE"/proprietary-files.txt
+ write_makefiles "$MY_DIR"/../"$DEVICE"/proprietary-files.txt true
# We are done!
write_footers
diff --git a/update-sha1sums.py b/update-sha1sums.py
new file mode 100755
index 0000000..2595d21
--- /dev/null
+++ b/update-sha1sums.py
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2016 The CyanogenMod Project
+# Copyright (C) 2017-2018 The LineageOS Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+from hashlib import sha1
+import sys
+
+device='msm8996-common'
+vendor='zuk'
+
+lines = [ line for line in open('proprietary-files.txt', 'r') ]
+vendorPath = '../../../vendor/' + vendor + '/' + device + '/proprietary'
+needSHA1 = False
+
+def cleanup():
+ for index, line in enumerate(lines):
+ # Remove '\n' character
+ line = line[:-1]
+
+ # Skip empty or commented lines
+ if len(line) == 0 or line[0] == '#':
+ continue
+
+ # Drop SHA1 hash, if existing
+ if '|' in line:
+ line = line.split('|')[0]
+ lines[index] = '%s\n' % (line)
+
+def update():
+ for index, line in enumerate(lines):
+ # Remove '\n' character
+ line = line[:-1]
+
+ # Skip empty lines
+ if len(line) == 0:
+ continue
+
+ # Check if we need to set SHA1 hash for the next files
+ if line[0] == '#':
+ needSHA1 = (' - from' in line)
+ continue
+
+ if needSHA1:
+ # Remove existing SHA1 hash
+ line = line.split('|')[0]
+ filePath = line.split(':')[1] if len(line.split(':')) == 2 else line
+
+ if filePath[0] == '-':
+ file = open('%s/%s' % (vendorPath, filePath[1:]), 'rb').read()
+ else:
+ file = open('%s/%s' % (vendorPath, filePath), 'rb').read()
+
+ hash = sha1(file).hexdigest()
+ lines[index] = '%s|%s\n' % (line, hash)
+
+if len(sys.argv) == 2 and sys.argv[1] == '-c':
+ cleanup()
+else:
+ update()
+
+with open('proprietary-files.txt', 'w') as file:
+ for line in lines:
+ file.write(line)
+
+ file.close()
diff --git a/system.prop b/vendor.prop
index 479a723..7f50440 100644
--- a/system.prop
+++ b/vendor.prop
@@ -1,3 +1,6 @@
+# Adreno
+ro.qcom.adreno.qgl.ShaderStorageImageExtendedFormats=0
+
# Audio
af.fast_track_multiplier=1
vendor.audio_hal.period_size=192
@@ -16,10 +19,13 @@ vendor.audio.safx.pbe.enabled=true
persist.vendor.audio.fluence.voicecall=true
persist.vendor.audio.fluence.voicerec=false
persist.vendor.audio.fluence.speaker=true
+persist.vendor.bt.enable.splita2dp=false
ro.vendor.audio.sdk.fluencetype=fluence
ro.vendor.audio.sdk.ssr=false
vendor.audio.tunnel.encode=false
vendor.voice.path.for.pcm.voip=true
+ro.config.media_vol_steps=25
+ro.config.vc_call_vol_steps=7
# Bluetooth
bt.max.hfpclient.connections=1
@@ -45,9 +51,6 @@ persist.data.netmgrd.qos.enable=true
ro.use_data_netmgrd=true
persist.data.iwlan.enable=true
-# Device was launched with M
-ro.product.first_api_level=23
-
# Display (Qualcomm AD)
ro.qualcomm.cabl=2
ro.qcom.ad=1
@@ -62,9 +65,11 @@ ro.opa.eligible_device=true
# Graphics
debug.gralloc.enable_fb_ubwc=1
+debug.sf.latch_unsignaled=1
persist.hwc.enable_vds=1
ro.opengles.version=196610
ro.sf.lcd_density=480
+sdm.debug.disable_skip_validate=1
sdm.perf_hint_window=50
# GPS
@@ -76,6 +81,7 @@ ro.gps.agps_provider=1
vendor.audio.hw.aac.encoder=true
# Media
+vendor.vidc.enc.disable.pq=true
vendor.audio.flac.sw.decoder.24bit=true
media.aac_51_output_enabled=true
mm.enable.smoothstreaming=true
@@ -150,3 +156,6 @@ persist.data.df.dev_name=rmnet_usb0
# TimeService
persist.timed.enable=true
+
+# FRP
+ro.frp.pst=/dev/block/bootdevice/by-name/frp