summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2021-10-06 22:52:28 +0000
committerXin Li <delphij@google.com>2021-10-06 22:52:28 +0000
commit89cce76d4f15c8ac4dc89ec7172e232bfc656ba7 (patch)
tree8373fd8a7fd272623644957dc69d4eb990f77cc7
parentd1ee30deb73882c2ceed071fb7c75a8fcbab36ff (diff)
parent1d1dc1cda94265f961e7ae46a05a606ac6a7db83 (diff)
downloadredbull-android-s-v2-preview-1.tar.gz
Bug: 202323961 Merged-In: Iee14e064c00685d832860de7590d221d553ca3f1 Change-Id: If74b0ce749350ec32ff5eb8898cd3c196bf2f064
-rw-r--r--Android.bp9
-rw-r--r--BoardConfig-common.mk72
-rw-r--r--METADATA3
-rw-r--r--audio/audio_io_policy.conf4
-rw-r--r--bluetooth_hearing_aid_audio_policy_configuration.xml2
-rw-r--r--default-permissions.xml37
-rw-r--r--device-common.mk128
-rw-r--r--device_framework_matrix_product.xml (renamed from device_framework_matrix.xml)132
-rw-r--r--fstab.hardware5
-rw-r--r--fstab.persist4
-rw-r--r--health/Health.cpp10
-rw-r--r--init.hardware.diag.rc.userdebug6
-rw-r--r--init.hardware.rc89
-rw-r--r--init.hardware.usb.rc3
-rw-r--r--init.insmod.sh53
-rw-r--r--init.power.rc2
-rw-r--r--manifest.xml55
-rw-r--r--manifest_omx.xml (renamed from framework_manifest.xml)18
-rw-r--r--media_codecs_c2.xml79
-rw-r--r--media_codecs_performance_c2.xml18
-rwxr-xr-xoverlay/frameworks/base/core/res/res/values/config.xml22
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/values-mcc310-mnc004/strings.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/values-mcc311-mnc480/strings.xml)0
-rw-r--r--overlay/frameworks/base/packages/SettingsLib/res/values-mcc440-mnc20/config.xml (renamed from overlay/frameworks/base/packages/SystemUI/res/values-mcc440-mnc20/config.xml)0
-rw-r--r--overlay/packages/services/Telephony/res/values/config.xml4
-rw-r--r--pixelstats/Android.bp3
-rw-r--r--pixelstats/pixelstats-vendor.redbull.rc2
-rw-r--r--pixelstats/service.cpp11
-rw-r--r--power/hint-data.h62
-rw-r--r--power/list.h41
-rw-r--r--power/metadata-defs.h54
-rw-r--r--power/performance.h265
-rw-r--r--power/power-common.h49
-rw-r--r--power/powerhintparser.h48
-rw-r--r--power/utils.h47
-rw-r--r--powerhint.json17
-rw-r--r--powerstats/RailDataProvider.cpp1
-rw-r--r--powerstats/service.cpp19
-rw-r--r--product.prop2
-rw-r--r--redbull_allowlist.mk2
-rw-r--r--rro_overlays/ConnectivityOverlay/Android.bp9
-rw-r--r--rro_overlays/ConnectivityOverlay/AndroidManifest.xml27
-rw-r--r--rro_overlays/ConnectivityOverlay/res/values/config.xml26
-rw-r--r--rro_overlays/WifiOverlay/OWNERS2
-rw-r--r--rro_overlays/WifiOverlay/res/values/config.xml3
-rw-r--r--ueventd.rc9
84 files changed, 526 insertions, 928 deletions
diff --git a/Android.bp b/Android.bp
index 5bf63dfb..eb3944f4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -36,3 +36,12 @@ license {
],
// large-scale-change unable to identify any license_text files
}
+
+vintf_compatibility_matrix {
+ name: "redbull_product_compatibility_matrix.xml",
+ stem: "compatibility_matrix.redbull.xml",
+ product_specific: true,
+ srcs: [
+ "device_framework_matrix_product.xml",
+ ],
+}
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index eb2e7277..693d733b 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -21,16 +21,20 @@ TARGET_BOARD_PLATFORM := lito
USES_DEVICE_GOOGLE_REDBULL := true
TARGET_ARCH := arm64
-TARGET_ARCH_VARIANT := armv8-2a
+TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
-TARGET_CPU_VARIANT := cortex-a76
+TARGET_CPU_VARIANT := generic
+TARGET_CPU_VARIANT_RUNTIME := cortex-a76
+ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv8-a
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
-TARGET_2ND_CPU_VARIANT := cortex-a76
+TARGET_2ND_CPU_VARIANT := generic
+TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
+endif
BUILD_BROKEN_DUP_RULES := true
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on
@@ -69,15 +73,26 @@ BOARD_USES_METADATA_PARTITION := true
AB_OTA_UPDATER := true
-AB_OTA_PARTITIONS += \
- boot \
- vendor_boot \
- system \
- vbmeta \
- dtbo \
- product \
- vbmeta_system \
- system_ext
+ifneq ($(PRODUCT_BUILD_SYSTEM_IMAGE),false)
+AB_OTA_PARTITIONS += system
+AB_OTA_PARTITIONS += vbmeta_system
+endif
+ifneq ($(PRODUCT_BUILD_PRODUCT_IMAGE),false)
+AB_OTA_PARTITIONS += product
+endif
+ifneq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),false)
+AB_OTA_PARTITIONS += system_ext
+endif
+ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
+AB_OTA_PARTITIONS += boot
+endif
+ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
+AB_OTA_PARTITIONS += vendor_boot
+AB_OTA_PARTITIONS += dtbo
+endif
+ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
+AB_OTA_PARTITIONS += vbmeta
+endif
# Partitions (listed in the file) to be wiped under recovery.
TARGET_RECOVERY_WIPE := device/google/redbull/recovery.wipe
@@ -88,7 +103,7 @@ TARGET_RECOVERY_UI_LIB := \
libfstab
# Enable chain partition for system.
-BOARD_AVB_VBMETA_SYSTEM := system
+BOARD_AVB_VBMETA_SYSTEM := system system_ext product
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
@@ -351,6 +366,7 @@ BOOT_KERNEL_MODULES := \
sctp_diag.ko \
qrtr-smd.ko \
msm_drm.ko \
+ dm-user.ko \
# system_ext.img
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
@@ -453,9 +469,11 @@ TARGET_HAS_HDR_DISPLAY := true
# Vendor Interface Manifest
DEVICE_MANIFEST_FILE := device/google/redbull/manifest.xml
+ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
+# Omx is 32 bit only
+DEVICE_MANIFEST_FILE += device/google/redbull/manifest_omx.xml
+endif
DEVICE_MATRIX_FILE := device/google/redbull/compatibility_matrix.xml
-DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/redbull/device_framework_matrix.xml
-DEVICE_FRAMEWORK_MANIFEST_FILE := device/google/redbull/framework_manifest.xml
# Use mke2fs to create ext4 images
TARGET_USES_MKE2FS := true
@@ -463,14 +481,21 @@ TARGET_USES_MKE2FS := true
# dynamic partition
BOARD_SUPER_PARTITION_SIZE := 9755951104
BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
-BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
- system \
- vendor \
- product \
- system_ext
+ifneq ($(PRODUCT_BUILD_SYSTEM_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += system
+endif
+ifneq ($(PRODUCT_BUILD_PRODUCT_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += product
+endif
+ifneq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += system_ext
+endif
+ifneq ($(PRODUCT_BUILD_VENDOR_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += vendor
+endif
-#BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to BOARD_SUPER_PARTITION_SIZE / 2 - 4MB
-BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4873781248
+#BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to (5GB - 4MB)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 5364514816
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
BOARD_SUPER_PARTITION_ERROR_LIMIT := 9231663104
@@ -512,6 +537,9 @@ ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kasan, $(TARGET_PRODUCT)))
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/kasan
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_memory, $(TARGET_PRODUCT)))
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_memory
+else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
+ KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_memory_accounting
+BOARD_KERNEL_CMDLINE += page_owner=on
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_locking, $(TARGET_PRODUCT)))
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_locking
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_hang, $(TARGET_PRODUCT)))
diff --git a/METADATA b/METADATA
new file mode 100644
index 00000000..d97975ca
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+ license_type: NOTICE
+}
diff --git a/audio/audio_io_policy.conf b/audio/audio_io_policy.conf
index 948c0ffc..68aee2ba 100644
--- a/audio/audio_io_policy.conf
+++ b/audio/audio_io_policy.conf
@@ -68,14 +68,14 @@ outputs {
app_type 69941
}
compress_offload_16 {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 16
app_type 69940
}
compress_offload_24 {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 24
diff --git a/bluetooth_hearing_aid_audio_policy_configuration.xml b/bluetooth_hearing_aid_audio_policy_configuration.xml
index 7dcabf7f..e275d6a6 100644
--- a/bluetooth_hearing_aid_audio_policy_configuration.xml
+++ b/bluetooth_hearing_aid_audio_policy_configuration.xml
@@ -5,7 +5,7 @@
<!-- Hearing AIDs Audio Ports -->
<mixPort name="hearing aid output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="24000,16000"
+ samplingRates="24000 16000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
diff --git a/default-permissions.xml b/default-permissions.xml
index 23b83b4b..e4c6cb65 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -48,7 +48,8 @@
</exception>
<exception
- package="com.google.android.apps.pixelmigrate">
+ package="com.google.android.apps.restore"
+ sha256-cert-digest="56:BE:13:2B:78:06:56:FE:24:44:CD:34:32:6E:B5:D7:AA:C9:1D:20:96:AB:F0:FE:67:3A:99:27:06:22:EC:87">
<!-- External storage -->
<permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
@@ -58,9 +59,8 @@
<!-- Call logs -->
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
- <!-- SMS -->
- <permission name="android.permission.RECEIVE_SMS" fixed="false"/>
- <permission name="android.permission.READ_PHONE_NUMBERS" fixed="false"/>
+ <!-- Used to set up a Wi-Fi P2P network -->
+ <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
</exception>
<exception
@@ -73,27 +73,6 @@
<permission name="android.permission.RECEIVE_SMS" fixed="false"/>
</exception>
- <exception
- package="com.google.android.projection.gearhead"
- sha256-cert-digest="FD:B0:0C:43:DB:DE:8B:51:CB:31:2A:A8:1D:3B:5F:A1:77:13:AD:B9:4B:28:F5:98:D7:7F:8E:B8:9D:AC:EE:DF">
- <!-- Gearhead legacy -->
- <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
- <permission name="android.permission.CALL_PHONE" fixed="false"/>
- <permission name="android.permission.READ_CALL_LOG" fixed="false"/>
- <permission name="android.permission.READ_CONTACTS" fixed="false"/>
- <permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
- <permission name="android.permission.RECEIVE_SMS" fixed="false"/>
- <permission name="android.permission.RECORD_AUDIO" fixed="false"/>
- <permission name="android.permission.SEND_SMS" fixed="false"/>
- <permission name="android.permission.READ_CALENDAR" fixed="false"/>
- <!-- For Top Gear -->
- <permission name="android.permission.PROCESS_OUTGOING_CALLS" fixed="false"/>
- <permission name="android.permission.READ_SMS" fixed="false"/>
- <permission name="android.permission.RECEIVE_MMS" fixed="false"/>
- <permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
- <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
- </exception>
-
<exception package="com.google.android.settings.intelligence">
<!-- Calendar -->
<permission name="android.permission.READ_CALENDAR" fixed="true"/>
@@ -102,6 +81,11 @@
<permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>
</exception>
+ <exception package="com.google.android.apps.camera.services">
+ <!-- Camera -->
+ <permission name="android.permission.CAMERA" fixed="false"/>
+ </exception>
+
<exception package="com.google.android.apps.cbrsnetworkmonitor">
<!-- Location access to create CBRS geofences-->
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="true"/>
@@ -109,9 +93,6 @@
</exception>
<exception package="com.google.android.apps.scone">
- <!-- Location access to determine proximity to a CBRS network coverage area -->
- <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
- <permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>
<!-- Used to call ActivityTransition API for Smart OOS & Smart PNO -->
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
</exception>
diff --git a/device-common.mk b/device-common.mk
index 55f0728e..62434281 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -30,12 +30,15 @@ PRODUCT_SOONG_NAMESPACES += \
device/google/redbull \
hardware/qcom/sm7250 \
vendor/google/airbrush/floral \
- vendor/google/biometrics/face \
+ vendor/google/biometrics/face/florence \
vendor/google/darwinn \
hardware/qcom/sm7250/display \
vendor/google/camera \
vendor/qcom/sm7250 \
- vendor/google/interfaces
+ vendor/google/interfaces \
+ vendor/google_devices/common/proprietary/confirmatioui_hal \
+ vendor/google_nos/host/android \
+ vendor/google_nos/test/system-test-harness
# Include GPS soong namespace
PRODUCT_SOONG_NAMESPACES += \
@@ -67,6 +70,9 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PRODUCT_PROPERTIES += \
persist.vendor.debug.sensors.accel_cal=1
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.vendor.testing_battery_profile=2
+
# The default value of this variable is false and should only be set to true when
# the device allows users to retain eSIM profiles after factory reset of user data.
PRODUCT_PRODUCT_PROPERTIES += \
@@ -76,7 +82,7 @@ PRODUCT_COPY_FILES += \
device/google/redbull/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
device/google/redbull/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
- frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.software.verified_boot.xml
+ frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
# Enforce privapp-permissions whitelist
PRODUCT_PROPERTY_OVERRIDES += \
@@ -84,7 +90,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PACKAGES += \
messaging \
- dmabuf_dump
TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
@@ -95,6 +100,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/developer_gsi_keys.mk)
PRODUCT_CHARACTERISTICS := nosdcard
PRODUCT_SHIPPING_API_LEVEL := 30
+BOARD_SHIPPING_API_LEVEL := 30
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
@@ -102,11 +108,13 @@ PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel \
$(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.$(PRODUCT_PLATFORM) \
$(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(PRODUCT_PLATFORM) \
+ $(LOCAL_PATH)/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
$(LOCAL_PATH)/init.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).rc \
$(LOCAL_PATH)/init.modem.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.modem.sh \
$(LOCAL_PATH)/init.power.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).power.rc \
$(LOCAL_PATH)/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh \
$(LOCAL_PATH)/init.hardware.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).usb.rc \
+ $(LOCAL_PATH)/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \
$(LOCAL_PATH)/init.sensors.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.sensors.sh \
$(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
$(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh
@@ -145,6 +153,10 @@ PRODUCT_PACKAGES += \
PRODUCT_PRODUCT_PROPERTIES += \
ro.sys.sdcardfs=1
+# Use FUSE passthrough
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.sys.fuse.passthrough.enable=true
+
PRODUCT_PACKAGES += \
bootctrl.lito \
bootctrl.lito.recovery
@@ -159,7 +171,9 @@ AB_OTA_POSTINSTALL_CONFIG += \
POSTINSTALL_OPTIONAL_system=true
PRODUCT_PACKAGES += \
- update_engine_sideload \
+ update_engine_sideload
+
+PRODUCT_PACKAGES_DEBUG += \
sg_write_buffer \
f2fs_io \
check_f2fs
@@ -179,7 +193,14 @@ PRODUCT_PACKAGES += \
# Context hub HAL
PRODUCT_PACKAGES += \
- android.hardware.contexthub@1.1-service.generic
+ android.hardware.contexthub@1.2-service.generic
+
+# CHRE tools
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+PRODUCT_PACKAGES += \
+ chre_power_test_client \
+ chre_test_client
+endif
# Enable project quotas and casefolding for emulated storage without sdcardfs
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
@@ -221,8 +242,8 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.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.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
- frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
- frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
+ frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
+ frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml \
frameworks/native/data/etc/android.hardware.strongbox_keystore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.strongbox_keystore.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
@@ -310,7 +331,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
# camera enable RT thread
PRODUCT_PROPERTY_OVERRIDES += \
- persist.camera.realtimethread=1
+ persist.vendor.camera.realtimethread=1
# Lets the vendor library that Google Camera HWL is enabled
PRODUCT_PROPERTY_OVERRIDES += \
@@ -382,14 +403,13 @@ PRODUCT_PACKAGES += \
#Bluetooth SAR HAL
PRODUCT_PACKAGES += \
- vendor.qti.hardware.bluetooth_sar@1.1-impl \
- vendor.qti.hardware.bluetooth_sar@1.0-impl
+ hardware.google.bluetooth.sar@1.0-impl
PRODUCT_PACKAGES_DEBUG += \
bluetooth_sar_test
#Bluetooth AFH HAL
PRODUCT_PACKAGES += \
- vendor.qti.hardware.bt_channel_avoidance@1.0-impl
+ hardware.google.bluetooth.bt_channel_avoidance@1.0-impl
# Bluetooth SoC
PRODUCT_PROPERTY_OVERRIDES += \
@@ -406,8 +426,8 @@ PRODUCT_PROPERTY_OVERRIDES += \
# DRM HAL
PRODUCT_PACKAGES += \
- android.hardware.drm@1.3-service.clearkey \
- android.hardware.drm@1.3-service.widevine
+ android.hardware.drm@1.4-service.clearkey \
+ android.hardware.drm@1.4-service.widevine
# NFC and Secure Element packages
PRODUCT_PACKAGES += \
@@ -473,8 +493,8 @@ PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.ims.mm_minqp=1
PRODUCT_PACKAGES += \
- android.hardware.camera.provider@2.6-impl-google \
- android.hardware.camera.provider@2.6-service-google \
+ android.hardware.camera.provider@2.7-impl-google \
+ android.hardware.camera.provider@2.7-service-google \
camera.lito \
lib_multicam_dualfov_capture_session \
libgooglecamerahwl_impl \
@@ -486,7 +506,7 @@ PRODUCT_PACKAGES += \
# Google Camera HAL test libraries in debug builds
PRODUCT_PACKAGES_DEBUG += \
libgoogle_camera_hal_proprietary_tests \
- libgoogle_camera_hal_tests.vendor
+ libgoogle_camera_hal_tests
PRODUCT_PACKAGES += \
fs_config_dirs \
@@ -511,6 +531,8 @@ PRODUCT_PACKAGES += \
ENABLE_VENDOR_RIL_SERVICE := true
+USE_QCRIL_OEMHOOK := true
+
HOSTAPD := hostapd
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
HOSTAPD += hostapd_cli
@@ -533,6 +555,10 @@ PRODUCT_PACKAGES += \
libwpa_client \
WifiOverlay
+# Connectivity
+PRODUCT_PACKAGES += \
+ ConnectivityOverlay
+
# WLAN driver configuration files
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
@@ -560,13 +586,11 @@ PRODUCT_PACKAGES += \
audio.bluetooth.default
PRODUCT_PACKAGES += \
- android.hardware.audio@6.0-impl:32 \
- android.hardware.audio@5.0-impl:32 \
- android.hardware.audio.effect@6.0-impl:32 \
- android.hardware.audio.effect@5.0-impl:32 \
+ android.hardware.audio@7.0-impl:32 \
+ android.hardware.audio.effect@7.0-impl:32 \
android.hardware.soundtrigger@2.3-impl \
android.hardware.bluetooth.audio@2.0-impl \
- android.hardware.audio@2.0-service
+ android.hardware.audio.service
# Modules for Audio HAL
PRODUCT_PACKAGES += \
@@ -675,21 +699,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
logd.logpersistd.size=30
endif
-# Citadel
-PRODUCT_PACKAGES += \
- citadeld \
- citadel_updater \
- android.hardware.authsecret@1.0-service.citadel \
- android.hardware.oemlock@1.0-service.citadel \
- android.hardware.weaver@1.0-service.citadel \
- android.hardware.keymaster@4.1-service.citadel \
- android.hardware.identity@1.0-service.citadel \
- wait_for_strongbox
-
-# Citadel debug stuff
-PRODUCT_PACKAGES_DEBUG += \
- test_citadel
-
# Storage: for factory reset protection feature
PRODUCT_PROPERTY_OVERRIDES += \
ro.frp.pst=/dev/block/bootdevice/by-name/frp
@@ -799,18 +808,9 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf
-# Pixel atrace HAL
-PRODUCT_PACKAGES += \
- android.hardware.atrace@1.0-service.pixel
-
# dynamic partition
PRODUCT_USE_DYNAMIC_PARTITIONS := true
-# fastbootd
-PRODUCT_PACKAGES += \
- android.hardware.fastboot@1.0-impl.pixel \
- fastbootd
-
# Use /product/etc/fstab.postinstall to mount system_other
PRODUCT_PRODUCT_PROPERTIES += \
ro.postinstall.fstab.prefix=/product
@@ -828,12 +828,14 @@ PRODUCT_PACKAGES += $(QTI_TELEPHONY_UTILS)
HIDL_WRAPPER := qti-telephony-hidl-wrapper
HIDL_WRAPPER += qti_telephony_hidl_wrapper.xml
+HIDL_WRAPPER += qti-telephony-hidl-wrapper-prd
+HIDL_WRAPPER += qti_telephony_hidl_wrapper_prd.xml
PRODUCT_PACKAGES += $(HIDL_WRAPPER)
# Increment the SVN for any official public releases
ifeq ($(PRODUCT_DEVICE_SVN_OVERRIDE),)
PRODUCT_PROPERTY_OVERRIDES += \
- ro.vendor.build.svn=30
+ ro.vendor.build.svn=35
endif
# Enable iwlan service logging for debug
@@ -934,10 +936,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_PRODUCT_PROPERTIES += \
ro.thermal_warmreset = true \
-# Resume on Reboot support
-PRODUCT_PACKAGES += \
- android.hardware.rebootescrow-service.citadel
-
# Vendor verbose logging default property
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
@@ -953,6 +951,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
persist.sys.disable_rescue=true
endif
+# Set support one-handed mode
+PRODUCT_PRODUCT_PROPERTIES += \
+ ro.support_one_handed_mode=true
+
# Enable Incremental on the device via kernel module
PRODUCT_PROPERTY_OVERRIDES += \
ro.incremental.enable=module:/vendor/lib/modules/incrementalfs.ko
@@ -960,7 +962,21 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Enforce generic ramdisk allow list
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk)
+# Enable watchdog timeout loop breaker.
+PRODUCT_PROPERTY_OVERRIDES += \
+ framework_watchdog.fatal_window.second=600 \
+ framework_watchdog.fatal_count=3
+
+# Set system properties identifying the chipset
+PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Qualcomm
+PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SM7250
+
+# Include the redbull product FCM
+# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
+# Vendor Freeze system-only builds use a different FCM.
+ifneq ($(PRODUCT_VENDOR_FREEZE_SYSTEM_BUILD),true)
+PRODUCT_PACKAGES += redbull_product_compatibility_matrix.xml
+endif
#################################################################################
# This is the End of device-common.mk file.
@@ -992,6 +1008,9 @@ endif
# Project
include hardware/google/pixel/common/pixel-common-device.mk
+# Citadel
+include hardware/google/pixel/citadel/citadel.mk
+
# Factory OTA
-include vendor/google/factoryota/client/factoryota.mk
@@ -1010,6 +1029,7 @@ include hardware/google/pixel/common/pixel-common-device.mk
# Pixel Logger
include hardware/google/pixel/PixelLogger/PixelLogger.mk
-# Citadel
-include hardware/google/pixel/citadel/citadel.mk
+ifneq ($(wildcard vendor/qcom/sm7250/proprietary/prebuilt_grease),)
+-include $(LOCAL_PATH)/redbull_allowlist.mk
+endif
#################################################################################
diff --git a/device_framework_matrix.xml b/device_framework_matrix_product.xml
index 45799eda..d9d91c06 100644
--- a/device_framework_matrix.xml
+++ b/device_framework_matrix_product.xml
@@ -1,5 +1,5 @@
-<compatibility-matrix version="1.0" type="framework">
- <hal format="hidl" optional="true">
+<compatibility-matrix version="1.0" type="framework" level="5">
+ <hal format="hidl" optional="false">
<name>com.qualcomm.qti.imscmservice</name>
<version>2.2</version>
<interface>
@@ -7,36 +7,33 @@
<instance>qti.ims.connectionmanagerservice</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>com.qualcomm.qti.uceservice</name>
- <version>2.2</version>
+ <version>2.3</version>
<interface>
<name>IUceService</name>
<instance>com.qualcomm.qti.uceservice</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.ims.factory</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IImsFactory</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.data.factory</name>
- <transport>hwbinder</transport>
- <version>2.1</version>
+ <version>2.2</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
</interface>
</hal>
<!-- iwlan -->
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.data.iwlan</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IIWlan</name>
@@ -44,7 +41,7 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>android.hardware.media.c2</name>
<version>1.0</version>
<interface>
@@ -52,22 +49,16 @@
<instance>default</instance>
<instance>software</instance>
</interface>
- <interface>
- <name>IConfigurable</name>
- <instance>default</instance>
- <instance>software</instance>
- </interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>android.hardware.radio</name>
- <transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>ISap</name>
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>android.hardware.radio.config</name>
<version>1.1</version>
<interface>
@@ -75,7 +66,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.display.color</name>
<version>1.0-5</version>
<interface>
@@ -83,7 +74,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.display.config</name>
<version>2.0</version>
<interface>
@@ -91,7 +82,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.display.postproc</name>
<version>1.0</version>
<interface>
@@ -99,7 +90,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.google.google_battery</name>
<version>1.1</version>
<interface>
@@ -107,15 +98,15 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.google.radioext</name>
- <version>1.2</version>
+ <version>1.2-3</version>
<interface>
<name>IRadioExt</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.am</name>
<version>1.0</version>
<interface>
@@ -124,15 +115,7 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.radio.atcmdfwd</name>
- <version>1.0</version>
- <interface>
- <name>IAtCmdFwd</name>
- <instance>AtCmdFwdService</instance>
- </interface>
- </hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.ims</name>
<version>1.6</version>
<interface>
@@ -141,7 +124,7 @@
<instance>imsradio1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.lpa</name>
<version>1.0</version>
<interface>
@@ -150,7 +133,7 @@
<instance>UimLpa1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.qcrilhook</name>
<version>1.0</version>
<interface>
@@ -159,7 +142,7 @@
<instance>oemhook1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.uim</name>
<version>1.2</version>
<interface>
@@ -168,7 +151,7 @@
<instance>Uim1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.uim_remote_client</name>
<version>1.0</version>
<interface>
@@ -177,7 +160,7 @@
<instance>uimRemoteClient1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.uim_remote_server</name>
<version>1.0</version>
<interface>
@@ -186,7 +169,7 @@
<instance>uimRemoteServer1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.tui_comm</name>
<version>1.0</version>
<interface>
@@ -194,7 +177,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.display.allocator</name>
<version>1.0</version>
<version>3.0</version>
@@ -204,7 +187,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.display.mapper</name>
<version>2.0</version>
<version>3.0</version>
@@ -214,15 +197,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.display.mapperextensions</name>
- <version>1.0</version>
- <interface>
- <name>IQtiMapperExtensions</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.display.composer</name>
<version>3.0</version>
<interface>
@@ -230,16 +205,15 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.internal.deviceinfo</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IDeviceInfo</name>
<instance>deviceinfo</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.imsrtpservice</name>
<version>3.0</version>
<interface>
@@ -247,25 +221,24 @@
<instance>imsrtpservice</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.ims.callinfo</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.bluetooth_sar</name>
- <version>1.1</version>
+ <hal format="hidl" optional="false">
+ <name>hardware.google.bluetooth.sar</name>
+ <version>1.0</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.bt_channel_avoidance</name>
+ <hal format="hidl" optional="false">
+ <name>hardware.google.bluetooth.bt_channel_avoidance</name>
<version>1.0</version>
<interface>
<name>IBTChannelAvoidance</name>
@@ -274,25 +247,22 @@
</hal>
<hal format="hidl" optional="true">
<name>vendor.google.wifi_ext</name>
- <transport>hwbinder</transport>
- <version>1.1</version>
+ <version>1.2</version>
<interface>
<name>IWifiExt</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.cacert</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.data.connection</name>
- <transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IDataConnection</name>
@@ -300,9 +270,8 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.qtiradio</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQtiRadio</name>
@@ -310,9 +279,8 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.qtiradio</name>
- <transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>IQtiRadio</name>
@@ -321,9 +289,8 @@
</interface>
</hal>
<!-- QSEECom HAL service -->
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.qseecom</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQSEECom</name>
@@ -331,18 +298,16 @@
</interface>
</hal>
<!-- QSPM HAL service -->
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.qspmhal</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQspmhal</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.qteeconnector</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAppConnector</name>
@@ -360,4 +325,13 @@
<instance>default</instance>
</interface>
</hal>
+ <!-- DSP Service -->
+ <hal format="hidl" optional="false">
+ <name>vendor.qti.hardware.dsp</name>
+ <version>1.0</version>
+ <interface>
+ <name>IDspService</name>
+ <instance>dspservice</instance>
+ </interface>
+ </hal>
</compatibility-matrix>
diff --git a/fstab.hardware b/fstab.hardware
index 525b810e..d27d483b 100644
--- a/fstab.hardware
+++ b/fstab.hardware
@@ -6,8 +6,9 @@ system /system e
system_ext /system_ext ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1 wait,slotselect,avb=vbmeta,logical,first_stage_mount
product /product ext4 ro,barrier=1 wait,slotselect,avb,logical,first_stage_mount
-/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,sync wait,formattable,first_stage_mount,check,metadata_csum
+/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,first_stage_mount,check,metadata_csum
+/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,quota,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs
+/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,quota,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,reservedsize=128M,sysfs_path=/dev/sys/block/bootdevice,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs
/devices/platform/soc/a600000.ssusb/a600000.dwc3* auto vfat defaults voldmanaged=usb:auto
/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8,zram_backingdev_size=512M
diff --git a/fstab.persist b/fstab.persist
new file mode 100644
index 00000000..f3840b15
--- /dev/null
+++ b/fstab.persist
@@ -0,0 +1,4 @@
+# Keep persist in an fstab file, since we need to run fsck on it after abnormal shutdown.
+
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+/dev/block/platform/soc/1d84000.ufshc/by-name/persist /mnt/vendor/persist ext4 nosuid,nodev,noatime,barrier=1 wait
diff --git a/health/Health.cpp b/health/Health.cpp
index 12cf5990..83977989 100644
--- a/health/Health.cpp
+++ b/health/Health.cpp
@@ -59,14 +59,16 @@ constexpr char kBatteryResistance[] {FG_DIR "/bms/resistance"};
constexpr char kBatteryOCV[] {FG_DIR "/bms/voltage_ocv"};
constexpr char kVoltageAvg[] {FG_DIR "/battery/voltage_now"};
-static BatteryDefender battDefender;
+#define WLC_DIR "/sys/class/power_supply/wireless"
+
+static BatteryDefender battDefender(WLC_DIR "/present");
static BatteryThermalControl battThermalControl(
"sys/devices/virtual/thermal/tz-by-name/soc/mode");
static BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV);
static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg);
static DeviceHealth deviceHealth;
-#define UFS_DIR "/sys/devices/platform/soc/1d84000.ufshc"
+#define UFS_DIR "/dev/sys/block/bootdevice"
constexpr char kUfsHealthEol[]{UFS_DIR "/health_descriptor/eol_info"};
constexpr char kUfsHealthLifetimeA[]{UFS_DIR "/health_descriptor/life_time_estimation_a"};
constexpr char kUfsHealthLifetimeB[]{UFS_DIR "/health_descriptor/life_time_estimation_b"};
@@ -76,7 +78,6 @@ constexpr char kUFSName[]{"UFS0"};
constexpr char kTCPMPSYName[]{"tcpm-source-psy-usbpd0"};
-#define WLC_DIR "/sys/class/power_supply/wireless"
static bool needs_wlc_updates = false;
constexpr char kWlcCapacity[]{WLC_DIR "/capacity"};
@@ -118,6 +119,9 @@ static bool FileExists(const std::string &filename) {
void private_healthd_board_init(struct healthd_config *hc) {
hc->ignorePowerSupplyNames.push_back(android::String8(kTCPMPSYName));
needs_wlc_updates = FileExists(kWlcCapacity);
+ if (needs_wlc_updates == false) {
+ battDefender.setWirelessNotSupported();
+ }
}
int private_healthd_board_battery_update(struct android::BatteryProperties *props) {
diff --git a/init.hardware.diag.rc.userdebug b/init.hardware.diag.rc.userdebug
index 84640fc8..16225b95 100644
--- a/init.hardware.diag.rc.userdebug
+++ b/init.hardware.diag.rc.userdebug
@@ -109,3 +109,9 @@ on property:vendor.usb.config=*
on property:persist.vendor.usb.usbradio.config=*
start usbd
+
+on property:power.battery_input.suspended=true
+ write /sys/kernel/debug/google_charger/input_suspend 1
+
+on property:power.battery_input.suspended=false
+ write /sys/kernel/debug/google_charger/input_suspend 0
diff --git a/init.hardware.rc b/init.hardware.rc
index c932a954..f7a463fb 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -34,6 +34,7 @@ service vendor.charger /system/bin/charger
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
+ mount_all /vendor/etc/fstab.persist --early
# configure governor settings
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
@@ -81,26 +82,19 @@ on init && property:vendor.skip.init=0
write /sys/block/sda/queue/iostats 0
write /sys/block/sda/queue/scheduler cfq
write /sys/block/sda/queue/iosched/slice_idle 0
- write /sys/block/sda/queue/read_ahead_kb 2048
write /sys/block/sda/queue/nr_requests 256
- write /sys/block/dm-0/queue/read_ahead_kb 2048
- write /sys/block/dm-1/queue/read_ahead_kb 2048
- write /sys/block/dm-2/queue/read_ahead_kb 2048
- write /sys/block/dm-3/queue/read_ahead_kb 2048
- write /sys/block/dm-4/queue/read_ahead_kb 2048
- write /sys/block/dm-5/queue/read_ahead_kb 2048
- write /sys/block/dm-6/queue/read_ahead_kb 2048
- write /sys/block/dm-7/queue/read_ahead_kb 2048
- write /sys/block/dm-8/queue/read_ahead_kb 2048
-
- # Disable UFS powersaving
- write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0
# Disable powersaving
write /sys/module/lpm_levels/parameters/sleep_disabled 1
- wait /dev/block/platform/soc/${ro.boot.bootdevice}
- symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
+ wait /dev/block/platform/${ro.boot.boot_devices}
+ symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
+
+ # to access UFS/eMMC sysfs directly
+ symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
+
+ # Disable UFS powersaving
+ write /dev/sys/block/bootdevice/clkgate_enable 0
# start qseecomd early as we mount system/ vendor/ early
# vold needs keymaster that needs qseecomd
@@ -130,13 +124,6 @@ on init && property:vendor.skip.init=0
# Some user code relies on ro.boot.hardware.revision
setprop ro.boot.hardware.revision ${ro.revision}
- mkdir /dev/cpuset/camera-daemon
- write /dev/cpuset/camera-daemon/cpus 0-7
- write /dev/cpuset/camera-daemon/mems 0
- chown system system /dev/cpuset/camera-daemon
- chown system system /dev/cpuset/camera-daemon/tasks
- chmod 0664 /dev/cpuset/camera-daemon/tasks
-
mkdir /dev/cpuset/camera-daemon-dedicated
write /dev/cpuset/camera-daemon-dedicated/cpus 0-7
write /dev/cpuset/camera-daemon-dedicated/mems 0
@@ -144,13 +131,9 @@ on init && property:vendor.skip.init=0
chown system system /dev/cpuset/camera-daemon-dedicated/tasks
chmod 0664 /dev/cpuset/camera-daemon-dedicated/tasks
- # create an stune group for camera-specific processes
- mkdir /dev/stune/camera-daemon
+ # set default schedTune value for camera-daemon
write /dev/stune/camera-daemon/schedtune.prefer_idle 1
write /dev/stune/camera-daemon/schedtune.boost 0
- chown system system /dev/stune/camera-daemon
- chown system system /dev/stune/camera-daemon/tasks
- chmod 0664 /dev/stune/camera-daemon/tasks
# Allow PAI targeting per hardware SKU
setprop ro.oem.key1 ${ro.boot.hardware.sku}
@@ -174,11 +157,15 @@ on init && property:vendor.skip.init=0
chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_voltage
chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_enable
chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_dry_run
+ chown system system /sys/devices/platform/soc/soc:google,charger/bd_clear
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_enable
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_recharge_soc
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_cnt
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_dry_run
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_reset_sec
+ chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_clear
+ chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/health_safety_margin
+ chown system system /sys/class/power_supply/wireless/device/mitigate_threshold
# report max frequency to unity tasks.
write /proc/sys/kernel/sched_lib_name "UnityMain,libunity.so"
@@ -272,8 +259,6 @@ on late-fs
# Mount RW partitions which need run fsck
mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late
- # Boot time fs tune
- write /sys/block/dm-9/queue/read_ahead_kb 2048
# Required for time_daemon
mkdir /mnt/vendor/persist/time 0770 system system
@@ -465,13 +450,13 @@ on early-boot
# Permission for Pixelstats
chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_read_cnt
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_write_cnt
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_unmap_cnt
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_sync_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_read_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_write_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
# Permission for Health Storage HAL
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/manual_gc
+ chown system system /dev/sys/block/bootdevice/manual_gc
# Permissions for reading display native color gamut
chown system graphics /mnt/vendor/persist/display/native_gamut.csv
@@ -529,19 +514,8 @@ on property:sys.boot_completed=1
setprop vendor.setup.power 1
# Runtime fs tuning
- write /sys/block/sda/queue/read_ahead_kb 128
write /sys/block/sda/queue/nr_requests 128
write /sys/block/sda/queue/iostats 1
- write /sys/block/dm-0/queue/read_ahead_kb 128
- write /sys/block/dm-1/queue/read_ahead_kb 128
- write /sys/block/dm-2/queue/read_ahead_kb 128
- write /sys/block/dm-3/queue/read_ahead_kb 128
- write /sys/block/dm-4/queue/read_ahead_kb 128
- write /sys/block/dm-5/queue/read_ahead_kb 128
- write /sys/block/dm-6/queue/read_ahead_kb 128
- write /sys/block/dm-7/queue/read_ahead_kb 128
- write /sys/block/dm-8/queue/read_ahead_kb 128
- write /sys/block/dm-9/queue/read_ahead_kb 128
# Block layer tuning: discard chunk size up to 128MB
# Otherwise, contiguous discards can be merged
@@ -715,7 +689,7 @@ on post-fs-data && property:persist.vendor.sys.ssr.enable_ramdumps=1 && property
mkdir /data/vendor/wifidump 771 root system
mkdir /data/vendor/ramdump 771 root system
mkdir /data/vendor/ssrdump 771 root system
- mkdir /data/vendor/ssrlog 771 root system
+ mkdir /data/vendor/ssrlog 775 root system
start vendor.ss_ramdump
on property:persist.vendor.sys.ssr.enable_ramdumps=0
@@ -745,6 +719,29 @@ on property:sys.retaildemo.enabled=1
setprop persist.vendor.charge.stop.level 35
setprop persist.vendor.charge.start.level 30
+# Test Harness Mode default battery profile. Restricted but not too restricted.
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0
+ setprop persist.vendor.charge.stop.level 70
+ setprop persist.vendor.charge.start.level 35
+ setprop vendor.battery.defender.disable 1
+
+# Extremely restricted battery profile.
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1
+ setprop persist.vendor.charge.stop.level 50
+ setprop persist.vendor.charge.start.level 35
+ setprop vendor.battery.defender.disable 1
+
+# Normal behavior (as if the device was a regular device)
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2
+ setprop persist.vendor.charge.stop.level 100
+ setprop persist.vendor.charge.start.level 0
+
+# Unrestricted, allows charging to 100%
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3
+ setprop persist.vendor.charge.stop.level 100
+ setprop persist.vendor.charge.start.level 0
+ setprop vendor.battery.defender.disable 1
+
service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg
class main
user root
diff --git a/init.hardware.usb.rc b/init.hardware.usb.rc
index 12a48a7a..999cc60f 100644
--- a/init.hardware.usb.rc
+++ b/init.hardware.usb.rc
@@ -14,7 +14,7 @@
# limitations under the License.
#
-on early-boot
+on post-fs-data
mkdir /config/usb_gadget/g1 0770
mkdir /config/usb_gadget/g1/strings/0x409 0770
write /config/usb_gadget/g1/bcdUSB 0x0200
@@ -49,6 +49,7 @@ on early-boot
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
setprop sys.usb.mtp.device_type 3
+ setprop sys.usb.mtp.batchcancel true
setprop sys.usb.controller "a600000.dwc3"
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
write /sys/module/libcomposite/parameters/disable_l1_for_hs "y"
diff --git a/init.insmod.sh b/init.insmod.sh
new file mode 100644
index 00000000..a222838c
--- /dev/null
+++ b/init.insmod.sh
@@ -0,0 +1,53 @@
+#!/vendor/bin/sh
+
+#############################################################
+### init.insmod.cfg format: ###
+### ----------------------------------------------------- ###
+### [insmod|setprop|enable/moprobe|wait] [path|prop name] ###
+### ... ###
+#############################################################
+
+# imitates wait_for_file() in init
+wait_for_file()
+{
+ filename="${1}"
+ timeout="${2:-5}"
+
+ expiry=$(($(date "+%s")+timeout))
+ while [[ ! -e "${filename}" ]] && [[ "$(date "+%s")" -le "${expiry}" ]]
+ do
+ sleep 0.01
+ done
+}
+
+if [ $# -eq 1 ]; then
+ cfg_file=$1
+else
+ exit 1
+fi
+
+
+if [ -f $cfg_file ]; then
+ while IFS="|" read -r action arg
+ do
+ case $action in
+ "insmod") insmod $arg ;;
+ "setprop") setprop $arg 1 ;;
+ "enable") echo 1 > $arg ;;
+ "modprobe")
+ case ${arg} in
+ "-b *" | "-b")
+ arg="-b $(cat /vendor/lib/modules/modules.load)" ;;
+ "*" | "")
+ arg="$(cat /vendor/lib/modules/modules.load)" ;;
+ esac
+ modprobe -a -d /vendor/lib/modules $arg ;;
+ "wait") wait_for_file $arg ;;
+ esac
+ done < $cfg_file
+fi
+
+# set property even if there is no insmod config
+# as property value "1" is expected in early-boot trigger
+setprop vendor.all.modules.ready 1
+setprop vendor.all.devices.ready 1
diff --git a/init.power.rc b/init.power.rc
index 5ab12f5d..4394752c 100644
--- a/init.power.rc
+++ b/init.power.rc
@@ -132,7 +132,7 @@ on property:vendor.setup.power=1
write /sys/module/lpm_levels/parameters/sleep_disabled 0
# Enable UFS powersaving
- write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
+ write /dev/sys/block/bootdevice/clkgate_enable 1
# Enable idle state listener
write /sys/class/drm/card0/device/idle_encoder_mask 1
diff --git a/manifest.xml b/manifest.xml
index 2de8ef4c..2ef2d5dc 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -30,7 +30,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
- <version>6.0</version>
+ <version>7.0</version>
<interface>
<name>IDevicesFactory</name>
<instance>default</instance>
@@ -39,7 +39,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
- <version>6.0</version>
+ <version>7.0</version>
<interface>
<name>IEffectsFactory</name>
<instance>default</instance>
@@ -65,15 +65,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</interface>
</hal>
<hal format="hidl">
- <name>android.hardware.confirmationui</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IConfirmationUI</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>android.hardware.soundtrigger</name>
<transport>hwbinder</transport>
<version>2.3</version>
@@ -82,22 +73,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<instance>default</instance>
</interface>
</hal>
- <!-- video omx hal -->
- <hal format="hidl">
- <name>android.hardware.media.omx</name>
- <transport>hwbinder</transport>
- <impl level="generic"></impl>
- <version>1.0</version>
- <interface>
- <name>IOmx</name>
- <instance>default</instance>
- </interface>
- <interface>
- <name>IOmxStore</name>
- <instance>default</instance>
- </interface>
- </hal>
- <!-- /video omx hal -->
<!-- display -->
<hal format="hidl">
<name>android.hardware.renderscript</name>
@@ -120,7 +95,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>vendor.google.radioext</name>
<transport>hwbinder</transport>
- <version>1.2</version>
+ <version>1.3</version>
<interface>
<name>IRadioExt</name>
<instance>default</instance>
@@ -139,8 +114,8 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>android.hardware.secure_element</name>
<transport>hwbinder</transport>
- <fqname>@1.0::ISecureElement/SIM1</fqname>
- <fqname>@1.0::ISecureElement/SIM2</fqname>
+ <fqname>@1.2::ISecureElement/SIM1</fqname>
+ <fqname>@1.2::ISecureElement/SIM2</fqname>
<fqname>@1.2::ISecureElement/eSE1</fqname>
</hal>
<!-- gatekeeper -->
@@ -288,7 +263,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>com.qualcomm.qti.uceservice</name>
<transport>hwbinder</transport>
- <version>2.2</version>
+ <version>2.3</version>
<interface>
<name>IUceService</name>
<instance>com.qualcomm.qti.uceservice</instance>
@@ -335,7 +310,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>vendor.qti.data.factory</name>
<transport>hwbinder</transport>
- <version>2.1</version>
+ <version>2.2</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
@@ -410,16 +385,16 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</interface>
</hal>
<hal format="hidl">
- <name>vendor.qti.hardware.bluetooth_sar</name>
+ <name>hardware.google.bluetooth.sar</name>
<transport>hwbinder</transport>
- <version>1.1</version>
+ <version>1.0</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
- <name>vendor.qti.hardware.bt_channel_avoidance</name>
+ <name>hardware.google.bluetooth.bt_channel_avoidance</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
@@ -526,4 +501,14 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<instance>default</instance>
</interface>
</hal>
+ <!-- DSP Service -->
+ <hal format="hidl">
+ <name>vendor.qti.hardware.dsp</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IDspService</name>
+ <instance>dspservice</instance>
+ </interface>
+ </hal>
</manifest>
diff --git a/framework_manifest.xml b/manifest_omx.xml
index b2276a55..c6cfe66a 100644
--- a/framework_manifest.xml
+++ b/manifest_omx.xml
@@ -1,4 +1,4 @@
-<!-- Copyright (c) 2018, The Linux Foundation. All rights reserved.
+<!-- Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -25,15 +25,21 @@ 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.
-->
-<manifest version="1.0" type="framework">
- <!-- atfwd -->
+<manifest version="1.0" type="device" target-level="5">
+ <!-- video omx hal -->
<hal format="hidl">
- <name>vendor.qti.hardware.radio.atcmdfwd</name>
+ <name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
+ <impl level="generic"></impl>
<version>1.0</version>
<interface>
- <name>IAtCmdFwd</name>
- <instance>AtCmdFwdService</instance>
+ <name>IOmx</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IOmxStore</name>
+ <instance>default</instance>
</interface>
</hal>
+ <!-- /video omx hal -->
</manifest>
diff --git a/media_codecs_c2.xml b/media_codecs_c2.xml
index 8b4a52ea..6828a933 100644
--- a/media_codecs_c2.xml
+++ b/media_codecs_c2.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
- Copyright (c) 2018-2019 Qualcomm Technologies, Inc.
+ Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
@@ -67,11 +67,11 @@
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" range="24-2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" range="64-1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -81,10 +81,10 @@
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" range="24-2073600" />
+ <Limit name="blocks-per-second" range="64-1958400" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -97,7 +97,7 @@
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="1958400" />
@@ -112,11 +112,11 @@
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2160" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
@@ -126,10 +126,10 @@
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -142,7 +142,7 @@
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
@@ -157,24 +157,26 @@
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Alias name="OMX.qcom.video.decoder.vp8" />
- <Limit name="size" min="96x96" max="1920x1088" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="1036800" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
- <Limit name="performance-point-1920x1080" value="120" />
- <Limit name="performance-point-1280x720" value="240" />
+ <Limit name="performance-point-4096x2160" value="24" />
+ <Limit name="performance-point-3840x2160" value="30" />
+ <Limit name="performance-point-1920x1080" value="60" />
+ <Limit name="performance-point-1280x720" value="120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
@@ -184,7 +186,7 @@
<Limit name="concurrent-instances" max="7" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
@@ -203,11 +205,11 @@
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -215,14 +217,23 @@
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="bitrate-modes" value="VBR,CBR" />
+ <!-- Video Quality control -->
+ <!-- QP supported using vendor extensions -->
+ <Feature name="qp-bounds" />
+ <Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
+ <Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
+ <Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
+ <Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
+ <Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
+ <Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
@@ -263,15 +274,17 @@
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
<Alias name="OMX.qcom.video.encoder.vp8" />
- <Limit name="size" min="96x96" max="1920x1088" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
- <Limit name="performance-point-1920x1080" value="120" />
- <Limit name="performance-point-1280x720" value="240" />
+ <Limit name="performance-point-4096x2160" value="24" />
+ <Limit name="performance-point-3840x2160" value="30" />
+ <Limit name="performance-point-1920x1080" value="60" />
+ <Limit name="performance-point-1280x720" value="120" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
</Encoders>
diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml
index 4ec82977..a8dde73f 100644
--- a/media_codecs_performance_c2.xml
+++ b/media_codecs_performance_c2.xml
@@ -179,17 +179,17 @@
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="106-234" />
- <Limit name="measured-frame-rate-720x480" range="64-140" />
- <Limit name="measured-frame-rate-1280x720" range="26-56" />
- <Limit name="measured-frame-rate-1920x1080" range="20-44" />
+ <Limit name="measured-frame-rate-320x240" range="210-390" />
+ <Limit name="measured-frame-rate-720x480" range="180-280" />
+ <Limit name="measured-frame-rate-1280x720" range="85-151" />
+ <Limit name="measured-frame-rate-1920x1080" range="50-90" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-320x240" range="309-310" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-720x480" range="124-126" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-1280x720" range="93-124" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-1920x1080" range="82-87" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-3840x2160" range="11-25" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-320x240" range="210-390" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-720x480" range="180-280" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-1280x720" range="85-151" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-1920x1080" range="50-90" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-3840x2160" range="18-30" /><!-- Manual N=20 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="429-461" /><!-- Manual N=20 -->
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 951436a1..ea468201 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -105,9 +105,6 @@
<!-- The restoring is handled by modem if it is true -->
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
- <!-- If device has a sensor that can wake-up the lock screen -->
- <bool name="config_dozeWakeLockScreenSensorAvailable">true</bool>
-
<!-- If device supports pickup/lift gesture -->
<bool name="config_dozePulsePickup">true</bool>
@@ -210,13 +207,6 @@
<item>"9,1"</item>
</string-array>
- <!-- If the hardware supports specially marking packets that caused a wakeup of the
- main CPU, set this value to the mark used. -->
- <integer name="config_networkWakeupPacketMark">0x80000000</integer>
-
- <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
- <integer name="config_networkWakeupPacketMask">0x80000000</integer>
-
<!-- Specifies whether to decouple the auto-suspend state of the device from the display on/off state. -->
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
@@ -284,7 +274,7 @@
<item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
<item>"/system/framework/framework.jar"</item>
<item>"/system/framework/services.jar"</item>
- <item>"/system/lib64/libsurfaceflinger.so"</item>
+ <item>"/system/bin/surfaceflinger"</item>
<item>"/system_ext/priv-app/SystemUIGoogle/SystemUIGoogle.apk"</item>
<item>"/vendor/lib64/lib_aion_buffer.so"</item>
<item>"/vendor/lib64/libcamxexternalformatutils.so"</item>
@@ -347,14 +337,12 @@
<item>10000</item>
</integer-array>
- <!-- What source to use to estimate link upstream and downstream bandwidth capacities.
- Default is carrier_config, but it should be set to modem if the modem is returning
- predictive (instead of instantaneous) bandwidth estimates.
- Values are carrier_config and modem. -->
- <string name="config_bandwidthEstimateSource">modem</string>
-
<!-- Delay that allows some content to arrive at the display before switching
from DOZE to ON, in millis. -->
<integer name="config_wakeUpDelayDoze">32</integer>
+ <!-- Whether the device enable the standalone (SA) mode of 5G NR.-->
+ <bool name="config_telephony5gStandalone">true</bool>
+ <!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
+ <bool name="config_telephony5gNonStandalone">true</bool>
</resources>
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml
index 998db3b4..998db3b4 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml
index 998db3b4..998db3b4 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml
index 9577bb7f..9577bb7f 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml
index 68b795a7..68b795a7 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml
index 0c7d770a..0c7d770a 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-mcc310-mnc004/strings.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml
index f8ed0c01..f8ed0c01 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/values-mcc310-mnc004/strings.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-mcc311-mnc480/strings.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml
index f8ed0c01..f8ed0c01 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/values-mcc311-mnc480/strings.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-mcc440-mnc20/config.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc440-mnc20/config.xml
index f9741d75..f9741d75 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/values-mcc440-mnc20/config.xml
+++ b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc440-mnc20/config.xml
diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml
index 85f73723..4137a37e 100644
--- a/overlay/packages/services/Telephony/res/values/config.xml
+++ b/overlay/packages/services/Telephony/res/values/config.xml
@@ -40,4 +40,8 @@
<!-- This device can connect to 5G network in DSDS mode. -->
<bool name="config_5g_connection_in_dsds_mode">true</bool>
+
+ <!-- This device requires that emergency calls are placed over the default data SIM when
+ possible because GNSS SUPL can only be received from the network on data subscription. -->
+ <bool name="config_gnss_supl_requires_default_data_for_emergency">true</bool>
</resources>
diff --git a/pixelstats/Android.bp b/pixelstats/Android.bp
index e3a92a82..b0d0828c 100644
--- a/pixelstats/Android.bp
+++ b/pixelstats/Android.bp
@@ -25,9 +25,6 @@ cc_binary {
],
shared_libs: [
"libbase",
- "libbinder",
- "libcutils",
- "libhidlbase",
"liblog",
"libutils",
"libpixelstats",
diff --git a/pixelstats/pixelstats-vendor.redbull.rc b/pixelstats/pixelstats-vendor.redbull.rc
index 22254bbb..fdf8f79e 100644
--- a/pixelstats/pixelstats-vendor.redbull.rc
+++ b/pixelstats/pixelstats-vendor.redbull.rc
@@ -1,4 +1,4 @@
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
class hal
user system
- group system context_hub
+ group system context_hub readproc
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index d6c0e361..fb74ef85 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -28,7 +28,7 @@ using android::hardware::google::pixel::DropDetect;
using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener;
-#define UFSHC_PATH(filename) "/sys/devices/platform/soc/1d84000.ufshc/" #filename
+#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
.SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt),
@@ -42,12 +42,13 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
.UFSLifetimeA = UFSHC_PATH(health_descriptor/life_time_estimation_a),
.UFSLifetimeB = UFSHC_PATH(health_descriptor/life_time_estimation_b),
.UFSLifetimeC = UFSHC_PATH(health_descriptor/life_time_estimation_c),
+ .UFSHostResetPath = UFSHC_PATH(err_stats/err_host_reset),
.F2fsStatsPath = "/sys/fs/f2fs/",
.EEPROMPath = "/dev/battery_history"
};
-
-const char *const kAudioUevent = "/kernel/q6audio/q6voice_uevent";
-const char *const kSSOCDetailsPath = "/sys/class/power_supply/battery/ssoc_details";
+const struct UeventListener::UeventPaths ueventPaths = {
+ .AudioUevent = "/kernel/q6audio/q6voice_uevent",
+ .WirelessChargerPtmcUevent = "POWER_SUPPLY_PTMC_ID="};
int main() {
LOG(INFO) << "starting PixelStats";
@@ -59,7 +60,7 @@ int main() {
return 1;
}
- UeventListener ueventListener(kAudioUevent, kSSOCDetailsPath);
+ UeventListener ueventListener(ueventPaths);
std::thread listenThread(&UeventListener::ListenForever, &ueventListener);
listenThread.detach();
diff --git a/power/hint-data.h b/power/hint-data.h
deleted file mode 100644
index 0cb54c24..00000000
--- a/power/hint-data.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, 2015, 2017, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * 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.
- */
-
-/* Default use-case hint IDs */
-#define DEFAULT_VIDEO_ENCODE_HINT_ID (0x0A00)
-#define DEFAULT_VIDEO_DECODE_HINT_ID (0x0B00)
-#define DISPLAY_STATE_HINT_ID (0x0C00)
-#define DISPLAY_STATE_HINT_ID_2 (0x0D00)
-#define CAM_PREVIEW_HINT_ID (0x0E00)
-#define SUSTAINED_PERF_HINT_ID (0x0F00)
-#define VR_MODE_HINT_ID (0x1000)
-#define VR_MODE_SUSTAINED_PERF_HINT_ID (0x1001)
-
-#define AOSP_DELTA (0x1200)
-
-#define VSYNC_HINT AOSP_DELTA + POWER_HINT_VSYNC
-#define INTERACTION_HINT AOSP_DELTA + POWER_HINT_INTERACTION
-#define VIDEO_DECODE_HINT AOSP_DELTA + POWER_HINT_VIDEO_DECODE
-#define VIDEO_ENCODE_HINT AOSP_DELTA + POWER_HINT_VIDEO_ENCODE
-#define LOW_POWER_HINT AOSP_DELTA + POWER_HINT_LOW_POWER
-#define SUSTAINED_PERF_HINT AOSP_DELTA + POWER_HINT_SUSTAINED_PERFORMANCE
-#define VR_MODE_HINT AOSP_DELTA + POWER_HINT_VR_MODE
-#define LAUNCH_HINT AOSP_DELTA + POWER_HINT_LAUNCH
-#define DISABLE_TOUCH_HINT AOSP_DELTA + POWER_HINT_DISABLE_TOUCH
-
-#define VR_MODE_SUSTAINED_PERF_HINT (0x1301)
-
-
-struct hint_data {
- unsigned long hint_id; /* This is our key. */
- unsigned long perflock_handle;
-};
-
-int hint_compare(struct hint_data *first_hint,
- struct hint_data *other_hint);
-void hint_dump(struct hint_data *hint);
diff --git a/power/list.h b/power/list.h
deleted file mode 100644
index d68c3df1..00000000
--- a/power/list.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2012, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of The Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-struct list_node {
- struct list_node *next;
- void *data;
- int (*compare)(void *data1, void *data2);
- void (*dump)(void *data);
-};
-
-int init_list_head(struct list_node *head);
-struct list_node * add_list_node(struct list_node *head, void *data);
-int remove_list_node(struct list_node *head, struct list_node *del_node);
-void dump_list(struct list_node *head);
-struct list_node *find_node(struct list_node *head, void *comparison_data);
diff --git a/power/metadata-defs.h b/power/metadata-defs.h
deleted file mode 100644
index c4649007..00000000
--- a/power/metadata-defs.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of The Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#define ATTRIBUTE_VALUE_DELIM ('=')
-#define ATTRIBUTE_STRING_DELIM (";")
-
-#define METADATA_PARSING_ERR (-1)
-#define METADATA_PARSING_CONTINUE (0)
-#define METADATA_PARSING_DONE (1)
-
-#define MIN(x,y) (((x)>(y))?(y):(x))
-
-struct video_encode_metadata_t {
- int hint_id;
- int state;
-};
-
-struct video_decode_metadata_t {
- int hint_id;
- int state;
-};
-
-int parse_metadata(char *metadata, char **metadata_saveptr,
- char *attribute, int attribute_size, char *value, int value_size);
-int parse_video_encode_metadata(char *metadata,
- struct video_encode_metadata_t *video_encode_metadata);
-int parse_video_decode_metadata(char *metadata,
- struct video_decode_metadata_t *video_decode_metadata);
diff --git a/power/performance.h b/power/performance.h
deleted file mode 100644
index b7bf34b2..00000000
--- a/power/performance.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Copyright (c) 2012, 2014, 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.
- *
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define FAILED -1
-#define SUCCESS 0
-#define INDEFINITE_DURATION 0
-
-/* Hints sent to perf HAL from power HAL
- * These have to be kept in sync with Perf HAL side definitions
- */
-#define VENDOR_HINT_DISPLAY_OFF 0x00001040
-#define VENDOR_HINT_DISPLAY_ON 0x00001041
-
-enum SCREEN_DISPLAY_TYPE {
- DISPLAY_OFF = 0x00FF,
-};
-
-enum PWR_CLSP_TYPE {
- ALL_CPUS_PWR_CLPS_DIS = 0x101,
-};
-
-/* For CPUx min freq, the leftmost byte
- * represents the CPU and the
- * rightmost byte represents the frequency
- * All intermediate frequencies on the
- * device are supported. The hex value
- * passed into PerfLock will be multiplied
- * by 10^5. This frequency or the next
- * highest frequency available will be set
- *
- * For example, if 1.4 Ghz is required on
- * CPU0, use 0x20E
- *
- * If the highest available frequency
- * on the device is required, use
- * CPUx_MIN_FREQ_TURBO_MAX
- * where x represents the CPU
- */
-enum CPU0_MIN_FREQ_LVL {
- CPU0_MIN_FREQ_NONTURBO_MAX = 0x20A,
- CPU0_MIN_FREQ_TURBO_MAX = 0x2FE,
-};
-
-enum CPU1_MIN_FREQ_LVL {
- CPU1_MIN_FREQ_NONTURBO_MAX = 0x30A,
- CPU1_MIN_FREQ_TURBO_MAX = 0x3FE,
-};
-
-enum CPU2_MIN_FREQ_LVL {
- CPU2_MIN_FREQ_NONTURBO_MAX = 0x40A,
- CPU2_MIN_FREQ_TURBO_MAX = 0x4FE,
-};
-
-enum CPU3_MIN_FREQ_LVL {
- CPU3_MIN_FREQ_NONTURBO_MAX = 0x50A,
- CPU3_MIN_FREQ_TURBO_MAX = 0x5FE,
-};
-
-enum CPU0_MAX_FREQ_LVL {
- CPU0_MAX_FREQ_NONTURBO_MAX = 0x150A,
-};
-
-enum CPU1_MAX_FREQ_LVL {
- CPU1_MAX_FREQ_NONTURBO_MAX = 0x160A,
-};
-
-enum CPU2_MAX_FREQ_LVL {
- CPU2_MAX_FREQ_NONTURBO_MAX = 0x170A,
-};
-
-enum CPU3_MAX_FREQ_LVL {
- CPU3_MAX_FREQ_NONTURBO_MAX = 0x180A,
-};
-
-enum MIN_CPUS_ONLINE_LVL {
- CPUS_ONLINE_MIN_2 = 0x702,
- CPUS_ONLINE_MIN_3 = 0x703,
- CPUS_ONLINE_MIN_4 = 0x704,
- CPUS_ONLINE_MPD_OVERRIDE = 0x777,
- CPUS_ONLINE_MAX = 0x7FF,
-};
-
-enum MAX_CPUS_ONLINE_LVL {
- CPUS_ONLINE_MAX_LIMIT_1 = 0x8FE,
- CPUS_ONLINE_MAX_LIMIT_2 = 0x8FD,
- CPUS_ONLINE_MAX_LIMIT_3 = 0x8FC,
- CPUS_ONLINE_MAX_LIMIT_4 = 0x8FB,
- CPUS_ONLINE_MAX_LIMIT_MAX = 0x8FB,
-};
-
-enum SAMPLING_RATE_LVL {
- MS_500 = 0xBCD,
- MS_50 = 0xBFA,
- MS_20 = 0xBFD,
-};
-
-enum ONDEMAND_IO_BUSY_LVL {
- IO_BUSY_OFF = 0xC00,
- IO_BUSY_ON = 0xC01,
-};
-
-enum ONDEMAND_SAMPLING_DOWN_FACTOR_LVL {
- SAMPLING_DOWN_FACTOR_1 = 0xD01,
- SAMPLING_DOWN_FACTOR_4 = 0xD04,
-};
-
-enum INTERACTIVE_TIMER_RATE_LVL {
- TR_MS_500 = 0xECD,
- TR_MS_100 = 0xEF5,
- TR_MS_50 = 0xEFA,
- TR_MS_30 = 0xEFC,
- TR_MS_20 = 0xEFD,
-};
-
-/* This timer rate applicable to cpu0
- across 8939 series chipset */
-enum INTERACTIVE_TIMER_RATE_LVL_CPU0_8939 {
- TR_MS_CPU0_500 = 0x30CD,
- TR_MS_CPU0_100 = 0x30F5,
- TR_MS_CPU0_50 = 0x30FA,
- TR_MS_CPU0_30 = 0x30FC,
- TR_MS_CPU0_20 = 0x30FD,
-};
-
-/* This timer rate applicable to cpu4
- across 8939 series chipset */
-enum INTERACTIVE_TIMER_RATE_LVL_CPU4_8939 {
- TR_MS_CPU4_500 = 0x3BCD,
- TR_MS_CPU4_100 = 0x3BF5,
- TR_MS_CPU4_50 = 0x3BFA,
- TR_MS_CPU4_30 = 0x3BFC,
- TR_MS_CPU4_20 = 0x3BFD,
-};
-
-/* This timer rate applicable to big.little arch */
-enum INTERACTIVE_TIMER_RATE_LVL_BIG_LITTLE {
- BIG_LITTLE_TR_MS_100 = 0x64,
- BIG_LITTLE_TR_MS_50 = 0x32,
- BIG_LITTLE_TR_MS_40 = 0x28,
- BIG_LITTLE_TR_MS_30 = 0x1E,
- BIG_LITTLE_TR_MS_20 = 0x14,
-};
-
-/* INTERACTIVE opcodes */
-enum INTERACTIVE_OPCODES {
- INT_OP_CLUSTER0_TIMER_RATE = 0x41424000,
- INT_OP_CLUSTER1_TIMER_RATE = 0x41424100,
- INT_OP_CLUSTER0_USE_SCHED_LOAD = 0x41430000,
- INT_OP_CLUSTER1_USE_SCHED_LOAD = 0x41430100,
- INT_OP_CLUSTER0_USE_MIGRATION_NOTIF = 0x41434000,
- INT_OP_CLUSTER1_USE_MIGRATION_NOTIF = 0x41434100,
- INT_OP_NOTIFY_ON_MIGRATE = 0x4241C000
-};
-
-enum INTERACTIVE_HISPEED_FREQ_LVL {
- HS_FREQ_1026 = 0xF0A,
-};
-
-enum INTERACTIVE_HISPEED_LOAD_LVL {
- HISPEED_LOAD_90 = 0x105A,
-};
-
-enum SYNC_FREQ_LVL {
- SYNC_FREQ_300 = 0x1103,
- SYNC_FREQ_600 = 0X1106,
- SYNC_FREQ_384 = 0x1103,
- SYNC_FREQ_NONTURBO_MAX = 0x110A,
- SYNC_FREQ_TURBO = 0x110F,
-};
-
-enum OPTIMAL_FREQ_LVL {
- OPTIMAL_FREQ_300 = 0x1203,
- OPTIMAL_FREQ_600 = 0x1206,
- OPTIMAL_FREQ_384 = 0x1203,
- OPTIMAL_FREQ_NONTURBO_MAX = 0x120A,
- OPTIMAL_FREQ_TURBO = 0x120F,
-};
-
-enum SCREEN_PWR_CLPS_LVL {
- PWR_CLPS_DIS = 0x1300,
- PWR_CLPS_ENA = 0x1301,
-};
-
-enum THREAD_MIGRATION_LVL {
- THREAD_MIGRATION_SYNC_OFF = 0x1400,
-};
-
-enum INTERACTIVE_IO_BUSY_LVL {
- INTERACTIVE_IO_BUSY_OFF = 0x1B00,
- INTERACTIVE_IO_BUSY_ON = 0x1B01,
-};
-
-enum SCHED_BOOST_LVL {
- SCHED_BOOST_ON = 0x1E01,
-};
-
-enum CPU4_MIN_FREQ_LVL {
- CPU4_MIN_FREQ_NONTURBO_MAX = 0x1F0A,
- CPU4_MIN_FREQ_TURBO_MAX = 0x1FFE,
-};
-
-enum CPU5_MIN_FREQ_LVL {
- CPU5_MIN_FREQ_NONTURBO_MAX = 0x200A,
- CPU5_MIN_FREQ_TURBO_MAX = 0x20FE,
-};
-
-enum CPU6_MIN_FREQ_LVL {
- CPU6_MIN_FREQ_NONTURBO_MAX = 0x210A,
- CPU6_MIN_FREQ_TURBO_MAX = 0x21FE,
-};
-
-enum CPU7_MIN_FREQ_LVL {
- CPU7_MIN_FREQ_NONTURBO_MAX = 0x220A,
- CPU7_MIN_FREQ_TURBO_MAX = 0x22FE,
-};
-
-enum CPU4_MAX_FREQ_LVL {
- CPU4_MAX_FREQ_NONTURBO_MAX = 0x230A,
-};
-
-enum CPU5_MAX_FREQ_LVL {
- CPU5_MAX_FREQ_NONTURBO_MAX = 0x240A,
-};
-
-enum CPU6_MAX_FREQ_LVL {
- CPU6_MAX_FREQ_NONTURBO_MAX = 0x250A,
-};
-
-enum CPU7_MAX_FREQ_LVL {
- CPU7_MAX_FREQ_NONTURBO_MAX = 0x260A,
-};
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/power/power-common.h b/power/power-common.h
deleted file mode 100644
index 5ba5e810..00000000
--- a/power/power-common.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2013, 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.
- */
-#define NODE_MAX (64)
-
-#define SCALING_GOVERNOR_PATH "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
-#define DCVS_CPU0_SLACK_MAX_NODE "/sys/module/msm_dcvs/cores/cpu0/slack_time_max_us"
-#define DCVS_CPU0_SLACK_MIN_NODE "/sys/module/msm_dcvs/cores/cpu0/slack_time_min_us"
-#define MPDECISION_SLACK_MAX_NODE "/sys/module/msm_mpdecision/slack_time_max_us"
-#define MPDECISION_SLACK_MIN_NODE "/sys/module/msm_mpdecision/slack_time_min_us"
-#define SCALING_MIN_FREQ "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"
-#define ONDEMAND_GOVERNOR "ondemand"
-#define INTERACTIVE_GOVERNOR "interactive"
-#define MSMDCVS_GOVERNOR "msm-dcvs"
-
-#define HINT_HANDLED (0)
-#define HINT_NONE (-1)
-
-enum CPU_GOV_CHECK {
- CPU0 = 0,
- CPU1 = 1,
- CPU2 = 2,
- CPU3 = 3
-};
diff --git a/power/powerhintparser.h b/power/powerhintparser.h
deleted file mode 100644
index 5f9cbe6f..00000000
--- a/power/powerhintparser.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* 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.
- *
- */
-
-#ifndef __POWERHINTPARSER__
-#define __POWERHINTPARSER__
-
-#define POWERHINT_XML "/vendor/etc/powerhint.xml"
-#define MAX_HINT 6
-#define MAX_PARAM 30
-
-typedef struct perflock_param_t {
- int type;
- int numParams;
- int paramList[MAX_PARAM];//static limit on number of hints - 15
-}perflock_param_t;
-
-static perflock_param_t powerhint[MAX_HINT];
-
-int parsePowerhintXML();
-int *getPowerhint(int, int*);
-
-#endif /* __POWERHINTPARSER__ */
diff --git a/power/utils.h b/power/utils.h
deleted file mode 100644
index 4c3dc7fe..00000000
--- a/power/utils.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2012-2013,2015-2017, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * 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.
- */
-
-#include <cutils/properties.h>
-
-int sysfs_read(char *path, char *s, int num_bytes);
-int sysfs_write(char *path, char *s);
-int get_scaling_governor(char governor[], int size);
-int get_scaling_governor_check_cores(char governor[], int size,int core_num);
-int is_interactive_governor(char*);
-
-void vote_ondemand_io_busy_off();
-void unvote_ondemand_io_busy_off();
-void vote_ondemand_sdf_low();
-void unvote_ondemand_sdf_low();
-void perform_hint_action(int hint_id, int resource_values[],
- int num_resources);
-void undo_hint_action(int hint_id);
-void release_request(int lock_handle);
-int interaction_with_handle(int lock_handle, int duration, int num_args, int opt_list[]);
-int perf_hint_enable(int hint_id, int duration);
diff --git a/powerhint.json b/powerhint.json
index a4495e41..a80eb799 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -434,7 +434,7 @@
},
{
"Name": "UfsClkGateEnable",
- "Path": "/sys/devices/platform/soc/1d84000.ufshc/clkgate_enable",
+ "Path": "/dev/sys/block/bootdevice/clkgate_enable",
"Values": [
"0",
"1"
@@ -442,6 +442,15 @@
"ResetOnInit": true
},
{
+ "Name": "F2fsRecessModeEnable",
+ "Path": "/dev/sys/fs/by-name/userdata/gc_urgent",
+ "Values": [
+ "2",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "PowerHALMainState",
"Path": "vendor.powerhal.state",
"Values": [
@@ -582,6 +591,12 @@
"Value": "0"
},
{
+ "PowerHint": "DEVICE_IDLE",
+ "Node": "F2fsRecessModeEnable",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
"PowerHint": "LAUNCH",
"Node": "TASchedtuneHighCap",
"Duration": 5000,
diff --git a/powerstats/RailDataProvider.cpp b/powerstats/RailDataProvider.cpp
index 9dfbbb83..d78bc717 100644
--- a/powerstats/RailDataProvider.cpp
+++ b/powerstats/RailDataProvider.cpp
@@ -210,7 +210,6 @@ Return<void> RailDataProvider::getEnergyData(const hidl_vec<uint32_t>& railIndic
std::lock_guard<std::mutex> _lock(mOdpm.mLock);
Status ret = parseIioEnergyNodes();
if (ret != Status::SUCCESS) {
- ALOGE("Failed to getEnergyData");
_hidl_cb(eVal, ret);
return Void();
}
diff --git a/powerstats/service.cpp b/powerstats/service.cpp
index e83c54ce..2ac4da79 100644
--- a/powerstats/service.cpp
+++ b/powerstats/service.cpp
@@ -79,8 +79,7 @@ int main(int /* argc */, char ** /* argv */) {
.lastEntryPrefix = "Sleep Last Entered At:",
.lastEntryTransform = rpmConvertToMs}};
- sp<GenericStateResidencyDataProvider> rpmSdp =
- new GenericStateResidencyDataProvider("/sys/power/rpmh_stats/master_stats");
+ auto rpmSdp = sp<GenericStateResidencyDataProvider>::make("/sys/power/rpmh_stats/master_stats");
uint32_t apssId = service->addPowerEntity("APSS", PowerEntityType::SUBSYSTEM);
rpmSdp->addEntity(apssId, PowerEntityConfig("APSS", rpmStateResidencyConfigs));
@@ -116,8 +115,7 @@ int main(int /* argc */, char ** /* argv */) {
.totalTimePrefix = "actual last sleep(msec):",
.lastEntrySupported = false}};
- sp<GenericStateResidencyDataProvider> socSdp =
- new GenericStateResidencyDataProvider("/sys/power/system_sleep/stats");
+ auto socSdp = sp<GenericStateResidencyDataProvider>::make("/sys/power/system_sleep/stats");
uint32_t socId = service->addPowerEntity("SoC", PowerEntityType::POWER_DOMAIN);
socSdp->addEntity(socId, PowerEntityConfig(socStateResidencyConfigs));
@@ -127,19 +125,20 @@ int main(int /* argc */, char ** /* argv */) {
if (isDebuggable) {
// Add WLAN power entity
uint32_t wlanId = service->addPowerEntity("WLAN", PowerEntityType::SUBSYSTEM);
- sp<WlanStateResidencyDataProvider> wlanSdp =
- new WlanStateResidencyDataProvider(wlanId, "/sys/kernel/wifi/power_stats");
+ auto wlanSdp = sp<WlanStateResidencyDataProvider>::make(wlanId,
+ "/sys/kernel/wifi/power_stats");
service->addStateResidencyDataProvider(wlanSdp);
}
uint32_t displayId = service->addPowerEntity("Display", PowerEntityType::SUBSYSTEM);
- sp<DisplayStateResidencyDataProvider> displaySdp =
- new DisplayStateResidencyDataProvider(displayId,
- "/sys/class/backlight/panel0-backlight/state", {"Off", "LP", "1080x2340@60", "1080x2340@90"});
+ auto displaySdp =
+ sp<DisplayStateResidencyDataProvider>::make(displayId,
+ "/sys/class/backlight/panel0-backlight/state",
+ std::vector<std::string>{"Off", "LP", "1080x2340@60", "1080x2340@90"});
service->addStateResidencyDataProvider(displaySdp);
// Add Power Entities that require the Aidl data provider
- sp<AidlStateResidencyDataProvider> aidlSdp = new AidlStateResidencyDataProvider();
+ auto aidlSdp = sp<AidlStateResidencyDataProvider>::make();
uint32_t citadelId = service->addPowerEntity("Citadel", PowerEntityType::SUBSYSTEM);
aidlSdp->addEntity(citadelId, "Citadel", {"Last-Reset", "Active", "Deep-Sleep"});
diff --git a/product.prop b/product.prop
index 81171da7..2a014a48 100644
--- a/product.prop
+++ b/product.prop
@@ -90,7 +90,7 @@ persist.data.mode=concurrent
# System props to enable Bluetooth Quality Report (BQR) feature
# BQR event mask configuration
-persist.bluetooth.bqr.event_mask=14
+persist.bluetooth.bqr.event_mask=30
# BQR minimum report interval configuration
persist.bluetooth.bqr.min_interval_ms=500
diff --git a/redbull_allowlist.mk b/redbull_allowlist.mk
new file mode 100644
index 00000000..3d9a79fe
--- /dev/null
+++ b/redbull_allowlist.mk
@@ -0,0 +1,2 @@
+PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
+ system/lib64/android.hardware.thermal@2.0.so
diff --git a/rro_overlays/ConnectivityOverlay/Android.bp b/rro_overlays/ConnectivityOverlay/Android.bp
new file mode 100644
index 00000000..e76c15a3
--- /dev/null
+++ b/rro_overlays/ConnectivityOverlay/Android.bp
@@ -0,0 +1,9 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+runtime_resource_overlay {
+ name: "ConnectivityOverlay",
+ sdk_version: "current",
+ product_specific: true
+}
diff --git a/rro_overlays/ConnectivityOverlay/AndroidManifest.xml b/rro_overlays/ConnectivityOverlay/AndroidManifest.xml
new file mode 100644
index 00000000..f349b7fb
--- /dev/null
+++ b/rro_overlays/ConnectivityOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 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.
+-->
+<!-- Pixel specific connectivity overlays -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.connectivity.resources.overlay"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <application android:hasCode="false" />
+ <overlay
+ android:targetPackage="com.android.connectivity.resources"
+ android:targetName="ServiceConnectivityResourcesConfig"
+ android:isStatic="true"
+ android:priority="0"/>
+</manifest>
diff --git a/rro_overlays/ConnectivityOverlay/res/values/config.xml b/rro_overlays/ConnectivityOverlay/res/values/config.xml
new file mode 100644
index 00000000..d9a29b07
--- /dev/null
+++ b/rro_overlays/ConnectivityOverlay/res/values/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2021 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.
+ */
+-->
+<resources>
+ <!-- If the hardware supports specially marking packets that caused a wakeup of the
+ main CPU, set this value to the mark used. -->
+ <integer translatable="false" name="config_networkWakeupPacketMark">0x80000000</integer>
+
+ <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
+ <integer translatable="false" name="config_networkWakeupPacketMask">0x80000000</integer>
+</resources>
diff --git a/rro_overlays/WifiOverlay/OWNERS b/rro_overlays/WifiOverlay/OWNERS
index efe20f15..cd92d6fa 100644
--- a/rro_overlays/WifiOverlay/OWNERS
+++ b/rro_overlays/WifiOverlay/OWNERS
@@ -1,5 +1,5 @@
# People who can approve changes for submission
etancohen@google.com
-kumaranand@google.com
+arabawy@google.com
kumachang@google.com
satk@google.com
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 373f400d..a29458ea 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -109,4 +109,7 @@
b/160239223: Rx time is excluded in cca busy time and channel utilization is calculated
correctly during heavy DL traffic -->
<bool translatable="false" name="config_wifiChannelUtilizationOverrideEnabled">false</bool>
+
+ <!-- Whether to use the explicit vendor HAL API: IWifiStaIface.setRoamingState for disabling fw roaming. -->
+ <bool translatable="false" name="config_wifiUseHalApiToDisableFwRoaming">true</bool>
</resources>
diff --git a/ueventd.rc b/ueventd.rc
index 9bf82306..ee63deee 100644
--- a/ueventd.rc
+++ b/ueventd.rc
@@ -154,3 +154,12 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/logbuffer_ttf 0640 system system
/dev/logbuffer_wireless 0640 system system
/dev/logbuffer_rtx 0640 system system
+
+# pixelstat
+/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/id_header 0444 system system
+/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/product 0444 system system
+
+# Input
+/sys/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.2.auto/usb1/1-1/*/*/leds/* brightness 0660 system system
+/sys/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.2.auto/usb1/1-1/*/*/leds/* multi_intensity 0660 system system
+