Android 15.0.0 Release 21 (BP1A.250305.020)
-----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ8fKCAAKCRDorT+BmrEO eGxiAJ9kdOB3bGMC2D+BZ2qX44tDh4U6UwCfZVmV34e2iZoBr1HUvv+PFbdBh44= =aWWI -----END PGP SIGNATURE----- gpgsig -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgPpdpjxPACTIhnlvYz0GM4BR7FJ +rYv3jMbfxNKD3JvcAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 AAAAQFSO/dKxh4Sd8uhs5QJzCKI6gvYCc8lwQ9mQNatuwPvUcY0egzeoXFaHBFWB6GGqYj I2JQr0ogw7/XpRnzDYOA8= -----END SSH SIGNATURE----- Merge tag 'android-15.0.0_r21' into staging/lineage-22.2_merge-android-15.0.0_r21 Android 15.0.0 Release 21 (BP1A.250305.020) # -----BEGIN PGP SIGNATURE----- # # iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ8fKCAAKCRDorT+BmrEO # eGxiAJ9kdOB3bGMC2D+BZ2qX44tDh4U6UwCfZVmV34e2iZoBr1HUvv+PFbdBh44= # =aWWI # -----END PGP SIGNATURE----- # gpg: Signature made Wed Mar 5 05:50:32 2025 EET # gpg: using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78 # gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [ultimate] # By Rick Yiu (8) and others # Via Android (Google) Code Review (59) and others * tag 'android-15.0.0_r21': (83 commits) Reject e911 call during non-emergency satellite session. dump_power: add battery caretaker dump into bugreport [Pixel VPN] Apply reviewed default permissions Configure satellite NIDD APN name for Zuma pro devices Add country codes of Canda and EU countries to the satellite allowed list Add enhanced geofencing data and satelltie access config json for Zuma Pro Add enhanced geofencing data and satelltie access config json for Zuma Pro modem_svc: use modem_svc_sit version sepolicy Set permission for rampup_multiplier Use SCHED_QOS_SENSITIVE_EXTREME_SET for InputPolicy Add SCHED_QOS_POWER_EFFICIENCY profiles update health HAL dependency Add `config_satellite_carrier_roaming_esos_provisioned_class` for the intent to trigger satellite provisioning Change TARGET_RECOVERY_UI_LIB to use fully qualified names in zumapro Add `config_satellite_allow_tn_scanning_during_satellite_session` flag. Fix kasan logic Clean up unnecessary data_connection_5g_plus overlay Vibrator: Update compatability matrix [NTN][VZW P2P] Add config to enable sending check message datagrams when satellite modem is not connected. init: zuma: move sched rate limit to late init ... Change-Id: I9c4e0b550fe27df45e16097bc061315b1219da26
This commit is contained in:
commit
19beed9713
42 changed files with 1325 additions and 239 deletions
10
Android.bp
10
Android.bp
|
@ -41,3 +41,13 @@ sh_binary {
|
|||
vendor: true,
|
||||
sub_dir: "hw",
|
||||
}
|
||||
|
||||
// Filesystem: Copy the content of the efs/efs_backup/modem_userdata/persist
|
||||
// partitions to /data partition so that they can be accessed by 16kb kernels.
|
||||
// By default, these partitions are F2FS formatted with 4kb block size,
|
||||
// which can't be mounted by 16kb kernels.
|
||||
sh_binary {
|
||||
name: "copy_efs_files_to_data",
|
||||
src: "copy_efs_files_to_data.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
|
|
@ -40,9 +40,23 @@ BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rc
|
|||
BOARD_KERNEL_CMDLINE += swiotlb=noforce
|
||||
BOARD_KERNEL_CMDLINE += disable_dma32=on
|
||||
BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4
|
||||
|
||||
# Normal (non-_fullmte) builds should disable kasan
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
BOARD_KERNEL_CMDLINE += kasan=off
|
||||
endif
|
||||
|
||||
# Enable a limited subset of MTE for "normal" (non-_fullmte) eng builds.
|
||||
# Don't touch any settings for _fullmte builds. They are set somewhere else.
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
ifeq ($(TARGET_BUILD_VARIANT),eng)
|
||||
BOARD_KERNEL_CMDLINE += bootloader.pixel.MTE_FORCE_ON
|
||||
ifeq ($(filter memtag_heap,$(SANITIZE_TARGET)),)
|
||||
SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) memtag_heap)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs
|
||||
|
||||
# Enable KUnit for eng builds
|
||||
|
@ -71,7 +85,7 @@ TARGET_RECOVERY_FSTAB_GENRULE := gen_fstab.zumapro-sw-encrypt
|
|||
TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
|
||||
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
|
||||
TARGET_RECOVERY_UI_LIB := \
|
||||
librecovery_ui_pixel \
|
||||
//hardware/google/pixel/recovery:librecovery_ui_pixel \
|
||||
libfstab
|
||||
|
||||
AB_OTA_UPDATER := true
|
||||
|
@ -208,6 +222,17 @@ BOARD_USE_BLOB_ALLOCATOR := false
|
|||
BOARD_SUPPORT_MFC_ENC_BT2020 := true
|
||||
BOARD_SUPPORT_FLEXIBLE_P010 := true
|
||||
BOARD_SUPPORT_MFC_VERSION := 1660
|
||||
$(call soong_config_set,video_codec,target_soc_name,$(TARGET_SOC_NAME))
|
||||
$(call soong_config_set_bool,video_codec,board_use_codec2_hidl_1_2,$(BOARD_USE_CODEC2_HIDL_1_2))
|
||||
$(call soong_config_set_bool,video_codec,board_use_csc_filter,$(BOARD_USE_CSC_FILTER))
|
||||
$(call soong_config_set_bool,video_codec,board_use_dec_sw_csc,$(BOARD_USE_DEC_SW_CSC))
|
||||
$(call soong_config_set_bool,video_codec,board_use_enc_sw_csc,$(BOARD_USE_ENC_SW_CSC))
|
||||
$(call soong_config_set_bool,video_codec,board_support_mfc_enc_rgb,$(BOARD_SUPPORT_MFC_ENC_RGB))
|
||||
$(call soong_config_set_bool,video_codec,board_use_blob_allocator,$(BOARD_USE_BLOB_ALLOCATOR))
|
||||
$(call soong_config_set_bool,video_codec,board_support_mfc_enc_bt2020,$(BOARD_SUPPORT_MFC_ENC_BT2020))
|
||||
$(call soong_config_set_bool,video_codec,board_support_flexible_p010,$(BOARD_SUPPORT_FLEXIBLE_P010))
|
||||
$(call soong_config_set_bool,video_codec,board_use_codec2_aidl,$(if $(BOARD_USE_CODEC2_AIDL),true,false))
|
||||
$(call soong_config_set,video_codec,board_support_mfc_version,$(BOARD_SUPPORT_MFC_VERSION))
|
||||
########################
|
||||
|
||||
BOARD_SUPER_PARTITION_SIZE := 8531214336
|
||||
|
@ -230,6 +255,9 @@ BOARD_USES_SYSTEM_DLKMIMAGE := true
|
|||
BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
|
||||
|
||||
# Testing related defines
|
||||
BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/p24-setup.sh
|
||||
|
||||
#
|
||||
# AUDIO & VOICE
|
||||
#
|
||||
|
|
76
compatibility_matrix_202404.xml
Normal file
76
compatibility_matrix_202404.xml
Normal file
|
@ -0,0 +1,76 @@
|
|||
<!--
|
||||
Autogenerated skeleton compatibility matrix.
|
||||
Use with caution. Modify it to suit your needs.
|
||||
All HALs are set to optional.
|
||||
Many entries other than HALs are zero-filled and
|
||||
require human attention.
|
||||
-->
|
||||
<compatibility-matrix version="1.0" type="device">
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.frameworks.displayservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDisplayService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.frameworks.schedulerservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISchedulingPolicyService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.frameworks.sensorservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensorManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>vr</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hidl.manager</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IServiceManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hidl.memory</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>ashmem</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hidl.token</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ITokenManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.system.wifi.keystore</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IKeystore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<vndk>
|
||||
<version>0.0.0</version>
|
||||
</vndk>
|
||||
</compatibility-matrix>
|
|
@ -1,5 +1,8 @@
|
|||
# Android fstab file for /data and /metadata partitions.
|
||||
#
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
|
||||
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,reservedsize=128M,readahead_size_kb=128
|
||||
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,formattable,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption
|
||||
/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,first_stage_mount
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Android fstab file for /data and /metadata partitions.
|
||||
#
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
|
||||
/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device
|
||||
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,formattable,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum
|
||||
|
||||
|
|
10
conf/fstab.efs.from_data
Normal file
10
conf/fstab.efs.from_data
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Android fstab file.
|
||||
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
# Create the specific fstab file for efs/modem_userdata/persist partitions for flexibility
|
||||
/data/vendor/copied/efs /mnt/vendor/efs none bind latemount
|
||||
|
||||
/data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount
|
||||
|
||||
/data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount
|
||||
|
||||
/data/vendor/copied/persist /mnt/vendor/persist none bind latemount
|
|
@ -15,6 +15,15 @@ on init
|
|||
chown system system /sys/devices/platform/sjtag_gsa/interface/end
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/pubkey
|
||||
|
||||
# HSUM separated main user from the SYSTEM user, granting write permissions
|
||||
# for write only SJTAG sysfs files
|
||||
chmod 220 /sys/devices/platform/sjtag_ap/interface/auth
|
||||
chmod 220 /sys/devices/platform/sjtag_ap/interface/begin
|
||||
chmod 220 /sys/devices/platform/sjtag_ap/interface/end
|
||||
chmod 220 /sys/devices/platform/sjtag_gsa/interface/auth
|
||||
chmod 220 /sys/devices/platform/sjtag_gsa/interface/begin
|
||||
chmod 220 /sys/devices/platform/sjtag_gsa/interface/end
|
||||
|
||||
on property:vendor.debug.ramdump.force_crash=true
|
||||
write /sys/kernel/pixel_debug/trigger "null"
|
||||
|
||||
|
|
22
conf/init.efs.16k.rc
Normal file
22
conf/init.efs.16k.rc
Normal file
|
@ -0,0 +1,22 @@
|
|||
# This RC file is used for:
|
||||
# - 16kb Developer option which can boot with 4kb/16kb page size.
|
||||
# - 16kb targets only
|
||||
|
||||
service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data
|
||||
user root
|
||||
group root radio system audio media graphics camera
|
||||
stdio_to_kmsg
|
||||
oneshot
|
||||
disabled
|
||||
|
||||
on post-fs-data && property:ro.boot.hardware.cpu.pagesize=16384
|
||||
mkdir /data/vendor/copied 0775 radio system
|
||||
restorecon_recursive /data/vendor/copied
|
||||
exec_start copy_efs_files_to_data
|
||||
mount_all /vendor/etc/fstab.efs.from_data
|
||||
restorecon_recursive /mnt/vendor/persist
|
||||
restorecon_recursive /data/vendor/ss
|
||||
setprop ro.vendor.persist.status mounted
|
||||
|
||||
on late-fs && property:ro.boot.hardware.cpu.pagesize=4096
|
||||
mount_all /vendor/etc/fstab.efs --early
|
2
conf/init.efs.4k.rc
Normal file
2
conf/init.efs.4k.rc
Normal file
|
@ -0,0 +1,2 @@
|
|||
on late-fs
|
||||
mount_all /vendor/etc/fstab.efs --early
|
|
@ -1,11 +0,0 @@
|
|||
on early-init
|
||||
mount_all /vendor/etc/fstab.persist --early
|
||||
|
||||
on late-fs
|
||||
mount_all /vendor/etc/fstab.efs --early
|
||||
restorecon_recursive /mnt/vendor/efs
|
||||
chown radio system /mnt/vendor/efs
|
||||
restorecon_recursive /mnt/vendor/efs_backup
|
||||
chown radio system /mnt/vendor/efs_backup
|
||||
restorecon_recursive /mnt/vendor/modem_userdata
|
||||
chown radio system /mnt/vendor/modem_userdata
|
14
conf/init.eng.memtag.rc
Normal file
14
conf/init.eng.memtag.rc
Normal file
|
@ -0,0 +1,14 @@
|
|||
# MTE in -eng build: all cores in Sync mode
|
||||
on init
|
||||
# Per-core mode overrides.
|
||||
# Little Cores: sync
|
||||
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred sync
|
||||
# Mid Cores: sync
|
||||
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred sync
|
||||
# Big Core: sync
|
||||
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred sync
|
52
conf/init.persist.rc
Normal file
52
conf/init.persist.rc
Normal file
|
@ -0,0 +1,52 @@
|
|||
on early-init && property:ro.boot.hardware.cpu.pagesize=4096
|
||||
mount_all /vendor/etc/fstab.persist --early
|
||||
setprop ro.vendor.persist.status mounted
|
||||
|
||||
on property:ro.vendor.persist.status=mounted
|
||||
# for modem related functions
|
||||
restorecon_recursive /mnt/vendor/efs
|
||||
chown radio system /mnt/vendor/efs
|
||||
restorecon_recursive /mnt/vendor/efs_backup
|
||||
chown radio system /mnt/vendor/efs_backup
|
||||
restorecon_recursive /mnt/vendor/modem_userdata
|
||||
chown radio system /mnt/vendor/modem_userdata
|
||||
|
||||
# for battery defender
|
||||
mkdir /mnt/vendor/persist/battery 0700 system system
|
||||
|
||||
# Camera factory calibration files
|
||||
chmod 0771 /mnt/vendor/persist/camera
|
||||
chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
|
||||
chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
|
||||
mkdir /mnt/vendor/persist/camera/rear 0771 system camera
|
||||
chmod 0771 /mnt/vendor/persist/camera/rear
|
||||
|
||||
restorecon_recursive /mnt/vendor/persist
|
||||
restorecon_recursive /mnt/vendor/persist/aoc
|
||||
restorecon_recursive /mnt/vendor/persist/audio
|
||||
restorecon_recursive /mnt/vendor/persist/sensors
|
||||
restorecon_recursive /mnt/vendor/persist/battery
|
||||
restorecon_recursive /mnt/vendor/persist/camera
|
||||
restorecon_recursive /mnt/vendor/persist/modem
|
||||
# Set up display-related directories and permissions
|
||||
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
|
||||
restorecon_recursive /mnt/vendor/persist/display
|
||||
mkdir /mnt/vendor/persist/data/sfs 0700 system system
|
||||
mkdir /mnt/vendor/persist/data/tz 0700 system system
|
||||
mkdir /mnt/vendor/persist/touch 0770 system system
|
||||
|
||||
on property:ro.fstype.data=* && property:ro.vendor.persist.status=mounted
|
||||
# Proxy for Secure Storage
|
||||
mkdir /data/vendor/rebootescrow 0770 hsm hsm
|
||||
mkdir /data/vendor/ss 0770 root system
|
||||
mkdir /mnt/vendor/persist/ss 0770 root system
|
||||
restorecon_recursive /mnt/vendor/persist/ss
|
||||
symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
|
||||
chown root system /data/vendor/ss/persist
|
||||
chmod 0770 /data/vendor/ss/persist
|
||||
symlink /dev/block/platform/13200000\.ufs/by-name/trusty_persist /data/vendor/ss/persist/0
|
||||
chown system system /data/vendor/ss/0
|
||||
chown system system /data/vendor/ss/persist/0
|
||||
chown system system /data/vendor/ss/persist/nsp
|
||||
|
||||
restart storageproxyd
|
|
@ -34,14 +34,11 @@ on init
|
|||
# governor setting
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_scale_pow 2
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
|
||||
# memlat cpuidle awareness setting
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware 2
|
||||
|
@ -107,6 +104,11 @@ on init
|
|||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/stall_floor 2400
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu8_memlat@17000010/mem_latency/stall_floor 500
|
||||
|
||||
on late-init
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
|
||||
on zygote-start
|
||||
# For PixelLogger configuration file.
|
||||
chmod 0771 /data/vendor/wifi
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import /vendor/etc/init/hw/init.zumapro.usb.rc
|
||||
import /vendor/etc/init/hw/init.efs.rc
|
||||
import /vendor/etc/init/hw/init.persist.rc
|
||||
import android.hardware.drm@1.2-service.widevine.rc
|
||||
import init.exynos.sensorhub.rc
|
||||
import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.soc.rc
|
||||
|
@ -268,13 +269,6 @@ on post-fs-data
|
|||
chown system system /dev/ispolin_ranging
|
||||
chmod 0660 /dev/ispolin_ranging
|
||||
|
||||
# Factory calibration files
|
||||
chmod 0771 /mnt/vendor/persist/camera
|
||||
chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
|
||||
chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
|
||||
mkdir /mnt/vendor/persist/camera/rear 0771 system camera
|
||||
chmod 0771 /mnt/vendor/persist/camera/rear
|
||||
|
||||
# Audio dump and debug
|
||||
mkdir /data/vendor/audio 0770 audio audio
|
||||
|
||||
|
@ -369,27 +363,10 @@ on property:persist.vendor.radio.no_modem_board=1
|
|||
on fs
|
||||
mount_all --early
|
||||
|
||||
# for battery defender
|
||||
mkdir /mnt/vendor/persist/battery 0700 system system
|
||||
|
||||
# Mount modem partition
|
||||
mount_all /vendor/etc/fstab.modem --early
|
||||
restorecon_recursive /mnt/vendor/modem_img
|
||||
|
||||
restorecon_recursive /mnt/vendor/persist
|
||||
restorecon_recursive /mnt/vendor/persist/aoc
|
||||
restorecon_recursive /mnt/vendor/persist/audio
|
||||
restorecon_recursive /mnt/vendor/persist/sensors
|
||||
restorecon_recursive /mnt/vendor/persist/battery
|
||||
restorecon_recursive /mnt/vendor/persist/camera
|
||||
restorecon_recursive /mnt/vendor/persist/modem
|
||||
# Set up display-related directories and permissions
|
||||
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
|
||||
restorecon_recursive /mnt/vendor/persist/display
|
||||
mkdir /mnt/vendor/persist/data/sfs 0700 system system
|
||||
mkdir /mnt/vendor/persist/data/tz 0700 system system
|
||||
mkdir /mnt/vendor/persist/touch 0770 system system
|
||||
|
||||
# Permissions for ION
|
||||
chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
|
||||
chown system system /sys/class/ion_cma/ion_video_ext/isolated
|
||||
|
@ -412,8 +389,8 @@ on fs
|
|||
chown system system /sys/devices/platform/exynos-drm/primary-panel/te2_option
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/power_state
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_rate
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_interval
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/expected_present_time
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_interval_ns
|
||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/expected_present_time_ns
|
||||
chown system system /sys/module/drm/parameters/vblankoffdelay
|
||||
chown system system /sys/module/drm/parameters/debug
|
||||
chown system system /sys/class/dqe0/atc/ambient_light
|
||||
|
@ -635,21 +612,6 @@ service bugreport /system/bin/dumpstate -d -p -z
|
|||
oneshot
|
||||
keycodes 114 115 116
|
||||
|
||||
# Proxy for Secure Storage
|
||||
on post-fs-data
|
||||
mkdir /data/vendor/rebootescrow 0770 hsm hsm
|
||||
mkdir /data/vendor/ss 0770 root system
|
||||
mkdir /mnt/vendor/persist/ss 0770 root system
|
||||
restorecon_recursive /mnt/vendor/persist/ss
|
||||
symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
|
||||
chown root system /data/vendor/ss/persist
|
||||
chmod 0770 /data/vendor/ss/persist
|
||||
chown system system /data/vendor/ss/0
|
||||
chown system system /data/vendor/ss/persist/0
|
||||
chown system system /data/vendor/ss/persist/nsp
|
||||
|
||||
restart storageproxyd
|
||||
|
||||
service storageproxyd /vendor/bin/storageproxyd \
|
||||
-d /dev/trusty-ipc-dev0 \
|
||||
-r /dev/sg1 \
|
||||
|
@ -677,6 +639,7 @@ on post-fs-data
|
|||
chown bluetooth system /proc/bluetooth/sleep/btwake
|
||||
chown bluetooth system /proc/bluetooth/sleep/lpm
|
||||
chown bluetooth system /proc/bluetooth/sleep/btwrite
|
||||
chown bluetooth system /sys/devices/platform/155d0000.serial/uart_dbg
|
||||
mkdir /data/vendor/bluetooth 0770 bluetooth system
|
||||
|
||||
# ODPM
|
||||
|
|
|
@ -9,7 +9,6 @@ on init
|
|||
chown system system /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/limit_frequency
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable
|
||||
|
||||
|
||||
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware
|
||||
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware
|
||||
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware
|
||||
|
@ -60,17 +59,6 @@ on init
|
|||
write /proc/vendor_sched/groups/sys_bg/disable_util_est 1
|
||||
write /proc/vendor_sched/groups/ta/disable_util_est 0
|
||||
|
||||
# governor setting
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/down_rate_limit_us 500
|
||||
|
||||
# memlat cpuidle awareness setting
|
||||
# FIXME(b/301212469) these nodes missing on zuma pro
|
||||
# TODO(b/308973423) these values need to be tuned
|
||||
|
@ -143,6 +131,83 @@ on init
|
|||
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred asymm
|
||||
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred asymm
|
||||
|
||||
# Change permission of sched qos nodes
|
||||
chown system system /proc/vendor_sched/sched_qos/adpf_set
|
||||
chown system system /proc/vendor_sched/sched_qos/adpf_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_set
|
||||
chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/boost_prio_set
|
||||
chown system system /proc/vendor_sched/sched_qos/boost_prio_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_set
|
||||
chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_fit_set
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_fit_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_set
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_idle_set
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_idle_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_set
|
||||
chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_clear
|
||||
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/adpf_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/adpf_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_clear
|
||||
|
||||
# Enable sched_qos for some groups
|
||||
write /proc/vendor_sched/groups/ta/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_boost_prio_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_preempt_wakeup_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_boost_prio_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_preempt_wakeup_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_boost_prio_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_preempt_wakeup_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/rt/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/rt/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/sf/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/sf/qos_rampup_multiplier_enable 1
|
||||
|
||||
on zygote-start
|
||||
# For PixelLogger configuration file.
|
||||
chmod 0771 /data/vendor/wifi
|
||||
|
|
|
@ -153,6 +153,11 @@
|
|||
/dev/acd-com.google.chre 0660 system system
|
||||
/dev/acd-com.google.chre.non_wake_up 0660 system system
|
||||
|
||||
# CHRE (EFW transport)
|
||||
/dev/acd-chre_ctl 0660 system system
|
||||
/dev/acd-chre_data_tx 0220 system system
|
||||
/dev/acd-chre_data_rx 0440 system system
|
||||
|
||||
# BT
|
||||
/dev/acd-com.google.bt 0660 system system
|
||||
/dev/acd-com.google.bt.non_wake_up 0660 system system
|
||||
|
|
39
copy_efs_files_to_data.sh
Normal file
39
copy_efs_files_to_data.sh
Normal file
|
@ -0,0 +1,39 @@
|
|||
#!/vendor/bin/sh
|
||||
|
||||
CHECKPOINT_DIR=/data/vendor/copied
|
||||
|
||||
export BIN_DIR=/vendor/bin
|
||||
|
||||
$BIN_DIR/mkdir -p $CHECKPOINT_DIR
|
||||
|
||||
function copy_files_to_data()
|
||||
{
|
||||
block_device=$1
|
||||
partition_name=$(basename $1)
|
||||
mount_point=$2
|
||||
tmpdir=$CHECKPOINT_DIR/$partition_name.img
|
||||
build_checkpoint=$CHECKPOINT_DIR/$partition_name
|
||||
if [ ! -e $build_checkpoint ]; then
|
||||
$BIN_DIR/rm -rf $tmpdir
|
||||
$BIN_DIR/mkdir -p $tmpdir
|
||||
$BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device"
|
||||
return
|
||||
fi
|
||||
$BIN_DIR/mv $tmpdir $build_checkpoint
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "mv $tmpdir $build_checkpoint"
|
||||
return
|
||||
fi
|
||||
$BIN_DIR/fsync `dirname $build_checkpoint`
|
||||
fi
|
||||
echo "Successfully copied $mount_point to $build_checkpoint"
|
||||
}
|
||||
|
||||
copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs"
|
||||
copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup"
|
||||
copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata"
|
||||
copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist"
|
||||
|
||||
$BIN_DIR/fsync /data/vendor/copied
|
|
@ -69,7 +69,7 @@
|
|||
</exception>
|
||||
|
||||
<exception package="com.google.android.apps.pixel.relationships">
|
||||
<!-- Contacts -->
|
||||
<permission name="android.permission.CALL_PHONE" fixed="false"/>
|
||||
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
|
||||
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
|
||||
|
@ -173,5 +173,9 @@
|
|||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.privacy.wildlife">
|
||||
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
|
||||
</exception>
|
||||
</exceptions>
|
||||
|
||||
|
|
|
@ -51,12 +51,21 @@ PRODUCT_VENDOR_PROPERTIES += \
|
|||
vendor.zram.size?=50p
|
||||
|
||||
# Indicate that the bootloader supports the MTE developer option switch
|
||||
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products that
|
||||
# force enable MTE.
|
||||
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products and
|
||||
# eng products that force enable MTE
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
ifeq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
|
||||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.se=off
|
||||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.google.android.bluetooth=off
|
||||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off
|
||||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/zumapro/conf/init.eng.memtag.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.eng.memtag.rc
|
||||
endif
|
||||
endif
|
||||
|
|
92
device.mk
92
device.mk
|
@ -75,6 +75,7 @@ PRODUCT_SOONG_NAMESPACES += \
|
|||
hardware/google/gchips/gralloc4 \
|
||||
hardware/google/graphics/common \
|
||||
hardware/google/graphics/zuma \
|
||||
hardware/google/graphics/zumapro/libhwc2.1 \
|
||||
hardware/google/interfaces \
|
||||
hardware/google/pixel \
|
||||
device/google/zumapro \
|
||||
|
@ -183,7 +184,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
|||
bluetooth.profile.asha.central.enabled=true \
|
||||
bluetooth.profile.a2dp.source.enabled=true \
|
||||
bluetooth.profile.avrcp.target.enabled=true \
|
||||
bluetooth.profile.bap.unicast.server.enabled=true \
|
||||
bluetooth.profile.bap.unicast.client.enabled=true \
|
||||
bluetooth.profile.bas.client.enabled=true \
|
||||
bluetooth.profile.csip.set_coordinator.enabled=true \
|
||||
bluetooth.profile.gatt.enabled=true \
|
||||
|
@ -198,8 +199,12 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
|||
bluetooth.profile.pan.panu.enabled=true \
|
||||
bluetooth.profile.pbap.server.enabled=true \
|
||||
bluetooth.profile.sap.server.enabled=true \
|
||||
bluetooth.profile.tbs.server.enabled=true \
|
||||
bluetooth.profile.vc.server.enabled=true
|
||||
bluetooth.profile.ccp.server.enabled=true \
|
||||
bluetooth.profile.vcp.controller.enabled=true
|
||||
|
||||
# Override default HCI command timeout value for BT stack
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
bluetooth.hci.timeout_milliseconds=5000
|
||||
|
||||
# Carrier configuration default location
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
|
@ -290,10 +295,13 @@ BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app
|
|||
endif # ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
|
||||
# Shared Modem Platform
|
||||
include device/google/gs-common/modem/shared_modem_platform/shared_modem_platform.mk
|
||||
include device/google/gs-common/modem/modem_svc_sit/shared_modem_platform.mk
|
||||
|
||||
# Use for GRIL
|
||||
USES_LASSEN_MODEM := true
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
$(call soong_config_set_bool,grilservice,use_google_qns,true)
|
||||
endif
|
||||
|
||||
ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
|
||||
USE_GOOGLE_DIALER := true
|
||||
|
@ -374,6 +382,14 @@ PRODUCT_VENDOR_PROPERTIES += \
|
|||
ro.hardware.vulkan=mali
|
||||
endif
|
||||
|
||||
# SurfaceFlinger / RenderEngine
|
||||
ifeq ($(TARGET_USES_VULKAN),true)
|
||||
# b/293371537 Opt in to RE-Graphite's aconfig-based preview rollout
|
||||
PRODUCT_VENDOR_PROPERTIES += debug.renderengine.graphite_preview_optin=true
|
||||
else
|
||||
$(warning TARGET_USES_VULKAN == false, cannot opt in to RE-Graphite rollout in SurfaceFlinger)
|
||||
PRODUCT_VENDOR_PROPERTIES += debug.renderengine.graphite_preview_optin=false
|
||||
endif
|
||||
# b/295257834 Add HDR shaders to SurfaceFlinger's pre-warming cache
|
||||
PRODUCT_VENDOR_PROPERTIES += ro.surface_flinger.prime_shader_cache.ultrahdr=1
|
||||
|
||||
|
@ -410,13 +426,33 @@ PRODUCT_VENDOR_PROPERTIES += \
|
|||
PRODUCT_SHIPPING_API_LEVEL := $(SHIPPING_API_LEVEL)
|
||||
|
||||
# Device Manifest, Device Compatibility Matrix for Treble
|
||||
#
|
||||
# Install product specific framework compatibility matrix
|
||||
# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
|
||||
# It must be split into the FCM of each partition.
|
||||
ifeq ($(PRODUCT_SHIPPING_API_LEVEL),35)
|
||||
DEVICE_MANIFEST_FILE := \
|
||||
device/google/zumapro/manifest_202404.xml
|
||||
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/zumapro/device_framework_matrix_product_202404.xml
|
||||
DEVICE_MATRIX_FILE := \
|
||||
device/google/zumapro/compatibility_matrix_202404.xml
|
||||
else
|
||||
DEVICE_MANIFEST_FILE := \
|
||||
device/google/zumapro/manifest.xml
|
||||
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/zumapro/device_framework_matrix_product_8.xml
|
||||
DEVICE_MATRIX_FILE := \
|
||||
device/google/zumapro/compatibility_matrix.xml
|
||||
endif
|
||||
|
||||
BOARD_USE_CODEC2_AIDL := V1
|
||||
ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
|
||||
ifeq ($(PRODUCT_SHIPPING_API_LEVEL),35)
|
||||
DEVICE_MANIFEST_FILE += \
|
||||
device/google/zumapro/manifest_media_aosp_202404.xml
|
||||
else
|
||||
DEVICE_MANIFEST_FILE += \
|
||||
device/google/zumapro/manifest_media_aosp.xml
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/zumapro/media_codecs_aosp_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml
|
||||
|
@ -429,9 +465,6 @@ PRODUCT_COPY_FILES += \
|
|||
device/google/zumapro/media_codecs_aosp_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_aosp_c2.xml
|
||||
endif
|
||||
|
||||
DEVICE_MATRIX_FILE := \
|
||||
device/google/zumapro/compatibility_matrix.xml
|
||||
|
||||
DEVICE_PACKAGE_OVERLAYS += device/google/zumapro/overlay
|
||||
|
||||
# RKP VINTF
|
||||
|
@ -451,7 +484,19 @@ PRODUCT_COPY_FILES += \
|
|||
device/google/zumapro/conf/init.zumapro.soc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.soc.rc \
|
||||
device/google/zumapro/conf/init.zuma.soc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.soc.rc \
|
||||
device/google/zumapro/conf/init.zumapro.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.board.rc \
|
||||
device/google/zumapro/conf/init.efs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc
|
||||
device/google/zumapro/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.persist.rc
|
||||
|
||||
ifeq (true,$(filter $(TARGET_BOOTS_16K) $(PRODUCT_16K_DEVELOPER_OPTION),true))
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/zumapro/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc \
|
||||
device/google/zumapro/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data
|
||||
|
||||
PRODUCT_PACKAGES += copy_efs_files_to_data
|
||||
PRODUCT_PACKAGES += fsck.f2fs.vendor
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/zumapro/conf/init.efs.4k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc
|
||||
endif
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
@ -584,6 +629,10 @@ PRODUCT_PACKAGES += \
|
|||
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
|
||||
|
||||
ifneq (,$(filter ripcurrentpro, $(TARGET_PRODUCT)))
|
||||
include device/google/gs-common/touch/gti/gti.mk
|
||||
endif
|
||||
|
||||
# Sensors
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
||||
|
@ -772,6 +821,12 @@ PRODUCT_COPY_FILES += \
|
|||
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
|
||||
|
||||
# Bluetooth channel sounding
|
||||
ifneq (,$(RELEASE_RANGING_STACK))
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth_le.channel_sounding.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.channel_sounding.xml
|
||||
endif
|
||||
|
||||
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
|
||||
|
@ -1178,7 +1233,7 @@ PRODUCT_SOONG_NAMESPACES += \
|
|||
vendor/google_devices/zumapro/proprietary/gchips/tpu/nnapi_stable_aidl \
|
||||
vendor/google_devices/zumapro/proprietary/gchips/tpu/aidl \
|
||||
vendor/google_devices/zumapro/proprietary/gchips/tpu/hal \
|
||||
vendor/google_devices/zumapro/proprietary/gchips/tpu/tachyon/api \
|
||||
vendor/google_devices/zumapro/proprietary/gchips/tpu/tachyon/tachyon_apis \
|
||||
vendor/google_devices/zumapro/proprietary/gchips/tpu/tachyon/service
|
||||
# TPU firmware
|
||||
PRODUCT_PACKAGES += edgetpu-rio.fw
|
||||
|
@ -1198,6 +1253,10 @@ PRODUCT_PACKAGES += \
|
|||
# pKVM
|
||||
$(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk)
|
||||
PRODUCT_BUILD_PVMFW_IMAGE := true
|
||||
ifeq ($(RELEASE_AVF_ENABLE_LLPVM_CHANGES),true)
|
||||
# Set the environment variable to enable the Secretkeeper HAL service.
|
||||
SECRETKEEPER_ENABLED := true
|
||||
endif
|
||||
|
||||
# Enable to build standalone vendor_kernel_boot image.
|
||||
PRODUCT_BUILD_VENDOR_KERNEL_BOOT_IMAGE := true
|
||||
|
@ -1231,11 +1290,6 @@ include hardware/google/pixel/wifi_ext/device.mk
|
|||
# Battery Stats Viewer
|
||||
PRODUCT_PACKAGES_ENG += BatteryStatsViewer
|
||||
|
||||
# Install product specific framework compatibility matrix
|
||||
# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
|
||||
# It must be split into the FCM of each partition.
|
||||
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/zumapro/device_framework_matrix_product.xml
|
||||
|
||||
# Keymint configuration
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
|
||||
|
@ -1261,16 +1315,19 @@ include device/google/gs-common/pixel_ril/ril.mk
|
|||
endif
|
||||
endif
|
||||
|
||||
SUPPORT_VENDOR_SATELLITE_SERVICE := true
|
||||
|
||||
# Telephony satellite geofence data file
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/zumapro/telephony/sats2.dat:$(TARGET_COPY_OUT_VENDOR)/etc/telephony/sats2.dat
|
||||
device/google/zumapro/telephony/sats2.dat:$(TARGET_COPY_OUT_VENDOR)/etc/telephony/sats2.dat \
|
||||
device/google/zumapro/telephony/satellite_access_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/telephony/satellite_access_config.json
|
||||
|
||||
# Touch service
|
||||
include device/google/gs-common/touch/twoshay/aidl_zuma.mk
|
||||
include device/google/gs-common/touch/twoshay/twoshay.mk
|
||||
|
||||
ifeq ($(RELEASE_PIXEL_GIA_ENABLED),true)
|
||||
include device/google/gs-common/input/gia/gia.mk
|
||||
endif
|
||||
|
||||
PRODUCT_CHECK_VENDOR_SEAPP_VIOLATIONS := true
|
||||
|
||||
PRODUCT_CHECK_DEV_TYPE_VIOLATIONS := true
|
||||
|
@ -1287,3 +1344,4 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
|||
dumpstate.strict_run=false
|
||||
|
||||
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
|
||||
PRODUCT_CHECK_PREBUILT_MAX_PAGE_SIZE := true
|
||||
|
|
198
device_framework_matrix_product_202404.xml
Normal file
198
device_framework_matrix_product_202404.xml
Normal file
|
@ -0,0 +1,198 @@
|
|||
<compatibility-matrix version="1.0" type="framework" level="202404">
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.boot</name>
|
||||
<fqname>IBootControl/default</fqname>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.graphics.composer3</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.radio</name>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>ISap</name>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<version>2-3</version>
|
||||
<interface>
|
||||
<name>IVibrator</name>
|
||||
<instance>dual</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.wifi.hostapd</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IHostapd</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.vendor.samsung_slsi.telephony.hardware.radio</name>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IOemSamsungslsi</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>com.fingerprints33.extension</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IFingerprintAuthenticator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintCalibration</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintEngineering</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintNavigation</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintRecalibration</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintSenseTouch</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintSensorTest</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true" updatable-via-apex="true">
|
||||
<name>com.google.face.debug</name>
|
||||
<version>3-4</version>
|
||||
<interface>
|
||||
<name>IDebugHost</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDebugManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.edgetpu</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IEdgeTpuVendorService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.edgetpu.dba</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.edgetpu.tachyon</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IComputeService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.hardware.pixel.display</name>
|
||||
<version>13</version>
|
||||
<interface>
|
||||
<name>IDisplay</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>hardware.qorvo.uwb</name>
|
||||
<interface>
|
||||
<name>IUwbVendor</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.goodix.hardware.biometrics.fingerprint</name>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemon</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<version>2-3</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.google.wifi_ext</name>
|
||||
<version>2-4</version>
|
||||
<interface>
|
||||
<name>IWifiExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.samsung_slsi.telephony.hardware.oemservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOemService</name>
|
||||
<instance>dm0</instance>
|
||||
<instance>dm1</instance>
|
||||
<instance>sced0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.pixel.modem.logmasklibrary</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>ILiboemserviceProxy</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IOemSlsiRadioExternal</name>
|
||||
<instance>rilExternal</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IOemSlsiRadioExternal</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.samsung_slsi.telephony.hardware.oemservice</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IOemService</name>
|
||||
<instance>dm0</instance>
|
||||
<instance>dm1</instance>
|
||||
<instance>sced0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
|
@ -21,7 +21,7 @@
|
|||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<version>2</version>
|
||||
<version>2-3</version>
|
||||
<interface>
|
||||
<name>IVibrator</name>
|
||||
<instance>dual</instance>
|
||||
|
@ -145,7 +145,7 @@
|
|||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.google.wifi_ext</name>
|
||||
<version>2-3</version>
|
||||
<version>2-4</version>
|
||||
<interface>
|
||||
<name>IWifiExt</name>
|
||||
<instance>default</instance>
|
|
@ -177,7 +177,7 @@ void dumpPowerSupplyStats() {
|
|||
void dumpMaxFg() {
|
||||
const char *maxfgLoc = "/sys/class/power_supply/maxfg";
|
||||
const char *max77779fgDir = "/sys/class/power_supply/max77779fg";
|
||||
|
||||
const char *maxfgDualLoc = "/sys/class/power_supply/maxfg_base";
|
||||
const char *maxfg [][2] = {
|
||||
{"Power supply property maxfg", "/sys/class/power_supply/maxfg/uevent"},
|
||||
{"maxfg registers", "/sys/class/power_supply/maxfg/registers_dump"},
|
||||
|
@ -194,16 +194,17 @@ void dumpMaxFg() {
|
|||
{"max77779fg_monitor logbuffer", "/dev/logbuffer_max77779fg_monitor"},
|
||||
};
|
||||
|
||||
const char *maxfgSecondary [][2] = {
|
||||
const char *maxfgDual [][2] = {
|
||||
{"Power supply property maxfg_base", "/sys/class/power_supply/maxfg_base/uevent"},
|
||||
{"Power supply property maxfg_secondary", "/sys/class/power_supply/maxfg_secondary/uevent"},
|
||||
{"maxfg_base registers", "/sys/class/power_supply/maxfg_base/registers_dump"},
|
||||
{"maxfg_secondary registers", "/sys/class/power_supply/maxfg_secondary/registers_dump"},
|
||||
{"model_state", "/sys/class/power_supply/maxfg_base/model_state"},
|
||||
{"maxfg_base", "/dev/logbuffer_maxfg_base"},
|
||||
{"maxfg_secondary", "/dev/logbuffer_maxfg_secondary"},
|
||||
{"maxfg_base logbuffer", "/dev/logbuffer_maxfg_base"},
|
||||
{"maxfg_secondary logbuffer", "/dev/logbuffer_maxfg_secondary"},
|
||||
{"maxfg_base_monitor logbuffer", "/dev/logbuffer_maxfg_base_monitor"},
|
||||
{"maxfg_secondary_monitor logbuffer", "/dev/logbuffer_maxfg_secondary_monitor"},
|
||||
{"dual_batt logbuffer", "/dev/logbuffer_dual_batt"},
|
||||
};
|
||||
|
||||
const char *maxfgHistoryName = "Maxim FG History";
|
||||
|
@ -220,16 +221,15 @@ void dumpMaxFg() {
|
|||
for (const auto &row : max77779fgFiles) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
} else {
|
||||
for (const auto &row : maxfgSecondary) {
|
||||
} else if (isValidDir(maxfgDualLoc)){
|
||||
for (const auto &row : maxfgDual) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
|
||||
if (isValidFile(maxfgHistoryDir)) {
|
||||
dumpFileContent(maxfgHistoryName, maxfgHistoryDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dumpPowerSupplyDock() {
|
||||
const char* powerSupplyPropertyDockTitle = "Power supply property dock";
|
||||
|
@ -317,19 +317,14 @@ void dumpPdEngine() {
|
|||
{"TCPC logbuffer", "/dev/logbuffer_usbpd"},
|
||||
{"pogo_transport logbuffer", "/dev/logbuffer_pogo_transport"},
|
||||
{"PPS-google_cpm logbuffer", "/dev/logbuffer_cpm"},
|
||||
{"PPS-pca9468 logbuffer", "/dev/logbuffer_pca9468"},
|
||||
{"PPS-ln8411 logbuffer", "/dev/logbuffer_ln8411"},
|
||||
{"PPS-dc_mains logbuffer", "/dev/logbuffer_dc_mains"}
|
||||
};
|
||||
const char* ppsDcMsg = "PPS-dc logbuffer";
|
||||
const char* pca9468dir = "/dev/logbuffer_pca9468";
|
||||
const char* ln8411dir = "/dev/logbuffer_ln8411";
|
||||
|
||||
for (const auto &row : pdEngine) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
if (isValidFile(pca9468dir)) {
|
||||
dumpFileContent(ppsDcMsg, pca9468dir);
|
||||
} else {
|
||||
dumpFileContent(ppsDcMsg, ln8411dir);
|
||||
}
|
||||
}
|
||||
|
||||
void dumpBatteryHealth() {
|
||||
|
@ -361,7 +356,7 @@ void dumpBatteryHealth() {
|
|||
}
|
||||
|
||||
void dumpBatteryDefend() {
|
||||
const char* defendConfig [][4] {
|
||||
const char* defendConfig [][3] {
|
||||
{"TRICKLE-DEFEND Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "bd_"},
|
||||
{"DWELL-DEFEND Config", "/sys/devices/platform/google,charger/", "charge_s"},
|
||||
|
@ -406,6 +401,57 @@ void dumpBatteryDefend() {
|
|||
}
|
||||
}
|
||||
|
||||
void dumpBatteryCaretaker() {
|
||||
const char* aacpConfig [][3] {
|
||||
{"AACP Version",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacp_"},
|
||||
{"AACR Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacr_"},
|
||||
{"AAFV Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aafv_"},
|
||||
{"AACT Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aact_"},
|
||||
{"AACC",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacc"},
|
||||
};
|
||||
|
||||
std::vector<std::string> files;
|
||||
struct dirent *entry;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
|
||||
for (auto &config : aacpConfig) {
|
||||
DIR *dir = opendir(config[1]);
|
||||
if (dir == NULL)
|
||||
continue;
|
||||
|
||||
printTitle(config[0]);
|
||||
while ((entry = readdir(dir)) != NULL) {
|
||||
if (std::string(entry->d_name).find(config[2]) != std::string::npos &&
|
||||
strncmp(config[2], entry->d_name, strlen(config[2])) == 0) {
|
||||
files.push_back(entry->d_name);
|
||||
}
|
||||
}
|
||||
closedir(dir);
|
||||
|
||||
sort(files.begin(), files.end());
|
||||
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(config[1]) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content) || content.empty()) {
|
||||
content = "\n";
|
||||
}
|
||||
|
||||
printf("%s: %s", file.c_str(), content.c_str());
|
||||
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
files.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void printValuesOfDirectory(const char *directory, std::string debugfs, const char *strMatch) {
|
||||
std::vector<std::string> files;
|
||||
auto info = directory;
|
||||
|
@ -440,11 +486,8 @@ void printValuesOfDirectory(const char *directory, std::string debugfs, const ch
|
|||
|
||||
void dumpChg() {
|
||||
const std::string pmic_bus = "/sys/devices/platform/108d0000.hsi2c/i2c-6/6-0066";
|
||||
const std::string pmic_bus_dev = "/sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0066";
|
||||
const char* chg_reg_dump_file = "/sys/class/power_supply/main-charger/device/registers_dump";
|
||||
const std::string chg_name_file = "/sys/class/power_supply/main-charger/device/name";
|
||||
const std::string pmic_name_file_dev = pmic_bus_dev + "/name";
|
||||
const std::string pmic_reg_dump_dev_file = pmic_bus_dev + "/registers_dump";
|
||||
const std::string pmic_name_file = pmic_bus + "/name";
|
||||
const std::string pmic_reg_dump_file = pmic_bus + "/registers_dump";
|
||||
const std::string reg_dump_str = " registers dump";
|
||||
|
@ -469,10 +512,6 @@ void dumpChg() {
|
|||
if (isValidDir(pmic_bus.c_str())) {
|
||||
ret = android::base::ReadFileToString(pmic_name_file, &pmic_name);
|
||||
pmic_reg_dump = pmic_reg_dump_file;
|
||||
} else {
|
||||
/* DEV device */
|
||||
ret = android::base::ReadFileToString(pmic_name_file_dev, &pmic_name);
|
||||
pmic_reg_dump = pmic_reg_dump_dev_file;
|
||||
}
|
||||
|
||||
if (ret && !pmic_name.empty()) {
|
||||
|
@ -490,36 +529,16 @@ void dumpChg() {
|
|||
|
||||
void dumpChgUserDebug() {
|
||||
const std::string debugfs = "/d/";
|
||||
const char *maxFgDir = "/d/maxfg";
|
||||
const char *maxFgStrMatch = "maxfg";
|
||||
const char *maxBaseFgDir = "/d/maxfg_base";
|
||||
const char *maxBaseFgStrMatch = "maxfg_base";
|
||||
const char *maxSecFgDir = "/d/maxfg_secondary";
|
||||
const char *maxSecFgStrMatch = "maxfg_secondary";
|
||||
const char *max77779FgDir = "/d/max77779fg";
|
||||
const char *maxFg77779StrMatch = "max77779fg";
|
||||
const char *chgTblName = "Charging table dump";
|
||||
const char *chgTblDir = "/d/google_battery/chg_raw_profile";
|
||||
|
||||
const char *maxFgInfo [] {
|
||||
"fg_model",
|
||||
"algo_ver",
|
||||
"model_ok",
|
||||
"registers",
|
||||
"nv_registers",
|
||||
};
|
||||
|
||||
const char *max77779FgInfo [] {
|
||||
"fg_model",
|
||||
"algo_ver",
|
||||
"model_ok",
|
||||
"registers",
|
||||
"debug_registers",
|
||||
};
|
||||
|
||||
const char *max1720xFgInfo [] {
|
||||
"registers",
|
||||
"nv_registers",
|
||||
};
|
||||
|
||||
if (isUserBuild())
|
||||
|
@ -527,11 +546,7 @@ void dumpChgUserDebug() {
|
|||
|
||||
dumpFileContent(chgTblName, chgTblDir);
|
||||
|
||||
if (isValidDir(maxFgDir)) {
|
||||
for (auto & directory : maxFgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxFgStrMatch);
|
||||
}
|
||||
} else if (isValidDir(max77779FgDir)) {
|
||||
if (isValidDir(max77779FgDir)) {
|
||||
for (auto & directory : max77779FgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxFg77779StrMatch);
|
||||
}
|
||||
|
@ -539,11 +554,6 @@ void dumpChgUserDebug() {
|
|||
for (auto & directory : max77779FgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxBaseFgStrMatch);
|
||||
}
|
||||
if (isValidDir(maxSecFgDir)) {
|
||||
for (auto & directory : max1720xFgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxSecFgStrMatch);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1113,6 +1123,7 @@ int main() {
|
|||
dumpPdEngine();
|
||||
dumpBatteryHealth();
|
||||
dumpBatteryDefend();
|
||||
dumpBatteryCaretaker();
|
||||
dumpChg();
|
||||
dumpChgUserDebug();
|
||||
dumpScratchpad();
|
||||
|
|
|
@ -97,6 +97,7 @@ on early-boot
|
|||
chown system system /dev/logbuffer_maxfg_secondary
|
||||
chown system system /dev/logbuffer_maxfg_base_monitor
|
||||
chown system system /dev/logbuffer_maxfg_secondary_monitor
|
||||
chown system system /dev/logbuffer_dual_batt
|
||||
chown system system /dev/logbuffer_maxq
|
||||
chown system system /dev/logbuffer_rtx
|
||||
chown system system /dev/logbuffer_ssoc
|
||||
|
@ -107,6 +108,7 @@ on early-boot
|
|||
chown system system /dev/logbuffer_wireless
|
||||
chown system system /dev/logbuffer_pca9468
|
||||
chown system system /dev/logbuffer_ln8411
|
||||
chown system system /dev/logbuffer_dc_mains
|
||||
chown system system /dev/logbuffer_cpm
|
||||
chown system system /dev/logbuffer_wc68
|
||||
chown system system /dev/logbuffer_max77779_fwupdate
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.health</name>
|
||||
<version>3</version>
|
||||
<version>4</version>
|
||||
<fqname>IHealth/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
|
6
manifest_202404.xml
Normal file
6
manifest_202404.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<manifest version="1.0" type="device" target-level="202404">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.boot</name>
|
||||
<fqname>IBootControl/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
8
manifest_media_aosp_202404.xml
Normal file
8
manifest_media_aosp_202404.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<manifest version="1.0" type="device">
|
||||
<!-- AIDL fragment -->
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<version>1</version>
|
||||
<fqname>IComponentStore/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
|
@ -33,6 +33,7 @@
|
|||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.h264.decoder.secure" type="video/avc">
|
||||
<Limit name="size" min="32x32" max="3840x2160" />
|
||||
|
@ -48,6 +49,7 @@
|
|||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.hevc.decoder" type="video/hevc" >
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
|
@ -63,6 +65,7 @@
|
|||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.hevc.decoder.secure" type="video/hevc" >
|
||||
<Limit name="size" min="64x64" max="3840x2160" />
|
||||
|
@ -78,6 +81,7 @@
|
|||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.mpeg4.decoder" type="video/mp4v-es">
|
||||
<Limit name="size" min="32x32" max="2048x2048" />
|
||||
|
@ -119,6 +123,7 @@
|
|||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="64x64" max="7680x4352" />
|
||||
|
@ -134,6 +139,7 @@
|
|||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
|
@ -149,6 +155,7 @@
|
|||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
|
@ -188,6 +195,7 @@
|
|||
<Feature name="qp-bounds"/>
|
||||
<Feature name="encoding-statistics"/>
|
||||
<Feature name="hdr-editing" />
|
||||
<Feature name="hlg-editing" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es">
|
||||
<Limit name="size" min="32x32" max="2048x2048" />
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.google.av1.decoder.secure" type="video/av01">
|
||||
<Limit name="size" min="96x96" max="3840x2160" />
|
||||
|
@ -47,15 +48,16 @@
|
|||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<Feature name="dynamic-color-aspects" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<MediaCodec name="c2.google.av1.encoder" type="video/av01">
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
<Limit name="size" min="80x80" max="3840x2176" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="block-size" value="64x64" />
|
||||
<Limit name="block-count" range="1-2040" />
|
||||
<Limit name="blocks-per-second" min="1" max="61200" />
|
||||
<Limit name="block-count" range="4-2040" />
|
||||
<Limit name="blocks-per-second" min="4" max="61200" />
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="performance-point-1280x720" range="200" />
|
||||
<Limit name="performance-point-1920x1080" value="180" />
|
||||
|
@ -66,6 +68,7 @@
|
|||
<Feature name="vq-minimum-quality"/>
|
||||
<Feature name="encoding-statistics"/>
|
||||
<Feature name="hdr-editing" />
|
||||
<Feature name="hlg-editing" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
||||
|
|
|
@ -275,6 +275,9 @@
|
|||
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||
<bool name="config_zramWriteback">true</bool>
|
||||
|
||||
<!-- the number of the max cached processes in the system. -->
|
||||
<integer name="config_customizedMaxCachedProcesses">1024</integer>
|
||||
|
||||
<!-- Enable variable refresh rate when typing. -->
|
||||
<bool name="config_variableRefreshRateTypingSupported">false</bool>
|
||||
|
||||
|
@ -481,10 +484,44 @@
|
|||
<!-- Telephony satellite gateway service package name to bind to by default. -->
|
||||
<string name="config_satellite_gateway_service_package">com.google.android.apps.stargate</string>
|
||||
|
||||
<!-- The class name to receive the intent for provisioning. -->
|
||||
<string name="config_satellite_carrier_roaming_esos_provisioned_class">com.google.android.apps.stargate.registration.RegistrationReceiver_Receiver</string>
|
||||
|
||||
<!-- List of country codes where oem-enabled satellite services are either allowed or disallowed
|
||||
by the device. Each country code is a lowercase 2 character ISO-3166-1 alpha-2. -->
|
||||
<string-array name="config_oem_enabled_satellite_country_codes">
|
||||
<item>US</item>
|
||||
<item>PR</item>
|
||||
<item>CA</item>
|
||||
<item>AT</item>
|
||||
<item>BE</item>
|
||||
<item>BG</item>
|
||||
<item>HR</item>
|
||||
<item>CY</item>
|
||||
<item>CZ</item>
|
||||
<item>DK</item>
|
||||
<item>EE</item>
|
||||
<item>FI</item>
|
||||
<item>FR</item>
|
||||
<item>DE</item>
|
||||
<item>GR</item>
|
||||
<item>HU</item>
|
||||
<item>IE</item>
|
||||
<item>IT</item>
|
||||
<item>LV</item>
|
||||
<item>LT</item>
|
||||
<item>LU</item>
|
||||
<item>NL</item>
|
||||
<item>NO</item>
|
||||
<item>PL</item>
|
||||
<item>PT</item>
|
||||
<item>RO</item>
|
||||
<item>SK</item>
|
||||
<item>SI</item>
|
||||
<item>ES</item>
|
||||
<item>SE</item>
|
||||
<item>CH</item>
|
||||
<item>GB</item>
|
||||
</string-array>
|
||||
|
||||
<!-- The file storing S2-cell-based satellite access restriction of the countries defined by
|
||||
|
@ -523,10 +560,30 @@
|
|||
<!-- The intent action to handle oem-enabled satellite demo mode SOS messaging. -->
|
||||
<string name="config_satellite_demo_mode_sos_intent_action">com.google.android.apps.stargate.ACTION_ESOS_DEMO</string>
|
||||
|
||||
<!-- User activity timeout: Maximum screen dim duration in milliseconds. -->
|
||||
<integer name="config_maximumScreenDimDuration">20000</integer>
|
||||
<!-- The receiver class of the intent action to start satellite non-emergency mode -->
|
||||
<string name="config_satellite_carrier_roaming_non_emergency_session_class">com.google.android.apps.stargate.sessionmanager.SessionManagerReceiver_Receiver</string>
|
||||
|
||||
<!-- User activity timeout: Maximum screen dim duration as a percentage of screen off timeout.
|
||||
<!-- Whether to show the system notification to users whenever there is a change
|
||||
in the satellite availability state at the current location. -->
|
||||
<bool name="config_satellite_should_notify_availability">false</bool>
|
||||
|
||||
<!-- The absolute path to the satellite config file. -->
|
||||
<string name="satellite_access_config_file">/vendor/etc/telephony/satellite_access_config.json</string>
|
||||
|
||||
<!-- Whether to allow check message datagrams to be sent even when the satellite modem is in
|
||||
not connected state. -->
|
||||
<bool name="config_satellite_allow_check_message_in_not_connected">true</bool>
|
||||
|
||||
<!-- Whether to allow TN scanning during satellite session. -->
|
||||
<bool name="config_satellite_allow_tn_scanning_during_satellite_session">false</bool>
|
||||
|
||||
<!-- A string defines the NIDD (Non-IP Data Delivery) APN to be used for satellite attachment. For more on NIDD,
|
||||
see 3GPP TS 29.542. This config is used for an NTN-only subscription, which requires activation before being used.
|
||||
-->
|
||||
<fraction name="config_maximumScreenDimRatio">33%</fraction>
|
||||
<string name="config_satellite_nidd_apn_name">pixel.ntn</string>
|
||||
|
||||
<!-- List of integer tag Ids representing VZW satellite coverage. -->
|
||||
<integer-array name="config_verizon_satellite_enabled_tagids">
|
||||
<item>1001</item>
|
||||
</integer-array>
|
||||
</resources>
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
|
||||
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
|
||||
</resources>
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
|
||||
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
|
||||
</resources>
|
|
@ -31,4 +31,7 @@
|
|||
|
||||
<!-- String indicating the package name of the device GbaService implementation. -->
|
||||
<string name="config_gba_package" translatable="false">com.shannon.rcsservice</string>
|
||||
|
||||
<!-- Whether to turn off non-emergency nb iot ntn satellite for emergency call -->
|
||||
<bool name="config_turn_off_non_emergency_nb_iot_ntn_satellite_for_emergency_call">false</bool>
|
||||
</resources>
|
||||
|
|
|
@ -265,6 +265,202 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AdpfSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/adpf_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AdpfClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/adpf_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "BoostPrioSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/boost_prio_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "BoostPrioClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/boost_prio_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreemptWakeupSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/preempt_wakeup_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreemptWakeupClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/preempt_wakeup_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferFitSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_fit_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferFitClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_fit_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferIdleSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_idle_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferIdleClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_idle_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AutoUclampMaxSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/auto_uclamp_max_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AutoUclampMaxClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/auto_uclamp_max_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferHighCapSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_high_cap_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferHighCapClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_high_cap_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "ResetUclampGrp",
|
||||
"Actions": [
|
||||
|
@ -304,9 +500,33 @@
|
|||
"Name": "OtaProfiles",
|
||||
"Profiles": [ "OtaPerformance", "ServiceCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_EXTREME_SET",
|
||||
"Profiles": [ "AdpfSet", "PreferIdleSet", "PreferFitSet", "BoostPrioSet", "PreemptWakeupSet" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_EXTREME_CLEAR",
|
||||
"Profiles": [ "AdpfClear", "PreferIdleClear", "PreferFitClear", "BoostPrioClear", "PreemptWakeupClear" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_STANDARD_SET",
|
||||
"Profiles": [ "AdpfSet", "PreferIdleSet", "PreferFitSet" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_STANDARD_CLEAR",
|
||||
"Profiles": [ "AdpfClear", "PreferIdleClear", "PreferFitClear" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_POWER_EFFICIENCY_SET",
|
||||
"Profiles": [ "AutoUclampMaxSet" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_POWER_EFFICIENCY_CLEAR",
|
||||
"Profiles": [ "AutoUclampMaxClear" ]
|
||||
},
|
||||
{
|
||||
"Name": "InputPolicy",
|
||||
"Profiles": [ "ResetUclampGrp" ]
|
||||
"Profiles": [ "MaxPerformance", "SCHED_QOS_SENSITIVE_EXTREME_SET" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
195
telephony/satellite_access_config.json
Normal file
195
telephony/satellite_access_config.json
Normal file
|
@ -0,0 +1,195 @@
|
|||
{
|
||||
"access_control_configs": [
|
||||
{
|
||||
"config_id": 0,
|
||||
"satellite_infos": [
|
||||
{
|
||||
"satellite_id": "967f8e86-fc27-4673-9343-a820280a14dd",
|
||||
"satellite_position": {
|
||||
"longitude": 10.25,
|
||||
"altitude": 35793.1
|
||||
},
|
||||
"bands": [
|
||||
256
|
||||
],
|
||||
"earfcn_ranges": [
|
||||
{
|
||||
"start_earfcn": 229360,
|
||||
"end_earfcn": 229360
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229362,
|
||||
"end_earfcn": 229362
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229364,
|
||||
"end_earfcn": 229364
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229366,
|
||||
"end_earfcn": 229366
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tag_ids": [
|
||||
101
|
||||
]
|
||||
},
|
||||
{
|
||||
"config_id": 1,
|
||||
"satellite_infos": [
|
||||
{
|
||||
"satellite_id": "c9d78ffa-ffa5-4d41-a81b-34693b33b496",
|
||||
"satellite_position": {
|
||||
"longitude": -101.3,
|
||||
"altitude": 35786.0
|
||||
},
|
||||
"bands": [
|
||||
255
|
||||
],
|
||||
"earfcn_ranges": [
|
||||
{
|
||||
"start_earfcn": 229011,
|
||||
"end_earfcn": 229011
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229013,
|
||||
"end_earfcn": 229013
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229015,
|
||||
"end_earfcn": 229015
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229017,
|
||||
"end_earfcn": 229017
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tag_ids": [
|
||||
11,
|
||||
1001
|
||||
]
|
||||
},
|
||||
{
|
||||
"config_id": 2,
|
||||
"satellite_infos": [
|
||||
{
|
||||
"satellite_id": "62de127d-ead1-481f-8524-b58e2664103a",
|
||||
"satellite_position": {
|
||||
"longitude": -98.0,
|
||||
"altitude": 35775.1
|
||||
},
|
||||
"bands": [
|
||||
255
|
||||
],
|
||||
"earfcn_ranges": [
|
||||
{
|
||||
"start_earfcn": 228837,
|
||||
"end_earfcn": 228837
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tag_ids": [
|
||||
11,
|
||||
1001
|
||||
]
|
||||
},
|
||||
{
|
||||
"config_id": 3,
|
||||
"satellite_infos": [
|
||||
{
|
||||
"satellite_id": "62de127d-ead1-481f-8524-b58e2664103a",
|
||||
"satellite_position": {
|
||||
"longitude": -98.0,
|
||||
"altitude": 35775.1
|
||||
},
|
||||
"bands": [
|
||||
255
|
||||
],
|
||||
"earfcn_ranges": [
|
||||
{
|
||||
"start_earfcn": 228909,
|
||||
"end_earfcn": 228909
|
||||
},
|
||||
{
|
||||
"start_earfcn": 228919,
|
||||
"end_earfcn": 228919
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tag_ids": [
|
||||
11
|
||||
]
|
||||
},
|
||||
{
|
||||
"config_id": 4,
|
||||
"satellite_infos": [
|
||||
{
|
||||
"satellite_id": "c9d78ffa-ffa5-4d41-a81b-34693b33b496",
|
||||
"satellite_position": {
|
||||
"longitude": -101.3,
|
||||
"altitude": 35786.0
|
||||
},
|
||||
"bands": [
|
||||
255
|
||||
],
|
||||
"earfcn_ranges": [
|
||||
{
|
||||
"start_earfcn": 229011,
|
||||
"end_earfcn": 229011
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229013,
|
||||
"end_earfcn": 229013
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229015,
|
||||
"end_earfcn": 229015
|
||||
},
|
||||
{
|
||||
"start_earfcn": 229017,
|
||||
"end_earfcn": 229017
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tag_ids": [
|
||||
12
|
||||
]
|
||||
},
|
||||
{
|
||||
"config_id": 5,
|
||||
"satellite_infos": [
|
||||
{
|
||||
"satellite_id": "62de127d-ead1-481f-8524-b58e2664103a",
|
||||
"satellite_position": {
|
||||
"longitude": -98.0,
|
||||
"altitude": 35775.1
|
||||
},
|
||||
"bands": [
|
||||
255
|
||||
],
|
||||
"earfcn_ranges": [
|
||||
{
|
||||
"start_earfcn": 228919,
|
||||
"end_earfcn": 228919
|
||||
},
|
||||
{
|
||||
"start_earfcn": 228909,
|
||||
"end_earfcn": 228909
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tag_ids": [
|
||||
11,
|
||||
1001
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
|
@ -117,6 +117,12 @@ constexpr char kHost1StatePath[] = "/sys/bus/usb/devices/usb1/1-0:1.0/usb1-port1
|
|||
constexpr char kHost2UeventRegex[] =
|
||||
"/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.[0-9].auto/usb2/2-0:1.0";
|
||||
constexpr char kHost2StatePath[] = "/sys/bus/usb/devices/usb2/2-0:1.0/usb2-port1/state";
|
||||
constexpr char kHubHost1UeventRegex[] =
|
||||
"/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.[0-9].auto/usb1/1-1/1-1:1.0";
|
||||
constexpr char kHubHost1StatePath[] = "/sys/bus/usb/devices/usb1/1-1/1-1:1.0/1-1-port1/state";
|
||||
constexpr char kHubHost2UeventRegex[] =
|
||||
"/devices/platform/11210000.usb/11210000.dwc3/xhci-hcd-exynos.[0-9].auto/usb1/1-1/1-1:1.0";
|
||||
constexpr char kHubHost2StatePath[] = "/sys/bus/usb/devices/usb1/1-1/1-1:1.0/1-1-port2/state";
|
||||
constexpr char kDataRolePath[] = "/sys/devices/platform/11210000.usb/new_data_role";
|
||||
constexpr int kSamplingIntervalSec = 5;
|
||||
void queryVersionHelper(android::hardware::usb::Usb *usb,
|
||||
|
@ -536,10 +542,9 @@ static int getInternalHubUniqueId() {
|
|||
return internalHubUniqueId;
|
||||
}
|
||||
|
||||
static Status tuneInternalHub(const char *devname, void* client_data) {
|
||||
static Status tuneInternalHub(const char *devname, android::hardware::usb::Usb *usb) {
|
||||
uint16_t vendorId, productId;
|
||||
struct usb_device *device;
|
||||
::aidl::android::hardware::usb::Usb *usb;
|
||||
int value, index;
|
||||
|
||||
device = usb_device_open(devname);
|
||||
|
@ -548,7 +553,6 @@ static Status tuneInternalHub(const char *devname, void* client_data) {
|
|||
return Status::ERROR;
|
||||
}
|
||||
|
||||
usb = (::aidl::android::hardware::usb::Usb *)client_data;
|
||||
value = usb->mUsbHubVendorCmdValue;
|
||||
index = usb->mUsbHubVendorCmdIndex;
|
||||
|
||||
|
@ -571,20 +575,46 @@ static Status tuneInternalHub(const char *devname, void* client_data) {
|
|||
}
|
||||
|
||||
static int usbDeviceRemoved(const char *devname, void* client_data) {
|
||||
string pogoEnableHub;
|
||||
::aidl::android::hardware::usb::Usb *usb;
|
||||
|
||||
usb = (::aidl::android::hardware::usb::Usb *)client_data;
|
||||
|
||||
if (usb->mIntHubEnabled == true && ReadFileToString(kPogoEnableHub, &pogoEnableHub)
|
||||
&& Trim(pogoEnableHub) == "0") {
|
||||
ALOGI("Internal hub disabled");
|
||||
usb->mIntHubEnabled = false;
|
||||
usb->mUsbDataSessionMonitor.reset(new UsbDataSessionMonitor(kUdcUeventRegex, kUdcStatePath,
|
||||
kHost1UeventRegex, kHost1StatePath, kHost2UeventRegex,
|
||||
kHost2StatePath, kDataRolePath,
|
||||
std::bind(&updatePortStatus, usb)));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int usbDeviceAdded(const char *devname, void* client_data) {
|
||||
string pogoEnableHub;
|
||||
int uniqueId = 0;
|
||||
::aidl::android::hardware::usb::Usb *usb;
|
||||
|
||||
usb = (::aidl::android::hardware::usb::Usb *)client_data;
|
||||
|
||||
// Enable hub tuning when the pogo dock is connected.
|
||||
if (ReadFileToString(kPogoEnableHub, &pogoEnableHub) && Trim(pogoEnableHub) == "1") {
|
||||
// If enable_hub is set to 1, the internal hub is the first enumearted device on bus 1 and
|
||||
// port 1.
|
||||
uniqueId = usb_device_get_unique_id_from_name(devname);
|
||||
if (uniqueId == getInternalHubUniqueId())
|
||||
tuneInternalHub(devname, client_data);
|
||||
if (uniqueId == getInternalHubUniqueId()) {
|
||||
ALOGI("Internal hub enabled");
|
||||
usb->mIntHubEnabled = true;
|
||||
tuneInternalHub(devname, usb);
|
||||
usb->mUsbDataSessionMonitor.reset(new UsbDataSessionMonitor(kUdcUeventRegex,
|
||||
kUdcStatePath, kHubHost1UeventRegex,
|
||||
kHubHost1StatePath, kHubHost2UeventRegex,
|
||||
kHubHost2StatePath, kDataRolePath,
|
||||
std::bind(&updatePortStatus, usb)));
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -612,9 +642,9 @@ Usb::Usb()
|
|||
mRoleSwitchLock(PTHREAD_MUTEX_INITIALIZER),
|
||||
mPartnerLock(PTHREAD_MUTEX_INITIALIZER),
|
||||
mPartnerUp(false),
|
||||
mUsbDataSessionMonitor(kUdcUeventRegex, kUdcStatePath, kHost1UeventRegex, kHost1StatePath,
|
||||
kHost2UeventRegex, kHost2StatePath, kDataRolePath,
|
||||
std::bind(&updatePortStatus, this)),
|
||||
mUsbDataSessionMonitor(new UsbDataSessionMonitor(kUdcUeventRegex, kUdcStatePath,
|
||||
kHost1UeventRegex, kHost1StatePath, kHost2UeventRegex,
|
||||
kHost2StatePath, kDataRolePath, std::bind(&updatePortStatus, this))),
|
||||
mOverheat(ZoneInfo(TemperatureType::USB_PORT, kThermalZoneForTrip,
|
||||
ThrottlingSeverity::CRITICAL),
|
||||
{ZoneInfo(TemperatureType::UNKNOWN, kThermalZoneForTempReadPrimary,
|
||||
|
@ -1200,7 +1230,7 @@ void queryUsbDataSession(android::hardware::usb::Usb *usb,
|
|||
std::vector<PortStatus> *currentPortStatus) {
|
||||
std::vector<ComplianceWarning> warnings;
|
||||
|
||||
usb->mUsbDataSessionMonitor.getComplianceWarnings(
|
||||
usb->mUsbDataSessionMonitor->getComplianceWarnings(
|
||||
(*currentPortStatus)[0].currentDataRole, &warnings);
|
||||
(*currentPortStatus)[0].complianceWarnings.insert(
|
||||
(*currentPortStatus)[0].complianceWarnings.end(),
|
||||
|
@ -1215,9 +1245,11 @@ void queryVersionHelper(android::hardware::usb::Usb *usb,
|
|||
|
||||
pthread_mutex_lock(&usb->mLock);
|
||||
status = getPortStatusHelper(usb, currentPortStatus);
|
||||
if (status == Status::SUCCESS && currentPortStatus->size() > 0) {
|
||||
queryMoistureDetectionStatus(usb, currentPortStatus);
|
||||
queryPowerTransferStatus(usb, currentPortStatus);
|
||||
queryNonCompliantChargerStatus(currentPortStatus);
|
||||
queryUsbDataSession(usb, currentPortStatus);
|
||||
pthread_mutex_lock(&usb->mDisplayPortLock);
|
||||
if (!usb->mDisplayPortFirstSetupDone &&
|
||||
usb->getDisplayPortUsbPathHelper(&displayPortUsbPath) == Status::SUCCESS) {
|
||||
|
@ -1235,6 +1267,9 @@ void queryVersionHelper(android::hardware::usb::Usb *usb,
|
|||
} else {
|
||||
ALOGI("Notifying userspace skipped. Callback is NULL");
|
||||
}
|
||||
} else {
|
||||
ALOGI("%s skipped. currentPortStatus is empty", __func__);
|
||||
}
|
||||
pthread_mutex_unlock(&usb->mLock);
|
||||
}
|
||||
|
||||
|
|
|
@ -126,7 +126,8 @@ struct Usb : public BnUsb {
|
|||
bool mPartnerUp;
|
||||
|
||||
// Report usb data session event and data incompliance warnings
|
||||
UsbDataSessionMonitor mUsbDataSessionMonitor;
|
||||
std::unique_ptr<UsbDataSessionMonitor> mUsbDataSessionMonitor;
|
||||
bool mIntHubEnabled;
|
||||
// Usb Overheat object for push suez event
|
||||
UsbOverheatEvent mOverheat;
|
||||
// Temperature when connected
|
||||
|
|
|
@ -102,6 +102,7 @@ UsbDataSessionMonitor::UsbDataSessionMonitor(
|
|||
const std::string &dataRolePath, std::function<void()> updatePortStatusCb) {
|
||||
struct epoll_event ev;
|
||||
std::string udc;
|
||||
int pipefds[2];
|
||||
|
||||
unique_fd epollFd(epoll_create(8));
|
||||
if (epollFd.get() == -1) {
|
||||
|
@ -133,19 +134,28 @@ UsbDataSessionMonitor::UsbDataSessionMonitor(
|
|||
abort();
|
||||
}
|
||||
|
||||
pipe(pipefds);
|
||||
mPipefd0.reset(pipefds[0]);
|
||||
mPipefd1.reset(pipefds[1]);
|
||||
if (addEpollFd(epollFd, mPipefd0))
|
||||
abort();
|
||||
|
||||
/*
|
||||
* The device state file could be absent depending on the current data role
|
||||
* and driver architecture. It's ok for addEpollFile to fail here, the file
|
||||
* will be monitored later when its presence is detected by uevent.
|
||||
*/
|
||||
mDeviceState.name = "udc";
|
||||
mDeviceState.filePath = deviceStatePath;
|
||||
mDeviceState.ueventRegex = deviceUeventRegex;
|
||||
addEpollFile(epollFd.get(), mDeviceState.filePath, mDeviceState.fd);
|
||||
|
||||
mHost1State.name = "host1";
|
||||
mHost1State.filePath = host1StatePath;
|
||||
mHost1State.ueventRegex = host1UeventRegex;
|
||||
addEpollFile(epollFd.get(), mHost1State.filePath, mHost1State.fd);
|
||||
|
||||
mHost2State.name = "host2";
|
||||
mHost2State.filePath = host2StatePath;
|
||||
mHost2State.ueventRegex = host2UeventRegex;
|
||||
addEpollFile(epollFd.get(), mHost2State.filePath, mHost2State.fd);
|
||||
|
@ -169,7 +179,15 @@ UsbDataSessionMonitor::UsbDataSessionMonitor(
|
|||
usb_flags::enable_report_usb_data_compliance_warning());
|
||||
}
|
||||
|
||||
UsbDataSessionMonitor::~UsbDataSessionMonitor() {}
|
||||
UsbDataSessionMonitor::~UsbDataSessionMonitor() {
|
||||
/*
|
||||
* Write a character to the pipe to signal the monitor thread to exit.
|
||||
* The character is not important, it can be any value.
|
||||
*/
|
||||
int c = 'q';
|
||||
write(mPipefd1, &c, 1);
|
||||
pthread_join(mMonitor, NULL);
|
||||
}
|
||||
|
||||
void UsbDataSessionMonitor::reportUsbDataSessionMetrics() {
|
||||
std::vector<VendorUsbDataSessionEvent> events;
|
||||
|
@ -307,11 +325,11 @@ void UsbDataSessionMonitor::handleDeviceStateEvent(struct usbDeviceState *device
|
|||
n = read(deviceState->fd.get(), &state, USB_STATE_MAX_LEN);
|
||||
|
||||
if (kValidStates.find(state) == kValidStates.end()) {
|
||||
ALOGE("Invalid state %s", state);
|
||||
ALOGE("Invalid state %s: %s", deviceState->name.c_str(), state);
|
||||
return;
|
||||
}
|
||||
|
||||
ALOGI("Update USB device state: %s", state);
|
||||
ALOGI("Update device state %s: %s", deviceState->name.c_str(), state);
|
||||
|
||||
deviceState->states.push_back(state);
|
||||
deviceState->timestamps.push_back(boot_clock::now());
|
||||
|
@ -484,7 +502,9 @@ void *UsbDataSessionMonitor::monitorThread(void *param) {
|
|||
}
|
||||
|
||||
for (int n = 0; n < nevents; ++n) {
|
||||
if (events[n].data.fd == monitor->mUeventFd.get()) {
|
||||
if (events[n].data.fd == monitor->mPipefd0.get()) {
|
||||
return NULL;
|
||||
} else if (events[n].data.fd == monitor->mUeventFd.get()) {
|
||||
monitor->handleUevent();
|
||||
} else if (events[n].data.fd == monitor->mTimerFd.get()) {
|
||||
monitor->handleTimerEvent();
|
||||
|
|
|
@ -64,6 +64,8 @@ class UsbDataSessionMonitor {
|
|||
|
||||
private:
|
||||
struct usbDeviceState {
|
||||
// The name of the usb device, e.g. udc, host1, host2.
|
||||
std::string name;
|
||||
unique_fd fd;
|
||||
std::string filePath;
|
||||
std::string ueventRegex;
|
||||
|
@ -86,6 +88,8 @@ class UsbDataSessionMonitor {
|
|||
void updateUdcBindStatus(const std::string &devname);
|
||||
|
||||
pthread_t mMonitor;
|
||||
unique_fd mPipefd0;
|
||||
unique_fd mPipefd1;
|
||||
unique_fd mEpollFd;
|
||||
unique_fd mUeventFd;
|
||||
unique_fd mTimerFd;
|
||||
|
|
|
@ -26,7 +26,6 @@ on post-fs
|
|||
chown root system /sys/devices/platform/11110000.usb/dwc3_exynos_otg_b_sess
|
||||
chown root system /sys/devices/platform/11110000.usb/dwc3_exynos_otg_id
|
||||
chown root system /sys/devices/platform/11110000.usb/usb_data_enabled
|
||||
chown root system /sys/devices/platform/google,pogo/enable_usb
|
||||
chmod 664 /sys/class/typec/port0/power_role
|
||||
chmod 664 /sys/class/typec/port0/data_role
|
||||
chmod 664 /sys/class/typec/port0/port_type
|
||||
|
@ -48,4 +47,3 @@ on post-fs
|
|||
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/pin_assignment
|
||||
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/link_status
|
||||
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/usbc_cable_disconnect
|
||||
chmod 664 /sys/devices/platform/google,pogo/enable_usb
|
||||
|
|
|
@ -26,7 +26,6 @@ on post-fs
|
|||
chown root system /sys/devices/platform/11110000.usb/dwc3_exynos_otg_b_sess
|
||||
chown root system /sys/devices/platform/11110000.usb/dwc3_exynos_otg_id
|
||||
chown root system /sys/devices/platform/11110000.usb/usb_data_enabled
|
||||
chown root system /sys/devices/platform/google,pogo/enable_usb
|
||||
chmod 664 /sys/class/typec/port0/power_role
|
||||
chmod 664 /sys/class/typec/port0/data_role
|
||||
chmod 664 /sys/class/typec/port0/port_type
|
||||
|
@ -48,4 +47,3 @@ on post-fs
|
|||
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/pin_assignment
|
||||
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/link_status
|
||||
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/usbc_cable_disconnect
|
||||
chmod 664 /sys/devices/platform/google,pogo/enable_usb
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue