Merge tm-dev-plus-aosp-without-vendor@8763363
Bug: 236760014 Merged-In: I3765847b9c2074e1501646675fed7109a7a73230 Change-Id: Idb4a38c1a7e263037d990ff16bbb65348ec11cf6
This commit is contained in:
commit
351e85eedb
117 changed files with 8619 additions and 8126 deletions
|
@ -32,7 +32,9 @@ TARGET_CPU_ABI := arm64-v8a
|
|||
TARGET_CPU_VARIANT := cortex-a55
|
||||
TARGET_CPU_VARIANT_RUNTIME := cortex-a55
|
||||
|
||||
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
||||
DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
|
||||
|
||||
ifneq ($(DEVICE_IS_64BIT_ONLY),true)
|
||||
TARGET_2ND_ARCH := arm
|
||||
TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||
|
@ -44,7 +46,6 @@ endif
|
|||
BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
|
||||
BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
|
||||
BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
|
||||
BOARD_KERNEL_CMDLINE += stack_depot_disable=off page_pinner=on
|
||||
BOARD_KERNEL_CMDLINE += swiotlb=noforce
|
||||
BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
|
||||
|
||||
|
@ -183,6 +184,9 @@ BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
|
|||
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
|
||||
BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
|
||||
|
||||
# Testing related defines
|
||||
BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/r4o6-setup.sh
|
||||
|
||||
#
|
||||
# AUDIO & VOICE
|
||||
#
|
||||
|
@ -311,22 +315,6 @@ BOARD_VNDK_VERSION := current
|
|||
# H/W align restriction of MM IPs
|
||||
BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
|
||||
|
||||
# WiFi
|
||||
BOARD_WLAN_DEVICE := bcmdhd
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
# Wifi interface combination - {1 STA + 1 AP (bridged or single)} or {1 STA + 1 P2P}
|
||||
# or {1 STA + 1 NAN} or {2 STA}
|
||||
WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 1}, {{P2P, NAN, AP}, 1}}, {{{STA}, 2}}
|
||||
WIFI_FEATURE_WIFI_EXT_HAL := true
|
||||
WIFI_FEATURE_IMU_DETECTION := true
|
||||
# Avoid Wifi reset on MAC Address change
|
||||
WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true
|
||||
WIFI_FEATURE_HOSTAPD_11AX := true
|
||||
|
||||
# NeuralNetworks
|
||||
GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall)
|
||||
GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/gs101/prebuilts/gpu/libs)
|
||||
|
@ -361,11 +349,11 @@ BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
|
|||
# Vendor ramdisk image for kernel development
|
||||
BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
|
||||
|
||||
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := device/google/gs101/vendor_dlkm.blocklist
|
||||
|
||||
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)
|
||||
KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
|
||||
|
||||
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
|
||||
|
||||
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
|
||||
ifndef BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD
|
||||
$(error vendor_boot.modules.load not found or empty)
|
||||
|
@ -389,4 +377,7 @@ BOARD_KERNEL_CMDLINE += at24.write_timeout=100
|
|||
# Enable larger logbuf
|
||||
BOARD_KERNEL_CMDLINE += log_buf_len=1024K
|
||||
|
||||
# Protected VM firmware
|
||||
BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000
|
||||
|
||||
-include vendor/google_devices/gs101/proprietary/BoardConfigVendor.mk
|
||||
|
|
20
CleanSpec.mk
20
CleanSpec.mk
|
@ -65,13 +65,13 @@ $(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/init/android.hardware.pow
|
|||
# Health storage HAL
|
||||
$(call add-clean-step, find $(PRODUCT_OUT) -type f -name "*android.hardware.health.storage@1.0*" -print0 | xargs -0 rm -f)
|
||||
|
||||
# Update to USB HAL 1.3
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb@1.2-service.slider)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb@1.2-service.slider.rc)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.slider.xml)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb@1.3-service.slider)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb@1.3-service.slider.rc)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb@1.3-service.slider.xml)
|
||||
# USB HAL to AIDL
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb-service.gs101)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb.gadget-service.gs101)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb-service.rc)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb.gadget-service-gs101.rc)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb-service.xml)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb.gadget@1.2-service.gs101.xml)
|
||||
|
||||
# Power Stats HAL 1.0 to AIDL
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.power.stats@1.0-service.gs101)
|
||||
|
@ -83,3 +83,9 @@ $(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.keyma
|
|||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/init/android.hardware.keymaster@4.0-service.trusty.rc)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.keymaster@4.0-service.trusty.xml)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/wait_for_strongbox)
|
||||
|
||||
# Health HAL to AIDL
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/system -type f -name "*charger*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/vendor -type f -name "*health@*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/recovery/root -type f -name "*charger*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/recovery/root -type f -name "*health@*" -print0 | xargs -0 rm -f)
|
||||
|
|
2
OWNERS
Normal file
2
OWNERS
Normal file
|
@ -0,0 +1,2 @@
|
|||
per-file powerhint.json = wvw@google.com,joaodias@google.com,jenhaochen@google.com,rkganesh@google.com,jychen@google.com
|
||||
per-file powerhint.json = wvw@google.com,joaodias@google.com,jenhaochen@google.com,rkganesh@google.com,jychen@google.com
|
|
@ -17,11 +17,14 @@
|
|||
#
|
||||
# All components inherited here go to system image
|
||||
#
|
||||
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
else
|
||||
DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
|
||||
|
||||
ifeq ($(DEVICE_IS_64BIT_ONLY),true)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
|
||||
else
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
endif
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
|
||||
|
||||
# Enable CSI checking
|
||||
|
|
4
bluetooth/bluetooth.mk
Normal file
4
bluetooth/bluetooth.mk
Normal file
|
@ -0,0 +1,4 @@
|
|||
PRODUCT_PACKAGES += \
|
||||
android.hardware.bluetooth@1.1-service.bcmbtlinux
|
||||
|
||||
BOARD_SEPOLICY_DIRS += device/google/gs101-sepolicy/bluetooth
|
|
@ -24,6 +24,12 @@
|
|||
// identical with the exception of the encryption settings, so to keep them in
|
||||
// sync the rules below generate them from a template file.
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"device/google/gs101",
|
||||
],
|
||||
}
|
||||
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
|
@ -33,6 +39,11 @@ package {
|
|||
default_applicable_licenses: ["device_google_gs101_license"],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "gs101_srcs",
|
||||
srcs: ["fstab.gs101.in"],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "gen_fstab.gs101",
|
||||
srcs: ["fstab.gs101.in"],
|
||||
|
|
|
@ -17,6 +17,6 @@ vendor_dlkm /vendor_dlkm
|
|||
/dev/block/platform/14700000.ufs/by-name/misc /misc emmc defaults wait
|
||||
/dev/block/platform/14700000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum
|
||||
/dev/block/platform/14700000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount
|
||||
/dev/block/platform/14700000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt,compress_extension=apk,compress_extension=apex,compress_extension=so,atgc,checkpoint_merge latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fileencryption=@fileencryption@,metadata_encryption=@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,fscompress,readahead_size_kb=128
|
||||
/dev/block/platform/14700000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt,atgc,checkpoint_merge latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fileencryption=@fileencryption@,metadata_encryption=@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,fscompress,readahead_size_kb=128
|
||||
/dev/block/platform/14700000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount
|
||||
/devices/platform/11110000.usb* auto vfat defaults voldmanaged=usb:auto
|
||||
|
|
|
@ -3,17 +3,6 @@ import android.hardware.drm@1.2-service.widevine.rc
|
|||
import init.exynos.sensorhub.rc
|
||||
import /vendor/etc/init/hw/init.aoc.rc
|
||||
|
||||
service vendor.charger /system/bin/charger
|
||||
class charger
|
||||
seclabel u:r:charger:s0
|
||||
user system
|
||||
group system wakelock input
|
||||
capabilities SYS_BOOT
|
||||
file /dev/kmsg w
|
||||
file /sys/fs/pstore/console-ramoops-0 r
|
||||
file /sys/fs/pstore/console-ramoops r
|
||||
file /proc/last_kmsg r
|
||||
|
||||
on early-init
|
||||
mount_all /vendor/etc/fstab.persist --early
|
||||
|
||||
|
@ -29,29 +18,75 @@ on init
|
|||
write /dev/sys/fs/by-name/userdata/data_io_flag 56
|
||||
write /dev/sys/fs/by-name/userdata/node_io_flag 56
|
||||
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_bg
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_cam
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_fg
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_nnapi
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_sys
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_sysbg
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_ta
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_rt
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_sf
|
||||
chown system system /sys/kernel/vendor_sched/set_task_group_dex2oat
|
||||
chown system system /sys/kernel/vendor_sched/clear_group
|
||||
chown system system /proc/vendor_sched/set_task_group_bg
|
||||
chown system system /proc/vendor_sched/set_task_group_cam
|
||||
chown system system /proc/vendor_sched/set_task_group_fg
|
||||
chown system system /proc/vendor_sched/set_task_group_nnapi
|
||||
chown system system /proc/vendor_sched/set_task_group_sys
|
||||
chown system system /proc/vendor_sched/set_task_group_sysbg
|
||||
chown system system /proc/vendor_sched/set_task_group_ta
|
||||
chown system system /proc/vendor_sched/set_task_group_rt
|
||||
chown system system /proc/vendor_sched/set_task_group_sf
|
||||
chown system system /proc/vendor_sched/set_task_group_dex2oat
|
||||
chown system system /proc/vendor_sched/set_task_group_cam_power
|
||||
chown system system /proc/vendor_sched/set_task_group_ota
|
||||
chown system system /proc/vendor_sched/set_proc_group_bg
|
||||
chown system system /proc/vendor_sched/set_proc_group_cam
|
||||
chown system system /proc/vendor_sched/set_proc_group_fg
|
||||
chown system system /proc/vendor_sched/set_proc_group_nnapi
|
||||
chown system system /proc/vendor_sched/set_proc_group_sys
|
||||
chown system system /proc/vendor_sched/set_proc_group_sysbg
|
||||
chown system system /proc/vendor_sched/set_proc_group_ta
|
||||
chown system system /proc/vendor_sched/set_proc_group_rt
|
||||
chown system system /proc/vendor_sched/set_proc_group_sf
|
||||
chown system system /proc/vendor_sched/set_proc_group_dex2oat
|
||||
chown system system /proc/vendor_sched/set_proc_group_cam_power
|
||||
chown system system /proc/vendor_sched/set_proc_group_ota
|
||||
chown system system /proc/vendor_sched/prefer_idle_set
|
||||
chown system system /proc/vendor_sched/prefer_idle_clear
|
||||
chown system system /proc/vendor_sched/pmu_poll_enable
|
||||
chown system system /proc/vendor_sched/pmu_poll_time
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/lcpi_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/spc_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable
|
||||
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_bg
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_cam
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_fg
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_nnapi
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_sys
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_sysbg
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_ta
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_rt
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_sf
|
||||
chmod 0220 /sys/kernel/vendor_sched/set_task_group_dex2oat
|
||||
chmod 0220 /sys/kernel/vendor_sched/clear_group
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_bg
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_cam
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_fg
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_nnapi
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_sys
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_sysbg
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_ta
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_rt
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_sf
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_dex2oat
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_cam_power
|
||||
chmod 0220 /proc/vendor_sched/set_task_group_ota
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_bg
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_cam
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_fg
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_nnapi
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_sys
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_sysbg
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_ta
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_rt
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_sf
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_dex2oat
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_cam_power
|
||||
chmod 0220 /proc/vendor_sched/set_proc_group_ota
|
||||
chmod 0220 /proc/vendor_sched/prefer_idle_set
|
||||
chmod 0220 /proc/vendor_sched/prefer_idle_clear
|
||||
chmod 0220 /proc/vendor_sched/pmu_poll_enable
|
||||
chmod 0220 /proc/vendor_sched/pmu_poll_time
|
||||
|
||||
wait /dev/block/platform/${ro.boot.boot_devices}
|
||||
symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
|
||||
|
@ -68,10 +103,6 @@ on init
|
|||
write /sys/block/zram0/comp_algorithm lz77eh
|
||||
write /proc/sys/vm/page-cluster 0
|
||||
|
||||
# Page Pinner dumping at bugreport
|
||||
chown system system /sys/kernel/debug/page_pinner/longterm_pinner
|
||||
chown system system /sys/kernel/debug/page_pinner/alloc_contig_failed
|
||||
|
||||
# Some user code relies on ro.boot.hardware.revision
|
||||
setprop ro.boot.hardware.revision ${ro.revision}
|
||||
|
||||
|
@ -117,12 +148,12 @@ on init
|
|||
mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
|
||||
|
||||
# Boot time 183626384
|
||||
write /sys/kernel/vendor_sched/ta_uclamp_min 1024
|
||||
write /sys/kernel/vendor_sched/ta_prefer_idle 1
|
||||
write /sys/kernel/vendor_sched/fg_uclamp_min 1024
|
||||
write /sys/kernel/vendor_sched/fg_prefer_idle 1
|
||||
write /sys/kernel/vendor_sched/sys_uclamp_min 1024
|
||||
write /sys/kernel/vendor_sched/sys_prefer_idle 1
|
||||
write /proc/vendor_sched/ta_uclamp_min 1024
|
||||
write /proc/vendor_sched/ta_prefer_idle 1
|
||||
write /proc/vendor_sched/fg_uclamp_min 1024
|
||||
write /proc/vendor_sched/fg_prefer_idle 1
|
||||
write /proc/vendor_sched/sys_uclamp_min 1024
|
||||
write /proc/vendor_sched/sys_prefer_idle 1
|
||||
|
||||
# governor setting
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
|
||||
|
@ -163,8 +194,8 @@ on init
|
|||
chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks
|
||||
chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks
|
||||
|
||||
write /sys/kernel/vendor_sched/cam_prefer_idle 1
|
||||
write /sys/kernel/vendor_sched/cam_uclamp_min 1
|
||||
write /proc/vendor_sched/cam_prefer_idle 1
|
||||
write /proc/vendor_sched/cam_uclamp_min 1
|
||||
|
||||
chown system system /dev/cpuset/cgroup.procs
|
||||
|
||||
|
@ -198,6 +229,9 @@ on init
|
|||
chown system system /sys/class/power_supply/maxfg_base/m5_model_state
|
||||
|
||||
# Dump eeprom
|
||||
chown system system /sys/devices/platform/10970000.hsi2c/i2c-8/8-0050/eeprom
|
||||
chown system system /sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom
|
||||
chown system system /sys/devices/platform/10970000.hsi2c/i2c-6/6-0050/eeprom
|
||||
chown system system /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom
|
||||
chown system system /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom
|
||||
chown system system /dev/battery_history
|
||||
|
@ -217,6 +251,9 @@ on init
|
|||
# Wireless Charge stats (write 0)
|
||||
chown system system /sys/class/power_supply/wireless/device/charge_stats
|
||||
|
||||
# Thermal Charge stats (write 0)
|
||||
chown system system /sys/devices/platform/google,charger/thermal_stats
|
||||
|
||||
# Permission for wireless charging
|
||||
chown system system /sys/class/power_supply/wireless/capacity
|
||||
chown system system /sys/class/power_supply/wireless/device/rtx
|
||||
|
@ -268,8 +305,8 @@ on init
|
|||
start watchdogd
|
||||
|
||||
# Add a boost for NNAPI HAL
|
||||
write /sys/kernel/vendor_sched/nnapi_prefer_idle 0
|
||||
write /sys/kernel/vendor_sched/nnapi_uclamp_min 512
|
||||
write /proc/vendor_sched/nnapi_prefer_idle 0
|
||||
write /proc/vendor_sched/nnapi_uclamp_min 512
|
||||
|
||||
# Add memlat governor settings
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/polling_interval 10
|
||||
|
@ -394,7 +431,7 @@ on post-fs-data
|
|||
on zygote-start
|
||||
# For PixelLogger configuration file.
|
||||
chmod 0771 /data/vendor/wifi
|
||||
write /sys/kernel/vendor_sched/sys_uclamp_min 0
|
||||
write /proc/vendor_sched/sys_uclamp_min 0
|
||||
|
||||
on post-fs-data
|
||||
# Create the directories used by the Wireless subsystem
|
||||
|
@ -546,32 +583,33 @@ on fs
|
|||
chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit
|
||||
chown system system /sys/module/drm/parameters/vblankoffdelay
|
||||
chown system system /sys/class/dqe/atc/ambient_light
|
||||
chown system system /sys/class/dqe/atc/st
|
||||
chown system system /sys/class/dqe/atc/en
|
||||
chown system system /sys/class/dqe/atc/lt
|
||||
chown system system /sys/class/dqe/atc/ns
|
||||
chown system system /sys/class/dqe/atc/dither
|
||||
chown system system /sys/class/dqe/atc/pl_w1
|
||||
chown system system /sys/class/dqe/atc/pl_w2
|
||||
chown system system /sys/class/dqe/atc/ctmode
|
||||
chown system system /sys/class/dqe/atc/pp_en
|
||||
chown system system /sys/class/dqe/atc/upgrade_on
|
||||
chown system system /sys/class/dqe/atc/tdr_max
|
||||
chown system system /sys/class/dqe/atc/tdr_min
|
||||
chown system system /sys/class/dqe/atc/back_light
|
||||
chown system system /sys/class/dqe/atc/dstep
|
||||
chown system system /sys/class/dqe/atc/scale_mode
|
||||
chown system system /sys/class/dqe/atc/threshold_1
|
||||
chown system system /sys/class/dqe/atc/threshold_2
|
||||
chown system system /sys/class/dqe/atc/threshold_3
|
||||
chown system system /sys/class/dqe/atc/gain_limit
|
||||
chown system system /sys/class/dqe/atc/lt_calc_ab_shift
|
||||
chown system system /sys/class/dqe0/atc/ambient_light
|
||||
chown system system /sys/class/dqe0/atc/st
|
||||
chown system system /sys/class/dqe0/atc/en
|
||||
chown system system /sys/class/dqe0/atc/lt
|
||||
chown system system /sys/class/dqe0/atc/ns
|
||||
chown system system /sys/class/dqe0/atc/dither
|
||||
chown system system /sys/class/dqe0/atc/pl_w1
|
||||
chown system system /sys/class/dqe0/atc/pl_w2
|
||||
chown system system /sys/class/dqe0/atc/ctmode
|
||||
chown system system /sys/class/dqe0/atc/pp_en
|
||||
chown system system /sys/class/dqe0/atc/upgrade_on
|
||||
chown system system /sys/class/dqe0/atc/tdr_max
|
||||
chown system system /sys/class/dqe0/atc/tdr_min
|
||||
chown system system /sys/class/dqe0/atc/back_light
|
||||
chown system system /sys/class/dqe0/atc/dstep
|
||||
chown system system /sys/class/dqe0/atc/scale_mode
|
||||
chown system system /sys/class/dqe0/atc/threshold_1
|
||||
chown system system /sys/class/dqe0/atc/threshold_2
|
||||
chown system system /sys/class/dqe0/atc/threshold_3
|
||||
chown system system /sys/class/dqe0/atc/gain_limit
|
||||
chown system system /sys/class/dqe0/atc/lt_calc_ab_shift
|
||||
chown system system /sys/devices/platform/1c300000.drmdecon/early_wakeup
|
||||
chmod 0220 /sys/devices/platform/1c300000.drmdecon/early_wakeup
|
||||
chmod 0660 /sys/devices/platform/1c300000.drmdecon/early_wakeup
|
||||
chown system system /sys/devices/platform/1c302000.drmdecon/early_wakeup
|
||||
chmod 0220 /sys/devices/platform/1c302000.drmdecon/early_wakeup
|
||||
chmod 0660 /sys/devices/platform/1c302000.drmdecon/early_wakeup
|
||||
|
||||
# Copy DRM Key
|
||||
# copy /system/app/wv.keys /factory/wv.keys
|
||||
|
@ -597,11 +635,7 @@ service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
|
|||
-O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1p2p_device=1 \
|
||||
-m/vendor/etc/wifi/p2p_supplicant.conf \
|
||||
-g@android:wpa_wlan0 -dd
|
||||
interface android.hardware.wifi.supplicant@1.0::ISupplicant default
|
||||
interface android.hardware.wifi.supplicant@1.1::ISupplicant default
|
||||
interface android.hardware.wifi.supplicant@1.2::ISupplicant default
|
||||
interface android.hardware.wifi.supplicant@1.3::ISupplicant default
|
||||
interface android.hardware.wifi.supplicant@1.4::ISupplicant default
|
||||
interface aidl android.hardware.wifi.supplicant.ISupplicant/default
|
||||
socket wpa_wlan0 dgram 660 wifi wifi
|
||||
class main
|
||||
disabled
|
||||
|
@ -653,6 +687,8 @@ on property:vendor.device.modules.ready=1
|
|||
chown system system /sys/devices/virtual/sec/tsp/cmd
|
||||
chown system system /sys/devices/virtual/sec/tsp/cmd_result
|
||||
chown system system /sys/devices/virtual/sec/tsp/status
|
||||
chown system system /sys/class/spi_master/spi11/spi11.0/input/nvt_touch/force_touch_active
|
||||
chown system system /sys/class/spi_master/spi11/spi11.0/input/nvt_touch/nvt_dttw_mode
|
||||
# Allow access to touch
|
||||
chown system input /dev/touch_offload
|
||||
chmod 660 /dev/touch_offload
|
||||
|
@ -693,10 +729,6 @@ on property:sys.boot_completed=1
|
|||
chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
|
||||
chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
|
||||
|
||||
# Block layer tuning: discard chunk size up to 128MB
|
||||
# Otherwise, contiguous discards can be merged
|
||||
write /sys/block/sda/queue/discard_max_bytes 134217728
|
||||
|
||||
# Enable ZRAM on boot_complete
|
||||
swapon_all /vendor/etc/fstab.${ro.board.platform}
|
||||
write /proc/sys/vm/swappiness 100
|
||||
|
@ -708,36 +740,57 @@ on property:sys.boot_completed=1
|
|||
# Enable UFS powersaving
|
||||
write /dev/sys/block/bootdevice/clkgate_enable 1
|
||||
|
||||
# Reset DDR frequency
|
||||
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
|
||||
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
|
||||
|
||||
# Setup final cpuset
|
||||
write /dev/cpuset/top-app/cpus 0-7
|
||||
write /dev/cpuset/foreground/cpus 0-3,4-5
|
||||
write /dev/cpuset/background/cpus 0-1
|
||||
write /dev/cpuset/system-background/cpus 0-3
|
||||
write /dev/cpuset/restricted/cpus 0-3
|
||||
write /dev/cpuset/camera-daemon/cpus 0-7
|
||||
write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
|
||||
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
|
||||
write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-1}
|
||||
write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
|
||||
write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
|
||||
write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
|
||||
setprop vendor.powerhal.init 1
|
||||
|
||||
# Setup final cpu.uclamp
|
||||
write /sys/kernel/vendor_sched/ta_uclamp_min 1
|
||||
write /sys/kernel/vendor_sched/fg_uclamp_min 0
|
||||
write /sys/kernel/vendor_sched/sys_prefer_idle 0
|
||||
write /proc/vendor_sched/uclamp_threshold 8
|
||||
write /proc/vendor_sched/ta_uclamp_min 1
|
||||
write /proc/vendor_sched/fg_uclamp_min 0
|
||||
write /proc/vendor_sched/sys_prefer_idle 0
|
||||
# cfs_rq clamp is using tg->uclamp setting
|
||||
# align it with the vendor_group setting
|
||||
write /sys/kernel/vendor_sched/bg_uclamp_max 512
|
||||
write /proc/vendor_sched/bg_uclamp_max 512
|
||||
write /dev/cpuctl/background/cpu.uclamp.max 50
|
||||
write /sys/kernel/vendor_sched/bg_group_throttle 512
|
||||
write /sys/kernel/vendor_sched/sysbg_uclamp_max 512
|
||||
write /proc/vendor_sched/sysbg_uclamp_max 512
|
||||
write /dev/cpuctl/system-background/cpu.uclamp.max 50
|
||||
write /sys/kernel/vendor_sched/sysbg_group_throttle 512
|
||||
write /sys/kernel/vendor_sched/dex2oat_uclamp_max 615
|
||||
write /proc/vendor_sched/dex2oat_uclamp_max 615
|
||||
write /dev/cpuctl/dex2oat/cpu.uclamp.max 60
|
||||
write /sys/kernel/vendor_sched/dex2oat_group_throttle 615
|
||||
write /proc/vendor_sched/ota_uclamp_max 410
|
||||
|
||||
# Set PMU freq limit parameters
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold 2
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold 59
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency 1401000
|
||||
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/lcpi_threshold 6
|
||||
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold 64
|
||||
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency 1826000
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/lcpi_threshold 5
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/spc_threshold 69
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency 2507000
|
||||
write /proc/vendor_sched/pmu_poll_time 10
|
||||
|
||||
# Disable PMU freq limit
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1
|
||||
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable 1
|
||||
write /proc/vendor_sched/pmu_poll_enable 0
|
||||
|
||||
# Setup groups for SF (RT used for SF RE, SF used for SF main)
|
||||
write /sys/kernel/vendor_sched/rt_uclamp_min 125
|
||||
write /sys/kernel/vendor_sched/rt_prefer_idle 1
|
||||
write /sys/kernel/vendor_sched/sf_uclamp_min 30
|
||||
write /sys/kernel/vendor_sched/sf_prefer_idle 1
|
||||
write /proc/vendor_sched/rt_uclamp_min 161
|
||||
write /proc/vendor_sched/rt_prefer_idle 1
|
||||
write /proc/vendor_sched/sf_uclamp_min 39
|
||||
write /proc/vendor_sched/sf_prefer_idle 1
|
||||
|
||||
# Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%)
|
||||
write /dev/cpuctl/background/cpu.shares 1024
|
||||
|
@ -758,11 +811,8 @@ on property:sys.boot_completed=1
|
|||
chown root system /sys/devices/platform/19000000.aoc/reset
|
||||
chmod 0220 /sys/devices/platform/19000000.aoc/reset
|
||||
|
||||
# charger driver exposes now finer grain control, map demo mode to those properties
|
||||
# NOTE: demo mode can only be exit wiping data (which reset the persist properties)
|
||||
on property:sys.retaildemo.enabled=1
|
||||
setprop persist.vendor.charge.stop.level 35
|
||||
setprop persist.vendor.charge.start.level 30
|
||||
# write serialno to battery path for pairing
|
||||
write /sys/class/power_supply/battery/dev_sn ${ro.boot.serialno}
|
||||
|
||||
# Test Harness Mode default battery profile.
|
||||
on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0
|
||||
|
@ -844,11 +894,20 @@ on post-fs-data
|
|||
|
||||
# ODPM
|
||||
on fs
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-0/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/iio:device1/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-0/0-001f/s2mpg10-meter/s2mpg10-odpm/iio:device1/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-1/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device0/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-1/1-002f/s2mpg11-meter/s2mpg11-odpm/iio:device0/enabled_rails
|
||||
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-6/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-6/6-001f/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-7/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-7/7-002f/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
|
||||
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-7/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17500000/i2c-7/7-001f/s2mpg10-meter/s2mpg10-odpm/iio:device0/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-8/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
|
||||
chown system system /sys/devices/platform/acpm_mfd_bus@17510000/i2c-8/8-002f/s2mpg11-meter/s2mpg11-odpm/iio:device1/enabled_rails
|
||||
|
||||
on post-fs-data
|
||||
mkdir /data/vendor/powerstats 0771 system system
|
||||
|
@ -932,8 +991,8 @@ on charger
|
|||
mkdir /dev/thermal/tz-by-name 0750 system system
|
||||
mkdir /dev/thermal/cdev-by-name 0750 system system
|
||||
start vendor.thermal.symlinks
|
||||
write /sys/kernel/vendor_sched/sys_uclamp_min 0
|
||||
write /sys/kernel/vendor_sched/sys_prefer_idle 0
|
||||
write /proc/vendor_sched/sys_uclamp_min 0
|
||||
write /proc/vendor_sched/sys_prefer_idle 0
|
||||
|
||||
# Launch thermal hal in off charging mode
|
||||
on charger && property:vendor.thermal.link_ready=1
|
||||
|
@ -949,3 +1008,17 @@ on property:vendor.disable.bcl.control=0
|
|||
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
|
||||
# Enable UFS powersaving in Off Mode Charger
|
||||
write /dev/sys/block/bootdevice/clkgate_enable 1
|
||||
|
||||
# Cpuset experiment
|
||||
on property:persist.device_config.vendor_system_native.top-app_cpuset=*
|
||||
write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
|
||||
on property:persist.device_config.vendor_system_native.foreground_cpuset=*
|
||||
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
|
||||
on property:persist.device_config.vendor_system_native.background_cpuset=*
|
||||
write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-1}
|
||||
on property:persist.device_config.vendor_system_native.system-background_cpuset=*
|
||||
write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
|
||||
on property:persist.device_config.vendor_system_native.restricted_cpuset=*
|
||||
write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
|
||||
on property:persist.device_config.vendor_system_native.camera-daemon_cpuset=*
|
||||
write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
|
||||
|
|
81
conf/nomodem/Android.bp
Normal file
81
conf/nomodem/Android.bp
Normal file
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
// By default this device uses hardware-wrapped keys for storage encryption,
|
||||
// which is intended to offer increased security over the traditional method
|
||||
// (software keys). However, hardware-wrapped keys aren't compatible with
|
||||
// FIPS-140 certification of the encryption hardware, and hence we have to
|
||||
// disable the use of them in FIPS mode. This requires having two fstab files:
|
||||
// one for the default mode, and one for FIPS mode selectable via
|
||||
// androidboot.fstab_suffix on the kernel command line. These fstabs should be
|
||||
// identical with the exception of the encryption settings, so to keep them in
|
||||
// sync the rules below generate them from a template file.
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"device/google/gs101",
|
||||
"device/google/gs101/conf",
|
||||
],
|
||||
}
|
||||
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
// all of the 'license_kinds' from "device_google_gs101_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: ["device_google_gs101_license"],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "gen_fstab.gs101",
|
||||
srcs: [
|
||||
"fstab.gs101.in*",
|
||||
":gs101_srcs",
|
||||
],
|
||||
out: ["fstab.gs101"],
|
||||
cmd: "sed -e s/@fileencryption@/::inlinecrypt_optimized+wrappedkey_v0/" +
|
||||
" -e s/@metadata_encryption@/:wrappedkey_v0/" +
|
||||
" -e /modem/d " +
|
||||
" -e /efs/d $(in) > $(out)",
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "gen_fstab.gs101-fips",
|
||||
srcs: [
|
||||
"fstab.gs101.in*",
|
||||
":gs101_srcs",
|
||||
],
|
||||
out: ["fstab.gs101-fips"],
|
||||
cmd: "sed -e s/@fileencryption@/aes-256-xts/" +
|
||||
" -e s/@metadata_encryption@/aes-256-xts/" +
|
||||
" -e /modem/d " +
|
||||
" -e /efs/d $(in) > $(out)",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "fstab.gs101",
|
||||
src: ":gen_fstab.gs101",
|
||||
vendor: true,
|
||||
vendor_ramdisk_available: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "fstab.gs101-fips",
|
||||
src: ":gen_fstab.gs101-fips",
|
||||
vendor: true,
|
||||
vendor_ramdisk_available: true,
|
||||
}
|
|
@ -47,6 +47,8 @@
|
|||
<!-- Location -->
|
||||
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
|
||||
<permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>
|
||||
<!-- Battery Widget -->
|
||||
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception package="com.google.android.apps.camera.services">
|
||||
|
@ -64,6 +66,8 @@
|
|||
<exception package="com.google.android.apps.scone">
|
||||
<!-- Used to call ActivityTransition API for Smart PNO -->
|
||||
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
|
@ -78,7 +82,11 @@
|
|||
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
|
||||
<!-- Used to set up a Wi-Fi P2P network -->
|
||||
<!-- TODO(b/231966826): Remove the location permission after Restore targets to T. -->
|
||||
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
|
||||
<permission name="android.permission.NEARBY_WIFI_DEVICES" fixed="false"/>
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
|
@ -117,6 +125,40 @@
|
|||
<!-- Microphone: To hear user's voice commands -->
|
||||
<permission name="android.permission.RECORD_AUDIO" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.deskclock">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.tips">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.adservices">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.mediashell">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.pixelmigrate">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.work.oobconfig">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="true"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.turbo">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
</exceptions>
|
||||
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
-include vendor/google_devices/gs101/proprietary/telephony/device-vendor.mk
|
||||
include device/google/gs101/device.mk
|
||||
include device/google/gs101/tts/voice_packs.mk
|
||||
|
||||
# Telephony
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
|
185
device.mk
185
device.mk
|
@ -14,9 +14,12 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
TARGET_BOARD_PLATFORM := gs101
|
||||
include device/google/gs-common/device.mk
|
||||
|
||||
ifneq (,$(filter %_64,$(TARGET_PRODUCT)))
|
||||
TARGET_BOARD_PLATFORM := gs101
|
||||
DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
|
||||
|
||||
ifeq ($(DEVICE_IS_64BIT_ONLY),true)
|
||||
LOCAL_64ONLY := _64
|
||||
endif
|
||||
|
||||
|
@ -32,6 +35,14 @@ VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
|
|||
# Set boot SPL
|
||||
BOOT_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
|
||||
|
||||
# TODO(b/207450311): Remove this flag once implemented
|
||||
USE_PIXEL_GRALLOC := false
|
||||
ifeq ($(USE_PIXEL_GRALLOC),true)
|
||||
PRODUCT_SOONG_NAMESPACES += hardware/google/gchips/GrallocHAL
|
||||
else
|
||||
PRODUCT_SOONG_NAMESPACES += hardware/google/gchips/gralloc4
|
||||
endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
hardware/google/av \
|
||||
hardware/google/gchips \
|
||||
|
@ -40,6 +51,7 @@ PRODUCT_SOONG_NAMESPACES += \
|
|||
hardware/google/interfaces \
|
||||
hardware/google/pixel \
|
||||
device/google/gs101 \
|
||||
device/google/gs101/powerstats \
|
||||
vendor/google/whitechapel/tools \
|
||||
vendor/broadcom/bluetooth \
|
||||
vendor/google/camera \
|
||||
|
@ -54,6 +66,10 @@ LOCAL_KERNEL := $(TARGET_KERNEL_DIR)/Image.lz4
|
|||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
ro.oem_unlock_supported=1
|
||||
|
||||
# Include vendor telephony soong namespace
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)
|
||||
|
||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||
#Set IKE logs to verbose for WFC
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.IKE=VERBOSE
|
||||
|
@ -87,7 +103,6 @@ endif
|
|||
|
||||
# From system.property
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
dev.usbsetting.embedded=on \
|
||||
ro.telephony.default_network=27 \
|
||||
persist.vendor.ril.use.iccid_to_plmn=1 \
|
||||
persist.vendor.ril.emergencynumber.mode=5
|
||||
|
@ -111,7 +126,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
|||
|
||||
# Carrier configuration default location
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.radio.config.carrier_config_dir=/mnt/vendor/modem_img/images/default/confpack
|
||||
persist.vendor.radio.config.carrier_config_dir=/vendor/firmware/carrierconfig
|
||||
|
||||
# Set the Bluetooth Class of Device
|
||||
# Service Field: 0x5A -> 90
|
||||
|
@ -152,6 +167,7 @@ USES_LASSEN_MODEM := true
|
|||
ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
|
||||
USE_GOOGLE_DIALER := true
|
||||
USE_GOOGLE_CARRIER_SETTINGS := true
|
||||
USES_GAUDIO := true
|
||||
endif
|
||||
|
||||
ifeq (,$(filter aosp_%,$(TARGET_PRODUCT)))
|
||||
|
@ -169,18 +185,21 @@ USE_SWIFTSHADER := false
|
|||
TARGET_USES_VULKAN = true
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/arm/mali/valhall \
|
||||
vendor/arm/mali/valhall/cl \
|
||||
vendor/arm/mali/valhall/libmali \
|
||||
vendor/arm/mali/valhall/cinstr/production/gpu-hwc-reader
|
||||
vendor/arm/mali/valhall
|
||||
|
||||
$(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM))
|
||||
|
||||
include device/google/gs101/neuralnetwork/neuralnetwork.mk
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libGLES_mali \
|
||||
vulkan.gs101 \
|
||||
vulkan.mali \
|
||||
libOpenCL \
|
||||
libgpudataproducer
|
||||
|
||||
PRODUCT_VENDOR_PROPERTIES += \
|
||||
ro.hardware.vulkan=mali
|
||||
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
debug.mali.disable_backend_affinity=true
|
||||
|
||||
|
@ -196,8 +215,8 @@ PRODUCT_COPY_FILES += \
|
|||
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.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.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-2022-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
||||
frameworks/native/data/etc/android.software.opengles.deqp.level-2022-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
|
||||
|
||||
ifeq ($(USE_SWIFTSHADER),true)
|
||||
PRODUCT_VENDOR_PROPERTIES += \
|
||||
|
@ -270,6 +289,12 @@ endif
|
|||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs101/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.gs101.rc
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
PRODUCT_SOONG_NAMESPACES += device/google/gs101/conf
|
||||
else
|
||||
PRODUCT_SOONG_NAMESPACES += device/google/gs101/conf/nomodem
|
||||
endif
|
||||
|
||||
# Fstab files
|
||||
PRODUCT_PACKAGES += \
|
||||
fstab.gs101 \
|
||||
|
@ -297,7 +322,7 @@ PRODUCT_PACKAGES += \
|
|||
|
||||
# Contexthub HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.contexthub@1.2-service.generic
|
||||
android.hardware.contexthub-service.generic
|
||||
|
||||
# CHRE tools
|
||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||
|
@ -368,26 +393,32 @@ PRODUCT_COPY_FILES += \
|
|||
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
|
||||
|
||||
# Sensors
|
||||
ifneq (,$(findstring tangor, $(TARGET_PRODUCT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml\
|
||||
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml\
|
||||
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
|
||||
endif
|
||||
|
||||
# Add sensor HAL 2.1 product packages
|
||||
PRODUCT_PACKAGES += android.hardware.sensors@2.1-service.multihal
|
||||
|
||||
# Debug property for sensor.
|
||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.debug.sensor.hal.event_logger=true
|
||||
endif
|
||||
|
||||
# USB HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.usb-service.gs101
|
||||
|
@ -478,8 +509,7 @@ PRODUCT_PACKAGES += \
|
|||
# for now include gralloc here. should come from hardware/google_devices/exynos5
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.graphics.mapper@4.0-impl \
|
||||
android.hardware.graphics.allocator@4.0-service \
|
||||
android.hardware.graphics.allocator@4.0-impl
|
||||
android.hardware.graphics.allocator-V1-service
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.memtrack-service.pixel \
|
||||
|
@ -495,8 +525,8 @@ PRODUCT_PACKAGES += \
|
|||
|
||||
# WideVine modules
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm@1.4-service.clearkey \
|
||||
android.hardware.drm@1.4-service.widevine \
|
||||
android.hardware.drm-service.clearkey \
|
||||
android.hardware.drm-service.widevine \
|
||||
liboemcrypto \
|
||||
|
||||
|
||||
|
@ -553,7 +583,7 @@ PRODUCT_PACKAGES += \
|
|||
# Enable project quotas and casefolding for emulated storage without sdcardfs
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/compression.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/compression_with_xor.mk)
|
||||
# Enforce generic ramdisk allow list
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk)
|
||||
|
||||
|
@ -578,8 +608,16 @@ PRODUCT_COPY_FILES += \
|
|||
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
|
||||
|
||||
# (See b/211840489)
|
||||
ifneq ($(DISABLE_CAMERA_FS_AF),true)
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
|
||||
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
|
||||
frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \
|
||||
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
|
||||
|
@ -627,6 +665,7 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration=16600000
|
|||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=16600000
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.frame_rate_multiple_threshold=120
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.layer_caching_active_layer_timeout_ms=1000
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.treat_170m_as_sRGB=1
|
||||
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_layer_caching=true
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80
|
||||
|
@ -729,10 +768,11 @@ PRODUCT_PACKAGES += \
|
|||
libExynosC2Vp9Enc
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.c2.use_dmabufheaps=1 \
|
||||
media.c2.dmabuf.padding=512 \
|
||||
debug.stagefright.ccodec_delayed_params=1 \
|
||||
ro.vendor.gpu.dataspace=1
|
||||
debug.stagefright.c2-poolmask=458752 \
|
||||
debug.c2.use_dmabufheaps=1 \
|
||||
media.c2.dmabuf.padding=512 \
|
||||
debug.stagefright.ccodec_delayed_params=1 \
|
||||
ro.vendor.gpu.dataspace=1
|
||||
|
||||
# Create input surface on the framework side
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
|
@ -767,7 +807,9 @@ PRODUCT_PACKAGES += \
|
|||
endif
|
||||
|
||||
# GPS HAL
|
||||
ifeq (,$(filter tangor citron,$(subst _, ,$(TARGET_PRODUCT))))
|
||||
include device/google/gs101/gnss/device-gnss.mk
|
||||
endif
|
||||
|
||||
# Trusty (KM, GK, Storage)
|
||||
$(call inherit-product, system/core/trusty/trusty-storage.mk)
|
||||
|
@ -788,10 +830,7 @@ PRODUCT_PACKAGES += \
|
|||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.frp.pst=/dev/block/by-name/frp
|
||||
|
||||
# Bluetooth HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.bluetooth@1.1-service.bcmbtlinux \
|
||||
bt_vendor.conf
|
||||
# Bluetooth
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
|
||||
|
@ -821,6 +860,10 @@ PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
|||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.sys.fuse.passthrough.enable=true
|
||||
|
||||
# Use FUSE BPF
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.fuse.bpf.enabled=false
|
||||
|
||||
# Use /product/etc/fstab.postinstall to mount system_other
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
ro.postinstall.fstab.prefix=/product
|
||||
|
@ -856,12 +899,11 @@ PRODUCT_PACKAGES += \
|
|||
vts.bin
|
||||
|
||||
# This will be called only if IMSService is building with source code for dev branches.
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/shannon-ims/device-vendor.mk)
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/shannon-ims/device-vendor.mk)
|
||||
|
||||
PRODUCT_PACKAGES += ShannonIms
|
||||
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/shannon-iwlan/device-vendor.mk)
|
||||
include device/google/gs101/telephony/pktrouter.mk
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/shannon-iwlan/device-vendor.mk)
|
||||
|
||||
#RCS Test Messaging App
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
|
@ -887,13 +929,13 @@ USE_RADIO_HAL_1_6 := true
|
|||
#$(call inherit-product, vendor/google_devices/gs101/proprietary/device-vendor.mk)
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/common/device-vendor.mk)
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk)
|
||||
endif
|
||||
|
||||
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
else
|
||||
ifeq ($(DEVICE_IS_64BIT_ONLY),true)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
|
||||
else
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
endif
|
||||
#$(call inherit-product, hardware/google_devices/exynos5/exynos5.mk)
|
||||
#$(call inherit-product-if-exists, hardware/google_devices/gs101/gs101.mk)
|
||||
|
@ -905,8 +947,7 @@ $(call inherit-product-if-exists, vendor/google/camera/devices/whi/device-vendor
|
|||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs101/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
|
||||
device/google/gs101/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 \
|
||||
device/google/gs101/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml
|
||||
|
||||
# modem_svc_sit daemon
|
||||
PRODUCT_PACKAGES += modem_svc_sit
|
||||
|
@ -914,6 +955,27 @@ PRODUCT_PACKAGES += modem_svc_sit
|
|||
# modem logging binary/configs
|
||||
PRODUCT_PACKAGES += modem_logging_control
|
||||
|
||||
# modem logging configs
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs101/radio/config/logging.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/logging.conf \
|
||||
device/google/gs101/radio/config/default.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default.cfg \
|
||||
device/google/gs101/radio/config/default.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default.nprf \
|
||||
device/google/gs101/radio/config/default_metrics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_metrics.xml \
|
||||
device/google/gs101/radio/config/teamfood_default.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/teamfood_default.cfg \
|
||||
device/google/gs101/radio/config/teamfood_default.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/teamfood_default.nprf \
|
||||
device/google/gs101/radio/config/teamfood_default_metrics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/modem/teamfood_default_metrics.xml \
|
||||
device/google/gs101/radio/config/default_stability.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_stability.cfg \
|
||||
device/google/gs101/radio/config/default_stability.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_stability.nprf \
|
||||
device/google/gs101/radio/config/default_NAS_RRC.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_NAS_RRC.cfg \
|
||||
device/google/gs101/radio/config/default_NAS_RRC.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_NAS_RRC.nprf \
|
||||
device/google/gs101/radio/config/default_network.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_network.cfg \
|
||||
device/google/gs101/radio/config/default_network.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/default_network.nprf \
|
||||
device/google/gs101/radio/config/Pixel_Default.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_Default.cfg \
|
||||
device/google/gs101/radio/config/Pixel_Default.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_Default.nprf \
|
||||
device/google/gs101/radio/config/Pixel_Default_metrics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_Default_metrics.xml \
|
||||
device/google/gs101/radio/config/Pixel_stability.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_stability.cfg \
|
||||
device/google/gs101/radio/config/Pixel_stability.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_stability.nprf
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs101/radio/gnss_blanking.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/gnss_blanking.csv
|
||||
|
||||
|
@ -928,18 +990,18 @@ PRODUCT_PACKAGES_DEBUG += \
|
|||
$(NULL)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.health@2.1-impl-gs101 \
|
||||
android.hardware.health@2.1-service
|
||||
android.hardware.health-service.gs101 \
|
||||
android.hardware.health-service.gs101_recovery \
|
||||
|
||||
# Audio
|
||||
# Audio HAL Server & Default Implementations
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio.service \
|
||||
android.hardware.audio@7.0-impl \
|
||||
android.hardware.audio@7.1-impl \
|
||||
android.hardware.audio.effect@7.0-impl \
|
||||
android.hardware.bluetooth.audio@2.1-impl \
|
||||
android.hardware.bluetooth.audio-impl \
|
||||
android.hardware.soundtrigger@2.3-impl \
|
||||
vendor.google.whitechapel.audio.audioext@2.0-impl
|
||||
vendor.google.whitechapel.audio.audioext@3.0-impl
|
||||
|
||||
#Audio HAL libraries
|
||||
PRODUCT_PACKAGES += \
|
||||
|
@ -959,7 +1021,6 @@ PRODUCT_PACKAGES += \
|
|||
audio_spk_35l41 \
|
||||
audio.usb.default \
|
||||
audio.usbv2.default \
|
||||
audio.a2dp.default \
|
||||
audio.bluetooth.default \
|
||||
audio.r_submix.default \
|
||||
libamcsextfile \
|
||||
|
@ -990,6 +1051,14 @@ PRODUCT_SOONG_NAMESPACES += \
|
|||
|
||||
$(call soong_config_set,aoc_audio_board,platform,$(TARGET_BOARD_PLATFORM))
|
||||
|
||||
## AoC soong
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/google/whitechapel/aoc
|
||||
|
||||
$(call soong_config_set,aoc,target_soc,$(TARGET_BOARD_PLATFORM))
|
||||
|
||||
$(call soong_config_set,android_hardware_audio,run_64bit,true)
|
||||
|
||||
# Audio properties
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.config.vc_call_vol_steps=7 \
|
||||
|
@ -1055,13 +1124,14 @@ PRODUCT_PACKAGES += \
|
|||
update_engine_sideload \
|
||||
update_verifier
|
||||
|
||||
# tetheroffload HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.samsung_slsi.hardware.tetheroffload@1.1-service
|
||||
|
||||
# pKVM
|
||||
$(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk)
|
||||
PRODUCT_BUILD_PVMFW_IMAGE := true
|
||||
ifeq ($(TARGET_PKVM_ENABLED),true)
|
||||
$(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk)
|
||||
PRODUCT_PACKAGES += pkvm_enabler
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs101/pkvm/pkvm_experiment.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/pkvm_experiment.rc
|
||||
endif
|
||||
|
||||
# Enable watchdog timeout loop breaker.
|
||||
|
@ -1093,6 +1163,9 @@ include hardware/google/pixel/PixelLogger/PixelLogger.mk
|
|||
# Telephony
|
||||
include device/google/gs101/telephony/user.mk
|
||||
|
||||
# Wifi ext
|
||||
include hardware/google/pixel/wifi_ext/device.mk
|
||||
|
||||
# Battery Stats Viewer
|
||||
PRODUCT_PACKAGES_DEBUG += BatteryStatsViewer
|
||||
|
||||
|
@ -1102,8 +1175,12 @@ PRODUCT_PACKAGES_DEBUG += BatteryStatsViewer
|
|||
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE := device/google/gs101/device_framework_matrix_product.xml
|
||||
|
||||
# Preopt SystemUI
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += \
|
||||
SystemUIGoogle
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUIGoogle # For internal
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI # For AOSP
|
||||
|
||||
# Compile SystemUI on device with `speed`.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
dalvik.vm.systemuicompilerfilter=speed
|
||||
|
||||
# Keymaster configuration
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.edgetpu</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IEdgeTpuVendorService</name>
|
||||
<instance>default</instance>
|
||||
|
@ -65,7 +66,7 @@
|
|||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.hardware.pixel.display</name>
|
||||
<version>4</version>
|
||||
<version>6</version>
|
||||
<interface>
|
||||
<name>IDisplay</name>
|
||||
<instance>default</instance>
|
||||
|
@ -94,10 +95,18 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>hardware.google.bluetooth.ext</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>hardware.google.bluetooth.ccc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothCcc</name>
|
||||
<instance>default</instance>
|
||||
|
@ -106,7 +115,7 @@
|
|||
<hal format="aidl" optional="true">
|
||||
<name>hardware.qorvo.uwb</name>
|
||||
<interface>
|
||||
<name>IUwb</name>
|
||||
<name>IUwbVendor</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
|
@ -120,7 +129,7 @@
|
|||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<version>1.1</version>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
|
@ -136,7 +145,7 @@
|
|||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||
<version>2.0</version>
|
||||
<version>3.0</version>
|
||||
<interface>
|
||||
<name>IAudioExt</name>
|
||||
<instance>default</instance>
|
||||
|
@ -144,7 +153,7 @@
|
|||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.google.wifi_ext</name>
|
||||
<version>1.2</version>
|
||||
<version>1.3</version>
|
||||
<interface>
|
||||
<name>IWifiExt</name>
|
||||
<instance>default</instance>
|
||||
|
|
|
@ -214,6 +214,8 @@ void dumpCameraLogs(int fd, const std::string &destDir) {
|
|||
// sessions or starts a new session after the one with performance issues).
|
||||
dumpLogs(fd, kCameraLogDir, cameraDestDir, 10, "session-ended-");
|
||||
dumpLogs(fd, kCameraLogDir, cameraDestDir, 5, "high-drop-rate-");
|
||||
dumpLogs(fd, kCameraLogDir, cameraDestDir, 5, "watchdog-");
|
||||
dumpLogs(fd, kCameraLogDir, cameraDestDir, 5, "camera-ended-");
|
||||
}
|
||||
|
||||
timepoint_t startSection(int fd, const std::string §ionName) {
|
||||
|
@ -249,6 +251,7 @@ void endSection(int fd, const std::string §ionName, timepoint_t startTime) {
|
|||
|
||||
DumpstateDevice::DumpstateDevice()
|
||||
: mTextSections{
|
||||
{ "pre-touch", [this](int fd) { dumpPreTouchSection(fd); } },
|
||||
{ "wlan", [this](int fd) { dumpWlanSection(fd); } },
|
||||
{ "soc", [this](int fd) { dumpSocSection(fd); } },
|
||||
{ "storage", [this](int fd) { dumpStorageSection(fd); } },
|
||||
|
@ -347,6 +350,9 @@ void DumpstateDevice::dumpPowerSection(int fd) {
|
|||
DumpFileToFd(fd, "maxfg_base", "/dev/logbuffer_maxfg_base_monitor");
|
||||
DumpFileToFd(fd, "maxfg_flip", "/dev/logbuffer_maxfg_flip_monitor");
|
||||
}
|
||||
if (!stat("/sys/class/power_supply/dock", &buffer)) {
|
||||
DumpFileToFd(fd, "Power supply property dock", "/sys/class/power_supply/dock/uevent");
|
||||
}
|
||||
|
||||
if (!stat("/dev/logbuffer_tcpm", &buffer)) {
|
||||
DumpFileToFd(fd, "Logbuffer TCPM", "/dev/logbuffer_tcpm");
|
||||
|
@ -378,6 +384,7 @@ void DumpstateDevice::dumpPowerSection(int fd) {
|
|||
DumpFileToFd(fd, "TTF details", "/sys/class/power_supply/battery/ttf_details");
|
||||
DumpFileToFd(fd, "TTF stats", "/sys/class/power_supply/battery/ttf_stats");
|
||||
DumpFileToFd(fd, "maxq", "/dev/logbuffer_maxq");
|
||||
DumpFileToFd(fd, "aacr_state", "/sys/class/power_supply/battery/aacr_state");
|
||||
|
||||
RunCommandToFd(fd, "TRICKLE-DEFEND Config", {"/vendor/bin/sh", "-c",
|
||||
" cd /sys/devices/platform/google,battery/power_supply/battery/;"
|
||||
|
@ -393,6 +400,9 @@ void DumpstateDevice::dumpPowerSection(int fd) {
|
|||
if (!PropertiesHelper::IsUserBuild()) {
|
||||
|
||||
DumpFileToFd(fd, "DC_registers dump", "/sys/class/power_supply/pca9468-mains/device/registers_dump");
|
||||
DumpFileToFd(fd, "max77759_chg registers dump", "/d/max77759_chg/registers");
|
||||
DumpFileToFd(fd, "max77729_pmic registers dump", "/d/max77729_pmic/registers");
|
||||
DumpFileToFd(fd, "Charging table dump", "/d/google_battery/chg_raw_profile");
|
||||
|
||||
|
||||
RunCommandToFd(fd, "fg_model", {"/vendor/bin/sh", "-c",
|
||||
|
@ -421,8 +431,14 @@ void DumpstateDevice::dumpPowerSection(int fd) {
|
|||
/* EEPROM State */
|
||||
if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom", &buffer)) {
|
||||
RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom"});
|
||||
} else {
|
||||
} else if(!stat("/sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom", &buffer)) {
|
||||
RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom"});
|
||||
} else if(!stat("/sys/devices/platform/10970000.hsi2c/i2c-6/6-0050/eeprom", &buffer)) {
|
||||
RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-6/6-0050/eeprom"});
|
||||
} else if(!stat("/sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom", &buffer)) {
|
||||
RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom"});
|
||||
} else {
|
||||
RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-8/8-0050/eeprom"});
|
||||
}
|
||||
|
||||
DumpFileToFd(fd, "Charger Stats", "/sys/class/power_supply/battery/charge_details");
|
||||
|
@ -488,14 +504,20 @@ void DumpstateDevice::dumpThermalSection(int fd) {
|
|||
"for f in /sys/class/thermal/cooling* ; do "
|
||||
"type=`cat $f/type` ; temp=`cat $f/cur_state` ; echo \"$type: $temp\" ; "
|
||||
"done"});
|
||||
RunCommandToFd(fd, "Cooling Device User Vote State", {"/vendor/bin/sh", "-c",
|
||||
"for f in /sys/class/thermal/cooling* ; do "
|
||||
"if [ ! -f $f/user_vote ]; then continue; fi; "
|
||||
"type=`cat $f/type` ; temp=`cat $f/user_vote` ; echo \"$type: $temp\" ; "
|
||||
"done"});
|
||||
RunCommandToFd(fd, "Cooling Device Time in State", {"/vendor/bin/sh", "-c", "for f in /sys/class/thermal/cooling* ; "
|
||||
"do type=`cat $f/type` ; temp=`cat $f/stats/time_in_state_ms` ; echo \"$type:\n$temp\" ; done"});
|
||||
RunCommandToFd(fd, "Cooling Device Trans Table", {"/vendor/bin/sh", "-c", "for f in /sys/class/thermal/cooling* ; "
|
||||
"do type=`cat $f/type` ; temp=`cat $f/stats/trans_table` ; echo \"$type:\n$temp\" ; done"});
|
||||
RunCommandToFd(fd, "Cooling Device State2Power Table", {"/vendor/bin/sh", "-c",
|
||||
"for f in /sys/class/thermal/cooling* ; do "
|
||||
"type=`cat $f/type` ; state2power_table=`cat $f/state2power_table` ; echo \"$type: $state2power_table\" ; "
|
||||
"done"});
|
||||
"if [ ! -f $f/state2power_table ]; then continue; fi; "
|
||||
"type=`cat $f/type` ; state2power_table=`cat $f/state2power_table` ; echo \"$type: $state2power_table\" ; "
|
||||
"done"});
|
||||
DumpFileToFd(fd, "TMU state:", "/sys/module/gs101_thermal/parameters/tmu_reg_dump_state");
|
||||
DumpFileToFd(fd, "TMU current temperature:", "/sys/module/gs101_thermal/parameters/tmu_reg_dump_current_temp");
|
||||
DumpFileToFd(fd, "TMU_TOP rise thresholds:", "/sys/module/gs101_thermal/parameters/tmu_top_reg_dump_rise_thres");
|
||||
|
@ -505,6 +527,42 @@ void DumpstateDevice::dumpThermalSection(int fd) {
|
|||
}
|
||||
|
||||
// Dump items related to touch
|
||||
void DumpstateDevice::dumpPreTouchSection(int fd) {
|
||||
const char nvt_spi_path[] = "/sys/class/spi_master/spi11/spi11.0/input/nvt_touch";
|
||||
char cmd[256];
|
||||
|
||||
/* NVT touch */
|
||||
if (!access(nvt_spi_path, R_OK)) {
|
||||
snprintf(cmd, sizeof(cmd),
|
||||
"echo %s > %s/%s",
|
||||
"0x21",
|
||||
nvt_spi_path,
|
||||
"force_touch_active");
|
||||
RunCommandToFd(fd, "Force Touch Active(Enable)", {"/vendor/bin/sh", "-c", cmd});
|
||||
|
||||
snprintf(cmd, sizeof(cmd), "/proc/nvt_fw_version");
|
||||
if (!access(cmd, R_OK))
|
||||
DumpFileToFd(fd, "FW version", cmd);
|
||||
|
||||
#if 0 /* b/193467774: remove this temporarily */
|
||||
snprintf(cmd, sizeof(cmd), "/proc/nvt_diff");
|
||||
if (!access(cmd, R_OK))
|
||||
DumpFileToFd(fd, "Diff", cmd);
|
||||
|
||||
snprintf(cmd, sizeof(cmd), "%s/nvt_fw_history", nvt_spi_path);
|
||||
if (!access(nvt_spi_path, R_OK))
|
||||
DumpFileToFd(fd, "FW History", cmd);
|
||||
#endif
|
||||
|
||||
snprintf(cmd, sizeof(cmd),
|
||||
"echo %s > %s/%s",
|
||||
"0x20",
|
||||
nvt_spi_path,
|
||||
"force_touch_active");
|
||||
RunCommandToFd(fd, "Force Touch Active(Disable)", {"/vendor/bin/sh", "-c", cmd});
|
||||
}
|
||||
}
|
||||
|
||||
void DumpstateDevice::dumpTouchSection(int fd) {
|
||||
const char stm_cmd_path[4][50] = {"/sys/class/spi_master/spi11/spi11.0",
|
||||
"/proc/fts/driver_test",
|
||||
|
@ -811,8 +869,7 @@ void DumpstateDevice::dumpMemorySection(int fd) {
|
|||
"fi; "
|
||||
"done"});
|
||||
DumpFileToFd(fd, "dmabuf info", "/d/dma_buf/bufinfo");
|
||||
DumpFileToFd(fd, "Page Pinner - longterm pin", "/sys/kernel/debug/page_pinner/longterm_pinner");
|
||||
DumpFileToFd(fd, "Page Pinner - alloc_contig_failed", "/sys/kernel/debug/page_pinner/alloc_contig_failed");
|
||||
DumpFileToFd(fd, "Page Pinner - longterm pin", "/sys/kernel/debug/page_pinner/buffer");
|
||||
RunCommandToFd(fd, "Pixel CMA stat", {"/vendor/bin/sh", "-c",
|
||||
"for d in $(ls -d /sys/kernel/pixel_stat/mm/cma/*); do "
|
||||
"if [ -f $d ]; then "
|
||||
|
@ -919,6 +976,21 @@ void DumpstateDevice::dumpAoCSection(int fd) {
|
|||
DumpFileToFd(fd, "AoC hotword wake", "/sys/devices/platform/19000000.aoc/control/hotword_wakeup");
|
||||
DumpFileToFd(fd, "AoC memory exception wake", "/sys/devices/platform/19000000.aoc/control/memory_exception");
|
||||
DumpFileToFd(fd, "AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes");
|
||||
RunCommandToFd(fd, "AoC Heap Stats (A32)",
|
||||
{"/vendor/bin/sh", "-c", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
|
||||
CommandOptions::WithTimeout(1).Build());
|
||||
RunCommandToFd(fd, "AoC Heap Stats (F1)",
|
||||
{"/vendor/bin/sh", "-c", "echo 'dbg heap -c 2' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
|
||||
CommandOptions::WithTimeout(1).Build());
|
||||
RunCommandToFd(fd, "AoC Heap Stats (HF0)",
|
||||
{"/vendor/bin/sh", "-c", "echo 'dbg heap -c 3' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
|
||||
CommandOptions::WithTimeout(1).Build());
|
||||
RunCommandToFd(fd, "AoC Heap Stats (HF1)",
|
||||
{"/vendor/bin/sh", "-c", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
|
||||
CommandOptions::WithTimeout(1).Build());
|
||||
RunCommandToFd(fd, "AoC MIF Stats",
|
||||
{"/vendor/bin/sh", "-c", "echo 'mif details' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
|
||||
CommandOptions::WithTimeout(1).Build());
|
||||
}
|
||||
|
||||
// Dump items related to sensors usf.
|
||||
|
@ -983,6 +1055,7 @@ void DumpstateDevice::dumpMiscSection(int fd) {
|
|||
void DumpstateDevice::dumpGscSection(int fd) {
|
||||
RunCommandToFd(fd, "Citadel VERSION", {"vendor/bin/hw/citadel_updater", "-lv"});
|
||||
RunCommandToFd(fd, "Citadel STATS", {"vendor/bin/hw/citadel_updater", "--stats"});
|
||||
RunCommandToFd(fd, "GSC DEBUG DUMP", {"vendor/bin/hw/citadel_updater", "-D"});
|
||||
}
|
||||
|
||||
// Dump essential camera debugging logs
|
||||
|
|
|
@ -64,6 +64,7 @@ struct DumpstateDevice : public IDumpstateDevice {
|
|||
void dumpWlanSection(int fd);
|
||||
void dumpPowerSection(int fd);
|
||||
void dumpThermalSection(int fd);
|
||||
void dumpPreTouchSection(int fd);
|
||||
void dumpTouchSection(int fd);
|
||||
void dumpSocSection(int fd);
|
||||
void dumpCpuSection(int fd);
|
||||
|
|
6
edgetpu/OWNERS
Normal file
6
edgetpu/OWNERS
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Devs who work on EdgeTPU on Android.
|
||||
hsuy@google.com
|
||||
yuchicheng@google.com
|
||||
iayara@google.com
|
||||
qinyiyan@google.com
|
||||
macwang@google.com
|
|
@ -21,3 +21,6 @@ GOOGLE_CONFIG_PERFORMANCE=1
|
|||
|
||||
# Enable Suez
|
||||
$(call soong_config_set,fp_hal_feature,biometric_suez_support,true)
|
||||
|
||||
# Must add below method to each project's device.mk to show sensorLocation
|
||||
#$(call soong_config_set,fp_hal_feature,pixel_product, project_XX)
|
||||
|
|
|
@ -24,6 +24,7 @@ DEVICE_MANIFEST_FILE += \
|
|||
endif
|
||||
|
||||
# Include the Goodix AIDL HAL namespaces.
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/goodix/udfps/fp_utils
|
||||
ifeq ($(GOODIX_CONFIG_BUILD_VERSION), g6_trusty)
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/goodix/udfps/g6_trusty
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/goodix/udfps/g6_aidl_trusty
|
||||
|
|
|
@ -42,7 +42,7 @@ cc_prebuilt_library_shared {
|
|||
"android.hardware.gnss@2.1",
|
||||
"android.hardware.gnss.measurement_corrections@1.0",
|
||||
"android.hardware.gnss.visibility_control@1.0",
|
||||
"android.hardware.gnss-V1-ndk",
|
||||
"android.hardware.gnss-V2-ndk",
|
||||
"libhardware",
|
||||
"libc++",
|
||||
"libc",
|
||||
|
@ -77,6 +77,7 @@ cc_prebuilt_binary {
|
|||
"android.hardware.gnss@1.1",
|
||||
"android.hardware.gnss@2.0",
|
||||
"android.hardware.gnss@2.1",
|
||||
"android.hardware.gnss-V2-ndk",
|
||||
"libc++",
|
||||
"libc",
|
||||
"libm",
|
||||
|
|
|
@ -1,16 +1,7 @@
|
|||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IGnss</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.gnss</name>
|
||||
<version>2</version>
|
||||
<fqname>IGnss/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -21,6 +21,7 @@
|
|||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplUseFwCellInfo="false"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
|
@ -54,6 +55,8 @@
|
|||
AssertEnabled="true"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
ReAidingOnHotStart="false"
|
||||
ReAidingIntervalSec="1200"
|
||||
/>
|
||||
|
||||
<gll
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplUseFwCellInfo="false"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
|
@ -54,6 +55,8 @@
|
|||
AssertEnabled="true"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
ReAidingOnHotStart="false"
|
||||
ReAidingIntervalSec="1200"
|
||||
/>
|
||||
|
||||
<gll
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplUseFwCellInfo="false"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
|
@ -54,6 +55,8 @@
|
|||
AssertEnabled="true"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
ReAidingOnHotStart="false"
|
||||
ReAidingIntervalSec="1200"
|
||||
/>
|
||||
|
||||
<gll
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplUseFwCellInfo="false"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
|
@ -53,6 +54,8 @@
|
|||
AssertEnabled="false"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
ReAidingOnHotStart="false"
|
||||
ReAidingIntervalSec="1200"
|
||||
/>
|
||||
|
||||
<gll
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplUseFwCellInfo="false"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
|
@ -53,6 +54,8 @@
|
|||
AssertEnabled="false"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
ReAidingOnHotStart="false"
|
||||
ReAidingIntervalSec="1200"
|
||||
/>
|
||||
|
||||
<gll
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplUseFwCellInfo="false"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
|
@ -53,6 +54,8 @@
|
|||
AssertEnabled="false"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
ReAidingOnHotStart="false"
|
||||
ReAidingIntervalSec="1200"
|
||||
/>
|
||||
|
||||
<gll
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -13,7 +13,6 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
|
@ -24,36 +23,39 @@ package {
|
|||
"//device/google/gs101:device_google_gs101_license",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.health@2.1-impl-gs101",
|
||||
stem: "android.hardware.health@2.0-impl-2.1-gs101",
|
||||
|
||||
proprietary: true,
|
||||
cc_defaults {
|
||||
name: "android.hardware.health-service.gs101-defaults",
|
||||
defaults: [
|
||||
"libhealth_aidl_impl_user",
|
||||
"libhealth_aidl_charger_defaults",
|
||||
],
|
||||
relative_install_path: "hw",
|
||||
vintf_fragments: ["android.hardware.health-service.gs101.xml"],
|
||||
srcs: [
|
||||
"Health.cpp",
|
||||
],
|
||||
|
||||
cflags: [
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
],
|
||||
|
||||
static_libs: [
|
||||
"android.hardware.health@1.0-convert",
|
||||
"libbatterymonitor",
|
||||
"libhealth2impl",
|
||||
"libhealthloop",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libcutils",
|
||||
"libhidlbase",
|
||||
"libpixelhealth",
|
||||
"libutils",
|
||||
"android.hardware.health@2.0",
|
||||
"android.hardware.health@2.1",
|
||||
"libhealth_aidl_impl",
|
||||
],
|
||||
}
|
||||
cc_binary {
|
||||
name: "android.hardware.health-service.gs101",
|
||||
defaults: ["android.hardware.health-service.gs101-defaults"],
|
||||
proprietary: true,
|
||||
init_rc: ["android.hardware.health-service.gs101.rc"],
|
||||
overrides: ["charger"],
|
||||
shared_libs: [
|
||||
"libpixelhealth",
|
||||
],
|
||||
}
|
||||
cc_binary {
|
||||
name: "android.hardware.health-service.gs101_recovery",
|
||||
defaults: ["android.hardware.health-service.gs101-defaults"],
|
||||
recovery: true,
|
||||
init_rc: ["android.hardware.health-service.gs101_recovery.rc"],
|
||||
overrides: ["charger.recovery"],
|
||||
}
|
||||
|
|
|
@ -19,17 +19,20 @@
|
|||
#include <android-base/file.h>
|
||||
#include <android-base/parseint.h>
|
||||
#include <android-base/strings.h>
|
||||
#include <android/hardware/health/2.0/types.h>
|
||||
#include <health2impl/Health.h>
|
||||
#include <android/hardware/health/translate-ndk.h>
|
||||
#include <health-impl/Health.h>
|
||||
#include <health/utils.h>
|
||||
#include <hal_conversion.h>
|
||||
|
||||
// Recovery doesn't have libpixelhealth and charger mode
|
||||
#ifndef __ANDROID_RECOVERY__
|
||||
#include <health-impl/ChargerUtils.h>
|
||||
#include <pixelhealth/BatteryDefender.h>
|
||||
#include <pixelhealth/BatteryMetricsLogger.h>
|
||||
#include <pixelhealth/BatteryThermalControl.h>
|
||||
#include <pixelhealth/ChargerDetect.h>
|
||||
#include <pixelhealth/DeviceHealth.h>
|
||||
#include <pixelhealth/LowBatteryShutdownMetrics.h>
|
||||
#endif // !__ANDROID_RECOVERY__
|
||||
|
||||
#include <chrono>
|
||||
#include <fstream>
|
||||
|
@ -41,15 +44,15 @@ namespace {
|
|||
|
||||
using namespace std::literals;
|
||||
|
||||
using android::hardware::health::V1_0::hal_conversion::convertFromHealthInfo;
|
||||
using android::hardware::health::V1_0::hal_conversion::convertToHealthInfo;
|
||||
using android::hardware::health::V2_0::DiskStats;
|
||||
using android::hardware::health::V2_0::StorageAttribute;
|
||||
using android::hardware::health::V2_0::StorageInfo;
|
||||
using android::hardware::health::V2_0::Result;
|
||||
using ::android::hardware::health::V2_1::IHealth;
|
||||
using aidl::android::hardware::health::DiskStats;
|
||||
using aidl::android::hardware::health::HalHealthLoop;
|
||||
using aidl::android::hardware::health::HealthInfo;
|
||||
using aidl::android::hardware::health::StorageInfo;
|
||||
using android::hardware::health::InitHealthdConfig;
|
||||
|
||||
#ifndef __ANDROID_RECOVERY__
|
||||
using aidl::android::hardware::health::charger::ChargerCallback;
|
||||
using aidl::android::hardware::health::charger::ChargerModeMain;
|
||||
using hardware::google::pixel::health::BatteryDefender;
|
||||
using hardware::google::pixel::health::BatteryMetricsLogger;
|
||||
using hardware::google::pixel::health::BatteryThermalControl;
|
||||
|
@ -72,6 +75,7 @@ static BatteryThermalControl battThermalControl(
|
|||
static BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV);
|
||||
static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg);
|
||||
static DeviceHealth deviceHealth;
|
||||
#endif // !__ANDROID_RECOVERY__
|
||||
|
||||
#define UFS_DIR "/dev/sys/block/bootdevice"
|
||||
constexpr char kUfsHealthEol[]{UFS_DIR "/health_descriptor/eol_info"};
|
||||
|
@ -79,7 +83,6 @@ constexpr char kUfsHealthLifetimeA[]{UFS_DIR "/health_descriptor/life_time_estim
|
|||
constexpr char kUfsHealthLifetimeB[]{UFS_DIR "/health_descriptor/life_time_estimation_b"};
|
||||
constexpr char kUfsVersion[]{UFS_DIR "/device_descriptor/specification_version"};
|
||||
constexpr char kDiskStatsFile[]{"/sys/block/sda/stat"};
|
||||
constexpr char kUFSName[]{"UFS0"};
|
||||
|
||||
static std::string ufs_version;
|
||||
static uint16_t eol;
|
||||
|
@ -88,8 +91,10 @@ static uint16_t lifetimeB;
|
|||
static std::chrono::system_clock::time_point ufs_last_query_time;
|
||||
constexpr auto kUfsQueryIntervalHours = std::chrono::hours{24};
|
||||
|
||||
#ifndef __ANDROID_RECOVERY__
|
||||
static bool needs_wlc_updates = false;
|
||||
constexpr char kWlcCapacity[]{WLC_DIR "/capacity"};
|
||||
#endif // !__ANDROID_RECOVERY__
|
||||
|
||||
std::ifstream assert_open(const std::string &path) {
|
||||
std::ifstream stream(path);
|
||||
|
@ -118,12 +123,10 @@ void read_ufs_version(StorageInfo *info) {
|
|||
info->version = ufs_version;
|
||||
}
|
||||
|
||||
void fill_ufs_storage_attribute(StorageAttribute *attr) {
|
||||
attr->isInternal = true;
|
||||
attr->isBootDevice = true;
|
||||
attr->name = kUFSName;
|
||||
}
|
||||
|
||||
#ifdef __ANDROID_RECOVERY__
|
||||
void private_healthd_board_init(struct healthd_config *) {}
|
||||
int private_healthd_board_battery_update(HealthInfo *) { return 0; }
|
||||
#else // !__ANDROID__RECOVERY__
|
||||
static bool FileExists(const std::string &filename) {
|
||||
struct stat buffer;
|
||||
|
||||
|
@ -140,26 +143,26 @@ void private_healthd_board_init(struct healthd_config *hc) {
|
|||
}
|
||||
}
|
||||
|
||||
int private_healthd_board_battery_update(struct android::BatteryProperties *props) {
|
||||
deviceHealth.update(props);
|
||||
battThermalControl.updateThermalState(props);
|
||||
battMetricsLogger.logBatteryProperties(props);
|
||||
shutdownMetrics.logShutdownVoltage(props);
|
||||
int private_healthd_board_battery_update(HealthInfo *health_info) {
|
||||
deviceHealth.update(health_info);
|
||||
battThermalControl.updateThermalState(*health_info);
|
||||
battMetricsLogger.logBatteryProperties(*health_info);
|
||||
shutdownMetrics.logShutdownVoltage(*health_info);
|
||||
// Allow BatteryDefender to override online properties
|
||||
ChargerDetect::onlineUpdate(props);
|
||||
battDefender.update(props);
|
||||
ChargerDetect::onlineUpdate(health_info);
|
||||
battDefender.update(health_info);
|
||||
|
||||
if (needs_wlc_updates &&
|
||||
!android::base::WriteStringToFile(std::to_string(props->batteryLevel), kWlcCapacity))
|
||||
!android::base::WriteStringToFile(std::to_string(health_info->batteryLevel), kWlcCapacity))
|
||||
LOG(INFO) << "Unable to write battery level to wireless capacity";
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif // __ANDROID_RECOVERY__
|
||||
|
||||
void private_get_storage_info(std::vector<StorageInfo> &vec_storage_info) {
|
||||
vec_storage_info.resize(1);
|
||||
StorageInfo *storage_info = &vec_storage_info[0];
|
||||
fill_ufs_storage_attribute(&storage_info->attr);
|
||||
void private_get_storage_info(std::vector<StorageInfo> *vec_storage_info) {
|
||||
vec_storage_info->resize(1);
|
||||
StorageInfo *storage_info = &vec_storage_info->at(0);
|
||||
|
||||
read_ufs_version(storage_info);
|
||||
|
||||
|
@ -180,10 +183,9 @@ void private_get_storage_info(std::vector<StorageInfo> &vec_storage_info) {
|
|||
return;
|
||||
}
|
||||
|
||||
void private_get_disk_stats(std::vector<DiskStats> &vec_stats) {
|
||||
vec_stats.resize(1);
|
||||
DiskStats *stats = &vec_stats[0];
|
||||
fill_ufs_storage_attribute(&stats->attr);
|
||||
void private_get_disk_stats(std::vector<DiskStats> *vec_stats) {
|
||||
vec_stats->resize(1);
|
||||
DiskStats *stats = &vec_stats->at(0);
|
||||
|
||||
auto stream = assert_open(kDiskStatsFile);
|
||||
// Regular diskstats entries
|
||||
|
@ -195,18 +197,14 @@ void private_get_disk_stats(std::vector<DiskStats> &vec_stats) {
|
|||
}
|
||||
} // anonymous namespace
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace health {
|
||||
namespace V2_1 {
|
||||
namespace implementation {
|
||||
namespace aidl::android::hardware::health::implementation {
|
||||
class HealthImpl : public Health {
|
||||
public:
|
||||
HealthImpl(std::unique_ptr<healthd_config>&& config)
|
||||
: Health(std::move(config)) {}
|
||||
HealthImpl(std::string_view instance_name, std::unique_ptr<healthd_config>&& config)
|
||||
: Health(std::move(instance_name), std::move(config)) {}
|
||||
|
||||
Return<void> getStorageInfo(getStorageInfo_cb _hidl_cb) override;
|
||||
Return<void> getDiskStats(getDiskStats_cb _hidl_cb) override;
|
||||
ndk::ScopedAStatus getDiskStats(std::vector<DiskStats>* out) override;
|
||||
ndk::ScopedAStatus getStorageInfo(std::vector<StorageInfo>* out) override;
|
||||
|
||||
protected:
|
||||
void UpdateHealthInfo(HealthInfo* health_info) override;
|
||||
|
@ -214,53 +212,57 @@ class HealthImpl : public Health {
|
|||
};
|
||||
|
||||
void HealthImpl::UpdateHealthInfo(HealthInfo* health_info) {
|
||||
struct BatteryProperties props;
|
||||
convertFromHealthInfo(health_info->legacy.legacy, &props);
|
||||
private_healthd_board_battery_update(&props);
|
||||
convertToHealthInfo(&props, health_info->legacy.legacy);
|
||||
private_healthd_board_battery_update(health_info);
|
||||
}
|
||||
|
||||
Return<void> HealthImpl::getStorageInfo(getStorageInfo_cb _hidl_cb)
|
||||
ndk::ScopedAStatus HealthImpl::getStorageInfo(std::vector<StorageInfo>* out)
|
||||
{
|
||||
std::vector<struct StorageInfo> info;
|
||||
private_get_storage_info(info);
|
||||
hidl_vec<struct StorageInfo> info_vec(info);
|
||||
if (!info.size()) {
|
||||
_hidl_cb(Result::NOT_SUPPORTED, info_vec);
|
||||
} else {
|
||||
_hidl_cb(Result::SUCCESS, info_vec);
|
||||
private_get_storage_info(out);
|
||||
if (out->empty()) {
|
||||
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
|
||||
}
|
||||
return Void();
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
|
||||
Return<void> HealthImpl::getDiskStats(getDiskStats_cb _hidl_cb)
|
||||
ndk::ScopedAStatus HealthImpl::getDiskStats(std::vector<DiskStats>* out)
|
||||
{
|
||||
std::vector<struct DiskStats> stats;
|
||||
private_get_disk_stats(stats);
|
||||
hidl_vec<struct DiskStats> stats_vec(stats);
|
||||
if (!stats.size()) {
|
||||
_hidl_cb(Result::NOT_SUPPORTED, stats_vec);
|
||||
} else {
|
||||
_hidl_cb(Result::SUCCESS, stats_vec);
|
||||
private_get_disk_stats(out);
|
||||
if (out->empty()) {
|
||||
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
|
||||
}
|
||||
return Void();
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_1
|
||||
} // namespace health
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl::android::hardware::health::implementation
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
using ::aidl::android::hardware::health::implementation::HealthImpl;
|
||||
|
||||
// Use kernel logging in recovery
|
||||
#ifdef __ANDROID_RECOVERY__
|
||||
android::base::InitLogging(argv, android::base::KernelLogger);
|
||||
#endif
|
||||
|
||||
extern "C" IHealth* HIDL_FETCH_IHealth(const char* instance) {
|
||||
using ::android::hardware::health::V2_1::implementation::HealthImpl;
|
||||
if (instance != "default"sv) {
|
||||
return nullptr;
|
||||
}
|
||||
auto config = std::make_unique<healthd_config>();
|
||||
InitHealthdConfig(config.get());
|
||||
|
||||
private_healthd_board_init(config.get());
|
||||
|
||||
return new HealthImpl(std::move(config));
|
||||
auto binder =
|
||||
ndk::SharedRefBase::make<HealthImpl>("default"sv, std::move(config));
|
||||
|
||||
if (argc >= 2 && argv[1] == "--charger"sv) {
|
||||
// In regular mode, start charger UI.
|
||||
#ifndef __ANDROID_RECOVERY__
|
||||
LOG(INFO) << "Starting charger mode with UI.";
|
||||
return ChargerModeMain(binder, std::make_shared<ChargerCallback>(binder));
|
||||
#endif
|
||||
// In recovery, ignore --charger arg.
|
||||
LOG(INFO) << "Starting charger mode without UI.";
|
||||
} else {
|
||||
LOG(INFO) << "Starting health HAL.";
|
||||
}
|
||||
|
||||
auto hal_health_loop = std::make_shared<HalHealthLoop>(binder, binder);
|
||||
return hal_health_loop->StartLoop();
|
||||
}
|
||||
|
|
16
health/android.hardware.health-service.gs101.rc
Normal file
16
health/android.hardware.health-service.gs101.rc
Normal file
|
@ -0,0 +1,16 @@
|
|||
service vendor.health-gs101 /vendor/bin/hw/android.hardware.health-service.gs101
|
||||
class hal
|
||||
user system
|
||||
group system
|
||||
capabilities WAKE_ALARM BLOCK_SUSPEND
|
||||
file /dev/kmsg w
|
||||
service vendor.charger /vendor/bin/hw/android.hardware.health-service.gs101 --charger
|
||||
class charger
|
||||
seclabel u:r:charger_vendor:s0
|
||||
user system
|
||||
group system wakelock input
|
||||
capabilities SYS_BOOT
|
||||
file /dev/kmsg w
|
||||
file /sys/fs/pstore/console-ramoops-0 r
|
||||
file /sys/fs/pstore/console-ramoops r
|
||||
file /proc/last_kmsg r
|
7
health/android.hardware.health-service.gs101.xml
Normal file
7
health/android.hardware.health-service.gs101.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.health</name>
|
||||
<version>1</version>
|
||||
<fqname>IHealth/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
7
health/android.hardware.health-service.gs101_recovery.rc
Normal file
7
health/android.hardware.health-service.gs101_recovery.rc
Normal file
|
@ -0,0 +1,7 @@
|
|||
service vendor.health-gs101 /system/bin/hw/android.hardware.health-service.gs101_recovery
|
||||
class hal
|
||||
seclabel u:r:hal_health_default:s0
|
||||
user system
|
||||
group system
|
||||
capabilities WAKE_ALARM BLOCK_SUSPEND
|
||||
file /dev/kmsg w
|
|
@ -49,6 +49,8 @@ namespace {
|
|||
#define BOOT_B_PATH "/dev/block/by-name/boot_b"
|
||||
#define DEVINFO_PATH "/dev/block/by-name/devinfo"
|
||||
|
||||
#define BLOW_AR_PATH "/sys/kernel/boot_control/blow_ar"
|
||||
|
||||
// slot flags
|
||||
#define AB_ATTR_PRIORITY_SHIFT 52
|
||||
#define AB_ATTR_PRIORITY_MASK (3UL << AB_ATTR_PRIORITY_SHIFT)
|
||||
|
@ -174,6 +176,11 @@ static void DevInfoInitSlot(devinfo_ab_slot_data_t &slot_data) {
|
|||
slot_data.fastboot_ok = 0;
|
||||
}
|
||||
|
||||
static bool blowAR() {
|
||||
android::base::unique_fd fd(open(BLOW_AR_PATH, O_WRONLY | O_DSYNC));
|
||||
return android::base::WriteStringToFd("1", fd);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
// Methods from ::android::hardware::boot::V1_0::IBootControl follow.
|
||||
|
@ -211,7 +218,17 @@ Return<void> BootControl::markBootSuccessful(markBootSuccessful_cb _hidl_cb) {
|
|||
ret = setSlotFlag(getCurrentSlot(), AB_ATTR_SUCCESSFUL);
|
||||
}
|
||||
|
||||
!ret ? _hidl_cb({false, "Failed to set successful flag"}) : _hidl_cb({true, ""});
|
||||
if (!ret) {
|
||||
_hidl_cb({false, "Failed to set successful flag"});
|
||||
return Void();
|
||||
}
|
||||
|
||||
if (!blowAR()) {
|
||||
ALOGE("Failed to blow anti-rollback counter");
|
||||
// Ignore the error, since ABL will re-trigger it on reboot
|
||||
}
|
||||
|
||||
_hidl_cb({true, ""});
|
||||
return Void();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,231 +0,0 @@
|
|||
<manifest version="1.0" type="device" target-level="5">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<interface>
|
||||
<name>IEffectsFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.soundtrigger</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.3</version>
|
||||
<interface>
|
||||
<name>ISoundTriggerHw</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.drm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ICryptoFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@1.3::ICryptoFactory/clearkey</fqname>
|
||||
<fqname>@1.3::IDrmFactory/clearkey</fqname>
|
||||
<fqname>@1.3::ICryptoFactory/widevine</fqname>
|
||||
<fqname>@1.3::IDrmFactory/widevine</fqname>
|
||||
</hal>
|
||||
<hal format = "hidl">
|
||||
<name>android.hardware.dumpstate</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDumpstateDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothHci</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProvidersFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.boot</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.2::IBootControl/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.sensors</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensors</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>armnn</instance>
|
||||
</interface>
|
||||
<fqname>@1.2::IDevice/armnn</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.health</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>com.google.input</name>
|
||||
<interface>
|
||||
<name>ITouchContextService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.bt_channel_avoidance</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBTChannelAvoidance</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.sar</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothSar</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.ccc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothCcc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAudioExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.audiometricext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAudioMetricExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<kernel target-level="6"/>
|
||||
</manifest>
|
44
manifest.xml
44
manifest.xml
|
@ -2,7 +2,7 @@
|
|||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<version>7.1</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
|
@ -39,15 +39,6 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
|
@ -84,15 +75,6 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProvidersFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.boot</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -108,15 +90,6 @@
|
|||
</interface>
|
||||
<fqname>@1.3::IDevice/google-armnn</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.health</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>com.google.input</name>
|
||||
<interface>
|
||||
|
@ -133,6 +106,15 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.ext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.sar</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -145,7 +127,7 @@
|
|||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.ccc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothCcc</name>
|
||||
<instance>default</instance>
|
||||
|
@ -154,7 +136,7 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
|
@ -163,7 +145,7 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<version>3.0</version>
|
||||
<interface>
|
||||
<name>IAudioExt</name>
|
||||
<instance>default</instance>
|
||||
|
|
|
@ -1,220 +0,0 @@
|
|||
<manifest version="1.0" type="device" target-level="5">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<interface>
|
||||
<name>IEffectsFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.soundtrigger</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.3</version>
|
||||
<interface>
|
||||
<name>ISoundTriggerHw</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.drm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ICryptoFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@1.3::ICryptoFactory/clearkey</fqname>
|
||||
<fqname>@1.3::IDrmFactory/clearkey</fqname>
|
||||
<fqname>@1.3::ICryptoFactory/widevine</fqname>
|
||||
<fqname>@1.3::IDrmFactory/widevine</fqname>
|
||||
</hal>
|
||||
<hal format = "hidl">
|
||||
<name>android.hardware.dumpstate</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDumpstateDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothHci</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProvidersFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.boot</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.2::IBootControl/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.sensors</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensors</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<!--
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>armnn</instance>
|
||||
</interface>
|
||||
<fqname>@1.2::IDevice/armnn</fqname>
|
||||
</hal>
|
||||
-->
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.health</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>com.google.input</name>
|
||||
<interface>
|
||||
<name>ITouchContextService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.bt_channel_avoidance</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBTChannelAvoidance</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.sar</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothSar</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.ccc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothCcc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAudioExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.audiometricext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAudioMetricExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<kernel target-level="6"/>
|
||||
</manifest>
|
|
@ -2,7 +2,7 @@
|
|||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<version>7.1</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
|
@ -26,15 +26,6 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
|
@ -109,15 +100,6 @@
|
|||
<transport>hwbinder</transport>
|
||||
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.health</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>com.google.input</name>
|
||||
<interface>
|
||||
|
@ -146,7 +128,7 @@
|
|||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.ccc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothCcc</name>
|
||||
<instance>default</instance>
|
||||
|
@ -155,7 +137,7 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
|
@ -164,7 +146,7 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<version>3.0</version>
|
||||
<interface>
|
||||
<name>IAudioExt</name>
|
||||
<instance>default</instance>
|
||||
|
|
|
@ -153,6 +153,7 @@
|
|||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="qp-bounds"/>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" >
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
|
@ -166,6 +167,7 @@
|
|||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="qp-bounds"/>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es">
|
||||
<Limit name="size" min="32x32" max="2048x2048" />
|
||||
|
@ -179,6 +181,7 @@
|
|||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="qp-bounds"/>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp">
|
||||
<Limit name="size" min="32x32" max="2048x1152" />
|
||||
|
@ -191,6 +194,7 @@
|
|||
<Limit name="performance-point-1920x1080" range="120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="qp-bounds"/>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
|
||||
<Limit name="size" min="32x32" max="3840x2160" />
|
||||
|
@ -204,6 +208,7 @@
|
|||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="qp-bounds"/>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
|
@ -217,6 +222,7 @@
|
|||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="qp-bounds"/>
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
||||
|
|
|
@ -71,10 +71,8 @@
|
|||
<Limit name="measured-frame-rate-480x360" range="387-389" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.h263.decoder" type="video/3gpp" update="true">
|
||||
<!-- measured 90%:521-541 med:521 N=2 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="1300-1400" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:528-540 med:528 N=2 -->
|
||||
<Limit name="measured-frame-rate-352x288" range="528-534" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="502-753" />
|
||||
<Limit name="measured-frame-rate-352x288" range="420-631" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<!-- measured 90%:451-555 med:452 SLOW N=2 -->
|
||||
|
@ -133,7 +131,9 @@
|
|||
<Limit name="measured-frame-rate-1920x1080" range="54-56" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="846-1244" /> <!-- v90%=1.2 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="1215-1823" />
|
||||
<Limit name="measured-frame-rate-480x360" range="830-1246" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="234-351" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="873-1013" /> <!-- v90%=1.1 -->
|
||||
|
@ -179,8 +179,7 @@
|
|||
|
||||
<Encoders>
|
||||
<MediaCodec name="c2.exynos.h264.encoder" type="video/avc" update="true">
|
||||
<!-- measured 90%:482-560 med:483 N=2 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="482-520" /> <!-- v90%=1.1 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="371-554" />
|
||||
<!-- measured 90%:301-313 med:302 N=2 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="301-307" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:181-201 med:181 N=2 -->
|
||||
|
@ -189,8 +188,7 @@
|
|||
<Limit name="measured-frame-rate-1920x1080" range="98-99" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" update="true">
|
||||
<!-- measured 90%:589-597 med:589 N=2 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="589-593" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="365-546" />
|
||||
<!-- measured 90%:291-304 med:292 N=2 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="291-298" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:195-201 med:196 N=2 -->
|
||||
|
@ -209,29 +207,20 @@
|
|||
<Limit name="measured-frame-rate-704x576" range="120-176" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<!-- measured 90%:478-498 med:479 N=2 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="478-488" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:334-347 med:334 N=2 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="334-341" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:142-143 med:142 N=2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="142-142" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:69-70 med:69 N=2 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="69-69" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="382-574" />
|
||||
<Limit name="measured-frame-rate-640x360" range="182-274" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="89-134" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="60-91" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<!-- measured 90%:474-485 med:474 N=2 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="474-479" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:192-267 med:193 SLOW N=2 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="192-227" /> <!-- v90%=1.2 -->
|
||||
<!-- measured 90%:95-96 med:96 N=2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="95-96" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:84-86 med:85 N=2 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="84-85" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="381-570" />
|
||||
<Limit name="measured-frame-rate-640x360" range="184-276" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="91-136" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="62-93" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
|
||||
<!-- measured 90%:440-443 med:440 N=2 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="440-441" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="841-1261" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
|
||||
<!-- measured 90%:345-350 med:345 N=2 -->
|
||||
|
@ -248,8 +237,7 @@
|
|||
<Limit name="measured-frame-rate-320x240" range="62-63" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<!-- measured 90%:461-471 med:462 N=2 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="461-466" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="1129-1694" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="183-284" /> <!-- v90%=1.3 -->
|
||||
|
@ -257,5 +245,10 @@
|
|||
<Limit name="measured-frame-rate-1280x720" range="34-38" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="29-31" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="251-376" />
|
||||
<Limit name="measured-frame-rate-640x360" range="64-97" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="16-24" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
PRODUCT_PACKAGES += dmd
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
PRODUCT_PACKAGES += dmd
|
||||
endif
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs101-sepolicy/modem/user
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
PRODUCT_PACKAGES += vcd
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
PRODUCT_PACKAGES += vcd
|
||||
endif
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs101-sepolicy/modem/userdebug/
|
||||
|
|
|
@ -188,7 +188,7 @@
|
|||
<integer-array name="config_mappedColorModes">
|
||||
<item>0</item> <!-- COLOR_MODE_NATURAL -->
|
||||
<item>256</item> <!-- COLOR_MODE_BOOSTED -->
|
||||
<item>2</item> <!-- COLOR_MODE_SATURATED -->
|
||||
<item>3</item> <!-- COLOR_MODE_SATURATED -->
|
||||
<item>3</item> <!-- COLOR_MODE_AUTOMATIC -->
|
||||
</integer-array>
|
||||
|
||||
|
@ -240,10 +240,18 @@
|
|||
<!-- Should the pinner service pin the Home application? -->
|
||||
<bool name="config_pinnerHomeApp">true</bool>
|
||||
|
||||
<!-- The default intensity level for alarm vibrations. See
|
||||
Settings.System.ALARM_VIBRATION_INTENSITY more details on the constant values and
|
||||
meanings. -->
|
||||
<integer name="config_defaultAlarmVibrationIntensity">3</integer>
|
||||
<!-- The default intensity level for haptic feedback. See
|
||||
Settings.System.HAPTIC_FEEDBACK_INTENSITY more details on the constant values and
|
||||
meanings. -->
|
||||
<integer name="config_defaultHapticFeedbackIntensity">3</integer>
|
||||
<!-- The default intensity level for media vibrations. See
|
||||
Settings.System.MEDIA_VIBRATION_INTENSITY more details on the constant values and
|
||||
meanings. -->
|
||||
<integer name="config_defaultMediaVibrationIntensity">3</integer>
|
||||
<!-- The default intensity level for notification vibrations. See
|
||||
Settings.System.NOTIFICATION_VIBRATION_INTENSITY more details on the constant values and
|
||||
meanings. -->
|
||||
|
@ -260,4 +268,13 @@
|
|||
|
||||
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||
<bool name="config_zramWriteback">true</bool>
|
||||
|
||||
<!-- List of system components which are allowed to receive ServiceState entries in an
|
||||
un-sanitized form, even if the location toggle is off. This is intended ONLY for system
|
||||
components, such as the telephony stack, which require access to the full ServiceState for
|
||||
tasks such as network registration. -->
|
||||
<string-array name="config_serviceStateLocationAllowedPackages">
|
||||
<item>"com.shannon.imsservice"</item>
|
||||
<item>"com.android.phone"</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
|
21
overlay/frameworks/base/core/res/res/values/dimens.xml
Normal file
21
overlay/frameworks/base/core/res/res/values/dimens.xml
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
* Copyright (c) 2022, 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>
|
||||
<!-- for 20dp of padding at 3.5px/dp at default density -->
|
||||
<dimen name="rounded_corner_content_padding">70px</dimen>
|
||||
</resources>
|
|
@ -16,9 +16,6 @@
|
|||
*/
|
||||
-->
|
||||
<resources>
|
||||
<!-- for 20dp of padding at 3.5px/dp at default density -->
|
||||
<dimen name="rounded_corner_content_padding">70px</dimen>
|
||||
|
||||
<!-- the padding on the top of the statusbar (usually 0) -->
|
||||
<dimen name="status_bar_padding_top">1dp</dimen>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
on property:sys.boot_completed=1
|
||||
start vendor.pixelstats_vendor
|
||||
start vendor.pixelstats_vendor
|
||||
|
||||
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
|
||||
class hal
|
||||
|
|
31
pkvm/Android.bp
Normal file
31
pkvm/Android.bp
Normal file
|
@ -0,0 +1,31 @@
|
|||
// 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.
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
// all of the 'license_kinds' from "//device/google/gs101:device_google_gs101_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: [
|
||||
"//device/google/gs101:device_google_gs101_license",
|
||||
],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "pkvm_enabler",
|
||||
vendor: true,
|
||||
init_rc: ["pkvm_enabler.gs101.rc"],
|
||||
srcs: ["pkvm_enabler.c"],
|
||||
shared_libs: ["liblog"],
|
||||
}
|
75
pkvm/pkvm_enabler.c
Normal file
75
pkvm/pkvm_enabler.c
Normal file
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "pkvm_enabler"
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <log/log.h>
|
||||
|
||||
#define KVM_DEVICE "/dev/kvm"
|
||||
#define MISC_WRITER "/vendor/bin/misc_writer"
|
||||
|
||||
int main() {
|
||||
char *newargv[] = { MISC_WRITER, "--set-enable-pkvm", NULL };
|
||||
char *newenvp[] = { NULL };
|
||||
pid_t pid;
|
||||
int ret, wstatus;
|
||||
|
||||
/* Check whether KVM device exists. */
|
||||
ret = access(KVM_DEVICE, F_OK);
|
||||
|
||||
/* If KVM device exists, return SUCCESS to continue booting. */
|
||||
if (ret == 0) {
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
if (ret != -ENOENT) {
|
||||
ALOGW("Unexpected error from access(): %d", ret);
|
||||
}
|
||||
|
||||
/*
|
||||
* If KVM device does not exist, run misc_writer and return FAILURE
|
||||
* to force a reboot.
|
||||
*/
|
||||
pid = fork();
|
||||
if (pid == -1) {
|
||||
ALOGE("Could not fork: %d", errno);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (pid == 0) {
|
||||
execve(MISC_WRITER, newargv, newenvp);
|
||||
ALOGE("Could not execute " MISC_WRITER ": %d", errno);
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
waitpid(pid, &wstatus, 0);
|
||||
if (WIFEXITED(wstatus)) {
|
||||
ret = WEXITSTATUS(wstatus);
|
||||
if (ret) {
|
||||
ALOGE(MISC_WRITER " exit status: %d", ret);
|
||||
}
|
||||
} else {
|
||||
ALOGE(MISC_WRITER " terminated unexpectedly: %d", wstatus);
|
||||
}
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
5
pkvm/pkvm_enabler.gs101.rc
Normal file
5
pkvm/pkvm_enabler.gs101.rc
Normal file
|
@ -0,0 +1,5 @@
|
|||
service pkvm_enabler /vendor/bin/pkvm_enabler
|
||||
reboot_on_failure reboot,pkvm-not-enabled
|
||||
|
||||
on early-init
|
||||
exec_start pkvm_enabler
|
13
pkvm/pkvm_experiment.rc
Normal file
13
pkvm/pkvm_experiment.rc
Normal file
|
@ -0,0 +1,13 @@
|
|||
service vendor.pkvm_enable /vendor/bin/misc_writer --set-enable-pkvm
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
service vendor.pkvm_disable /vendor/bin/misc_writer --set-disable-pkvm
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
on property:persist.device_config.virtualization_framework_native.isolated_compilation_enabled=true
|
||||
start vendor.pkvm_enable
|
||||
|
||||
on property:persist.device_config.virtualization_framework_native.isolated_compilation_enabled=false
|
||||
start vendor.pkvm_disable
|
|
@ -55,7 +55,7 @@
|
|||
},
|
||||
{
|
||||
"Name": "TAUClampBoost",
|
||||
"Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
|
||||
"Path": "/proc/vendor_sched/ta_uclamp_min",
|
||||
"Values": [
|
||||
"0",
|
||||
"410",
|
||||
|
@ -75,15 +75,6 @@
|
|||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "F2fsRecessModeEnable",
|
||||
"Path": "/dev/sys/fs/by-name/userdata/gc_urgent",
|
||||
"Values": [
|
||||
"2",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "PowerHALRenderingState",
|
||||
"Path": "vendor.powerhal.rendering",
|
||||
|
@ -184,12 +175,6 @@
|
|||
"Duration": 200,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "DEVICE_IDLE",
|
||||
"Node": "F2fsRecessModeEnable",
|
||||
"Duration": 0,
|
||||
"Value": "2"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Type": "EndHint",
|
||||
|
@ -231,12 +216,6 @@
|
|||
"Duration": 5000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "DISPLAY_INACTIVE",
|
||||
"Node": "F2fsRecessModeEnable",
|
||||
"Duration": 0,
|
||||
"Value": "2"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_LAUNCH",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
},
|
||||
{
|
||||
"Name": "TAUClampBoost",
|
||||
"Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
|
||||
"Path": "/proc/vendor_sched/ta_uclamp_min",
|
||||
"Values": [
|
||||
"0",
|
||||
"410",
|
||||
|
@ -95,15 +95,6 @@
|
|||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "F2fsRecessModeEnable",
|
||||
"Path": "/dev/sys/fs/by-name/userdata/gc_urgent",
|
||||
"Values": [
|
||||
"2",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "LimitFlashCurrent",
|
||||
"Path": "vendor.camera.max_flash_current",
|
||||
|
@ -214,12 +205,6 @@
|
|||
"Duration": 200,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "DEVICE_IDLE",
|
||||
"Node": "F2fsRecessModeEnable",
|
||||
"Duration": 0,
|
||||
"Value": "2"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Type": "EndHint",
|
||||
|
@ -261,12 +246,6 @@
|
|||
"Duration": 5000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "DISPLAY_INACTIVE",
|
||||
"Node": "F2fsRecessModeEnable",
|
||||
"Duration": 0,
|
||||
"Value": "2"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_LAUNCH",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
|
|
|
@ -11,6 +11,14 @@
|
|||
// 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.
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"hardware/google/pixel",
|
||||
"device/google/gs-common/powerstats",
|
||||
],
|
||||
}
|
||||
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
|
@ -33,6 +41,7 @@ cc_library {
|
|||
],
|
||||
|
||||
shared_libs: [
|
||||
"android.hardware.power.stats-impl.gs-common",
|
||||
"android.hardware.power.stats-impl.pixel",
|
||||
],
|
||||
}
|
||||
|
|
|
@ -1,128 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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.
|
||||
*/
|
||||
|
||||
#include "AocStateResidencyDataProvider.h"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
AocStateResidencyDataProvider::AocStateResidencyDataProvider(std::vector<std::pair<std::string,
|
||||
std::string>> ids, std::vector<std::pair<std::string, std::string>> states) {
|
||||
// AoC stats are reported in ticks of 244.140625ns. The transform
|
||||
// function converts ticks to milliseconds.
|
||||
// 1000000 / 244.140625 = 4096.
|
||||
static const uint64_t AOC_CLK = 4096;
|
||||
std::function<uint64_t(uint64_t)> aocTickToMs = [](uint64_t a) { return a / AOC_CLK; };
|
||||
GenericStateResidencyDataProvider::StateResidencyConfig config = {
|
||||
.entryCountSupported = true,
|
||||
.entryCountPrefix = "Counter:",
|
||||
.totalTimeSupported = true,
|
||||
.totalTimePrefix = "Cumulative time:",
|
||||
.totalTimeTransform = aocTickToMs,
|
||||
.lastEntrySupported = true,
|
||||
.lastEntryPrefix = "Time last entered:",
|
||||
.lastEntryTransform = aocTickToMs,
|
||||
};
|
||||
for (const auto &id : ids) {
|
||||
for (const auto &state : states) {
|
||||
std::vector<std::pair<std::string, std::string>> aocStateHeaders = {
|
||||
std::make_pair(state.first, ""),
|
||||
};
|
||||
std::vector<GenericStateResidencyDataProvider::PowerEntityConfig> cfgs;
|
||||
cfgs.emplace_back(generateGenericStateResidencyConfigs(config, aocStateHeaders),
|
||||
id.first, "");
|
||||
std::unique_ptr<GenericStateResidencyDataProvider> sdp(
|
||||
new GenericStateResidencyDataProvider(id.second + state.second, cfgs));
|
||||
mProviders[id.first].push_back(std::move(sdp));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool AocStateResidencyDataProvider::getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) {
|
||||
// States from the same power entity are merged.
|
||||
bool ret = true;
|
||||
for (const auto &providerList : mProviders) {
|
||||
int32_t stateId = 0;
|
||||
std::string curEntity = providerList.first;
|
||||
std::vector<StateResidency> stateResidencies;
|
||||
|
||||
// Iterate over each provider in the providerList, appending each of the states
|
||||
for (const auto &provider : providerList.second) {
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> residency;
|
||||
ret &= provider->getStateResidencies(&residency);
|
||||
|
||||
// Each provider should only return data for curEntity but checking anyway
|
||||
if (residency.find(curEntity) != residency.end()) {
|
||||
for (auto &r : residency.at(curEntity)) {
|
||||
/*
|
||||
* Modifying stateId here because we are stitching together infos from
|
||||
* multiple GenericStateResidencyDataProviders. stateId must be modified
|
||||
* to maintain uniqueness for a given entity
|
||||
*/
|
||||
r.id = stateId++;
|
||||
stateResidencies.push_back(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
residencies->emplace(curEntity, stateResidencies);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::unordered_map<std::string, std::vector<State>> AocStateResidencyDataProvider::getInfo() {
|
||||
// States from the same power entity are merged
|
||||
std::unordered_map<std::string, std::vector<State>> infos;
|
||||
for (const auto &providerList : mProviders) {
|
||||
int32_t stateId = 0;
|
||||
std::string curEntity = providerList.first;
|
||||
std::vector<State> stateInfos;
|
||||
|
||||
// Iterate over each provider in the providerList, appending each of the states
|
||||
for (const auto &provider : providerList.second) {
|
||||
std::unordered_map<std::string, std::vector<State>> info = provider->getInfo();
|
||||
|
||||
// Each provider should only return data for curEntity but checking anyway
|
||||
if (info.find(curEntity) != info.end()) {
|
||||
for (auto &i : info.at(curEntity)) {
|
||||
/*
|
||||
* Modifying stateId because we are stitching together infos from
|
||||
* multiple GenericStateResidencyDataProviders. stateId must be modified
|
||||
* to maintain uniqueness for a given entity
|
||||
*/
|
||||
i.id = stateId++;
|
||||
stateInfos.push_back(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
infos.emplace(curEntity, stateInfos);
|
||||
}
|
||||
|
||||
return infos;
|
||||
}
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -1,45 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <dataproviders/GenericStateResidencyDataProvider.h>
|
||||
#include <PowerStatsAidl.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
class AocStateResidencyDataProvider : public PowerStats::IStateResidencyDataProvider {
|
||||
public:
|
||||
AocStateResidencyDataProvider(std::vector<std::pair<std::string, std::string>> ids,
|
||||
std::vector<std::pair<std::string, std::string>> states);
|
||||
~AocStateResidencyDataProvider() = default;
|
||||
bool getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) override;
|
||||
std::unordered_map<std::string, std::vector<State>> getInfo() override;
|
||||
|
||||
private:
|
||||
std::unordered_map<std::string /* entity name */,
|
||||
std::vector<std::unique_ptr<GenericStateResidencyDataProvider>> /* providers */> mProviders;
|
||||
};
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -1,111 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
#include "DevfreqStateResidencyDataProvider.h"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
|
||||
static const std::string nameSuffix = "-DVFS";
|
||||
static const std::string pathSuffix = "/time_in_state";
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
DevfreqStateResidencyDataProvider::DevfreqStateResidencyDataProvider(const std::string& name,
|
||||
const std::string& path) : mName(name + nameSuffix), mPath(path + pathSuffix) {}
|
||||
|
||||
bool DevfreqStateResidencyDataProvider::extractNum(const char *str, char **str_end, int base,
|
||||
int64_t* num) {
|
||||
// errno can be set to any non-zero value by a library function call
|
||||
// regardless of whether there was an error, so it needs to be cleared
|
||||
// in order to check the error set by strtoll
|
||||
errno = 0;
|
||||
*num = std::strtoll(str, str_end, base);
|
||||
return (errno != ERANGE);
|
||||
}
|
||||
|
||||
std::vector<std::pair<int64_t, int64_t>> DevfreqStateResidencyDataProvider::parseTimeInState() {
|
||||
// Using FILE* instead of std::ifstream for performance reasons
|
||||
std::unique_ptr<FILE, decltype(&fclose)> fp(fopen(mPath.c_str(), "r"), fclose);
|
||||
if (!fp) {
|
||||
PLOG(ERROR) << "Failed to open file " << mPath;
|
||||
return {};
|
||||
}
|
||||
|
||||
std::vector<std::pair<int64_t, int64_t>> timeInState;
|
||||
|
||||
char *line = nullptr;
|
||||
size_t len = 0;
|
||||
while (getline(&line, &len, fp.get()) != -1) {
|
||||
char* pEnd;
|
||||
int64_t frequencyHz, totalTimeMs;
|
||||
if (!extractNum(line, &pEnd, 10, &frequencyHz) ||
|
||||
!extractNum(pEnd, &pEnd, 10, &totalTimeMs)) {
|
||||
PLOG(ERROR) << "Failed to parse " << mPath;
|
||||
free(line);
|
||||
return {};
|
||||
}
|
||||
|
||||
timeInState.push_back({frequencyHz, totalTimeMs});
|
||||
}
|
||||
|
||||
free(line);
|
||||
return timeInState;
|
||||
}
|
||||
|
||||
bool DevfreqStateResidencyDataProvider::getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) {
|
||||
std::vector<std::pair<int64_t, int64_t>> timeInState = parseTimeInState();
|
||||
|
||||
if (timeInState.empty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int32_t id = 0;
|
||||
std::vector<StateResidency> stateResidencies;
|
||||
for (const auto[frequencyHz, totalTimeMs] : timeInState) {
|
||||
StateResidency s = {.id = id++, .totalTimeInStateMs = totalTimeMs};
|
||||
stateResidencies.push_back(s);
|
||||
}
|
||||
|
||||
residencies->emplace(mName, stateResidencies);
|
||||
return true;
|
||||
}
|
||||
|
||||
std::unordered_map<std::string, std::vector<State>> DevfreqStateResidencyDataProvider::getInfo() {
|
||||
std::vector<std::pair<int64_t, int64_t>> timeInState = parseTimeInState();
|
||||
|
||||
if (timeInState.empty()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
int32_t id = 0;
|
||||
std::vector<State> states;
|
||||
for (const auto[frequencyHz, totalTimeMs] : timeInState) {
|
||||
State s = {.id = id++, .name = std::to_string(frequencyHz / 1000) + "MHz"};
|
||||
states.push_back(s);
|
||||
}
|
||||
|
||||
return {{mName, states}};
|
||||
}
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -1,53 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <PowerStatsAidl.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
class DevfreqStateResidencyDataProvider : public PowerStats::IStateResidencyDataProvider {
|
||||
public:
|
||||
DevfreqStateResidencyDataProvider(const std::string& name, const std::string& path);
|
||||
~DevfreqStateResidencyDataProvider() = default;
|
||||
|
||||
/*
|
||||
* See IStateResidencyDataProvider::getStateResidencies
|
||||
*/
|
||||
bool getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) override;
|
||||
|
||||
/*
|
||||
* See IStateResidencyDataProvider::getInfo
|
||||
*/
|
||||
std::unordered_map<std::string, std::vector<State>> getInfo() override;
|
||||
|
||||
private:
|
||||
bool extractNum(const char *str, char **str_end, int base, int64_t* num);
|
||||
std::vector<std::pair<int64_t, int64_t>> parseTimeInState();
|
||||
const std::string mName;
|
||||
const std::string mPath;
|
||||
};
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -1,149 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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.
|
||||
*/
|
||||
#include "DvfsStateResidencyDataProvider.h"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/parseint.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
using android::base::ParseUint;
|
||||
using android::base::Split;
|
||||
using android::base::StartsWith;
|
||||
using android::base::Trim;
|
||||
|
||||
static const std::string nameSuffix = "-DVFS";
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
DvfsStateResidencyDataProvider::DvfsStateResidencyDataProvider(std::string path, uint64_t clockRate,
|
||||
std::vector<Config> cfgs)
|
||||
: mPath(std::move(path)), mClockRate(clockRate), mPowerEntities(std::move(cfgs)) {}
|
||||
|
||||
int32_t DvfsStateResidencyDataProvider::matchEntity(char const *line) {
|
||||
for (int32_t i = 0; i < mPowerEntities.size(); i++) {
|
||||
if (mPowerEntities[i].powerEntityName == Trim(std::string(line))) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int32_t DvfsStateResidencyDataProvider::matchState(char const *line, const Config& powerEntity) {
|
||||
for (int32_t i = 0; i < powerEntity.states.size(); i++) {
|
||||
if (StartsWith(Trim(std::string(line)), powerEntity.states[i].second)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool DvfsStateResidencyDataProvider::parseState(char const *line, uint64_t *duration,
|
||||
uint64_t *count) {
|
||||
std::vector<std::string> parts = Split(line, " ");
|
||||
if (parts.size() != 7) {
|
||||
return false;
|
||||
}
|
||||
if (!ParseUint(Trim(parts[3]), count)) {
|
||||
return false;
|
||||
}
|
||||
if (!ParseUint(Trim(parts[6]), duration)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DvfsStateResidencyDataProvider::getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) {
|
||||
std::unique_ptr<FILE, decltype(&fclose)> fp(fopen(mPath.c_str(), "r"), fclose);
|
||||
if (!fp) {
|
||||
PLOG(ERROR) << __func__ << ":Failed to open file " << mPath;
|
||||
return false;
|
||||
}
|
||||
|
||||
for (const Config &powerEntity : mPowerEntities) {
|
||||
std::vector<StateResidency> stateResidency(powerEntity.states.size());
|
||||
for (int32_t i = 0; i < stateResidency.size(); i++) {
|
||||
stateResidency[i].id = i;
|
||||
}
|
||||
residencies->emplace(powerEntity.powerEntityName + nameSuffix, stateResidency);
|
||||
}
|
||||
|
||||
size_t len = 0;
|
||||
char *line = nullptr;
|
||||
|
||||
int32_t temp, powerEntityIndex, stateId = -1;
|
||||
uint64_t duration, count;
|
||||
auto it = residencies->end();
|
||||
|
||||
while (getline(&line, &len, fp.get()) != -1) {
|
||||
temp = matchEntity(line);
|
||||
// Assign new index only when a new valid entity is encountered.
|
||||
if (temp >= 0) {
|
||||
powerEntityIndex = temp;
|
||||
it = residencies->find(mPowerEntities[powerEntityIndex].powerEntityName + nameSuffix);
|
||||
}
|
||||
|
||||
if (it != residencies->end()) {
|
||||
stateId = matchState(line, mPowerEntities[powerEntityIndex]);
|
||||
|
||||
if (stateId >= 0) {
|
||||
if (parseState(line, &duration, &count)) {
|
||||
it->second[stateId].totalTimeInStateMs =
|
||||
duration / mClockRate;
|
||||
it->second[stateId].totalStateEntryCount = count;
|
||||
} else {
|
||||
LOG(ERROR) << "Failed to parse duration and count from [" << std::string(line)
|
||||
<< "]";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free(line);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
std::unordered_map<std::string, std::vector<State>> DvfsStateResidencyDataProvider::getInfo() {
|
||||
std::unordered_map<std::string, std::vector<State>> info;
|
||||
for (auto const &entity : mPowerEntities) {
|
||||
std::vector<State> stateInfo(entity.states.size());
|
||||
int32_t stateId = 0;
|
||||
for (auto const &state : entity.states) {
|
||||
stateInfo[stateId] = State{
|
||||
.id = stateId,
|
||||
.name = state.first
|
||||
};
|
||||
stateId++;
|
||||
}
|
||||
info.emplace(entity.powerEntityName + nameSuffix, stateInfo);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <PowerStatsAidl.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
class DvfsStateResidencyDataProvider : public PowerStats::IStateResidencyDataProvider {
|
||||
public:
|
||||
class Config {
|
||||
public:
|
||||
// Power entity name to parse.
|
||||
std::string powerEntityName;
|
||||
|
||||
// List of state pairs (name to display, name to parse).
|
||||
std::vector<std::pair<std::string, std::string>> states;
|
||||
};
|
||||
/*
|
||||
* path - path to dvfs sysfs node.
|
||||
* clockRate - clock rate in KHz.
|
||||
*/
|
||||
DvfsStateResidencyDataProvider(std::string path, uint64_t clockRate, std::vector<Config> cfgs);
|
||||
~DvfsStateResidencyDataProvider() = default;
|
||||
|
||||
/*
|
||||
* See IStateResidencyDataProvider::getStateResidencies
|
||||
*/
|
||||
bool getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) override;
|
||||
|
||||
/*
|
||||
* See IStateResidencyDataProvider::getInfo
|
||||
*/
|
||||
std::unordered_map<std::string, std::vector<State>> getInfo() override;
|
||||
|
||||
private:
|
||||
int32_t matchEntity(char const *line);
|
||||
int32_t matchState(char const *line, const Config& powerEntity);
|
||||
bool parseState(char const *line, uint64_t *duration, uint64_t *count);
|
||||
|
||||
const std::string mPath;
|
||||
const uint64_t mClockRate;
|
||||
std::vector<Config> mPowerEntities;
|
||||
};
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -605,17 +605,33 @@ void addPowerDomains(std::shared_ptr<PowerStats> p) {
|
|||
}
|
||||
|
||||
void addDevfreq(std::shared_ptr<PowerStats> p) {
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>("INT",
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"INT",
|
||||
"/sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int"));
|
||||
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>("INTCAM",
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"INTCAM",
|
||||
"/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam"));
|
||||
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>("CAM",
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"DISP",
|
||||
"/sys/devices/platform/17000040.devfreq_disp/devfreq/17000040.devfreq_disp"));
|
||||
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"CAM",
|
||||
"/sys/devices/platform/17000050.devfreq_cam/devfreq/17000050.devfreq_cam"));
|
||||
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>("TNR",
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"TNR",
|
||||
"/sys/devices/platform/17000060.devfreq_tnr/devfreq/17000060.devfreq_tnr"));
|
||||
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"MFC",
|
||||
"/sys/devices/platform/17000070.devfreq_mfc/devfreq/17000070.devfreq_mfc"));
|
||||
|
||||
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
|
||||
"BO",
|
||||
"/sys/devices/platform/17000080.devfreq_bo/devfreq/17000080.devfreq_bo"));
|
||||
}
|
||||
|
||||
void addTPU(std::shared_ptr<PowerStats> p) {
|
||||
|
@ -630,7 +646,7 @@ void addTPU(std::shared_ptr<PowerStats> p) {
|
|||
|
||||
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer(p,
|
||||
EnergyConsumerType::OTHER, "TPU", {"S10M_VDD_TPU"},
|
||||
{{UID_TIME_IN_STATE, "/sys/class/edgetpu/abrolhos/device/tpu_usage"}},
|
||||
{{UID_TIME_IN_STATE, "/sys/class/edgetpu/edgetpu-soc/device/tpu_usage"}},
|
||||
stateCoeffs));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,82 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
#include "UfsStateResidencyDataProvider.h"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/parseint.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
using android::base::ParseInt;
|
||||
using android::base::Split;
|
||||
using android::base::StartsWith;
|
||||
using android::base::Trim;
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
const int32_t HIBERNATE_STATE_ID = 0;
|
||||
const std::string UFS_NAME = "UFS";
|
||||
|
||||
UfsStateResidencyDataProvider::UfsStateResidencyDataProvider(std::string prefix) : kPrefix(prefix) {}
|
||||
|
||||
bool UfsStateResidencyDataProvider::getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) {
|
||||
StateResidency residency;
|
||||
residency.id = HIBERNATE_STATE_ID;
|
||||
|
||||
// The transform function converts microseconds to milliseconds.
|
||||
std::function<uint64_t(uint64_t)> usecToMs = [](uint64_t a) { return a / 1000; };
|
||||
|
||||
residency.totalTimeInStateMs = usecToMs(readStat(kPrefix + "hibern8_total_us"));
|
||||
residency.totalStateEntryCount = readStat(kPrefix + "hibern8_exit_cnt");
|
||||
residency.lastEntryTimestampMs = usecToMs(readStat(kPrefix + "last_hibern8_enter_time"));
|
||||
|
||||
residencies->emplace(UFS_NAME, std::vector<StateResidency>{residency});
|
||||
return true;
|
||||
}
|
||||
|
||||
std::unordered_map<std::string, std::vector<State>> UfsStateResidencyDataProvider::getInfo() {
|
||||
return {{UFS_NAME, std::vector<State>{{HIBERNATE_STATE_ID, "HIBERN8"}} }};
|
||||
}
|
||||
|
||||
int64_t UfsStateResidencyDataProvider::readStat(std::string path) {
|
||||
std::unique_ptr<FILE, decltype(&fclose)> fp(fopen(path.c_str(), "r"), fclose);
|
||||
if (!fp) {
|
||||
PLOG(ERROR) << __func__ << ":Failed to open file " << path
|
||||
<< " Error = " << strerror(errno);
|
||||
return 0;
|
||||
}
|
||||
const size_t size = 20;
|
||||
char buf[size];
|
||||
(void)fread(&buf, sizeof(char), size, fp.get());
|
||||
int64_t ret;
|
||||
if (!ParseInt(Trim(std::string(buf)), &ret)) {
|
||||
LOG(ERROR) << "Failed to parse int64 from [" << std::string(buf) << "]";
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -1,52 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <PowerStatsAidl.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace stats {
|
||||
|
||||
class UfsStateResidencyDataProvider : public PowerStats::IStateResidencyDataProvider {
|
||||
public:
|
||||
UfsStateResidencyDataProvider(std::string prefix);
|
||||
~UfsStateResidencyDataProvider() = default;
|
||||
|
||||
/*
|
||||
* See IStateResidencyDataProvider::getStateResidencies
|
||||
*/
|
||||
bool getStateResidencies(
|
||||
std::unordered_map<std::string, std::vector<StateResidency>> *residencies) override;
|
||||
|
||||
/*
|
||||
* See IStateResidencyDataProvider::getInfo
|
||||
*/
|
||||
std::unordered_map<std::string, std::vector<State>> getInfo() override;
|
||||
|
||||
private:
|
||||
int64_t readStat(std::string path);
|
||||
|
||||
const std::string kPrefix;
|
||||
};
|
||||
|
||||
} // namespace stats
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
1
radio/config/Pixel_Default.cfg
Normal file
1
radio/config/Pixel_Default.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
Pixel_Default.nprf,Pixel_Default_metrics.xml
|
BIN
radio/config/Pixel_Default.nprf
Normal file
BIN
radio/config/Pixel_Default.nprf
Normal file
Binary file not shown.
190
radio/config/Pixel_Default_metrics.xml
Normal file
190
radio/config/Pixel_Default_metrics.xml
Normal file
|
@ -0,0 +1,190 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<NODE FILTER="Basic Metrics">
|
||||
<ITEM NAME="COMMON">
|
||||
<ITEM NAME="COMMON_BASIC_INFORMATION" VALUE="0x0100" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="COMMON_CELL_INFORMATION" VALUE="0x0101" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="COMMON_DATA_INFORMATION" VALUE="0x0102" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="COMMON_SIG_MSG_INFORMATION" VALUE="0x0103" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="COMMON_SMS_INFORMATION" VALUE="0x0104" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_HPLMN_TIMER_INFORMATION" VALUE="0x0105" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_SIG_MSG_INFORMATION_MULTI" VALUE="0x0106" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="NR_RRC_SIGNALING_MESSAGE" VALUE="0x0108" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="NR_NAS_SIGNALING_MESSAGE" VALUE="0x0109" CHECKED="true"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="LTE">
|
||||
<ITEM NAME="LTE_PHY_PHY_STATUS_INFO" VALUE="0x0200" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_CELL_SERCH_MEAS_INFO" VALUE="0x0201" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_NCELL_MEAS_INFO" VALUE="0x0202" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_SYSTEM_INF" VALUE="0x0204" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_CHAN_QUAL_INFO" VALUE="0x0205" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PARAMETER_INFO" VALUE="0x0206" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PHICH_INFO" VALUE="0x0207" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_THROUGHPUT_INFO" VALUE="0x0208" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_RCVD_SIGNAL_QUALITY_INFO" VALUE="0x0209" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PHICH_TTIB_INFO" VALUE="0x020A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PUSCH_TTIB_INFO" VALUE="0x020B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RF_INFO" VALUE="0x0210" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SYNC_INFO" VALUE="0x0211" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DOWNLINK_INFO" VALUE="0x0212" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_UPLINK_INFO" VALUE="0x0213" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DRX_CONFIG" VALUE="0x0214" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_EVENT" VALUE="0x0215" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_PUSCH_STATS" VALUE="0x0216" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RACH_ATTEMPT" VALUE="0x0217" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_UL_SCHED_STATS" VALUE="0x0218" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SECONDARY_CELL_INFO" VALUE="0x0219" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_OTDOA_MEASURE_REPORT_INFO" VALUE="0x021A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DOWNLINK_INFO2" VALUE="0x021B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RF_BLACKOUT_TIME" VALUE="0x0220" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SAR_MTPL" VALUE="0x0221" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L1_ANTENNA_SELECTION" VALUE="0x0222" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SPECIFIC_PARAM" VALUE="0x0230" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_SCH_CONFIG" VALUE="0x0231" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SCH_CONFIG" VALUE="0x0232" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TIME_ALIGNMENT_TIMER" VALUE="0x0233" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PHR_CONFIG" VALUE="0x0234" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PREAMBLE_INFO" VALUE="0x0235" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_POWER_RAMPING_STEP" VALUE="0x0236" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RA_SUPERVISION_INFO" VALUE="0x0237" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAX_HARQ_MSG3TX" VALUE="0x0238" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RACH_INFO" VALUE="0x0239" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RNTI_INFO" VALUE="0x023A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RA_FAILURE_INFO" VALUE="0x023B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SYNC_STAT_INFO" VALUE="0x023C" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_D_SR_STATUS" VALUE="0x023D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_BUFFER_STAT_INFO" VALUE="0x023E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAC_THROUGHPUT_INFO" VALUE="0x023F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_INFO" VALUE="0x0240" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_STATUS_INFO" VALUE="0x0241" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_PDCP_INFO" VALUE="0x0242" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_PDCP_INFO" VALUE="0x0243" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_ROHC_CONF_INFO" VALUE="0x0244" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_ROHC_INFO" VALUE="0x0245" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_ROHC_INFO" VALUE="0x0246" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TTI_BUNDLING" VALUE="0x0247" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAC_CE" VALUE="0x0248" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TIMER_STATE" VALUE="0x0249" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_BSR_STATS" VALUE="0x024A" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_STATS" VALUE="0x024B" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PDCP_STATS" VALUE="0x024C" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_SERVING_CELL_INFO = 0x0250" VALUE="0x0250" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_STATUS_VARIABLE_INFO" VALUE="0x0251" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_PEER_MSG_INFO" VALUE="0x0252" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_TIMER_INFO" VALUE="0x0253" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_PEER_MULTI_MSG_INFO" VALUE="0x0254" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_RACH_MSG_INFO" VALUE="0x0255" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_TIMER_STATE_INFO" VALUE="0x0256" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_EVENT" VALUE="0x0257" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_SIM_DATA_INFO = 0x0258" VALUE="0x0258" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_STATE_VARIABLE_INFO" VALUE="0x0259" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_L3_MM_MSG_INFO" VALUE="0x025A" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EPS_BEARER_CONTEXT" VALUE="0x025B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EPS_BEARER_QOS" VALUE="0x025C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_PDP_INFO" VALUE="0x025D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_IP_INFO" VALUE="0x025E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_L3_SM_MSG_INFO" VALUE="0x025F" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_DATA_HANDOVER_STAT_INFO" VALUE="0x0262" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_DATA_CALL_DROP_INFO" VALUE="0x0263" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_TIN_INFO" VALUE="0x0264" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_ATTEMPT_INFO" VALUE="0x0265" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EMM_TIMER_STATE_INFO" VALUE="0x0266" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_ESM_TIMER_STATE_INFO" VALUE="0x0267" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_PACKET_INFO" VALUE="0x0270" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_PACKET_INFO" VALUE="0x0271" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_OVERALL_STAT_INFO" VALUE="0x0272" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_OVERALL_STAT_INFO" VALUE="0x0273" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_RTP_STAT_INFO" VALUE="0x0274" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_STAT_INFO" VALUE="0x0275" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_FRAME_INFO" VALUE= "0x0276" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RTP_CALL_STATS" VALUE="0x0277" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_RTP_INFO" VALUE="0x0278" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_INFO" VALUE="0x0279" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_MBMS_SERVICE_INFO" VALUE="0x0280" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_RX_MODE_INFO" VALUE="0x0290" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_SENSOR_INFO" VALUE="0x0291" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_TX_SWAP_INFO" VALUE="0x0292" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_RF_POWER_INFO" VALUE="0x0293" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="EDGE">
|
||||
<ITEM NAME="EDGE_PHY_TIME_SLOT_INFO" VALUE="0x0300" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_RLC_INFO" VALUE="0x0301" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_RESERVED_MSG_02" VALUE="0x0302" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_SCELL_MEAS_REPT_INFO" VALUE="0x0303" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_DEDICATED_STATE_INFO" VALUE="0x0304" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_SCELL_INFO" VALUE="0x0305" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_NCELL_INFO" VALUE="0x0306" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_3G_NCELL_INFO" VALUE="0x0307" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_HANDOVER_INFO" VALUE="0x0308" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_HO_HISTORY_INFO" VALUE="0x0309" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_BASIC_INFO" VALUE="0x030A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_MEASUREMENT_INFO" VALUE="0x030B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_PWR_CNTRL_INFO" VALUE="0x030C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L2_QOS_INFO" VALUE="0x0310" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L3_MM_GMM_INFO" VALUE="0x0311" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L2_RLC_STATS" VALUE="0x0312" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L3_EVENT" VALUE="0x0313" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L1_SAR_MTPL" VALUE="0x0320" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L1_ANTENNA_SELECTION" VALUE="0x0321" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="HSPA">
|
||||
<ITEM NAME="HSPA_GP_POWER_CONTROL_INFO" VALUE="0x0400" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GP_TRCH_BLER_INFO" VALUE="0x0401" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GP_FINGER_INFO" VALUE="0x0402" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO" VALUE="0x0403" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO2" VALUE="0x0404" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO3" VALUE="0x0405" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CM_STATE" VALUE="0x040D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_TRANSPORT_CHANNEL" VALUE="0x040E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_RL_STATUS" VALUE="0x040F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_UMTS_RF_INFO" VALUE="0x0410" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_SEARCH_INFO" VALUE="0x0411" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_FREQ_SEARCH_INFO" VALUE="0x0412" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_POWER_CONTROL_INFO" VALUE="0x0413" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_OLPC_INFO" VALUE="0x0414" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_HSDPA_STATS" VALUE="0x0415" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_MID_TYPE_INFO" VALUE="0x0416" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CELL_MEAS_INFO" VALUE="0x0417" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_FREQ_MEAS_INFO" VALUE="0x0418" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_RAT_MEAS_INFO" VALUE="0x0419" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTERNAL_MEAS_INFO" VALUE="0x041A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_SERVING_CELL_INFO" VALUE="0x041B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTRA_FREQ_RESEL_INFO" VALUE="0x041C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_FREQ_RESEL_INFO" VALUE="0x041D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_RESERVED_MSG_1E" VALUE="0x041E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CHIPSET_DELAY_INFO" VALUE="0x041F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_STATUS_INFO" VALUE="0x0420" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_RB_MAP_INFO" VALUE="0x0421" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_NETWORK_INFO" VALUE="0x0422" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_EVENT" VALUE="0x0423" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_RACH_CONFIG_INFO" VALUE="0x0428" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_UDPCH_CONFIG_INFO" VALUE="0x0429" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_POWER_INFO" VALUE="0x042A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_UPDCP_CHAN_CONF_INFO" VALUE="0x0430" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_AM_CHAN_STAT_INFO" VALUE="0x0431" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_URLC_AM_CONFIG_INFO" VALUE="0x0432" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_UM_CHAN_STAT_INFO" VALUE="0x0433" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_URLC_UM_CONFIG_INFO" VALUE="0x0434" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_HSUPA_STATS" VALUE="0x0435" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_WCDMA_MAC_INFO" VALUE="0x0436" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_HS_MAC_INFO" VALUE="0x0437" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_EUL_MAC_INFO" VALUE="0x0438" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_EUL_MAC_STAT_INFO" VALUE="0x0439" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_MM_GMM_INFO" VALUE="0x043A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_STATS" VALUE="0x043B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_RESET" VALUE="0x043C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_CC_INFO" VALUE="0x0450" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_SS_INFO" VALUE="0x0451" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_SM_INFO" VALUE="0x0452" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_VOC_RX_STAT = 0x0460" VALUE="0x0460" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_VOC_TX_STAT = 0x0461" VALUE="0x0461" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_L1_SAR_MTPL = 0x0470" VALUE="0x0470" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_L1_ANTENNA_SELECTION" VALUE="0x0471" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="CDMA">
|
||||
<ITEM NAME="CDMA_COM_1X_MESSAGE" VALUE="0x0B00" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_COM_EVDO_MESSAGE" VALUE="0x0B01" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_COM_MRU_TABLE_UPDATE_MESSAGE" VALUE="0x0B10" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_RTT_L3_MESSAGE" VALUE="0x0B30" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_EVDO_L3_MESSAGE" VALUE="0x0B31" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
</NODE>
|
1
radio/config/Pixel_stability.cfg
Normal file
1
radio/config/Pixel_stability.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
Pixel_stability.nprf,Pixel_Default_metrics.xml
|
BIN
radio/config/Pixel_stability.nprf
Normal file
BIN
radio/config/Pixel_stability.nprf
Normal file
Binary file not shown.
1
radio/config/default.cfg
Normal file
1
radio/config/default.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
default.nprf,default_metrics.xml
|
BIN
radio/config/default.nprf
Normal file
BIN
radio/config/default.nprf
Normal file
Binary file not shown.
1
radio/config/default_NAS_RRC.cfg
Normal file
1
radio/config/default_NAS_RRC.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
default_NAS_RRC.nprf,default_metrics.xml
|
BIN
radio/config/default_NAS_RRC.nprf
Normal file
BIN
radio/config/default_NAS_RRC.nprf
Normal file
Binary file not shown.
190
radio/config/default_metrics.xml
Normal file
190
radio/config/default_metrics.xml
Normal file
|
@ -0,0 +1,190 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<NODE FILTER="Basic Metrics">
|
||||
<ITEM NAME="COMMON">
|
||||
<ITEM NAME="COMMON_BASIC_INFORMATION" VALUE="0x0100" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_CELL_INFORMATION" VALUE="0x0101" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_DATA_INFORMATION" VALUE="0x0102" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_SIG_MSG_INFORMATION" VALUE="0x0103" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="COMMON_SMS_INFORMATION" VALUE="0x0104" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_HPLMN_TIMER_INFORMATION" VALUE="0x0105" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_SIG_MSG_INFORMATION_MULTI" VALUE="0x0106" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="NR_RRC_SIGNALING_MESSAGE" VALUE="0x0108" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="NR_NAS_SIGNALING_MESSAGE" VALUE="0x0109" CHECKED="true"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="LTE">
|
||||
<ITEM NAME="LTE_PHY_PHY_STATUS_INFO" VALUE="0x0200" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_CELL_SERCH_MEAS_INFO" VALUE="0x0201" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_NCELL_MEAS_INFO" VALUE="0x0202" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_SYSTEM_INF" VALUE="0x0204" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_CHAN_QUAL_INFO" VALUE="0x0205" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PARAMETER_INFO" VALUE="0x0206" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PHICH_INFO" VALUE="0x0207" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_THROUGHPUT_INFO" VALUE="0x0208" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_RCVD_SIGNAL_QUALITY_INFO" VALUE="0x0209" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PHICH_TTIB_INFO" VALUE="0x020A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PUSCH_TTIB_INFO" VALUE="0x020B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RF_INFO" VALUE="0x0210" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SYNC_INFO" VALUE="0x0211" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DOWNLINK_INFO" VALUE="0x0212" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_UPLINK_INFO" VALUE="0x0213" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DRX_CONFIG" VALUE="0x0214" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_EVENT" VALUE="0x0215" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_PUSCH_STATS" VALUE="0x0216" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RACH_ATTEMPT" VALUE="0x0217" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_UL_SCHED_STATS" VALUE="0x0218" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SECONDARY_CELL_INFO" VALUE="0x0219" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_OTDOA_MEASURE_REPORT_INFO" VALUE="0x021A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DOWNLINK_INFO2" VALUE="0x021B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RF_BLACKOUT_TIME" VALUE="0x0220" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SAR_MTPL" VALUE="0x0221" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_ANTENNA_SELECTION" VALUE="0x0222" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SPECIFIC_PARAM" VALUE="0x0230" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_SCH_CONFIG" VALUE="0x0231" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SCH_CONFIG" VALUE="0x0232" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TIME_ALIGNMENT_TIMER" VALUE="0x0233" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PHR_CONFIG" VALUE="0x0234" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PREAMBLE_INFO" VALUE="0x0235" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_POWER_RAMPING_STEP" VALUE="0x0236" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RA_SUPERVISION_INFO" VALUE="0x0237" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAX_HARQ_MSG3TX" VALUE="0x0238" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RACH_INFO" VALUE="0x0239" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RNTI_INFO" VALUE="0x023A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RA_FAILURE_INFO" VALUE="0x023B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SYNC_STAT_INFO" VALUE="0x023C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_D_SR_STATUS" VALUE="0x023D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_BUFFER_STAT_INFO" VALUE="0x023E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAC_THROUGHPUT_INFO" VALUE="0x023F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_INFO" VALUE="0x0240" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_STATUS_INFO" VALUE="0x0241" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_PDCP_INFO" VALUE="0x0242" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_PDCP_INFO" VALUE="0x0243" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_ROHC_CONF_INFO" VALUE="0x0244" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_ROHC_INFO" VALUE="0x0245" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_ROHC_INFO" VALUE="0x0246" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TTI_BUNDLING" VALUE="0x0247" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAC_CE" VALUE="0x0248" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TIMER_STATE" VALUE="0x0249" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_BSR_STATS" VALUE="0x024A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_STATS" VALUE="0x024B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PDCP_STATS" VALUE="0x024C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_SERVING_CELL_INFO = 0x0250" VALUE="0x0250" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_STATUS_VARIABLE_INFO" VALUE="0x0251" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_PEER_MSG_INFO" VALUE="0x0252" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_TIMER_INFO" VALUE="0x0253" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_PEER_MULTI_MSG_INFO" VALUE="0x0254" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_RACH_MSG_INFO" VALUE="0x0255" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_TIMER_STATE_INFO" VALUE="0x0256" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_EVENT" VALUE="0x0257" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_SIM_DATA_INFO = 0x0258" VALUE="0x0258" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_STATE_VARIABLE_INFO" VALUE="0x0259" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_L3_MM_MSG_INFO" VALUE="0x025A" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EPS_BEARER_CONTEXT" VALUE="0x025B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EPS_BEARER_QOS" VALUE="0x025C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_PDP_INFO" VALUE="0x025D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_IP_INFO" VALUE="0x025E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_L3_SM_MSG_INFO" VALUE="0x025F" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_DATA_HANDOVER_STAT_INFO" VALUE="0x0262" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_DATA_CALL_DROP_INFO" VALUE="0x0263" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_TIN_INFO" VALUE="0x0264" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_ATTEMPT_INFO" VALUE="0x0265" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EMM_TIMER_STATE_INFO" VALUE="0x0266" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_ESM_TIMER_STATE_INFO" VALUE="0x0267" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_PACKET_INFO" VALUE="0x0270" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_PACKET_INFO" VALUE="0x0271" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_OVERALL_STAT_INFO" VALUE="0x0272" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_OVERALL_STAT_INFO" VALUE="0x0273" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_RTP_STAT_INFO" VALUE="0x0274" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_STAT_INFO" VALUE="0x0275" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_FRAME_INFO" VALUE= "0x0276" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RTP_CALL_STATS" VALUE="0x0277" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_RTP_INFO" VALUE="0x0278" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_INFO" VALUE="0x0279" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_MBMS_SERVICE_INFO" VALUE="0x0280" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_RX_MODE_INFO" VALUE="0x0290" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_SENSOR_INFO" VALUE="0x0291" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_TX_SWAP_INFO" VALUE="0x0292" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_RF_POWER_INFO" VALUE="0x0293" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="EDGE">
|
||||
<ITEM NAME="EDGE_PHY_TIME_SLOT_INFO" VALUE="0x0300" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_RLC_INFO" VALUE="0x0301" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_RESERVED_MSG_02" VALUE="0x0302" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_SCELL_MEAS_REPT_INFO" VALUE="0x0303" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_DEDICATED_STATE_INFO" VALUE="0x0304" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_SCELL_INFO" VALUE="0x0305" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_NCELL_INFO" VALUE="0x0306" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_3G_NCELL_INFO" VALUE="0x0307" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_HANDOVER_INFO" VALUE="0x0308" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_HO_HISTORY_INFO" VALUE="0x0309" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_BASIC_INFO" VALUE="0x030A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_MEASUREMENT_INFO" VALUE="0x030B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_PWR_CNTRL_INFO" VALUE="0x030C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L2_QOS_INFO" VALUE="0x0310" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L3_MM_GMM_INFO" VALUE="0x0311" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L2_RLC_STATS" VALUE="0x0312" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L3_EVENT" VALUE="0x0313" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L1_SAR_MTPL" VALUE="0x0320" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L1_ANTENNA_SELECTION" VALUE="0x0321" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="HSPA">
|
||||
<ITEM NAME="HSPA_GP_POWER_CONTROL_INFO" VALUE="0x0400" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GP_TRCH_BLER_INFO" VALUE="0x0401" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GP_FINGER_INFO" VALUE="0x0402" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO" VALUE="0x0403" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO2" VALUE="0x0404" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO3" VALUE="0x0405" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CM_STATE" VALUE="0x040D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_TRANSPORT_CHANNEL" VALUE="0x040E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_RL_STATUS" VALUE="0x040F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_UMTS_RF_INFO" VALUE="0x0410" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_SEARCH_INFO" VALUE="0x0411" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_FREQ_SEARCH_INFO" VALUE="0x0412" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_POWER_CONTROL_INFO" VALUE="0x0413" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_OLPC_INFO" VALUE="0x0414" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_HSDPA_STATS" VALUE="0x0415" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_MID_TYPE_INFO" VALUE="0x0416" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CELL_MEAS_INFO" VALUE="0x0417" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_FREQ_MEAS_INFO" VALUE="0x0418" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_RAT_MEAS_INFO" VALUE="0x0419" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTERNAL_MEAS_INFO" VALUE="0x041A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_SERVING_CELL_INFO" VALUE="0x041B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTRA_FREQ_RESEL_INFO" VALUE="0x041C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_FREQ_RESEL_INFO" VALUE="0x041D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_RESERVED_MSG_1E" VALUE="0x041E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CHIPSET_DELAY_INFO" VALUE="0x041F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_STATUS_INFO" VALUE="0x0420" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_RB_MAP_INFO" VALUE="0x0421" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_NETWORK_INFO" VALUE="0x0422" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_EVENT" VALUE="0x0423" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_RACH_CONFIG_INFO" VALUE="0x0428" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_UDPCH_CONFIG_INFO" VALUE="0x0429" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_POWER_INFO" VALUE="0x042A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_UPDCP_CHAN_CONF_INFO" VALUE="0x0430" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_AM_CHAN_STAT_INFO" VALUE="0x0431" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_URLC_AM_CONFIG_INFO" VALUE="0x0432" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_UM_CHAN_STAT_INFO" VALUE="0x0433" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_URLC_UM_CONFIG_INFO" VALUE="0x0434" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_HSUPA_STATS" VALUE="0x0435" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_WCDMA_MAC_INFO" VALUE="0x0436" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_HS_MAC_INFO" VALUE="0x0437" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_EUL_MAC_INFO" VALUE="0x0438" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_EUL_MAC_STAT_INFO" VALUE="0x0439" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_MM_GMM_INFO" VALUE="0x043A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_STATS" VALUE="0x043B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_RESET" VALUE="0x043C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_CC_INFO" VALUE="0x0450" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_SS_INFO" VALUE="0x0451" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_SM_INFO" VALUE="0x0452" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_VOC_RX_STAT = 0x0460" VALUE="0x0460" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_VOC_TX_STAT = 0x0461" VALUE="0x0461" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_L1_SAR_MTPL = 0x0470" VALUE="0x0470" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_L1_ANTENNA_SELECTION" VALUE="0x0471" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="CDMA">
|
||||
<ITEM NAME="CDMA_COM_1X_MESSAGE" VALUE="0x0B00" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_COM_EVDO_MESSAGE" VALUE="0x0B01" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_COM_MRU_TABLE_UPDATE_MESSAGE" VALUE="0x0B10" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_RTT_L3_MESSAGE" VALUE="0x0B30" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_EVDO_L3_MESSAGE" VALUE="0x0B31" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
</NODE>
|
1
radio/config/default_network.cfg
Normal file
1
radio/config/default_network.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
default_network.nprf,default_metrics.xml
|
BIN
radio/config/default_network.nprf
Normal file
BIN
radio/config/default_network.nprf
Normal file
Binary file not shown.
1
radio/config/default_stability.cfg
Normal file
1
radio/config/default_stability.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
default_stability.nprf,default_metrics.xml
|
BIN
radio/config/default_stability.nprf
Normal file
BIN
radio/config/default_stability.nprf
Normal file
Binary file not shown.
1
radio/config/logging.conf
Normal file
1
radio/config/logging.conf
Normal file
|
@ -0,0 +1 @@
|
|||
modem_logging_control START -o /data/vendor/radio/logs/always-on -n 10 -s 20 -m /vendor/etc/modem/default.cfg --enable_exmetric --enable_exmetric_internal
|
1
radio/config/teamfood_default.cfg
Normal file
1
radio/config/teamfood_default.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
teamfood_default.nprf,teamfood_default_metrics.xml
|
BIN
radio/config/teamfood_default.nprf
Normal file
BIN
radio/config/teamfood_default.nprf
Normal file
Binary file not shown.
190
radio/config/teamfood_default_metrics.xml
Normal file
190
radio/config/teamfood_default_metrics.xml
Normal file
|
@ -0,0 +1,190 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<NODE FILTER="Basic Metrics">
|
||||
<ITEM NAME="COMMON">
|
||||
<ITEM NAME="COMMON_BASIC_INFORMATION" VALUE="0x0100" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_CELL_INFORMATION" VALUE="0x0101" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_DATA_INFORMATION" VALUE="0x0102" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_SIG_MSG_INFORMATION" VALUE="0x0103" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="COMMON_SMS_INFORMATION" VALUE="0x0104" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_HPLMN_TIMER_INFORMATION" VALUE="0x0105" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="COMMON_SIG_MSG_INFORMATION_MULTI" VALUE="0x0106" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="NR_RRC_SIGNALING_MESSAGE" VALUE="0x0108" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="NR_NAS_SIGNALING_MESSAGE" VALUE="0x0109" CHECKED="true"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="LTE">
|
||||
<ITEM NAME="LTE_PHY_PHY_STATUS_INFO" VALUE="0x0200" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_CELL_SERCH_MEAS_INFO" VALUE="0x0201" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_NCELL_MEAS_INFO" VALUE="0x0202" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_SYSTEM_INF" VALUE="0x0204" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_CHAN_QUAL_INFO" VALUE="0x0205" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PARAMETER_INFO" VALUE="0x0206" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PHICH_INFO" VALUE="0x0207" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_THROUGHPUT_INFO" VALUE="0x0208" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_RCVD_SIGNAL_QUALITY_INFO" VALUE="0x0209" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PHICH_TTIB_INFO" VALUE="0x020A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_PHY_PUSCH_TTIB_INFO" VALUE="0x020B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RF_INFO" VALUE="0x0210" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SYNC_INFO" VALUE="0x0211" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DOWNLINK_INFO" VALUE="0x0212" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_UPLINK_INFO" VALUE="0x0213" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DRX_CONFIG" VALUE="0x0214" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_EVENT" VALUE="0x0215" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_PUSCH_STATS" VALUE="0x0216" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RACH_ATTEMPT" VALUE="0x0217" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_UL_SCHED_STATS" VALUE="0x0218" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SECONDARY_CELL_INFO" VALUE="0x0219" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_OTDOA_MEASURE_REPORT_INFO" VALUE="0x021A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_DOWNLINK_INFO2" VALUE="0x021B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_RF_BLACKOUT_TIME" VALUE="0x0220" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_SAR_MTPL" VALUE="0x0221" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L1_ANTENNA_SELECTION" VALUE="0x0222" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SPECIFIC_PARAM" VALUE="0x0230" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_SCH_CONFIG" VALUE="0x0231" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SCH_CONFIG" VALUE="0x0232" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TIME_ALIGNMENT_TIMER" VALUE="0x0233" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PHR_CONFIG" VALUE="0x0234" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PREAMBLE_INFO" VALUE="0x0235" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_POWER_RAMPING_STEP" VALUE="0x0236" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RA_SUPERVISION_INFO" VALUE="0x0237" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAX_HARQ_MSG3TX" VALUE="0x0238" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RACH_INFO" VALUE="0x0239" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RNTI_INFO" VALUE="0x023A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RA_FAILURE_INFO" VALUE="0x023B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_SYNC_STAT_INFO" VALUE="0x023C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_D_SR_STATUS" VALUE="0x023D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_BUFFER_STAT_INFO" VALUE="0x023E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAC_THROUGHPUT_INFO" VALUE="0x023F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_INFO" VALUE="0x0240" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_STATUS_INFO" VALUE="0x0241" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_PDCP_INFO" VALUE="0x0242" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_PDCP_INFO" VALUE="0x0243" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_ROHC_CONF_INFO" VALUE="0x0244" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_UL_ROHC_INFO" VALUE="0x0245" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_DL_ROHC_INFO" VALUE="0x0246" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TTI_BUNDLING" VALUE="0x0247" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_MAC_CE" VALUE="0x0248" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_TIMER_STATE" VALUE="0x0249" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_BSR_STATS" VALUE="0x024A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_RLC_STATS" VALUE="0x024B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_L2_PDCP_STATS" VALUE="0x024C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_SERVING_CELL_INFO = 0x0250" VALUE="0x0250" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_STATUS_VARIABLE_INFO" VALUE="0x0251" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_PEER_MSG_INFO" VALUE="0x0252" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_TIMER_INFO" VALUE="0x0253" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_PEER_MULTI_MSG_INFO" VALUE="0x0254" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_RACH_MSG_INFO" VALUE="0x0255" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_TIMER_STATE_INFO" VALUE="0x0256" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_EVENT" VALUE="0x0257" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_SIM_DATA_INFO = 0x0258" VALUE="0x0258" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_STATE_VARIABLE_INFO" VALUE="0x0259" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_L3_MM_MSG_INFO" VALUE="0x025A" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EPS_BEARER_CONTEXT" VALUE="0x025B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EPS_BEARER_QOS" VALUE="0x025C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_PDP_INFO" VALUE="0x025D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_IP_INFO" VALUE="0x025E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_L3_SM_MSG_INFO" VALUE="0x025F" CHECKED="true"></ITEM>
|
||||
<ITEM NAME="LTE_DATA_HANDOVER_STAT_INFO" VALUE="0x0262" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_DATA_CALL_DROP_INFO" VALUE="0x0263" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_TIN_INFO" VALUE="0x0264" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_ATTEMPT_INFO" VALUE="0x0265" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_EMM_TIMER_STATE_INFO" VALUE="0x0266" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_NAS_ESM_TIMER_STATE_INFO" VALUE="0x0267" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_PACKET_INFO" VALUE="0x0270" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_PACKET_INFO" VALUE="0x0271" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_OVERALL_STAT_INFO" VALUE="0x0272" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_OVERALL_STAT_INFO" VALUE="0x0273" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_RTP_STAT_INFO" VALUE="0x0274" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_STAT_INFO" VALUE="0x0275" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_FRAME_INFO" VALUE= "0x0276" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RTP_CALL_STATS" VALUE="0x0277" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_TX_RTP_INFO" VALUE="0x0278" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_VOLTE_RX_RTP_INFO" VALUE="0x0279" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RRC_MBMS_SERVICE_INFO" VALUE="0x0280" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_RX_MODE_INFO" VALUE="0x0290" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_SENSOR_INFO" VALUE="0x0291" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_TX_SWAP_INFO" VALUE="0x0292" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="LTE_RF_STATUS_RF_POWER_INFO" VALUE="0x0293" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="EDGE">
|
||||
<ITEM NAME="EDGE_PHY_TIME_SLOT_INFO" VALUE="0x0300" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_RLC_INFO" VALUE="0x0301" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_RESERVED_MSG_02" VALUE="0x0302" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_SCELL_MEAS_REPT_INFO" VALUE="0x0303" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_DEDICATED_STATE_INFO" VALUE="0x0304" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_SCELL_INFO" VALUE="0x0305" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_NCELL_INFO" VALUE="0x0306" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_3G_NCELL_INFO" VALUE="0x0307" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_HANDOVER_INFO" VALUE="0x0308" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_HO_HISTORY_INFO" VALUE="0x0309" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_BASIC_INFO" VALUE="0x030A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_MEASUREMENT_INFO" VALUE="0x030B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_PHY_PWR_CNTRL_INFO" VALUE="0x030C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L2_QOS_INFO" VALUE="0x0310" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L3_MM_GMM_INFO" VALUE="0x0311" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L2_RLC_STATS" VALUE="0x0312" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L3_EVENT" VALUE="0x0313" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L1_SAR_MTPL" VALUE="0x0320" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="EDGE_L1_ANTENNA_SELECTION" VALUE="0x0321" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="HSPA">
|
||||
<ITEM NAME="HSPA_GP_POWER_CONTROL_INFO" VALUE="0x0400" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GP_TRCH_BLER_INFO" VALUE="0x0401" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GP_FINGER_INFO" VALUE="0x0402" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO" VALUE="0x0403" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO2" VALUE="0x0404" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_GD_DPA_INFO3" VALUE="0x0405" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CM_STATE" VALUE="0x040D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_TRANSPORT_CHANNEL" VALUE="0x040E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_RL_STATUS" VALUE="0x040F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_UMTS_RF_INFO" VALUE="0x0410" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_SEARCH_INFO" VALUE="0x0411" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_FREQ_SEARCH_INFO" VALUE="0x0412" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_POWER_CONTROL_INFO" VALUE="0x0413" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_OLPC_INFO" VALUE="0x0414" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_HSDPA_STATS" VALUE="0x0415" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_MID_TYPE_INFO" VALUE="0x0416" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CELL_MEAS_INFO" VALUE="0x0417" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_FREQ_MEAS_INFO" VALUE="0x0418" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_RAT_MEAS_INFO" VALUE="0x0419" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTERNAL_MEAS_INFO" VALUE="0x041A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_SERVING_CELL_INFO" VALUE="0x041B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTRA_FREQ_RESEL_INFO" VALUE="0x041C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_INTER_FREQ_RESEL_INFO" VALUE="0x041D" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_RESERVED_MSG_1E" VALUE="0x041E" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL1_CHIPSET_DELAY_INFO" VALUE="0x041F" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_STATUS_INFO" VALUE="0x0420" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_RB_MAP_INFO" VALUE="0x0421" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_NETWORK_INFO" VALUE="0x0422" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_URRC_EVENT" VALUE="0x0423" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_RACH_CONFIG_INFO" VALUE="0x0428" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_UDPCH_CONFIG_INFO" VALUE="0x0429" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UUL_POWER_INFO" VALUE="0x042A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_UPDCP_CHAN_CONF_INFO" VALUE="0x0430" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_AM_CHAN_STAT_INFO" VALUE="0x0431" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_URLC_AM_CONFIG_INFO" VALUE="0x0432" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_UM_CHAN_STAT_INFO" VALUE="0x0433" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_URLC_UM_CONFIG_INFO" VALUE="0x0434" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_HSUPA_STATS" VALUE="0x0435" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_WCDMA_MAC_INFO" VALUE="0x0436" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_HS_MAC_INFO" VALUE="0x0437" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_EUL_MAC_INFO" VALUE="0x0438" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_EUL_MAC_STAT_INFO" VALUE="0x0439" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_MM_GMM_INFO" VALUE="0x043A" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_STATS" VALUE="0x043B" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL2_RLC_RESET" VALUE="0x043C" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_CC_INFO" VALUE="0x0450" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_SS_INFO" VALUE="0x0451" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_UL3_SM_INFO" VALUE="0x0452" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_VOC_RX_STAT = 0x0460" VALUE="0x0460" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_VOC_TX_STAT = 0x0461" VALUE="0x0461" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_L1_SAR_MTPL = 0x0470" VALUE="0x0470" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="HSPA_L1_ANTENNA_SELECTION" VALUE="0x0471" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
<ITEM NAME="CDMA">
|
||||
<ITEM NAME="CDMA_COM_1X_MESSAGE" VALUE="0x0B00" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_COM_EVDO_MESSAGE" VALUE="0x0B01" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_COM_MRU_TABLE_UPDATE_MESSAGE" VALUE="0x0B10" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_RTT_L3_MESSAGE" VALUE="0x0B30" CHECKED="false"></ITEM>
|
||||
<ITEM NAME="CDMA_EVDO_L3_MESSAGE" VALUE="0x0B31" CHECKED="false"></ITEM>
|
||||
</ITEM>
|
||||
</NODE>
|
|
@ -100,9 +100,6 @@
|
|||
be checked via NL80211 interface -->
|
||||
<bool translatable="false" name="config_wifi11axSupportOverride">true</bool>
|
||||
|
||||
<!-- Wifi driver supports 6GHz band for softap -->
|
||||
<bool translatable="false" name="config_wifiSoftap6ghzSupported">true</bool>
|
||||
|
||||
<!-- Wifi driver supports WPA3 Simultaneous Authentication of Equals (WPA3-SAE) for softap -->
|
||||
<bool translatable="false" name="config_wifi_softap_sae_supported">true</bool>
|
||||
|
||||
|
@ -132,4 +129,16 @@
|
|||
<bool translatable="false" name="config_wifiDefaultCoexAlgorithmEnabled">true</bool>
|
||||
<!-- Whether to use the explicit vendor HAL API: IWifiStaIface.setRoamingState for disabling fw roaming. -->
|
||||
<bool translatable="false" name="config_wifiUseHalApiToDisableFwRoaming">true</bool>
|
||||
|
||||
<!-- Indicate the driver doesn't support NL80211 Reg changed event -->
|
||||
<bool translatable="false" name="config_wifiDriverSupportedNl80211RegChangedEvent">false</bool>
|
||||
|
||||
<!-- Indicate whether the verbose logging is always on -->
|
||||
<!-- 0: verbose logging controlled by user
|
||||
1: verbose logging on by default for userdebug
|
||||
2: verbose logging on by default for all builds -->
|
||||
<integer translatable="false" name="config_wifiVerboseLoggingAlwaysOnLevel">1</integer>
|
||||
|
||||
<!-- Enable aggregation of Wifi link layer radio stats from all radios -->
|
||||
<bool translatable="false" name="config_wifiLinkLayerAllRadiosStatsAggregationEnabled">true</bool>
|
||||
</resources>
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_ta",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_ta",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_ta",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -21,7 +22,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_cam",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_cam",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_cam",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -35,7 +37,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_cam_power",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_cam_power",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_cam_power",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -49,7 +52,23 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_dex2oat",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_dex2oat",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_dex2oat",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "OtaPerformance",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_ota",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_ota",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -102,7 +121,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_bg",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_bg",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_bg",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -116,7 +136,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_sys",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_sys",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_sys",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -130,7 +151,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_fg",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_fg",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_fg",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -144,7 +166,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_ta",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_ta",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_ta",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -158,7 +181,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_nnapi",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_nnapi",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_nnapi",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -172,7 +196,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_sysbg",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_sysbg",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_sysbg",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -194,7 +219,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_sf",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_sf",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_sf",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -216,7 +242,8 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/set_task_group_rt",
|
||||
"FilePath": "/proc/vendor_sched/set_task_group_rt",
|
||||
"ProcFilePath": "/proc/vendor_sched/set_proc_group_rt",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -230,7 +257,7 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/uclamp_fork_reset_set",
|
||||
"FilePath": "/proc/vendor_sched/uclamp_fork_reset_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -244,7 +271,7 @@
|
|||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/sys/kernel/vendor_sched/uclamp_fork_reset_clear",
|
||||
"FilePath": "/proc/vendor_sched/uclamp_fork_reset_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
|
@ -257,6 +284,10 @@
|
|||
{
|
||||
"Name": "Dex2OatBootComplete",
|
||||
"Profiles": [ "Dex2oatPerformance", "ProcessCapacityNormal", "LowIoPriority", "TimerSlackHigh" ]
|
||||
},
|
||||
{
|
||||
"Name": "OtaProfiles",
|
||||
"Profiles": [ "OtaPerformance", "ServiceCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
PRODUCT_COPY_FILES += vendor/samsung_slsi/telephony/common/device/samsung/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh
|
||||
PRODUCT_COPY_FILES += vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device/samsung/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs101-sepolicy/telephony/user/
|
||||
|
|
BIN
tts/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice
Normal file
BIN
tts/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/de-de/de-de-x-multi-r31.zvoice
Normal file
BIN
tts/de-de/de-de-x-multi-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/de-de/de-de-x-multi-seanet-r31.zvoice
Normal file
BIN
tts/de-de/de-de-x-multi-seanet-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/de-de/de-de-x-multi-wavernn-r31.zvoice
Normal file
BIN
tts/de-de/de-de-x-multi-wavernn-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice
Normal file
BIN
tts/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/es-es/es-es-x-multi-r31.zvoice
Normal file
BIN
tts/es-es/es-es-x-multi-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/es-es/es-es-x-multi-seanet-r31.zvoice
Normal file
BIN
tts/es-es/es-es-x-multi-seanet-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/es-es/es-es-x-multi-wavernn-r31.zvoice
Normal file
BIN
tts/es-es/es-es-x-multi-wavernn-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice
Normal file
BIN
tts/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/fr-fr/fr-fr-x-multi-r31.zvoice
Normal file
BIN
tts/fr-fr/fr-fr-x-multi-r31.zvoice
Normal file
Binary file not shown.
BIN
tts/fr-fr/fr-fr-x-multi-seanet-r31.zvoice
Normal file
BIN
tts/fr-fr/fr-fr-x-multi-seanet-r31.zvoice
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue