diff options
-rw-r--r-- | BoardConfig-common.mk | 10 | ||||
-rw-r--r-- | conf/fstab.gs101.in | 12 | ||||
-rw-r--r-- | conf/init.gs101.rc | 34 | ||||
-rw-r--r-- | conf/init.gs101.usb.rc | 85 | ||||
-rw-r--r-- | conf/ueventd.gs101.rc | 2 | ||||
-rw-r--r-- | default-permissions.xml | 3 | ||||
-rw-r--r-- | device-common.mk | 7 | ||||
-rw-r--r-- | device.mk | 37 | ||||
-rw-r--r-- | device_framework_matrix_product.xml | 4 | ||||
-rw-r--r-- | fingerprint/compatibility_matrix_factory.xml | 10 | ||||
-rw-r--r-- | fingerprint/udfps_factory.mk | 2 | ||||
-rw-r--r-- | manifest.xml | 10 | ||||
-rw-r--r-- | manifest_64.xml | 10 | ||||
-rw-r--r-- | neuralnetwork/neuralnetwork.mk | 2 | ||||
-rw-r--r-- | overlay/frameworks/base/core/res/res/values/config.xml | 3 | ||||
-rw-r--r-- | pixelstats/pixelstats-vendor.gs101.rc | 3 | ||||
-rw-r--r-- | pixelstats/service.cpp | 2 | ||||
-rw-r--r-- | usb/gadget/UsbGadget.cpp | 64 | ||||
-rw-r--r-- | usb/gadget/UsbGadget.h | 4 | ||||
-rw-r--r-- | usb/usb/Usb.cpp | 2 | ||||
-rw-r--r-- | usb/usb/android.hardware.usb-service.rc | 20 | ||||
-rw-r--r-- | wifi/BoardConfig-wifi.mk | 3 |
22 files changed, 230 insertions, 99 deletions
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 7883c20c..70e9d648 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -321,16 +321,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/gs101/prebuilts/gpu/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 diff --git a/conf/fstab.gs101.in b/conf/fstab.gs101.in index 5ad2c511..0aa5fae0 100644 --- a/conf/fstab.gs101.in +++ b/conf/fstab.gs101.in @@ -4,16 +4,16 @@ # 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,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128 -system_ext /system_ext ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128 -product /product ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128 -vendor /vendor ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128 -vendor_dlkm /vendor_dlkm ext4 ro,barrier=1 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_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/efs /mnt/vendor/efs ext4 defaults,noatime,rw wait,check,formattable /dev/block/platform/14700000.ufs/by-name/efs_backup /mnt/vendor/efs_backup ext4 defaults,noatime,rw wait,check,formattable /dev/block/platform/14700000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata ext4 defaults,noatime,rw wait,check,formattable -/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 /dev/block/platform/14700000.ufs/by-name/misc /misc emmc defaults wait /dev/block/platform/14700000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum /dev/block/platform/14700000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index 16acb952..9b0e1338 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -12,6 +12,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 @@ -159,11 +161,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 161 write /proc/vendor_sched/ta_prefer_idle 1 - write /proc/vendor_sched/fg_uclamp_min 1024 + write /proc/vendor_sched/fg_uclamp_min 161 write /proc/vendor_sched/fg_prefer_idle 1 - write /proc/vendor_sched/sys_uclamp_min 1024 + write /proc/vendor_sched/sys_uclamp_min 161 write /proc/vendor_sched/sys_prefer_idle 1 # governor setting @@ -717,7 +719,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 # Force empty CMA write /sys/kernel/vendor_mm/cma/farawimg/force_empty 1 @@ -876,6 +878,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 + mkdir /data/vendor/bluetooth 0770 bluetooth system # ODPM on fs @@ -995,6 +998,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 64 + 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.gs101.usb.rc b/conf/init.gs101.usb.rc index 110d1b7b..724019e2 100644 --- a/conf/init.gs101.usb.rc +++ b/conf/init.gs101.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 chown system system /config/usb_gadget/ @@ -249,6 +311,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 @@ -322,6 +404,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:vendor.usb.contaminantdisable=true diff --git a/conf/ueventd.gs101.rc b/conf/ueventd.gs101.rc index 5ed8fca1..5e0b58ea 100644 --- a/conf/ueventd.gs101.rc +++ b/conf/ueventd.gs101.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 diff --git a/default-permissions.xml b/default-permissions.xml index 3c2063a3..ff0094a2 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -54,6 +54,9 @@ <exception 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.apps.cbrsnetworkmonitor"> diff --git a/device-common.mk b/device-common.mk index d9522989..ef90ca1a 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=Tensor @@ -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 @@ -31,6 +31,9 @@ include device/google/gs-common/gear/dumpstate/aidl.mk include device/google/gs-common/camera/dump.mk include device/google/gs-common/gps/dump/log.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 := gs101 DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false) @@ -197,8 +200,6 @@ PRODUCT_SOONG_NAMESPACES += \ $(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM)) -include device/google/gs101/neuralnetwork/neuralnetwork.mk - PRODUCT_PACKAGES += \ libGLES_mali \ vulkan.mali \ @@ -522,28 +523,10 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ liboemcrypto -$(call soong_config_set,google3a_config,soc,gs101) -$(call soong_config_set,google3a_config,gcam_awb,true) -$(call soong_config_set,google3a_config,ghawb_truetone,true) - -# Determine if Lyric is in the tree, and only have GCH build against it -# if it is. Cases when Lyric isn't going to be in the tree: -# - Non-pixel gs101 devices that exclude vendor/google/services/LyricCameraHAL/src (none as of now) -# - master-without-vendor and other types of AOSP builds (those won't built GCH either, but need this to actually start building) -# -# Builds that will have it are -# - Regular gs101 builds -# - PDK gs101 builds because they still have vendor/google/services/LyricCameraHAL/src - -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,gs101) -$(call soong_config_set,lyric,use_lyric_camera_hal,true) -# lyric::tuning_product is set in device-specific makefiles, -# such as device/google/raviole/device-oriole.mk - -# Camera HAL library selection -$(call soong_config_set,gch,hwl_library,lyric) -endif +$(call soong_config_set,google3a_config,soc,gs101) # WiFi PRODUCT_PACKAGES += \ @@ -621,7 +604,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 \ @@ -951,8 +933,7 @@ endif #$(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,gs101) PRODUCT_COPY_FILES += \ device/google/gs101/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \ @@ -1151,5 +1132,9 @@ PRODUCT_PROPERTY_OVERRIDES += \ # 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 Collection include hardware/google/pixel/HardwareInfo/HardwareInfo.mk diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index 4184c3e0..732338c0 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/fingerprint/compatibility_matrix_factory.xml b/fingerprint/compatibility_matrix_factory.xml new file mode 100644 index 00000000..bde4653c --- /dev/null +++ b/fingerprint/compatibility_matrix_factory.xml @@ -0,0 +1,10 @@ +<compatibility-matrix version="1.0" type="framework"> + <hal format="hidl" optional="true"> + <name>android.hardware.biometrics.fingerprint</name> + <version>2.1-3</version> + <interface> + <name>IBiometricsFingerprint</name> + <instance>default</instance> + </interface> + </hal> +</compatibility-matrix> diff --git a/fingerprint/udfps_factory.mk b/fingerprint/udfps_factory.mk index 40993fb6..de831e4c 100644 --- a/fingerprint/udfps_factory.mk +++ b/fingerprint/udfps_factory.mk @@ -19,5 +19,7 @@ PRODUCT_PACKAGES += \ GF_delmar_factory \ udfps_test +DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs101/fingerprint/compatibility_matrix_factory.xml + PRODUCT_PROPERTY_OVERRIDES += \ gf.debug.dump_data=1 diff --git a/manifest.xml b/manifest.xml index 038a3d48..303ed2ca 100644 --- a/manifest.xml +++ b/manifest.xml @@ -35,16 +35,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/manifest_64.xml b/manifest_64.xml index 122d1bb3..115357d6 100644 --- a/manifest_64.xml +++ b/manifest_64.xml @@ -23,16 +23,6 @@ <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="hidl"> <name>android.hardware.neuralnetworks</name> <transport>hwbinder</transport> <fqname>@1.3::IDevice/google-edgetpu</fqname> diff --git a/neuralnetwork/neuralnetwork.mk b/neuralnetwork/neuralnetwork.mk deleted file mode 100644 index 1533d2a6..00000000 --- a/neuralnetwork/neuralnetwork.mk +++ /dev/null @@ -1,2 +0,0 @@ -PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.3-service-armnn -BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs101-sepolicy/neuralnetworks/ diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 6b1cfcc6..32adb013 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -277,4 +277,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.gs101.rc b/pixelstats/pixelstats-vendor.gs101.rc index d324b6a8..70d875ea 100644 --- a/pixelstats/pixelstats-vendor.gs101.rc +++ b/pixelstats/pixelstats-vendor.gs101.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 72805622..35d0abfe 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -47,6 +47,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { .SpeakerHeartBeatPath = "/sys/devices/platform/audiometrics/speaker_heartbeat", .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", .UFSErrStatsPath = { UFS_ERR_PATH(pa_err_count), UFS_ERR_PATH(dl_err_count), diff --git a/usb/gadget/UsbGadget.cpp b/usb/gadget/UsbGadget.cpp index 7ee70460..9b68e2c4 100644 --- a/usb/gadget/UsbGadget.cpp +++ b/usb/gadget/UsbGadget.cpp @@ -41,10 +41,34 @@ constexpr char kHsi2cPath[] = "/sys/devices/platform/10d50000.hsi2c"; constexpr char kI2CPath[] = "/sys/devices/platform/10d50000.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"; using ::android::base::GetBoolProperty; using ::android::hardware::google::pixel::usb::kUvcEnabled; +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) { ALOGE("configfs setup not done yet"); @@ -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) { @@ -417,6 +458,7 @@ Status UsbGadget::setupFunctions(long functions, mCurrentUsbFunctionsApplied = true; if (callback) callback->setCurrentUsbFunctionsCb(functions, Status::SUCCESS, in_transactionId); + updateSdpEnumTimeout(); return Status::SUCCESS; } @@ -441,28 +483,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, diff --git a/usb/gadget/UsbGadget.h b/usb/gadget/UsbGadget.h index 59759308..a6b63bdb 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 6993275a..7a148887 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -133,7 +133,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 43a8084c..d236bd54 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/10d50000.hsi2c/i2c-7/i2c-max77759tcpc/usb_limit_source_enable chown root system /sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc/usb_limit_source_enable chown root system /sys/devices/platform/10d50000.hsi2c/i2c-9/i2c-max77759tcpc/usb_limit_source_enable + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-0/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-1/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-2/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-3/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-4/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-5/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-6/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-7/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc/update_sdp_enum_timeout + chown root system /sys/devices/platform/10d50000.hsi2c/i2c-9/i2c-max77759tcpc/update_sdp_enum_timeout 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 @@ -138,4 +148,14 @@ on post-fs chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-7/i2c-max77759tcpc/usb_limit_source_enable chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc/usb_limit_source_enable chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-9/i2c-max77759tcpc/usb_limit_source_enable + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-0/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-1/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-2/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-3/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-4/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-5/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-6/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-7/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10d50000.hsi2c/i2c-9/i2c-max77759tcpc/update_sdp_enum_timeout chmod 664 /sys/devices/platform/google,pogo/move_data_to_usb diff --git a/wifi/BoardConfig-wifi.mk b/wifi/BoardConfig-wifi.mk index a9dc7db6..d484ad03 100644 --- a/wifi/BoardConfig-wifi.mk +++ b/wifi/BoardConfig-wifi.mk @@ -31,3 +31,6 @@ WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true WIFI_FEATURE_HOSTAPD_11AX := true BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL := true WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true + +# Add WIFI_FEATURE_IMU_DETECTION to soong_config +$(call soong_config_set,wifi,feature_imu_detection,$(WIFI_FEATURE_IMU_DETECTION)) |