summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-02 23:45:19 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-02 23:45:19 +0000
commita3bafc92f7824ec27f508ed2a56a48acc9b13cda (patch)
tree5815511fd3420fa1cb0bdfd3fc6b6c6dc558719d
parent9edf3868ee44716a9f888abd6b40dc69f783e0c8 (diff)
parent7bdd0af481bf63fdb215065e385e3fa0c0941e48 (diff)
downloadgs201-simpleperf-release.tar.gz
Snap for 11400057 from 7bdd0af481bf63fdb215065e385e3fa0c0941e48 to simpleperf-releasesimpleperf-release
Change-Id: Ib84207a55508f34a66fb64f98a47e60b4ff30e85
-rw-r--r--BoardConfig-common.mk18
-rw-r--r--conf/fstab.gs201.in12
-rw-r--r--conf/fstab.modem3
-rw-r--r--conf/init.debug.rc3
-rw-r--r--conf/init.gs201.rc34
-rw-r--r--conf/init.gs201.usb.rc87
-rw-r--r--conf/ueventd.gs201.rc6
-rw-r--r--default-permissions.xml3
-rw-r--r--device-common.mk7
-rw-r--r--device.mk35
-rw-r--r--device_framework_matrix_product.xml4
-rw-r--r--health/android.hardware.health-service.gs201.xml2
-rw-r--r--manifest-gralloc3.xml10
-rw-r--r--manifest.xml10
-rw-r--r--media_codecs_performance_c2.xml7
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml3
-rw-r--r--pixelstats/pixelstats-vendor.gs201.rc3
-rw-r--r--pixelstats/service.cpp2
-rw-r--r--radio/config/Pixel_stability.nprfbin8849 -> 9410 bytes
-rwxr-xr-xstorage/ufs_firmware_update.sh12
-rw-r--r--usb/gadget/UsbGadget.cpp65
-rw-r--r--usb/gadget/UsbGadget.h4
-rw-r--r--usb/usb/Usb.cpp2
-rw-r--r--usb/usb/android.hardware.usb-service.rc20
-rw-r--r--wifi/qcom/BoardConfig-wifi.mk5
-rw-r--r--wifi/qcom/p2p_supplicant_overlay.conf1
26 files changed, 255 insertions, 103 deletions
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 92dab88..723b6b6 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -352,16 +352,6 @@ BOARD_VNDK_VERSION := current
# H/W align restriction of MM IPs
BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
-# NeuralNetworks
-GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall)
-GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/zebu/prebuilts/libs)
-ifneq (,$(strip $(GPU_SOURCE_PRESENT) $(GPU_PREBUILD_PRESENT)))
-ARMNN_COMPUTE_CL_ENABLE := 1
-else
-ARMNN_COMPUTE_CL_ENABLE := 0
-endif
-ARMNN_COMPUTE_NEON_ENABLE := 1
-
# Boot.img
BOARD_RAMDISK_USE_LZ4 := true
#BOARD_KERNEL_BASE := 0x80000000
@@ -411,7 +401,15 @@ BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/ven
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
$(error vendor_dlkm.modules.load not found or empty)
endif
+
+# staging kernels might have modules split between system/vendor_dlkm. If
+# the target defined modules on the system_dlkm image, honor the split.
+# Otherwise, assume all modules are stored on the vendor_dlkm image.
+ifneq ($(BOARD_SYSTEM_KERNEL_MODULES),)
+BOARD_VENDOR_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_MODULES_LOAD)))
+else
BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
+endif
# Using BUILD_COPY_HEADERS
BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
diff --git a/conf/fstab.gs201.in b/conf/fstab.gs201.in
index 89e8a1b..3a34987 100644
--- a/conf/fstab.gs201.in
+++ b/conf/fstab.gs201.in
@@ -4,12 +4,12 @@
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
-system /system ext4 ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
-system_dlkm /system_dlkm ext4 ro wait,slotselect,avb=vbmeta_system,avb_keys=no_such_key,logical,first_stage_mount,readahead_size_kb=128
-system_ext /system_ext ext4 ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
-product /product ext4 ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
-vendor /vendor ext4 ro wait,slotselect,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128
-vendor_dlkm /vendor_dlkm ext4 ro wait,slotselect,avb=vbmeta,avb_keys=no_such_key,logical,first_stage_mount
+system /system ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
+system_dlkm /system_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta_system,avb_keys=no_such_key,logical,first_stage_mount,readahead_size_kb=128
+system_ext /system_ext ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
+product /product ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
+vendor /vendor ext4 noatime,ro wait,slotselect,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128
+vendor_dlkm /vendor_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta,avb_keys=no_such_key,logical,first_stage_mount
/dev/block/platform/14700000.ufs/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount
/dev/block/platform/14700000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount
/dev/block/platform/14700000.ufs/by-name/misc /misc emmc defaults wait
diff --git a/conf/fstab.modem b/conf/fstab.modem
index 7393362..760c916 100644
--- a/conf/fstab.modem
+++ b/conf/fstab.modem
@@ -4,5 +4,4 @@
/dev/block/platform/14700000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable
/dev/block/platform/14700000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable
/dev/block/platform/14700000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable
-/dev/block/platform/14700000.ufs/by-name/modem /mnt/vendor/modem_img erofs ro,defaults,context=u:object_r:modem_img_file:s0 wait,slotselect
-/dev/block/platform/14700000.ufs/by-name/modem /mnt/vendor/modem_img ext4 ro,defaults,context=u:object_r:modem_img_file:s0,barrier=1 wait,slotselect
+/dev/block/platform/14700000.ufs/by-name/modem /mnt/vendor/modem_img ext4 noatime,ro,context=u:object_r:modem_img_file:s0 wait,slotselect
diff --git a/conf/init.debug.rc b/conf/init.debug.rc
index d609d7e..d4de2c8 100644
--- a/conf/init.debug.rc
+++ b/conf/init.debug.rc
@@ -1,6 +1,3 @@
-on early-init
- mount debugfs /sys/kernel/debug /sys/kernel/debug
-
# SJTAG
on init
chown system system /sys/devices/platform/sjtag_ap/interface/access_lvl
diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc
index ea2d57b..847c261 100644
--- a/conf/init.gs201.rc
+++ b/conf/init.gs201.rc
@@ -16,6 +16,8 @@ on init
# Set teo as cpu idle governor
write /sys/devices/system/cpu/cpuidle/current_governor teo
+ # Disable util-awareness
+ write /proc/vendor_sched/teo_util_threshold "1024 1024 1024"
# Boot time fs tuning
write /sys/block/sda/queue/iostats 0
@@ -163,11 +165,11 @@ on init
mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
# Boot time 183626384
- write /proc/vendor_sched/ta_uclamp_min 1024
+ write /proc/vendor_sched/ta_uclamp_min 159
write /proc/vendor_sched/ta_prefer_idle 1
- write /proc/vendor_sched/fg_uclamp_min 1024
+ write /proc/vendor_sched/fg_uclamp_min 159
write /proc/vendor_sched/fg_prefer_idle 1
- write /proc/vendor_sched/sys_uclamp_min 1024
+ write /proc/vendor_sched/sys_uclamp_min 159
write /proc/vendor_sched/sys_prefer_idle 1
# governor setting
@@ -701,7 +703,7 @@ on property:sys.boot_completed=1
# Enable ZRAM on boot_complete
swapon_all /vendor/etc/fstab.${ro.board.platform}
- write /proc/sys/vm/swappiness 100
+ write /proc/sys/vm/swappiness 60
# Adjust watermark level
write /proc/sys/vm/watermark_scale_factor 200
@@ -944,6 +946,7 @@ on property:vendor.brownout.mitigation.ready=1
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_cpu2_lvl 12000
write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x1
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x1
+ write /sys/devices/virtual/pmic/mitigation/clock_div/cpu1_clk_div 0x381
write /sys/devices/virtual/pmic/mitigation/clock_div/cpu2_clk_div 0x1
on property:vendor.thermal.link_ready=1
@@ -1021,6 +1024,29 @@ on charger
mkdir /dev/thermal/cdev-by-name 0750 system system
start vendor.thermal.symlinks
+ # Runtime fs tuning
+ write /sys/block/sda/queue/nr_requests 128
+ write /sys/block/sda/queue/iostats 1
+ write /sys/block/sda/queue/iosched/slice_idle 0
+ write /dev/sys/fs/by-name/userdata/data_io_flag 8
+ write /dev/sys/fs/by-name/userdata/node_io_flag 8
+
+ # Enable UFS powersaving
+ write /dev/sys/block/bootdevice/clkgate_enable 1
+
+ # Cancel boot devfreq and uclamp
+ write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
+ write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
+ write /proc/vendor_sched/ta_uclamp_min 0
+ write /proc/vendor_sched/ta_prefer_idle 0
+ write /proc/vendor_sched/fg_uclamp_min 0
+ write /proc/vendor_sched/fg_prefer_idle 0
+ write /proc/vendor_sched/sys_uclamp_min 0
+ write /proc/vendor_sched/sys_prefer_idle 0
+
+ # Enable SICD
+ write /sys/devices/system/cpu/cpupm/cpupm/sicd 1
+
on property:vendor.disable.bcl.control=1
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0
diff --git a/conf/init.gs201.usb.rc b/conf/init.gs201.usb.rc
index 78356df..6a52fb0 100644
--- a/conf/init.gs201.usb.rc
+++ b/conf/init.gs201.usb.rc
@@ -81,8 +81,28 @@ on early-boot
mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
- # advertise 720p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
+ # advertise 360p resolution for webcam encoded as mjpeg
+ mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight 360
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth 640
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize 460800
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval 333333
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval "166666
+333333
+416666
+666666"
+ # advertise 480p resolution for webcam encoded as mjpeg
+ mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight 480
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth 640
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize 614400
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval 333333
+ write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval "166666
+333333
+416666
+666666"
+ # advertise 720p resolution for webcam encoded as mjpeg
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight 720
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth 1280
@@ -109,6 +129,48 @@ on early-boot
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
+ # remove write permissions for 'others'
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/function_name
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_interval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
+ chmod 664 /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
# chown file/folder permission
@@ -175,7 +237,7 @@ on early-boot
chown system system /config/usb_gadget/g1/functions/rndis.gs4/protocol
chown system system /config/usb_gadget/g1/functions/rndis.gs4/qmult
chown system system /config/usb_gadget/g1/functions/rndis.gs4/subclass
- chown system system /config/usb_gadget/g1/functions/uvc.0
+ chown system system /config/usb_gadget/g1/functions/uvc.0/
chown system system /config/usb_gadget/g1/functions/uvc.0/control
chown system system /config/usb_gadget/g1/functions/uvc.0/control/bInterfaceNumber
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class
@@ -250,6 +312,26 @@ on early-boot
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bFrameIndex
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/bmCapabilities
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwDefaultFrameInterval
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bFrameIndex
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/bmCapabilities
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwDefaultFrameInterval
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight
+ chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
@@ -325,6 +407,7 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
+ write /sys/class/typec/port0/device/update_sdp_enum_timeout 0x1
setprop sys.usb.state ${sys.usb.config}
on property:ro.bootmode=usbuwb
diff --git a/conf/ueventd.gs201.rc b/conf/ueventd.gs201.rc
index 03308f7..44ec74c 100644
--- a/conf/ueventd.gs201.rc
+++ b/conf/ueventd.gs201.rc
@@ -76,7 +76,7 @@
# jpeg
/dev/m2m1shot_jpeg 0660 media media
-/dev/video12 0660 system system
+/dev/video12 0666 system system
# audio
/dev/seiren 0660 system audio
@@ -151,6 +151,10 @@
/dev/acd-com.google.usf 0660 system system
/dev/acd-com.google.usf.non_wake_up 0660 system system
+# CHRE
+/dev/acd-com.google.chre 0660 system system
+/dev/acd-com.google.chre.non_wake_up 0660 system system
+
# LWIS
/dev/lwis* 0660 system system
diff --git a/default-permissions.xml b/default-permissions.xml
index baee102..a00707e 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -45,6 +45,9 @@
package="com.google.android.apps.camera.services">
<!-- Camera -->
<permission name="android.permission.CAMERA" fixed="false"/>
+ <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+ <permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
+ <permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
</exception>
<exception package="com.google.android.settings.intelligence">
diff --git a/device-common.mk b/device-common.mk
index 56b2e0e..bfd64ab 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -30,9 +30,6 @@ endif
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
-# Factory OTA
--include vendor/unbundled_google/packages/FactoryOtaPrebuilt/factoryota.mk
-
# Set system properties identifying the chipset
PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Google
PRODUCT_VENDOR_PROPERTIES += ro.soc.model=GS201
@@ -51,3 +48,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Set thermal warm reset
PRODUCT_PRODUCT_PROPERTIES += \
ro.thermal_warmreset = true
+
+# Trigger fsck on upgrade (305658663)
+PRODUCT_PRODUCT_PROPERTIES += \
+ ro.preventative_fsck = 1 \ No newline at end of file
diff --git a/device.mk b/device.mk
index 6de71d5..bb54f1c 100644
--- a/device.mk
+++ b/device.mk
@@ -32,6 +32,9 @@ include device/google/gs-common/radio/dump.mk
include device/google/gs-common/umfw_stat/umfw_stat.mk
include device/google/gs-common/gear/dumpstate/aidl.mk
include device/google/gs-common/widevine/widevine.mk
+include device/google/gs-common/sota_app/factoryota.mk
+include device/google/gs-common/misc_writer/misc_writer.mk
+include device/google/gs-common/gyotaku_app/gyotaku.mk
TARGET_BOARD_PLATFORM := gs201
@@ -223,8 +226,6 @@ PRODUCT_SOONG_NAMESPACES += \
$(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM))
-include device/google/gs101/neuralnetwork/neuralnetwork.mk
-
PRODUCT_PACKAGES += \
csffw_image_prebuilt__firmware_prebuilt_todx_mali_csffw.bin \
libGLES_mali \
@@ -372,6 +373,7 @@ PRODUCT_COPY_FILES += \
## Enable the CHRE Daemon
CHRE_USF_DAEMON_ENABLED := true
+CHRE_DEDICATED_TRANSPORT_CHANNEL_ENABLED := true
PRODUCT_PACKAGES += \
chre \
preloaded_nanoapps.json
@@ -549,18 +551,10 @@ else
LOCAL_TARGET_PRODUCT := slider
endif
-$(call soong_config_set,google3a_config,soc,gs201)
-$(call soong_config_set,google3a_config,gcam_awb,true)
-$(call soong_config_set,google3a_config,ghawb_truetone,true)
-
-ifneq ($(wildcard vendor/google/services/LyricCameraHAL/src),)
+# Lyric Camera HAL settings
+include device/google/gs-common/camera/lyric.mk
$(call soong_config_set,lyric,soc,gs201)
-$(call soong_config_set,lyric,use_lyric_camera_hal,true)
-# lyric::tuning_product is set in device-specific makefiles,
-# such as device/google/${DEVICE}/device-${DEVICE}.mk
-
-$(call soong_config_set,gch,hwl_library,lyric)
-endif
+$(call soong_config_set,google3a_config,soc,gs201)
# WiFi
PRODUCT_PACKAGES += \
@@ -640,7 +634,6 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\
- vendor/google/services/LyricCameraHAL/src/vendor.android.hardware.camera.preview-dis.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/vendor.android.hardware.camera.preview-dis.xml\
#PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
@@ -666,7 +659,8 @@ endif
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.disable_backpressure=0 \
debug.sf.enable_gl_backpressure=1 \
- debug.sf.enable_sdr_dimming=1
+ debug.sf.enable_sdr_dimming=1 \
+ debug.sf.dim_in_gamma_in_enhanced_screenshots=1
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations=1
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration=10500000
@@ -990,8 +984,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
#$(call inherit-product-if-exists, vendor/google_devices/common/exynos-vendor.mk)
#$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/device-bcm.mk)
include device/google/gs-common/sensors/sensors.mk
-$(call inherit-product-if-exists, vendor/google/services/LyricCameraHAL/src/build/device-vendor.mk)
-$(call inherit-product-if-exists, vendor/google/camera/devices/whi/device-vendor.mk)
+$(call soong_config_set,usf,target_soc,gs201)
PRODUCT_COPY_FILES += \
device/google/gs201/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
@@ -1122,7 +1115,9 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Suspend properties
PRODUCT_PROPERTY_OVERRIDES += \
- suspend.short_suspend_threshold_millis=2000
+ suspend.short_suspend_threshold_millis=2000 \
+ suspend.max_sleep_time_millis=40000 \
+ suspend.short_suspend_backoff_enabled=true
# Enable Incremental on the device
PRODUCT_PROPERTY_OVERRIDES += \
@@ -1168,6 +1163,10 @@ PRODUCT_COPY_FILES += \
# Call deleteAllKeys if vold detects a factory reset
PRODUCT_VENDOR_PROPERTIES += ro.crypto.metadata_init_delete_all_keys.enabled?=true
+# Increase lmkd aggressiveness
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.lmk.swap_free_low_percentage=100
+
# Hardware Info
include hardware/google/pixel/HardwareInfo/HardwareInfo.mk
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
index d7b2406..951a125 100644
--- a/device_framework_matrix_product.xml
+++ b/device_framework_matrix_product.xml
@@ -42,7 +42,7 @@
</hal>
<hal format="aidl" optional="true">
<name>com.google.face.debug</name>
- <version>2</version>
+ <version>4</version>
<interface>
<name>IDebugHost</name>
<instance>default</instance>
@@ -70,7 +70,7 @@
</hal>
<hal format="aidl" optional="true">
<name>com.google.hardware.pixel.display</name>
- <version>8</version>
+ <version>9</version>
<interface>
<name>IDisplay</name>
<instance>default</instance>
diff --git a/health/android.hardware.health-service.gs201.xml b/health/android.hardware.health-service.gs201.xml
index 1fe9b8d..2acaaba 100644
--- a/health/android.hardware.health-service.gs201.xml
+++ b/health/android.hardware.health-service.gs201.xml
@@ -1,7 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.health</name>
- <version>2</version>
+ <version>3</version>
<fqname>IHealth/default</fqname>
</hal>
</manifest>
diff --git a/manifest-gralloc3.xml b/manifest-gralloc3.xml
index 196d1ac..fee0455 100644
--- a/manifest-gralloc3.xml
+++ b/manifest-gralloc3.xml
@@ -83,16 +83,6 @@
</interface>
</hal>
<hal format="hidl">
- <name>android.hardware.neuralnetworks</name>
- <transport>hwbinder</transport>
- <version>1.3</version>
- <interface>
- <name>IDevice</name>
- <instance>google-armnn</instance>
- </interface>
- <fqname>@1.3::IDevice/google-armnn</fqname>
- </hal>
- <hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>
<fqname>@1.3::IDevice/google-edgetpu</fqname>
diff --git a/manifest.xml b/manifest.xml
index 7814e22..031b46f 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -13,16 +13,6 @@
<transport>hwbinder</transport>
<fqname>@1.2::IBootControl/default</fqname>
</hal>
- <hal format="hidl">
- <name>android.hardware.neuralnetworks</name>
- <transport>hwbinder</transport>
- <version>1.3</version>
- <interface>
- <name>IDevice</name>
- <instance>google-armnn</instance>
- </interface>
- <fqname>@1.3::IDevice/google-armnn</fqname>
- </hal>
<hal format="aidl">
<name>com.google.input</name>
<version>2</version>
diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml
index 21381a9..13609f2 100644
--- a/media_codecs_performance_c2.xml
+++ b/media_codecs_performance_c2.xml
@@ -126,8 +126,7 @@
<Limit name="measured-frame-rate-1920x1080" range="25-26" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
- <!-- measured 90%:295-301 med:296 N=2 -->
- <Limit name="measured-frame-rate-352x288" range="295-298" /> <!-- v90%=1.0 -->
+ <Limit name="measured-frame-rate-352x288" range="583-674" />
<!-- measured 90%:196-207 med:196 N=2 -->
<Limit name="measured-frame-rate-640x360" range="196-201" /> <!-- v90%=1.0 -->
<!-- measured 90%:177-180 med:178 N=2 -->
@@ -138,8 +137,8 @@
<Limit name="measured-frame-rate-1920x1080" range="45-46" /> <!-- v90%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="1851-2777" />
- <Limit name="measured-frame-rate-480x360" range="1174-1762" />
+ <Limit name="measured-frame-rate-176x144" range="1215-1823" />
+ <Limit name="measured-frame-rate-480x360" range="830-1246" />
<Limit name="measured-frame-rate-1280x720" range="265-397" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 1f1bcea..3f1e2c1 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -289,4 +289,7 @@
<item>"com.shannon.imsservice"</item>
<item>"com.android.phone"</item>
</string-array>
+
+ <!-- Enable variable refresh rate when typing. -->
+ <bool name="config_variableRefreshRateTypingSupported">false</bool>
</resources>
diff --git a/pixelstats/pixelstats-vendor.gs201.rc b/pixelstats/pixelstats-vendor.gs201.rc
index d324b6a..70d875e 100644
--- a/pixelstats/pixelstats-vendor.gs201.rc
+++ b/pixelstats/pixelstats-vendor.gs201.rc
@@ -1,6 +1,7 @@
on property:sys.boot_completed=1
start vendor.pixelstats_vendor
-
+on post-fs-data
+ chown system system /sys/kernel/metrics/irq/stats_reset
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
class hal
user system
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index d9f65e9..b7df808 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -80,6 +80,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
},
.ResumeLatencyMetricsPath = "/sys/kernel/metrics/resume_latency/resume_latency_metrics",
.LongIRQMetricsPath = "/sys/kernel/metrics/irq/long_irq_metrics",
+ .StormIRQMetricsPath = "/sys/kernel/metrics/irq/storm_irq_metrics",
+ .IRQStatsResetPath = "/sys/kernel/metrics/irq/stats_reset",
.ModemPcieLinkStatsPath = "/sys/devices/platform/11920000.pcie/link_stats",
.WifiPcieLinkStatsPath = "/sys/devices/platform/14520000.pcie/link_stats"
};
diff --git a/radio/config/Pixel_stability.nprf b/radio/config/Pixel_stability.nprf
index 53b27a8..fb56509 100644
--- a/radio/config/Pixel_stability.nprf
+++ b/radio/config/Pixel_stability.nprf
Binary files differ
diff --git a/storage/ufs_firmware_update.sh b/storage/ufs_firmware_update.sh
index d118115..a5cabfb 100755
--- a/storage/ufs_firmware_update.sh
+++ b/storage/ufs_firmware_update.sh
@@ -6,13 +6,23 @@
ufs_dev="/dev/sys/block/bootdevice"
fw_dir="/vendor/firmware"
blk_dev="/dev/block/by-name/fips"
+min_timestamp=$(date -d "2022-10-01" +%s)
+epoch_1y=$(date -u -d "1971-01-01" +%s)
vendor=$(cat ${ufs_dev}/vendor | tr -d "[:space:]")
model=$(cat ${ufs_dev}/model | tr -d "[:space:]")
rev=$(cat ${ufs_dev}/rev | tr -d "[:space:]")
file=$(find ${fw_dir} -name "*${vendor}${model}${rev}*" | head -n 1)
-if [ -n "$file" ]; then
+lifec=$(cat ${ufs_dev}/health_descriptor/life_time_estimation_c | tr -d "[:space:]")
+[ ! "$lifec" ] && lifec=0xff
+
+atime=$(ls -lu -d /data 2>&1 | awk '{print $6}')
+timestamp=$(date -d "$atime" +%s)
+(( $timestamp < $min_timestamp )) && timestamp=$min_timestamp
+now=$(date +%s)
+
+if [ -n "$file" ] && (( $lifec < 0x0a )) && (( $timestamp + $epoch_1y >= $now )); then
# The first 4KB block at fips partition has been occupied, and unused space begins from 4 KB
# Refer to: go/pixel-mp-ffu-ota-1p
dd if="$file" of=$blk_dev bs=4k seek=1
diff --git a/usb/gadget/UsbGadget.cpp b/usb/gadget/UsbGadget.cpp
index 5da4dd9..d3bd8f3 100644
--- a/usb/gadget/UsbGadget.cpp
+++ b/usb/gadget/UsbGadget.cpp
@@ -44,6 +44,30 @@ constexpr char kHsi2cPath[] = "/sys/devices/platform/10d60000.hsi2c";
constexpr char kI2CPath[] = "/sys/devices/platform/10d60000.hsi2c/i2c-";
constexpr char kAccessoryLimitCurrent[] = "i2c-max77759tcpc/usb_limit_accessory_current";
constexpr char kAccessoryLimitCurrentEnable[] = "i2c-max77759tcpc/usb_limit_accessory_enable";
+constexpr char kUpdateSdpEnumTimeout[] = "i2c-max77759tcpc/update_sdp_enum_timeout";
+
+Status getI2cBusHelper(string *name) {
+ DIR *dp;
+
+ dp = opendir(kHsi2cPath);
+ if (dp != NULL) {
+ struct dirent *ep;
+
+ while ((ep = readdir(dp))) {
+ if (ep->d_type == DT_DIR) {
+ if (string::npos != string(ep->d_name).find("i2c-")) {
+ std::strtok(ep->d_name, "-");
+ *name = std::strtok(NULL, "-");
+ }
+ }
+ }
+ closedir(dp);
+ return Status::SUCCESS;
+ }
+
+ ALOGE("Failed to open %s", kHsi2cPath);
+ return Status::ERROR;
+}
UsbGadget::UsbGadget() : mGadgetIrqPath("") {
if (access(OS_DESC_PATH, R_OK) != 0) {
@@ -97,6 +121,7 @@ Status UsbGadget::getUsbGadgetIrqPath() {
void currentFunctionsAppliedCallback(bool functionsApplied, void *payload) {
UsbGadget *gadget = (UsbGadget *)payload;
gadget->mCurrentUsbFunctionsApplied = functionsApplied;
+ gadget->updateSdpEnumTimeout();
}
ScopedAStatus UsbGadget::getCurrentUsbFunctions(const shared_ptr<IUsbGadgetCallback> &callback,
@@ -363,6 +388,22 @@ ScopedAStatus UsbGadget::reset(const shared_ptr<IUsbGadgetCallback> &callback,
return ScopedAStatus::ok();
}
+void UsbGadget::updateSdpEnumTimeout() {
+ string i2c_node, update_sdp_enum_timeout_path;
+
+ Status status = getI2cBusHelper(&i2c_node);
+ if (status != Status::SUCCESS) {
+ ALOGE("%s: Unable to locate i2c bus node", __func__);
+ }
+
+ update_sdp_enum_timeout_path = kI2CPath + i2c_node + "/" + kUpdateSdpEnumTimeout;
+ if (!WriteStringToFile("1", update_sdp_enum_timeout_path)) {
+ ALOGE("%s: Unable to write to %s.", __func__, update_sdp_enum_timeout_path.c_str());
+ } else {
+ ALOGI("%s: Updated SDP enumeration timeout value.", __func__);
+ }
+}
+
Status UsbGadget::setupFunctions(long functions,
const shared_ptr<IUsbGadgetCallback> &callback, uint64_t timeout,
int64_t in_transactionId) {
@@ -421,6 +462,7 @@ Status UsbGadget::setupFunctions(long functions,
mCurrentUsbFunctionsApplied = true;
if (callback)
callback->setCurrentUsbFunctionsCb(functions, Status::SUCCESS, in_transactionId);
+ updateSdpEnumTimeout();
return Status::SUCCESS;
}
@@ -445,29 +487,6 @@ Status UsbGadget::setupFunctions(long functions,
return Status::SUCCESS;
}
-Status getI2cBusHelper(string *name) {
- DIR *dp;
-
- dp = opendir(kHsi2cPath);
- if (dp != NULL) {
- struct dirent *ep;
-
- while ((ep = readdir(dp))) {
- if (ep->d_type == DT_DIR) {
- if (string::npos != string(ep->d_name).find("i2c-")) {
- std::strtok(ep->d_name, "-");
- *name = std::strtok(NULL, "-");
- }
- }
- }
- closedir(dp);
- return Status::SUCCESS;
- }
-
- ALOGE("Failed to open %s", kHsi2cPath);
- return Status::ERROR;
-}
-
ScopedAStatus UsbGadget::setCurrentUsbFunctions(long functions,
const shared_ptr<IUsbGadgetCallback> &callback,
int64_t timeout,
diff --git a/usb/gadget/UsbGadget.h b/usb/gadget/UsbGadget.h
index 403f2cc..3433081 100644
--- a/usb/gadget/UsbGadget.h
+++ b/usb/gadget/UsbGadget.h
@@ -115,6 +115,10 @@ struct UsbGadget : public BnUsbGadget {
ScopedAStatus setVidPid(const char *vid,const char *pid);
+ // Indicates to the kernel that the gadget service is ready and the kernel can
+ // set SDP timeout to a lower value.
+ void updateSdpEnumTimeout();
+
private:
Status tearDownGadget();
Status getUsbGadgetIrqPath();
diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp
index e4f0b35..0cbc98c 100644
--- a/usb/usb/Usb.cpp
+++ b/usb/usb/Usb.cpp
@@ -148,7 +148,7 @@ ScopedAStatus Usb::enableUsbData(const string& in_portName, bool in_enable,
}
if (!WriteStringToFile("0", USB_DATA_PATH)) {
- ALOGE("Not able to turn on usb connection notification");
+ ALOGE("Not able to turn off usb connection notification");
result = false;
}
}
diff --git a/usb/usb/android.hardware.usb-service.rc b/usb/usb/android.hardware.usb-service.rc
index 818ffb0..d6ef15d 100644
--- a/usb/usb/android.hardware.usb-service.rc
+++ b/usb/usb/android.hardware.usb-service.rc
@@ -68,6 +68,16 @@ on post-fs
chown root system /sys/devices/platform/10d60000.hsi2c/i2c-7/i2c-max77759tcpc/usb_limit_source_enable
chown root system /sys/devices/platform/10d60000.hsi2c/i2c-8/i2c-max77759tcpc/usb_limit_source_enable
chown root system /sys/devices/platform/10d60000.hsi2c/i2c-9/i2c-max77759tcpc/usb_limit_source_enable
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-0/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-1/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-2/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-3/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-4/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-7/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-8/i2c-max77759tcpc/update_sdp_enum_timeout
+ chown root system /sys/devices/platform/10d60000.hsi2c/i2c-9/i2c-max77759tcpc/update_sdp_enum_timeout
chmod 664 /sys/class/typec/port0/power_role
chmod 664 /sys/class/typec/port0/data_role
chmod 664 /sys/class/typec/port0/port_type
@@ -131,3 +141,13 @@ on post-fs
chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-7/i2c-max77759tcpc/usb_limit_source_enable
chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-8/i2c-max77759tcpc/usb_limit_source_enable
chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-9/i2c-max77759tcpc/usb_limit_source_enable
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-0/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-1/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-2/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-3/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-4/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-7/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-8/i2c-max77759tcpc/update_sdp_enum_timeout
+ chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-9/i2c-max77759tcpc/update_sdp_enum_timeout
diff --git a/wifi/qcom/BoardConfig-wifi.mk b/wifi/qcom/BoardConfig-wifi.mk
index 6546ce4..4bd7210 100644
--- a/wifi/qcom/BoardConfig-wifi.mk
+++ b/wifi/qcom/BoardConfig-wifi.mk
@@ -48,4 +48,7 @@ PRODUCT_COPY_FILES += \
$(LOCAL_WIFI_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
# Add BOARD_WLAN_CHIP to soong_config
-$(call soong_config_set,qcom_wifi,board_wlan_chip,wcn6740) \ No newline at end of file
+$(call soong_config_set,qcom_wifi,board_wlan_chip,wcn6740)
+
+# Add WIFI_FEATURE_IMU_DETECTION to soong_config
+$(call soong_config_set,wifi,feature_imu_detection,$(WIFI_FEATURE_IMU_DETECTION))
diff --git a/wifi/qcom/p2p_supplicant_overlay.conf b/wifi/qcom/p2p_supplicant_overlay.conf
index 92021fd..171d013 100644
--- a/wifi/qcom/p2p_supplicant_overlay.conf
+++ b/wifi/qcom/p2p_supplicant_overlay.conf
@@ -1,3 +1,4 @@
disable_scan_offload=1
p2p_go_vht=1
+p2p_pref_chan=124:149, 115:36
p2p_6ghz_disable=1