SDM660_64: Intial bring up.

Intial bring up changes

Change-Id: I789911a6cd9edacdf73df41b39a80b096b9f1077
This commit is contained in:
Niranjan Reddy Dumbala 2017-03-17 17:54:52 +05:30 committed by Vara Prasad A V S G
parent fad70d4434
commit ba549c4e0d
40 changed files with 2953 additions and 352 deletions

0
Android.mk Normal file → Executable file
View file

15
AndroidBoard.mk Normal file → Executable file
View file

@ -19,7 +19,7 @@ endif
# Compile Linux Kernel
#----------------------------------------------------------------------
ifeq ($(KERNEL_DEFCONFIG),)
KERNEL_DEFCONFIG := msmfalcon_defconfig
KERNEL_DEFCONFIG := sdm660_defconfig
endif
ifeq ($(TARGET_KERNEL_SOURCE),)
@ -106,11 +106,24 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/hostapd
LOCAL_SRC_FILES := hostapd.deny
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := wifi_concurrency_cfg.txt
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := $(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/wifi
include $(BUILD_PREBUILT)
# Create symbolic links for WLAN
$(shell mkdir -p $(TARGET_OUT_ETC)/firmware/wlan/qca_cld; \
ln -sf /system/etc/wifi/WCNSS_qcom_cfg.ini \
$(TARGET_OUT_ETC)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini)
# Create symbolic links for msadp
$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware; \
ln -sf /dev/block/bootdevice/by-name/msadp \
$(TARGET_OUT_VENDOR)/firmware/msadp)
#----------------------------------------------------------------------
# Radio image
#----------------------------------------------------------------------

2
AndroidProducts.mk Normal file → Executable file
View file

@ -1,2 +1,2 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/msmfalcon_64.mk
$(LOCAL_DIR)/sdm660_64.mk

50
BoardConfig.mk Normal file → Executable file
View file

@ -3,9 +3,9 @@
# Product-specific compile-time definitions.
#
TARGET_BOARD_PLATFORM := msmfalcon
TARGET_BOARD_PLATFORM := sdm660
TARGET_BOARD_SUFFIX := _64
TARGET_BOOTLOADER_BOARD_NAME := msmfalcon
TARGET_BOOTLOADER_BOARD_NAME :=sdm660
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
@ -25,12 +25,12 @@ SDCLANG := true
TARGET_NO_BOOTLOADER := false
TARGET_USES_UEFI := true
TARGET_NO_KERNEL := false
BOARD_PRESIL_BUILD := true
-include $(QCPATH)/common/msmfalcon_64/BoardConfigVendor.mk
-include $(QCPATH)/common/sdm660_64/BoardConfigVendor.mk
MINIMAL_FONT_FOOTPRINT := true
# Some framework code requires this to enable BT
BOARD_HAVE_BLUETOOTH := true
BOARD_USES_WIPOWER := true
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common
USE_OPENGL_RENDERER := true
@ -39,29 +39,41 @@ BOARD_USE_LEGACY_UI := true
TARGET_USERIMAGES_USE_EXT4 := true
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x02000000
#A/B related defines
AB_OTA_UPDATER := true
# Full A/B partiton update set
# AB_OTA_PARTITIONS := xbl rpm tz hyp pmic modem abl boot keymaster cmnlib cmnlib64 system bluetooth
# Subset A/B partitions for Android-only image update
AB_OTA_PARTITIONS ?= boot system
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
TARGET_NO_RECOVERY := true
BOARD_USES_RECOVERY_AS_BOOT := true
TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_msm
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
BOARD_USERDATAIMAGE_PARTITION_SIZE := 3221225472
BOARD_CACHEIMAGE_PARTITION_SIZE := 134217728
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_USERDATAIMAGE_PARTITION_SIZE := 48318382080
BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
# Enable suspend during charger mode
BOARD_CHARGER_ENABLE_SUSPEND := true
TARGET_USES_ION := true
TARGET_USES_NEW_ION_API :=true
TARGET_USES_QCOM_BSP := false
TARGET_USES_QCOM_BSP :=true
ifeq ($(BOARD_KERNEL_CMDLINE),)
ifeq ($(TARGET_KERNEL_VERSION),4.4)
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc1b0000
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc170000
else
BOARD_KERNEL_CMDLINE += console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 earlycon=msm_hsl_uart,0xc1b0000
endif
BOARD_KERNEL_CMDLINE += boot_cpus=0-3 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 androidboot.selinux=permissive service_locator.enable=1
BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=1
endif
BOARD_EGL_CFG := device/qcom/msmfalcon_64/egl.cfg
BOARD_EGL_CFG := device/qcom/sdm660_64/egl.cfg
BOARD_SECCOMP_POLICY := device/qcom/sdm660_32/seccomp
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_PAGESIZE := 4096
@ -111,8 +123,22 @@ ifeq ($(HOST_OS),linux)
endif
endif
#Enable peripheral manager
TARGET_PER_MGR_ENABLED := true
#Enable SSC Feature
TARGET_USES_SSC := true
# Enable sensor multi HAL
USE_SENSOR_MULTI_HAL := true
#Enable CPUSets
ENABLE_CPUSETS := true
ENABLE_SCHEDBOOST := true
#Enabling IMS Feature
TARGET_USES_IMS := true
#Add NON-HLOS files for ota upgrade
ADD_RADIO_FILES := true

303
WCNSS_qcom_cfg.ini Normal file → Executable file
View file

@ -1,158 +1,76 @@
# This file allows user to override the factory
# defaults for the WLAN Driver
# Enable IMPS or not
gEnableImps=1
# Enable/Disable Idle Scan
gEnableIdleScan=0
# Increase sleep duration (seconds) during IMPS
# 0 implies no periodic wake up from IMPS. Periodic wakeup is
# unnecessary if Idle Scan is disabled.
gImpsModSleepTime=0
# Enable BMPS or not
gEnableBmps=1
# Enable suspend or not
# 1: Enable standby, 2: Enable Deep sleep, 3: Enable Mcast/Bcast Filter
gEnableSuspend=3
# Phy Mode (auto, b, g, n, etc)
# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
# 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only
# 7 = 11b only 8 = 11ac only.
gDot11Mode=0
# CSR Roaming Enable(1) Disable(0)
gRoamingTime=0
# Assigned MAC Addresses - This will be used until NV items are in place
# Each byte of MAC address is represented in Hex format as XX
Intf0MacAddress=000AF58989FF
Intf1MacAddress=000AF58989FE
Intf2MacAddress=000AF58989FD
Intf3MacAddress=000AF58989FC
# UAPSD service interval for VO,VI, BE, BK traffic
InfraUapsdVoSrvIntv=0
InfraUapsdViSrvIntv=0
InfraUapsdBeSrvIntv=0
InfraUapsdBkSrvIntv=0
# Flag to allow STA send AddTspec even when ACM is Off
gAddTSWhenACMIsOff=1
# Make 1x1 the default antenna configuration
gNumRxAnt=1
# Beacon filtering frequency (unit in beacon intervals)
gNthBeaconFilter=50
# Enable WAPI or not
# WAPIIsEnabled=0
# Flags to filter Mcast abd Bcast RX packets.
# Flags to filter Mcast and Bcast RX packets.
# Value 0: No filtering, 1: Filter all Multicast.
# 2: Filter all Broadcast. 3: Filter all Mcast abd Bcast
McastBcastFilter=3
#Flag to enable HostARPOffload feature or not
hostArpOffload=1
#Flag to enable HostNSOffload feature or not
hostNSOffload=1
#SoftAP Related Parameters
# AP MAc addr
gAPMacAddr=000AF589dcab
# 802.11n Protection flag
gEnableApProt=1
#Enable OBSS protection
gEnableApOBSSProt=1
#Enable/Disable UAPSD for SoftAP
gEnableApUapsd=1
# Fixed Rate
gFixedRate=0
# Maximum Tx power
# gTxPowerCap=30
# Fragmentation Threshold
# gFragmentationThreshold=2346
# RTS threshold
RTSThreshold=1048576
# Intra-BSS forward
gDisableIntraBssFwd=0
# WMM Enable/Disable
WmmIsEnabled=0
# 802.11d support
g11dSupportEnabled=0
# 802.11h support
g11hSupportEnabled=1
# DFS Master Capability
@ -160,12 +78,11 @@ gEnableDFSMasterCap=1
# ESE Support and fast transition
EseEnabled=1
ImplicitQosIsEnabled=0
gNeighborScanTimerPeriod=200
gNeighborLookupThreshold=76
gNeighborReassocThreshold=81
gNeighborScanChannelMinTime=20
gNeighborScanChannelMaxTime=30
gMaxNeighborReqTries=3
@ -175,30 +92,21 @@ gMaxNeighborReqTries=3
# To disable, set FastRoamEnabled=0
FastRoamEnabled=1
#Check if the AP to which we are roaming is better than current AP in terms of RSSI.
#Checking is disabled if set to Zero.Otherwise it will use this value as to how better
#the RSSI of the new/roamable AP should be for roaming
# Check if the AP to which we are roaming is better than current AP in
# terms of RSSI. Checking is disabled if set to Zero.Otherwise it will
# use this value as to how better the RSSI of the new/roamable AP should
# be for roaming
RoamRssiDiff=3
# If the RSSI of any available candidate is better than currently associated
# AP by at least gImmediateRoamRssiDiff, then being to roam immediately (without
# registering for reassoc threshold).
# NOTE: Value of 0 means that we would register for reassoc threshold.
gImmediateRoamRssiDiff=10
# To enable, set gRoamIntraBand=1 (Roaming within band)
# To disable, set gRoamIntraBand=0 (Roaming across band)
gRoamIntraBand=0
#Short Guard Interval Enable/disable
gShortGI20Mhz=1
gShortGI40Mhz=1
#Auto Shutdown Value in seconds. A value of 0 means Auto shutoff is disabled
gAPAutoShutOff=0
#Auto Shutdown wlan : Value in Seconds. 0 means disabled. Max 1 day = 86400 sec
@ -207,100 +115,42 @@ gWlanAutoShutdown = 0
# Not used.
gApAutoChannelSelection=0
# Listen Energy Detect Mode Configuration
# Valid values 0-128
# 128 means disable Energy Detect feature
# 0-9 are threshold code and 7 is recommended value from system if feature is to be enabled.
# 10-128 are reserved.
# The EDET threshold mapping is as follows in 3dB step:
# 0 = -60 dBm
# 1 = -63 dBm
# 2 = -66 dBm
# ...
# 7 = -81 dBm
# 8 = -84 dBm
# 9 = -87 dBm
# Note: Any of these settings are valid. Setting 0 would yield the highest power saving (in a noisy environment) at the cost of more range. The range impact is approximately #calculated as:
#
# Range Loss (dB) = EDET threshold level (dBm) + 97 dBm.
#
gEnablePhyAgcListenMode=128
#Preferred band (both or 2.4 only or 5 only)
BandCapability=0
#Beacon Early Termination (1 = enable the BET feature, 0 = disable)
enableBeaconEarlyTermination=0
beaconEarlyTerminationWakeInterval=3
#Channel Bonding
gChannelBondingMode5GHz=1
#Enable Keep alive with non-zero period value
gStaKeepAlivePeriod = 30
#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds).
#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link is idle for last 10 seconds.)
#For both active and power save clients.
#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link
#is idle for last 10 seconds.) For both active and power save clients.
#Power save clients: DUT set TIM bit from 10th second onwards and till client honors TIM bit.
#If doesn't honor for 5 seconds then DUT remove client.
#Power save clients: DUT set TIM bit from 10th second onwards and till client
#honors TIM bit. If doesn't honor for 5 seconds then DUT remove client.
#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not success still we try on
#11th second if not tries on 12th and so on till 15th second. Hence before disconnection DUT will send 5 NULL frames.
#Hence in any case DUT will detect client got removed in (10+5) seconds. i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod)..
#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and it is period
#where we send NULL frame.
#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not
#success still we try on 11th second if not tries on 12th and so on till 15th
#second. Hence before disconnection DUT will send 5 NULL frames. Hence in any
#case DUT will detect client got removed in (10+5) seconds.
#i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod)..
#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and
#it is period where we send NULL frame.
#gApLinkMonitorPeriod = 10
#gGoLinkMonitorPeriod = 10
#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame are succeed to send or not.
#Hence total effective detection time is gGoLinkMonitorPeriod+ gGoKeepAlivePeriod/gApLinkMonitorPeriod+ gApKeepAlivePeriod.
#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame
#are succeed to send or not. Hence total effective detection time is
# (gGoLinkMonitorPeriod + gGoKeepAlivePeriod) /
# (gApLinkMonitorPeriod + gApKeepAlivePeriod)
gGoKeepAlivePeriod = 20
gApKeepAlivePeriod = 20
#If set will start with active scan after driver load, otherwise will start with
#passive scan to find out the domain
gEnableBypass11d=1
#If set to 0, will not scan DFS channels
gEnableDFSChnlScan=1
# Enable DFS channel roam
@ -309,13 +159,6 @@ gAllowDFSChannelRoam=1
gVhtChannelWidth=2
# Enable Automatic Tx Power control
gEnableAutomaticTxPowerControl=1
# 0 for OLPC 1 for CLPC and SCPC
gEnableCloseLoop=1
#Data Inactivity Timeout when in powersave (in ms)
gDataInactivityTimeout=200
@ -352,7 +195,7 @@ gEnableRXSTBC=1
gEnableTXSTBC=1
# 1=enable rx LDPC; 0=disable
gEnableRXLDPC=0
gEnableRXLDPC=1
#Enable/Disable Tx beamforming
gTxBFEnable=1
@ -368,19 +211,6 @@ gEnableTxBFin20MHz=1
#Enable/Disable SU Tx beamformer support.
gEnableTxSUBeamformer=1
#Enable Scan Results Aging based on timer
#Timer value is in seconds
#If Set to 0 it will not enable the feature
gScanAgingTime=30
#Enable Scan Results Aging based on number of scans
gScanResultAgeCount=1
#Enable Power saving mechanism Based on Android Framework
#If set to 0 Driver internally control the Power saving mechanism
#If set to 1 Android Framwrok control the Power saving mechanism
isAndroidPsEn=0
#Enable thermal mitigation
gThermalMitigationEnable=0
@ -391,19 +221,6 @@ gMaxMediumTime = 6000
# 802.11K support
gRrmEnable=1
gRrmOperChanMax=8
gRrmNonOperChanMax=8
gRrmRandIntvl=100
#Scan offload
gEnableDirectedScanOffload=1
#FlexConnect Power Factor
#Default is set to 0 (disable)
gFlexConnectPowerFactor=0
#Disable split scan, the FW will take care of it
gNumChanCombinedConc=60
#Enable Power Save offload
gEnablePowerSaveOffload=2
@ -411,13 +228,19 @@ gEnablePowerSaveOffload=2
#Enable firmware uart print
gEnablefwprint=0
#P2P Listen offload
gEnableP2pListenOffload=1
# Firmware log mode
# Valid values are 0,1,2
# 0 - Disable
# 1 - WMI
# 2 - DIAG
gEnablefwlog=1
# Maximum Receive AMPDU size (VHT only. Valid values: 0->8k 1->16k 2->32k 3->64k 4->128k)
# Maximum Receive AMPDU size (VHT only. Valid values:
# 0->8k 1->16k 2->32k 3->64k 4->128k)
gVhtAmpduLenExponent=7
# Maximum MPDU length (VHT only. Valid values: 0->3895 octets, 1->7991 octets, 2->11454 octets)
# Maximum MPDU length (VHT only. Valid values:
# 0->3895 octets, 1->7991 octets, 2->11454 octets)
gVhtMpduLen=2
# Maximum number of wow filters required
@ -427,7 +250,7 @@ gVhtMpduLen=2
# 0 - Disable both magic pattern match and pattern byte match.
# 1 - Enable magic pattern match on all interfaces.
# 2 - Enable pattern byte match on all interfaces.
# 3 - Enable both magic patter and pattern byte match on all interfaces.
# 3 - Enable both magic pattern and pattern byte match on all interfaces.
# Default value of gEnableWoW is 3.
# gEnableWoW=0
@ -448,9 +271,6 @@ gEnableOverLapCh=0
#Enable VHT on 2.4Ghz
gEnableVhtFor24GHzBand=1
#Enable or Disable 5G early beacon termination
gEnable5gEBT=1
#Maximum number of offload peers supported
# gMaxOffloadPeers=2
@ -459,13 +279,14 @@ gEnable5gEBT=1
# to disable set it to zero. ssdp = 0
# Setup multicast pattern for mDNS 224.0.0.251,
# SSDP 239.255.255.250 and LLMNR 224.0.0.252
ssdp = 0
ssdp=0
#Enable Memory Deep Sleep
gEnableMemDeepSleep=1
# Regulatory Setting; 0=STRICT; 1=CUSTOM
gRegulatoryChangeCountry=1
# RA filtering rate limit param, the current value would not
# help if the lifetime in RA is less than 3*60=3min. Then
# we need to change it, though it is uncommon.
@ -477,7 +298,7 @@ gMaxConcurrentActiveSessions=3
# Disable/Enable GreenAP
# 0 to disable, 1 to enable, default: 1
gEnableGreenAp=1
gEnableGreenAp=0
# Radar PRI multiplier
gDFSradarMappingPriMultiplier=4
@ -486,7 +307,7 @@ gPNOScanSupport=1
#Enable/Disable LPASS support
# 0 to disable, 1 to enable
gEnableLpassSupport=0
gEnableLpassSupport=1
# Whether userspace country code setting shld have priority
gCountryCodePriority=1
@ -564,15 +385,17 @@ gEnable2x2=1
gVhtRxMCS2x2=2
gVhtTxMCS2x2=2
#IPA config
gIPAConfig=0
#IPA config is a bit mask and following are the configurations.
#bit0 IPA Enable
#bit1 IPA PRE Filter enable
#bit2 IPv6 enable
#bit3 IPA Resource Manager (RM) enable
#bit4 IPA Clock scaling enable
#bit5 IPA uC ENABLE
#bit6 IPA uC STA ENABLE
#bit8 IPA Real Time Debugging
gIPAConfig=0x7d
gIPADescSize=800
gIPAPreFilterEnable=1
gIPARMEnable=1
gIPAIPv6Enable=1
IpaUcOffloadEnabled=0
gIpaUcStaOffload=0
# Enable/Disable RX full reorder offload
gReorderOffloadSupported=1
@ -581,9 +404,9 @@ gReorderOffloadSupported=1
# 1 - enable(default) 0 - disable
gCEClassifyEnable=1
#Enable Rx thread
# 1 - enable 0 - disable(default)
gEnableRxThread=0
# Enable Rx handling options
# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium)
rx_mode=4
# Enable(Tx) fastpath for data traffic.
# 1 - enable(default) 0 - disable
@ -593,19 +416,33 @@ gEnableFastPath=1
# 1 - enable(default) 0 - disable
gEnableIpTcpUdpChecksumOffload=1
# Enable NAPI
# 1 - enable(default) 0 - disable
gEnableNAPI=1
# Enable TCP Segmentation Offload
# 1 - enable(default) 0 - disable
# 1 - enable 0 - disable
TSOEnable=1
# Enable Large Recieve Offload
# 1 - enable(default) 0 - disable
LROEnable=1
# Enable HT MPDU Density
# 4 for 2 micro sec
ght_mpdu_density=4
# Enable flow steering to enable multiple CEs for Rx flows.
# Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs.
# Parallel Rx paths.
# 1 - enable 0 - disable(default)
gEnableFlowSteering=1
################ Datapath feature set End ################
################ NAN feature set start ###################
# Enable NAN discovery (NAN 1.0)
# 1 - enable 0 - disable(default)
gEnableNanSupport=1
################ NAN feature set end #####################
END
# Note: Configuration parser would not read anything past the END marker

13
android_filesystem_config.h Normal file → Executable file
View file

@ -30,11 +30,22 @@
#include <private/android_filesystem_config.h>
#define NO_ANDROID_FILESYSTEM_CONFIG_DEVICE_DIRS
static const struct fs_path_config android_device_files[] = {
// { 00755, AID_UID, AID_GID, (1ULL << CAPABILITY), "PATH_TO_BINARY" },
{ 00755, AID_BLUETOOTH, AID_BLUETOOTH, (1ULL << CAP_BLOCK_SUSPEND), "system/bin/wcnss_filter" },
{ 00755, AID_SYSTEM, AID_SYSTEM, (1ULL << CAP_NET_BIND_SERVICE), "system/bin/pm-service" },
{ 00755, AID_SYSTEM, AID_SYSTEM, (1ULL << CAP_NET_BIND_SERVICE), "system/vendor/bin/pm-service" },
{ 00755, AID_SYSTEM, AID_SYSTEM, (1ULL << CAP_NET_BIND_SERVICE), "system/bin/imsdatadaemon" },
{ 00755, AID_SYSTEM, AID_RADIO, (1ULL << CAP_NET_BIND_SERVICE), "system/bin/ims_rtp_daemon" },
#ifdef NO_ANDROID_FILESYSTEM_CONFIG_DEVICE_DIRS
{ 00000, AID_ROOT, AID_ROOT, 0, "system/etc/fs_config_dirs" },
#endif
};
static const struct fs_path_config android_device_dirs[] = {
{ 00771, AID_SYSTEM, AID_SYSTEM, 0, "firmware" },
{ 00771, AID_SYSTEM, AID_SYSTEM, 0, "bt_firmware" },
{ 00771, AID_MEDIA, AID_MEDIA, 0, "dsp" },
{ 00771, AID_SYSTEM, AID_SYSTEM, 0, "persist" },
};

62
appboosts.xml Executable file
View file

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* 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.
*/
-->
<PerfBoosts>
<!--Boost params mappings need to be defined for target-->
<BoostParamsMappings>
<BoostAttributes
MapType="freq"
Target="sdm660"
Resolution="1080p"
Mappings="890, 1100, 1400, 1700, 2400" />
<BoostAttributes
MapType="freq"
Target="sdm660"
Resolution="2560"
Mappings="890, 1100, 1400, 1700, 2400" />
<BoostAttributes
MapType="cluster"
Target="sdm660"
Resolution="any"
Mappings="0, 1, 1" />
<BoostAttributes
MapType="freq"
Target="sdm630"
Resolution="1080p"
Mappings="787, 1344, 1670, 1881, 2300" />
<BoostAttributes
MapType="cluster"
Target="sdm630"
Resolution="any"
Mappings="0, 1, 1" />
</BoostParamsMappings>
</PerfBoosts>

0
egl.cfg Normal file → Executable file
View file

10
fstab.qcom Normal file → Executable file
View file

@ -6,8 +6,10 @@
# 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/system /system ext4 ro,barrier=1,discard wait
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard wait,check,encryptable=footer
/devices/soc/c0a4900.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
/dev/block/zram0 none swap defaults zramsize=536870912
/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait,slotselect,verify
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,lazytime wait,check,forceencrypt=footer,crashcheck
/devices/soc/c084000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/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,slotselect
/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait,slotselect
/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto

81
gamedwhitelist.xml Executable file
View file

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* 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.
*/
-->
<!--
/* Three lists exists,
* GamedRoBlackList: the name pf the apps
* for which the gamed profile should never be applied.
* GamedROGame lists: the name of the apps for which gamed
* profile should always be applied.
* The above two lists are never modified. And contain at
* max of 20 entries.
* ReadWriteGamed lists is the list of the apps for which the
* decision to apply a game-profile is based on the type of
* the app. This list can contain 100 entries.
* Can be over-written during the execution of the program.It
* is maintained as a circular list.
*
* Activity Type for GamedAppList is determined as follows
* GAME =1 , Benchmark =2 , App =3.
*/ -->
<AppCatalog>
<GamedROBlackList>
<AppAttributes
PackageName="com.android.launcher2"
ActivityType="3" />
<AppAttributes
PackageName="com.android.launcher3"
ActivityType="3" />
<AppAttributes
PackageName="com.android.systemui"
ActivityType="3" />
<AppAttributes
PackageName="com.google.android.talk"
ActivityType="3" />
<AppAttributes
PackageName="com.facebook.katana"
ActivityType="3" />
</GamedROBlackList>
<GamedROGameList>
<AppAttributes
PackageName="com.ea.games.r3_row"
ActivityType="1" />
<AppAttributes
PackageName="com.kiloo.subwaysurf"
ActivityType="1" />
</GamedROGameList>
<GamedRWAppList>
</GamedRWAppList>
</AppCatalog>

10
gpio-keys.kl Normal file → Executable file
View file

@ -25,8 +25,8 @@
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
key 115 VOLUME_UP WAKE_DROPPED
key 114 VOLUME_DOWN WAKE_DROPPED
key 102 HOME WAKE_DROPPED
key 528 FOCUS WAKE_DROPPED
key 766 CAMERA WAKE_DROPPED
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 102 HOME
key 528 FOCUS
key 766 CAMERA

0
hostapd.accept Normal file → Executable file
View file

0
hostapd.conf Normal file → Executable file
View file

0
hostapd.deny Normal file → Executable file
View file

0
init.qcom.modem_links.sh Normal file → Executable file
View file

35
init.qti.qseecomd.sh Executable file
View file

@ -0,0 +1,35 @@
#!/system/bin/sh
# Copyright (c) 2016, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "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.
#
#
while [ "$registered" != "true" ]
do
sleep 0.1
registered="`getprop sys.listeners.registered`"
done

149
init.target.rc Normal file → Executable file
View file

@ -1,4 +1,4 @@
# Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
# Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@ -28,14 +28,19 @@
#
on early-init
mkdir /firmware 0771 system system
mkdir /bt_firmware 0771 system system
symlink /data/tombstones /tombstones
mkdir /dsp 0771 media media
on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1
write /dev/stune/top-app/schedtune.sched_boost_no_override 1
write /dev/stune/schedtune.colocate 0
write /dev/stune/background/schedtune.colocate 0
write /dev/stune/system-background/schedtune.colocate 0
write /dev/stune/foreground/schedtune.colocate 0
write /dev/stune/top-app/schedtune.colocate 1
on fs
wait /dev/block/platform/soc/1da4000.ufshc
symlink /dev/block/platform/soc/1da4000.ufshc /dev/block/bootdevice
wait /dev/block/bootdevice
mount_all fstab.qcom
swapon_all fstab.qcom
@ -43,27 +48,23 @@ on fs
# these partition flashed on the device. Failure to mount any partition in fstab file
# results in failure to launch late-start class.
wait /dev/block/bootdevice/by-name/cache
mount ext4 /dev/block/bootdevice/by-name/cache /cache nosuid nodev barrier=1
wait /dev/block/bootdevice/by-name/persist
mount ext4 /dev/block/bootdevice/by-name/persist /persist nosuid nodev barrier=1
mkdir /persist/data 0700 system system
mkdir /persist/bms 0700 root system
restorecon_recursive /persist
wait /dev/block/bootdevice/by-name/dsp
mount ext4 /dev/block/bootdevice/by-name/dsp /dsp ro nosuid nodev barrier=1
wait /dev/block/bootdevice/by-name/modem
mount vfat /dev/block/bootdevice/by-name/modem /firmware 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
mount vfat /dev/block/bootdevice/by-name/bluetooth /bt_firmware ro shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0
mount ext4 /dev/block/bootdevice/by-name/dsp_a /dsp ro nosuid nodev barrier=1
on post-fs
start qseecomd
exec - root root root -- /system/bin/init.qti.qseecomd.sh
write /dev/ipa 1
on init
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
on post-fs-data
mkdir /data/tombstones 0771 system system
mkdir /tombstones/modem 0771 system system
@ -71,21 +72,66 @@ on post-fs-data
mkdir /tombstones/wcnss 0771 system system
mkdir /tombstones/dsps 0771 system system
mkdir /data/misc/hbtp 0750 system system
mkdir /data/misc/seemp 0700 system system
mkdir /data/misc/tloc 0700 system drmrpc
# For cpusets initialize for Silver Only first and then Silver + Gold
# Silver Only configuration cannot work with 0-7
on boot
start rmt_storage
start rfs_access
write /dev/cpuset/top-app/cpus 0-3
write /dev/cpuset/foreground/cpus 0-3
write /dev/cpuset/foreground/boost/cpus 0-3
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-7
write /dev/cpuset/foreground/boost/cpus 0-7
write /dev/cpuset/background/cpus 0-7
write /dev/cpuset/system-background/cpus 0-7
write /dev/cpuset/background/cpus 0
write /dev/cpuset/system-background/cpus 0-2
####Regionalization config and prop files####
chmod 0644 /persist/speccfg/spec
chmod 0644 /persist/speccfg/devicetype
chmod 0644 /persist/speccfg/mbnversion
chmod 0644 /persist/speccfg/.not_triggered
chmod 0644 /persist/speccfg/vendor_ro.prop
chmod 0644 /persist/speccfg/vendor_persist.prop
chmod 0644 /persist/speccfg/submask
chmod 0644 /persist/speccfg/partition
chown system system /persist/speccfg/spec
chown system system /persist/speccfg/devicetype
chown system system /persist/speccfg/mbnversion
chown system system /persist/speccfg/.not_triggered
chown system system /persist/speccfg/vendor_ro.prop
chown system system /persist/speccfg/vendor_persist.prop
chown system system /persist/speccfg/submask
chown system system /persist/speccfg/partition
#Peripheral manager
service per_mgr /system/bin/pm-service
class core
user system
group system
ioprio rt 4
service per_proxy /system/bin/pm-proxy
class core
user system
group system
disabled
on property:init.svc.per_mgr=running
start per_proxy
on property:sys.shutdown.requested=*
stop per_proxy
#start camera server as daemon
service qcamerasvr /system/bin/mm-qcamera-daemon
class late_start
user camera
group camera system inet input graphics
#service qcamerasvr /system/bin/mm-qcamera-daemon
# class late_start
# user camera
# group camera system inet input graphics
## import cne init file
#on post-fs
@ -130,6 +176,9 @@ service qseecomd /system/bin/qseecomd
service thermal-engine /system/vendor/bin/thermal-engine
class main
user root
socket thermal-send-client stream 0666 system system
socket thermal-recv-client stream 0660 system system
socket thermal-recv-passive-client stream 0666 system system
group root
#service security-check1 /sbin/security_boot_check system
@ -156,10 +205,10 @@ service hbtp /system/vendor/bin/hbtp_daemon
group system
disabled
#service audiod /system/bin/audiod
# class late_start
# user system
# group system
service audiod /system/bin/audiod
class late_start
user system
group system
#
#service usf_tester /system/bin/usf_tester
# user system
@ -226,13 +275,13 @@ service imsqmidaemon /system/bin/imsqmidaemon
class main
user system
socket ims_qmid stream 0660 system radio
group radio net_raw log diag
group radio log diag
service imsdatadaemon /system/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
group system wifi radio inet net_raw log diag net_admin
group system wifi radio inet log diag
disabled
#
#service mdm_helper /system/bin/mdm_helper
@ -275,6 +324,18 @@ service imsdatadaemon /system/bin/imsdatadaemon
#service gnss-detect /system/vendor/bin/gnss.qca1530.sh detect
# class core
# oneshot
service energy-awareness /system/bin/energy-awareness
class main
user system
group system
oneshot
service mdtpd /system/vendor/bin/mdtpd
class late_start
user root
group system radio drmrpc
service pd_mapper /system/vendor/bin/pd-mapper
class core
@ -298,7 +359,7 @@ service ims_rtp_daemon /system/bin/ims_rtp_daemon
class main
user system
socket ims_rtpd stream 0660 system radio
group radio net_raw diag inet log
group radio diag inet log
disabled
service imscmservice /system/bin/imscmservice
@ -309,7 +370,8 @@ service imscmservice /system/bin/imscmservice
on property:sys.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
#
start imscmservice
service ppd /system/vendor/bin/mm-pp-dpps
class late_start
@ -336,6 +398,11 @@ on property:init.svc.zygote=running
on property:init.svc.zygote=restarting
stop ppd
on charger
load_system_props
start qcom-post-boot
start hvdcp_opti
#
#service nqs /system/bin/nqs
# class late_start
@ -354,3 +421,25 @@ on property:init.svc.zygote=restarting
# socket vqtss stream 0660 system system
# user system
# group system
service seempd /system/bin/seempd
class late_start
user system
group system sdcard_rw
socket seempdw dgram 0666 system system
service tlocd /system/bin/tloc_daemon
class late_start
user system
group drmrpc
service hvdcp_opti /system/bin/hvdcp_opti
class main
user root
group system wakelock
service smcinvoked /system/vendor/bin/smcinvoked
class main
user system
group system

399
media_codecs.xml Executable file
View file

@ -0,0 +1,399 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
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.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<!--
Decoder capabilities for sdm660
__________ _________________________________________ ___________________
| Codec | W H fps Mbps MB/s | Encode Secure-dec |
|__________|_________________________________________|___________________|
| hevc | 3840 2160 30 100 972000 | Y Y |
| h264 | 3840 2160 30 100 972000 | Y Y |
| h263 | 864 480 30 2 48600 | Y N |
| mpeg4 | 1920 1088 60 60 489600 | Y N |
| mpeg2 | 1920 1088 30 40 244800 | N Y |
| vc1 | 1920 1088 60 60 489600 | N N |
| vp8 | 3840 2160 30 100 972000 | Y N |
| vp9 | 3840 2160 30 100 972000 | N Y |
| divx3 | 720 480 30 2 40500 | N N |
| div4/5/6 | 1920 1088 30 10 244800 | N N |
|__________|_________________________________________|___________________|
-->
<!--
Encoder capabilities for sdm660
____________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| hevc | 3840 2160 30 100 972000 |
| h264 | 3840 2160 30 100 972000 |
| h263 | 864 480 30 2 48600 |
| mpeg4 | 1920 1088 30 40 244800 |
| vp8 | 1920 1088 30 40 244800 |
|____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="176x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="concurrent-instances" max="16" />
<Feature name="intra-refresh" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<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="96x96" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<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" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x64" max="864x480" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="concurrent-instances" max="16" />
<Feature name="intra-refresh" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Audio Hardware -->
<!-- Audio Software -->
<MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" >
<Limit name="concurrent-instances" max="10" />
</MediaCodec>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<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" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="864x480" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.wmv" type="video/x-ms-wmv" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.wmv.secure" type="video/x-ms-wmv" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="7" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/x-ms-wmv" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vc1.secure" type="video/x-ms-wmv" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="7" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-10000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="720x480" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="40500" />
<Limit name="bitrate" range="1-2000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-10000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="979200" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="10" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="64x64" max="3840x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

141
media_codecs_performance.xml Executable file
View file

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="294-294" />
<Limit name="measured-frame-rate-720x480" range="80-90" />
<Limit name="measured-frame-rate-1280x720" range="32-37" />
<Limit name="measured-frame-rate-1920x1080" range="40-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="226-226" />
<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="6-24" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="400-400" />
<Limit name="measured-frame-rate-352x288" range="261-261" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="351-351" />
<Limit name="measured-frame-rate-352x288" range="263-263" />
<Limit name="measured-frame-rate-640x480" range="144-144" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="312-312" />
<Limit name="measured-frame-rate-640x360" range="175-174" />
<Limit name="measured-frame-rate-1280x720" range="30-40" />
<Limit name="measured-frame-rate-1920x1080" range="20-25" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="185-185" />
<Limit name="measured-frame-rate-720x480" range="87-87" />
<Limit name="measured-frame-rate-1280x720" range="45-45" />
<Limit name="measured-frame-rate-1920x1080" range="28-28" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="354-354" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="385-385" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="100-120" />
<Limit name="measured-frame-rate-640x360" range="45-50" />
<Limit name="measured-frame-rate-1280x720" range="30-35" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="409-409" />
<Limit name="measured-frame-rate-720x480" range="239-239" />
<Limit name="measured-frame-rate-1280x720" range="197-197" />
<Limit name="measured-frame-rate-1920x1088" range="88-88" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="434-434" />
<Limit name="measured-frame-rate-720x480" range="338-338" />
<Limit name="measured-frame-rate-1280x720" range="241-241" />
<Limit name="measured-frame-rate-1920x1088" range="90-100" />
<Limit name="measured-frame-rate-3840x2160" range="30-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="400-400" />
<Limit name="measured-frame-rate-352x288" range="323-323" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="635-650" />
<Limit name="measured-frame-rate-480x360" range="268-268" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="430-430" />
<Limit name="measured-frame-rate-640x360" range="303-303" />
<Limit name="measured-frame-rate-1280x720" range="389-389" />
<Limit name="measured-frame-rate-1920x1080" range="199-199" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="250-270" />
<Limit name="measured-frame-rate-640x360" range="230-250" />
<Limit name="measured-frame-rate-1280x720" range="190-210" />
<Limit name="measured-frame-rate-1920x1080" range="170-190" />
<Limit name="measured-frame-rate-3840x2160" range="48-48" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="320-350" />
<Limit name="measured-frame-rate-720x480" range="100-130" />
<Limit name="measured-frame-rate-1280x720" range="50-58" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="458-458" />
<Limit name="measured-frame-rate-640x360" range="210-215" />
<Limit name="measured-frame-rate-720x480" range="344-344" />
<Limit name="measured-frame-rate-1280x720" range="90-95" />
<Limit name="measured-frame-rate-1920x1080" range="50-55" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="190-210" />
<Limit name="measured-frame-rate-352x288" range="170-182" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="575-580" />
<Limit name="measured-frame-rate-640x360" range="200-220" />
<Limit name="measured-frame-rate-1280x720" range="45-55" />
<Limit name="measured-frame-rate-1920x1080" range="18-22" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="580-604" />
<Limit name="measured-frame-rate-640x360" range="180-185" />
<Limit name="measured-frame-rate-1280x720" range="88-92" />
<Limit name="measured-frame-rate-1920x1080" range="47-52" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="380-400" />
</Type>
</MediaCodec>
</Decoders>
</MediaCodecs>

1542
media_profiles.xml Executable file

File diff suppressed because it is too large Load diff

7
msm_irqbalance.conf Normal file → Executable file
View file

@ -1,2 +1,5 @@
PRIO=1,1,1,1,0,0,0,0
IGNORED_IRQ=19,39,165
PRIO=1,1,0,0,0,0,0,0
#arch_timer, arm-pmu, arch_mem_timer, glink-smem-rpm, mpm irqs
IGNORED_IRQ=19,22,39,200,203
#WLAN irqs
BLACKLIST_IRQ=446,455,456

63
overlay/frameworks/base/core/res/res/values/config.xml Normal file → Executable file
View file

@ -38,29 +38,44 @@
<item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value-->
<item>0x40804100</item> <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode-->
<item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value-->
<item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode-->
<item>0xFFF</item> <!-- CPUBOOST MIN_FREQ resource value-->
<item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode-->
<item>0xFFF</item> <!-- CPUBOOST MIN_FREQ resource value-->
<item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
<item>140</item> <!-- CPUBW_MIN_FREQ resource value-->
<item>0x40802000</item> <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode-->
<item>3</item> <!-- CPUBOOST MIN_FREQ resource value-->
<item>0x40802100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode-->
<item>2</item> <!-- CPUBOOST MIN_FREQ resource value-->
</integer-array>
<!-- Whether packing disable is enabled. -->
<bool name="config_disablePacking">true</bool>
<integer name="disablepacking_timeout_param">1500</integer>
<integer-array name="launchboost_packing_param_value">
<item>0x40400000</item> <!-- POWER COLLAPSE resource opcode-->
<item>0x1</item> <!-- POWER COLLAPSE resource value-->
<item>0x42C10000</item> <!-- STORAGE CLK SCALING resource opcode-->
<item>0x1</item> <!-- STORAGE CLK SCALING resource value-->
</integer-array>
<bool name="config_enableLaunchBoostv2">true</bool>
<integer name="lboostv2_timeout_param">15000</integer>
<integer-array name="lboostv2_param_value">
<item>0x40C5C000</item> <!-- SCHED FREQ_AGGR_THRH resource opcode-->
<item>50</item> <!-- SCHED FREQ_AGGR_THRH resource value-->
</integer-array>
<bool name="config_enableCpuBoostForOverScrollerFling">true</bool>
<integer-array name="flingboost_param_value">
<item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
<item>0x33</item> <!-- CPUBW_MIN_FREQ resource value-->
<item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode -->
<item>1000</item> <!-- CPUBOOST MIN_FREQ resource value -->
<item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode -->
<item>1000</item> <!-- CPUBOOST MIN_FREQ resource value -->
<item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
<item>0x1</item> <!-- SCHEDBOOST resource value-->
<item>0x40C28000</item> <!-- SCHEDGROUP resource opcode-->
<item>0x1</item> <!-- SCHEDGROUP resource value-->
<item>0x2</item> <!-- SCHEDBOOST resource value-->
<item>0x40802000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode -->
<item>1</item> <!-- CPUBOOST MIN_FREQ resource value -->
<item>0x40802100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode -->
<item>1</item> <!-- CPUBOOST MIN_FREQ resource value -->
<item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
<item>0x31</item> <!-- CPUBW_MIN_FREQ resource value-->
<item>0x41400000</item> <!-- ABOVE_HISPEED_DELAY_BIG resource opcode-->
<item>1</item> <!-- ABOVE_HISPEED_DELAY_BIG resource value-->
<item>0x41418000</item> <!-- IO_IS_BUSY_BIG resource opcode-->
<item>1</item> <!-- IO_IS_BUSY_BIG resource value-->
<item>0x40C5C000</item> <!-- SCHED FREQ_AGGR_THRH resource opcode-->
<item>40</item> <!-- SCHED FREQ_AGGR_THRH resource value-->
</integer-array>
<!-- Operating volatage for bluetooth controller. 0 by default-->
@ -69,7 +84,19 @@
<bool name="config_enableCpuBoostForScroller">true</bool>
<integer-array name="scrollboost_param_value">
<item>0x40C00000</item> <!-- SCHEDBOOST resource opcode-->
<item>0x1</item> <!-- SCHEDBOOST resource value-->
<item>0x2</item> <!-- SCHEDBOOST resource value-->
<item>0x40802000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode -->
<item>1</item> <!-- CPUBOOST MIN_FREQ resource value -->
<item>0x40802100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode -->
<item>1</item> <!-- CPUBOOST MIN_FREQ resource value -->
<item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode-->
<item>0x31</item> <!-- CPUBW_MIN_FREQ resource value-->
<item>0x41400000</item> <!-- ABOVE_HISPEED_DELAY_BIG resource opcode-->
<item>1</item> <!-- ABOVE_HISPEED_DELAY_BIG resource value-->
<item>0x41418000</item> <!-- IO_IS_BUSY_BIG resource opcode-->
<item>1</item> <!-- IO_IS_BUSY_BIG resource value-->
<item>0x40C5C000</item> <!-- SCHED FREQ_AGGR_THRH resource opcode-->
<item>40</item> <!-- SCHED FREQ_AGGR_THRH resource value-->
</integer-array>
<bool name="config_debugBoost">true</bool>
@ -89,4 +116,8 @@
<item>0x40800000</item> <!-- SCALING_MIN_FREQ big cluster resource opcode -->
<item>0x4A6</item> <!-- SCALING_MIN_FREQ of 1190 MHz big cluster resource value -->
</integer-array>
<!-- The duration (in milliseconds) for the outgoing sms authorization request to timeout.-->
<integer name="config_sms_authorization_timeout_ms">15000</integer>
<!-- Enable SMS authorization support -->
<bool name="config_sms_authorization_enabled">true</bool>
</resources>

View file

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2016, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED "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
-->
<device name="Android">
<!-- Most values are the incremental current used by a feature,
in mA (measured at nominal voltage).
The default values are deliberately incorrect dummy values.
OEM's must measure and provide actual values before
shipping a device.
Example real-world values are given in comments, but they
are totally dependent on the platform and can vary
significantly, so should be measured on the shipping platform
with a power meter. -->
<item name="none">0</item>
<item name="screen.on">63</item> <!-- ~200mA -->
<item name="screen.full">261</item> <!-- ~300mA -->
<!-- A list of heterogeneous CPU clusters, where the value for each cluster represents the
number of CPU cores for that cluster.
Ex:
<array name="cpu.clusters.cores">
<value>4</value> // cluster 0 has cpu0, cpu1, cpu2, cpu3
<value>2</value> // cluster 1 has cpu4, cpu5
</array> -->
<array name="cpu.clusters.cores">
<value>4</value> <!-- cluster 0 has cpu0, cpu1, cpu2, cpu3 -->
<value>4</value> <!-- cluster 1 has cpu4, cpu5, cpu6, cpu7 -->
</array>
<!-- Different CPU speeds for cluster 0 as reported in
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state.
There must be one of these for each cluster, labeled:
cpu.speeds.cluster0, cpu.speeds.cluster1, etc... -->
<array name="cpu.speeds.cluster0">
<value>633000</value> <!-- 633 MHz CPU speed -->
<value>902000</value> <!-- 902 MHz CPU speed -->
<value>1113000</value> <!-- 1113 MHz CPU speed -->
<value>1401000</value> <!-- 1401 MHz CPU speed -->
<value>1536000</value> <!-- 1536 MHz CPU speed -->
<value>1747000</value> <!-- 1747 MHz CPU speed -->
<value>1843000</value> <!-- 1843 MHz CPU speed -->
</array>
<!-- Current at each CPU speed for cluster 0, as per 'cpu.speeds.cluster0'.
Like cpu.speeds.cluster0, there must be one of these present for
each heterogeneous CPU cluster. -->
<array name="cpu.active.cluster0">
<value>34</value> <!-- ~34mA -->
<value>60</value> <!-- ~60mA -->
<value>85</value> <!-- ~85mA -->
<value>128</value> <!-- ~128mA -->
<value>163</value> <!-- ~163mA -->
<value>202</value> <!-- ~202mA -->
<value>253</value> <!-- ~253mA -->
</array>
<array name="cpu.speeds.cluster1">
<value>1113000</value> <!-- 1113 MHz CPU speed -->
<value>1401000</value> <!-- 1401 MHz CPU speed -->
<value>1747000</value> <!-- 1747 MHz CPU speed -->
<value>1958000</value> <!-- 1958 MHz CPU speed -->
<value>2150000</value> <!-- 2150 MHz CPU speed -->
</array>
<!-- Current at each CPU speed for cluster 1, as per 'cpu.speeds.cluster1'.
Like cpu.speeds.cluster1, there must be one of these present for
each heterogeneous CPU cluster. -->
<array name="cpu.active.cluster1">
<value>226</value> <!-- ~226mA -->
<value>331</value> <!-- ~331mA -->
<value>497</value> <!-- ~497mA -->
<value>614</value> <!-- ~614mA -->
<value>777</value> <!-- ~777mA -->
</array>
<!-- Current when CPU is awake -->
<item name="cpu.awake">1.6</item>
<!-- Current when CPU is idle -->
<item name="cpu.idle">0.1</item>
<!-- This is the battery capacity in mAh (measured at nominal voltage) -->
<item name="battery.capacity">1000</item>
</device>

0
p2p_supplicant_overlay.conf Normal file → Executable file
View file

49
radio/filesmap Normal file → Executable file
View file

@ -1,4 +1,4 @@
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
# Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@ -27,19 +27,38 @@
# filename partition
NON-HLOS.bin /dev/block/platform/bootdevice/by-name/modem
sbl1.mbn /dev/block/platform/bootdevice/by-name/sbl1
tz.mbn /dev/block/platform/bootdevice/by-name/tz
rpm.mbn /dev/block/platform/bootdevice/by-name/rpm
emmc_appsboot.mbn /dev/block/platform/bootdevice/by-name/aboot
NON-HLOS.bin /dev/block/bootdevice/by-name/modem
BTFM.bin /dev/block/bootdevice/by-name/bluetooth
sbl1.mbn /dev/block/bootdevice/by-name/sbl1
tz.mbn /dev/block/bootdevice/by-name/tz
rpm.mbn /dev/block/bootdevice/by-name/rpm
emmc_appsboot.mbn /dev/block/bootdevice/by-name/aboot
hyp.mbn /dev/block/bootdevice/by-name/hyp
pmic.mbn /dev/block/bootdevice/by-name/pmic
cmnlib.mbn /dev/block/bootdevice/by-name/cmnlib
cmnlib64.mbn /dev/block/bootdevice/by-name/cmnlib64
keymaster.mbn /dev/block/bootdevice/by-name/keymaster
xbl.elf /dev/block/bootdevice/by-name/xbl
lksecapp.mbn /dev/block/bootdevice/by-name/lksecapp
devcfg.mbn /dev/block/bootdevice/by-name/devcfg
adspso.mbn /dev/block/bootdevice/by-name/dsp
abl.elf /dev/block/bootdevice/by-name/abl
# filename + .bak backup partition
sbl1.mbn.bak /dev/block/platform/bootdevice/by-name/sbl1bak
tz.mbn.bak /dev/block/platform/bootdevice/by-name/tzbak
rpm.mbn.bak /dev/block/platform/bootdevice/by-name/rpmbak
emmc_appsboot.mbn.bak /dev/block/platform/bootdevice/by-name/abootbak
sbl1.mbn.bak /dev/block/bootdevice/by-name/sbl1bak
tz.mbn.bak /dev/block/bootdevice/by-name/tzbak
rpm.mbn.bak /dev/block/bootdevice/by-name/rpmbak
emmc_appsboot.mbn.bak /dev/block/bootdevice/by-name/abootbak
hyp.mbn.bak /dev/block/bootdevice/by-name/hypbak
pmic.mbn.bak /dev/block/bootdevice/by-name/pmicbak
cmnlib.mbn.bak /dev/block/bootdevice/by-name/cmnlibbak
cmnlib64.mbn.bak /dev/block/bootdevice/by-name/cmnlib64bak
keymaster.mbn.bak /dev/block/bootdevice/by-name/keymasterbak
xbl.elf.bak /dev/block/bootdevice/by-name/xblbak
lksecapp.mbn.bak /dev/block/bootdevice/by-name/lksecappbak
devcfg.mbn.bak /dev/block/bootdevice/by-name/devcfgbak
abl.elf.bak /dev/block/bootdevice/by-name/ablbak
# For multiple file firmware images that differ from *.mbn and *.bin
# you can specify filename.* to direct all files to the same location.
@ -50,7 +69,7 @@ emmc_appsboot.mbn.bak /dev/block/platform/bootdevice/by-name/abootbak
# filename location
modem.* /dev/block/platform/bootdevice/by-name/modem
wcnss.* /dev/block/platform/bootdevice/by-name/modem
widevine.* /dev/block/platform/bootdevice/by-name/modem
adsp.* /dev/block/platform/bootdevice/by-name/modem
modem.* /dev/block/bootdevice/by-name/modem
wcnss.* /dev/block/bootdevice/by-name/modem
widevine.* /dev/block/bootdevice/by-name/modem
adsp.* /dev/block/bootdevice/by-name/modem

7
recovery.fstab Normal file → Executable file
View file

@ -27,10 +27,9 @@
#device mount point fstype [device2] [length=]
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check
/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev,barrier=1,data=ordered,nodelalloc wait
/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1 wait,slotselect,verify
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer
/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait
/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/misc /misc emmc defaults defaults

78
msmfalcon_64.mk → sdm660_64.mk Normal file → Executable file
View file

@ -1,27 +1,53 @@
DEVICE_PACKAGE_OVERLAYS := device/qcom/msmfalcon_64/overlay
DEVICE_PACKAGE_OVERLAYS := device/qcom/sdm660_64/overlay
TARGET_KERNEL_VERSION := 4.4
BOARD_FRP_PARTITION_NAME := frp
BOARD_HAVE_QCOM_FM := true
#TARGET_USES_QTIC := false # bring-up hack
TARGET_USES_NQ_NFC := true
ifeq ($(TARGET_USES_NQ_NFC),true)
# Flag to enable and support NQ3XX chipsets
NQ3XX_PRESENT := true
endif
#QTIC flag
-include $(QCPATH)/common/config/qtic-config.mk
TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
# Video codec configuration files
ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS), true)
PRODUCT_COPY_FILES += device/qcom/msmfalcon_32/media_profiles.xml:system/etc/media_profiles.xml \
device/qcom/msmfalcon_32/media_codecs.xml:system/etc/media_codecs.xml
PRODUCT_COPY_FILES += device/qcom/sdm660_64/media_profiles.xml:system/etc/media_profiles.xml \
device/qcom/sdm660_64/media_codecs.xml:system/etc/media_codecs.xml \
device/qcom/sdm660_64/media_codecs_performance.xml:system/etc/media_codecs_performance.xml
endif #TARGET_ENABLE_QC_AV_ENHANCEMENTS
PRODUCT_COPY_FILES += device/qcom/sdm660_64/whitelistedapps.xml:system/vendor/etc/whitelistedapps.xml \
device/qcom/sdm660_64/gamedwhitelist.xml:system/vendor/etc/gamedwhitelist.xml \
device/qcom/sdm660_64/appboosts.xml:system/vendor/etc/appboosts.xml
$(call inherit-product, device/qcom/common/common64.mk)
PRODUCT_NAME := msmfalcon_64
PRODUCT_DEVICE := msmfalcon_64
PRODUCT_NAME := sdm660_64
PRODUCT_DEVICE := sdm660_64
PRODUCT_BRAND := Android
PRODUCT_MODEL := Falcon for arm64
PRODUCT_MODEL := sdm660 for arm64
# default is nosdcard, S/W button enabled in resource
PRODUCT_CHARACTERISTICS := nosdcard
# When can normal compile this module, need module owner enable below commands
# font rendering engine feature switch
-include $(QCPATH)/common/config/rendering-engine.mk
ifneq (,$(strip $(wildcard $(PRODUCT_RENDERING_ENGINE_REVLIB))))
MULTI_LANG_ENGINE := REVERIE
# MULTI_LANG_ZAWGYI := REVERIE
endif
# Enable features in video HAL that can compile only on this platform
TARGET_USES_MEDIA_EXTENSIONS := true
# WLAN chipset
WLAN_CHIPSET := qca_cld3
#Android EGL implementation
PRODUCT_PACKAGES += libGLES_android
PRODUCT_BOOT_JARS += tcmiface
@ -40,15 +66,21 @@ PRODUCT_BOOT_JARS += qcom.fmradio
endif #BOARD_HAVE_QCOM_FM
# Audio configuration file
-include $(TOPDIR)hardware/qcom/audio/configs/msmfalcon/msmfalcon.mk
-include $(TOPDIR)hardware/qcom/audio/configs/sdm660/sdm660.mk
# Sensor HAL conf file
PRODUCT_COPY_FILES += \
device/qcom/msmfalcon_64/sensors/hals.conf:system/etc/sensors/hals.conf
device/qcom/sdm660_64/sensors/hals.conf:system/etc/sensors/hals.conf
# WLAN host driver
ifneq ($(WLAN_CHIPSET),)
PRODUCT_PACKAGES += $(WLAN_CHIPSET)_wlan.ko
endif
# WLAN driver configuration file
PRODUCT_COPY_FILES += \
device/qcom/msmfalcon_64/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini
device/qcom/sdm660_64/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini \
device/qcom/sdm660_64/wifi_concurrency_cfg.txt:system/etc/wifi/wifi_concurrency_cfg.txt
PRODUCT_PACKAGES += \
wpa_supplicant_overlay.conf \
@ -76,13 +108,26 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:system/etc/permissions/android.hardware.sensor.relative_humidity.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml
# FBE support
PRODUCT_COPY_FILES += \
device/qcom/sdm660_64/init.qti.qseecomd.sh:system/bin/init.qti.qseecomd.sh
# MSM IRQ Balancer configuration file
PRODUCT_COPY_FILES += device/qcom/msmfalcon_64/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf
PRODUCT_COPY_FILES += device/qcom/sdm660_64/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf
# dm-verity configuration
PRODUCT_SUPPORTS_VERITY := true
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
#for android_filesystem_config.h
PRODUCT_PACKAGES += \
fs_config_files
# Add the overlay path
PRODUCT_PACKAGE_OVERLAYS := $(QCPATH)/qrdplus/Extension/res \
$(QCPATH)/qrdplus/globalization/multi-language/res-overlay \
$(PRODUCT_PACKAGE_OVERLAYS)
# Enable logdumpd service only for non-perf bootimage
ifeq ($(findstring perf,$(KERNEL_DEFCONFIG)),)
ifeq ($(TARGET_BUILD_VARIANT),user)
@ -96,3 +141,16 @@ else
PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \
ro.logdumpd.enabled=0
endif
#A/B related packages
PRODUCT_PACKAGES += update_engine \
update_engine_client \
update_verifier \
bootctrl.sdm660 \
brillo_update_payload
#Boot control HAL test app
PRODUCT_PACKAGES_DEBUG += bootctl
#FEATURE_OPENGLES_EXTENSION_PACK support string config file
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml

0
sensors/hals.conf Normal file → Executable file
View file

0
snd_soc_msm/snd_soc_msm_Taiko Normal file → Executable file
View file

0
snd_soc_msm/snd_soc_msm_Taiko_CDP Normal file → Executable file
View file

0
snd_soc_msm/snd_soc_msm_Taiko_liquid Normal file → Executable file
View file

0
synaptics_rmi4_i2c.kl Normal file → Executable file
View file

84
system.prop Normal file → Executable file
View file

@ -1,5 +1,5 @@
#
# system.prop for falcon
# system.prop for sdm660
#
#rild.libpath=/system/lib/libreference-ril.so
@ -16,8 +16,11 @@ persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
ril.subscription.types=NV,RUIM
DEVICE_PROVISIONED=1
# Start in cdma mode
ro.telephony.default_network=5
#
# Set network mode to (T/L/G/W/1X/EVDO, T/G/W/L) for 7+5 mode device on DSDS mode
#
ro.telephony.default_network=22,20
debug.sf.hw=1
debug.gralloc.enable_fb_ubwc=1
@ -40,11 +43,23 @@ media.stagefright.enable-scan=true
mmp.enable.3g2=true
media.aac_51_output_enabled=true
mm.enable.smoothstreaming=true
#13631487 is decimal sum of supported codecs in AAL
#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE DSD
mm.enable.qcom_parser=13631487
persist.mm.enable.prefetch=true
#property to enable narrow search range for video encoding
vidc.enc.target_support_bframe=1
vidc.enc.disable_bframes=1
vidc.dec.enable.downscalar=1
video.disable.ubwc=1
# enable PQ feature by default
vidc.enc.disable.pq=false
# Additional buffers shared between Camera and Video
vidc.enc.dcvs.extra-buff-count=2
#
# system props for the data modules
#
@ -57,11 +72,13 @@ persist.timed.enable=true
#
# system prop for opengles version
#
# 196608 is decimal for 0x30000 to report version 3
ro.opengles.version=196608
# 196610 is decimal for 0x30002 to report major/minor versions as 3/2
ro.opengles.version=196610
# system property for maximum number of HFP client connections
bt.max.hfpclient.connections=1
#force disable Bluetooth AAC by default
persist.bt.a2dp.aac_disable=true
# System property for cabl
ro.qualcomm.cabl=2
@ -78,10 +95,8 @@ persist.fuse_sdcard=true
#system prop for Bluetooth SOC type
qcom.bluetooth.soc=cherokee
#system prop for A4WP profile support
ro.bluetooth.a4wp=false
#system prop for wipower support
ro.bluetooth.emb_wp_mode=true
ro.bluetooth.wipower=true
#
@ -99,14 +114,30 @@ persist.data.df.mux_count=8
persist.data.df.iwlan_mux=9
persist.data.df.dev_name=rmnet_usb0
#
# system property determining camera HAL to be used for a Video call
#
# 1 is camera1
# 2 or anything else is camera2
persist.radio.VT_CAM_INTERFACE=2
#property to enable user to access Google WFD settings
persist.debug.wfd.enable=1
#Enable stm-events
persist.debug.coresight.config=stm-events
##property to choose between virtual/external wfd display
persist.sys.wfd.virtual=0
# system prop for NFC DT
ro.nfc.port=I2C
#property for vendor specific library
ro.vendor.at_library=libqti-at.so
#min/max cpu in core control
ro.core_ctl_min_cpu=2
ro.core_ctl_max_cpu=4
#hwui properties
ro.hwui.texture_cache_size=72
ro.hwui.layer_cache_size=48
@ -120,15 +151,36 @@ ro.hwui.text_small_cache_height=1024
ro.hwui.text_large_cache_width=2048
ro.hwui.text_large_cache_height=1024
#config for bringup
config.disable_telephony=true
config.disable_networktime=true
config.disable_atlas=true
debug.sf.nobootanimation=1
debug.batt.no_battery=true
# enable navigation bar
qemu.hw.mainkeys=0
#property to enable VDS WFD solution
persist.hwc.enable_vds=1
#Increase cached app limit
ro.sys.fw.bg_apps_limit=60
#Settings to enable sensors
#Device Orientation sensor
ro.qti.sensors.dev_ori=true
#Persistent Motion Detector
ro.qti.sensors.pmd=true
#Stationary Detector
ro.qti.sensors.sta_detect=true
#Motion Detector
ro.qti.sensors.mot_detect=true
#Facing
ro.qti.sensors.facing=false
#CMC
ro.qti.sensors.cmc=false
#Gesture
ro.qti.sdk.sensors.gestures=false
#low power mode for camera
camera.lowpower.record.enable=1
#Expose aux camera for below packages
camera.aux.packagelist=org.codeaurora.snapcam
# Create zram disk
ro.config.zram=true

0
usf_post_boot.sh Normal file → Executable file
View file

0
usf_settings.sh Normal file → Executable file
View file

0
vold.fstab Normal file → Executable file
View file

83
whitelistedapps.xml Executable file
View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "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.
*/
-->
<AppCatalog>
<ResolutionOverrideApps>
<!-- In AppAttributes, PackageName is must.
ActivityName and VersionCode are optional and can be used to
further restrict the whitelisting in terms of when and where to apply
1. <AppAttributes PackageName="com.imangi.templerun" />
Straight forward whitelisting when activityTrigger is called with this PackageName
2. <AppAttributes PackageName="com.imangi.templerun"
ActivityName="com.unity3d.player.UnityPlayerProxyActivity" />
Updating ApplicationInfo to override the resolution is done when activityTrigger
is called with both the above PackageName and ActivityName
3. <AppAttributes PackageName="com.imangi.templerun"
VersionCode="11" />
Same as (1) but happens when app is of verionCode 11
4. <AppAttributes PackageName="com.imangi.templerun"
ActivityName="com.unity3d.player.UnityPlayerProxyActivity"
VersionCode="11" />
Same as (2) but happens when app is of versionCode 11
-->
<AppAttributes
PackageName="com.imangi.templerun"
ActivityName="com.unity3d.player.UnityPlayerProxyActivity" />
<AppAttributes
PackageName="com.imangi.templerun2"
ActivityName="com.prime31.UnityPlayerProxyActivity" />
</ResolutionOverrideApps>
<GameTriggerApps>
</GameTriggerApps>
<AnimTriggerApps>
<AppAttributes
PackageName="com.tencent.mm"
ActivityName="com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyReceiveUI"
WindowAnimationScale = "0"
TransitionAnimationScale = "0"
AnimatorDurationScale = "0" />
</AnimTriggerApps>
<NetTriggerApps>
<AppAttributes
PackageName="com.tencent.mm" />
</NetTriggerApps>
<AppTriggerApps>
<AppAttributes PackageName="com.autonavi.xmgd.navigator" />
<AppAttributes PackageName="com.tencent.qqpimsecure" />
<AppAttributes PackageName="com.ludashi.benchmark" />
</AppTriggerApps>
</AppCatalog>

3
wifi_concurrency_cfg.txt Executable file
View file

@ -0,0 +1,3 @@
ENABLE_STA_SAP_CONCURRENCY:1
SAP_INTERFACE_NAME:softap0
SAP_CHANNEL:6

0
wpa_supplicant_overlay.conf Normal file → Executable file
View file

0
wpa_supplicant_wcn.conf Normal file → Executable file
View file