diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 22964d39..56e4be11 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -411,3 +411,6 @@ BOARD_KERNEL_CMDLINE += log_buf_len=1024K # Protected VM firmware BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000 + +# pick up library for cleaning digital car keys on factory reset +-include vendor/google_devices/gs-common/proprietary/BoardConfigVendor.mk diff --git a/battery_mitigation/battery_mitigation.cpp b/battery_mitigation/battery_mitigation.cpp index 921436f5..5784b270 100644 --- a/battery_mitigation/battery_mitigation.cpp +++ b/battery_mitigation/battery_mitigation.cpp @@ -44,6 +44,7 @@ const struct MitigationConfig::Config cfg = { "/dev/thermal/cdev-by-name/tpu_cooling/cur_state", "/dev/thermal/cdev-by-name/CAM/cur_state", "/dev/thermal/cdev-by-name/DISP/cur_state", + "/dev/thermal/cdev-by-name/gxp-cooling/cur_state", "/sys/class/power_supply/battery/voltage_now", "/sys/class/power_supply/battery/current_now", }, @@ -56,7 +57,7 @@ const struct MitigationConfig::Config cfg = { .SystemName = { "batoilo", "smpl_gm", "soc", "vdroop1", "vdroop2", "ocp_gpu", "ocp_tpu", "soft_ocp_cpu2", "soft_ocp_cpu1", "battery", "battery_cycle", - "main", "sub", "CPU2", "CPU1", "GPU", "TPU", "CAM", "DISP", + "main", "sub", "CPU2", "CPU1", "GPU", "TPU", "CAM", "DISP", "NPU", "voltage_now", "current_now", }, .LogFilePath = "/data/vendor/mitigation/thismeal.txt", diff --git a/battery_mitigation/battery_mitigation.rc b/battery_mitigation/battery_mitigation.rc index 4cdbbf6e..c50811cf 100644 --- a/battery_mitigation/battery_mitigation.rc +++ b/battery_mitigation/battery_mitigation.rc @@ -1,14 +1,18 @@ -on property:sys.boot_completed=1 && property:ro.boot.bootreason=reboot,ocp +on property:sys.boot_completed=1 && property:ro.boot.bootreason=reboot,ocp,pmic,if copy data/vendor/mitigation/thismeal.txt data/vendor/mitigation/lastmeal.txt + chown system system data/vendor/mitigation/lastmeal.txt on property:sys.boot_completed=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,if copy data/vendor/mitigation/thismeal.txt data/vendor/mitigation/lastmeal.txt + chown system system data/vendor/mitigation/lastmeal.txt on property:sys.boot_completed=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,main copy data/vendor/mitigation/thismeal.txt data/vendor/mitigation/lastmeal.txt + chown system system data/vendor/mitigation/lastmeal.txt on property:sys.boot_completed=1 && property:ro.boot.bootreason=reboot,uvlo,pmic,sub copy data/vendor/mitigation/thismeal.txt data/vendor/mitigation/lastmeal.txt + chown system system data/vendor/mitigation/lastmeal.txt on property:vendor.thermal.link_ready=1 mkdir /data/vendor/mitigation 0755 system system diff --git a/conf/fstab.gs201.in b/conf/fstab.gs201.in index 0b6f2531..977266ba 100644 --- a/conf/fstab.gs201.in +++ b/conf/fstab.gs201.in @@ -12,9 +12,6 @@ vendor /vendor vendor_dlkm /vendor_dlkm ext4 ro wait,slotselect,avb=vbmeta,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/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/misc /misc emmc defaults wait /dev/block/platform/14700000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount #/dev/block/platform/14700000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount diff --git a/conf/fstab.modem b/conf/fstab.modem index d687ace5..7393362a 100644 --- a/conf/fstab.modem +++ b/conf/fstab.modem @@ -1,5 +1,8 @@ # Android fstab file. # # Create the specific fstab file for modem partition as flexibility +/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 diff --git a/conf/init.debug.rc b/conf/init.debug.rc index 88e8a17f..631bc28b 100644 --- a/conf/init.debug.rc +++ b/conf/init.debug.rc @@ -20,6 +20,9 @@ on init chown system system /d/maxfg/fg_model chown system system /d/maxfg/registers chown system system /d/maxfg_base/fg_model + chown system system /d/maxfg_base/registers + chown system system /d/maxfg_flip/registers + chown system system /d/maxfg_flip/nv_registers on property:vendor.debug.ramdump.force_crash=true write /sys/kernel/pixel_debug/trigger "null" @@ -33,4 +36,5 @@ on property:power.battery_input.suspended=false # Bluetooth on post-fs-data chown bluetooth system /dev/logbuffer_btlpm + chown bluetooth system /dev/logbuffer_btpower chown bluetooth system /dev/logbuffer_tty18 diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc index 861e8641..b8f86b55 100644 --- a/conf/init.gs201.rc +++ b/conf/init.gs201.rc @@ -223,6 +223,7 @@ on init chown system system /dev/logbuffer_ttf chown system system /dev/logbuffer_tcpm chown system system /dev/logbuffer_usbpd + chown system system /dev/logbuffer_pogo_transport chown system system /dev/logbuffer_wireless chown system system /dev/logbuffer_pca9468 chown system system /dev/logbuffer_cpm @@ -230,16 +231,13 @@ on init # Dump maxfg chown system system /sys/class/power_supply/maxfg/m5_model_state chown system system /sys/class/power_supply/maxfg_base/m5_model_state + chown system system /dev/maxfg_history # Dump eeprom chown system system /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom chown system system /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom chown system system /sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom - chown system system /dev/battery_history - chmod 0644 /dev/battery_history - - # Modem temperature driver - chown radio system /sys/devices/platform/cp-tm1/cp_temp + chown system system /sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom # Loading common kernel modules in background start insmod_sh_common @@ -248,7 +246,7 @@ on init chown system system /sys/class/power_supply/battery/charge_stats # Pca Charge stats (write 0) - chown system system /sys/class/power_supply/pca9468-mains/device/chg_stats + chown system system /sys/class/power_supply/pca94xx-mains/device/chg_stats # Wireless Charge stats (write 0) chown system system /sys/class/power_supply/wireless/device/charge_stats @@ -256,6 +254,10 @@ on init # Thermal Charge stats (write 0) chown system system /sys/devices/platform/google,charger/thermal_stats + # Permission for wireless charging fan + chown system system /sys/devices/platform/google,charger/thermal_dc_fan_alarm + chown system system /sys/devices/platform/google,cpm/thermal_mdis_fan_alarm + # Permission for wireless charging chown system system /sys/class/power_supply/wireless/capacity chown system system /sys/class/power_supply/wireless/device/rtx @@ -296,6 +298,11 @@ on init chown system system /sys/devices/platform/google,charger/charge_start_level chown system system /sys/devices/platform/google,charger/charge_stop_level chown system system /sys/devices/platform/google,cpm/dc_ctl + # Important to include dd_state as it's used in battery defender in charger mode + chown system system /sys/devices/platform/google,charger/dd_state + # Disable dock-defend by default + chown system system /sys/devices/platform/google,charger/dd_settings + write /sys/devices/platform/google,charger/dd_settings -1 # Power Stats HAL chown system system /dev/bbd_pwrstat @@ -325,10 +332,6 @@ on init write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/ratio_ceil 3200 write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/ratio_ceil 3200 -# For GKI kernel, no device specific modules -on init - setprop vendor.device.modules.ready 1 - on late-fs # Wait for keymaster HALs exec_start wait_for_keymaster @@ -344,37 +347,16 @@ on post-fs-data # Log data folder mkdir /data/vendor 0771 radio system mkdir /data/vendor/log 0771 radio system - mkdir /data/vendor/log/cbd 0771 radio system - mkdir /data/vendor/log/rfsd 0771 radio system mkdir /data/exynos/log 0771 radio system mkdir /data/vendor/rild 0771 radio system mkdir /data/vendor/dump 0771 radio system - mkdir /data/vendor/slog 0771 system system # PixelLogger log paths. mkdir /data/vendor/radio 773 system radio mkdir /data/vendor/radio/logs 773 system radio mkdir /data/vendor/radio/logs/always-on 777 system radio - # Modem extended log folder - mkdir /data/vendor/radio/extended_logs 0770 radio system - - # Modem MDS log folder - mkdir /data/vendor/radio/mds 0771 radio system - - # Unzipped modem images folder - mkdir /data/vendor/radio/image 0771 radio system - - # Modem stat folder - mkdir /data/vendor/modem_stat 0771 radio system - write /data/vendor/modem_stat/debug.txt "" - chown radio system /data/vendor/modem_stat/debug.txt - chmod 0664 /data/vendor/modem_stat/debug.txt - - # Modem replay folder - mkdir /mnt/vendor/modem_userdata/replay 0775 radio system - # Write display frequency config from RadioExt HAL # OSC frequency files @@ -467,13 +449,6 @@ on early-boot # Wait for insmod_sh to finish all common modules wait_for_prop vendor.common.modules.ready 1 - # Wait for insmod_sh to finish all device specific modules - wait_for_prop vendor.device.modules.ready 1 - - # Other services depend on the properties - setprop vendor.all.modules.ready 1 - setprop vendor.all.devices.ready 1 - # Permission for Health Storage HAL chown system system /dev/sys/block/bootdevice/manual_gc @@ -483,6 +458,10 @@ on early-boot chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt chown system system /dev/sys/block/bootdevice/slowio_sync_cnt + # Dump Battery EEPROM history for pixelstats + chown system system /dev/battery_history + chmod 0644 /dev/battery_history + on boot # Allow to access debugfs for system:system @@ -536,23 +515,11 @@ on property:persist.vendor.radio.no_modem_board=1 on fs mount_all --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 - - # 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/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 @@ -646,6 +613,8 @@ service gnss_service /vendor/bin/hw/android.hardware.gnss@2.1-service-brcm class hal user gps group system gps radio + ioprio be 0 + priority -1 # disable gps service if no gps h/w on property:vendor.ril.cbd.svc=0 @@ -827,15 +796,15 @@ on property:sys.boot_completed=1 chown system system /sys/devices/platform/19000000.aoc/control/udfps_get_disp_freq chmod 440 /sys/devices/platform/19000000.aoc/control/udfps_get_disp_freq - # Enable GPU power optimization - write /sys/devices/platform/28000000.mali/ifpo 1 - # Disable GPU firmware logging write /sys/devices/platform/28000000.mali/firmware_config/Log\ verbosity/cur 0 # write serialno to battery path for pairing write /sys/class/power_supply/battery/dev_sn ${ro.boot.serialno} + # Reduce pm_freeze_timeout value + write /sys/power/pm_freeze_timeout 1000 + # IMS WiFi Calling service charonservice /system/vendor/bin/charon class main @@ -881,6 +850,10 @@ on property:persist.sys.test_harness=1 && property:persist.vendor.testing_batte setprop persist.vendor.charge.start.level 0 setprop vendor.battery.defender.disable 1 +# on userdebug and eng builds, enable scsi error recovery log +on property:ro.debuggable=1 + write /sys/module/scsi_mod/parameters/scsi_logging_level 63 + service insmod_sh_common /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.gs201.cfg class main user root @@ -979,14 +952,21 @@ on property:vendor.thermal.link_ready=1 chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_temp chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst # Thermal + chown system system /dev/thermal/tz-by-name/skin_therm/trip_point_0_temp + chown system system /dev/thermal/tz-by-name/skin_therm/trip_point_0_hyst + chown system system /dev/thermal/tz-by-name/skin_therm1/trip_point_0_temp + chown system system /dev/thermal/tz-by-name/skin_therm1/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_hyst + chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/trip_point_0_temp + chown system system /dev/thermal/tz-by-name/usb_pwr_therm2/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_hyst chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote chown system system /dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote chown system system /dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote + chown system system /dev/thermal/cdev-by-name/gxp-cooling/user_vote chown system system /dev/thermal/cdev-by-name/tpu_cooling/user_vote chown system system /dev/thermal/cdev-by-name/fcc/cur_state chown system system /dev/thermal/cdev-by-name/dc_icl/cur_state @@ -994,6 +974,19 @@ on property:vendor.thermal.link_ready=1 chown system system /dev/thermal/cdev-by-name/chg_mdis/cur_state chown system system /dev/thermal/cdev-by-name/usbc-port/cur_state +on charger + # Use charger thermal config + setprop vendor.thermal.config "thermal_info_config_charge.json" + + # Wait for insmod_sh to finish all common modules + wait_for_prop vendor.common.modules.ready 1 + + # Create thermal symlink in off charging mode + mkdir /dev/thermal 0750 system system + mkdir /dev/thermal/tz-by-name 0750 system system + mkdir /dev/thermal/cdev-by-name 0750 system system + start vendor.thermal.symlinks + on property:vendor.disable.bcl.control=1 write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0 @@ -1025,6 +1018,8 @@ on property:persist.vendor.softmaxfreq.cl2=* on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running # Enable UFS powersaving in Off Mode Charger write /dev/sys/block/bootdevice/clkgate_enable 1 + # Disable dock-defend in Off Mode Charger + write /sys/devices/platform/google,charger/dd_state -1 # Cpuset experiment on property:persist.device_config.vendor_system_native.top-app_cpuset=* diff --git a/conf/init.gs201.usb.rc b/conf/init.gs201.usb.rc index 36203f40..4ac57f92 100644 --- a/conf/init.gs201.usb.rc +++ b/conf/init.gs201.usb.rc @@ -194,3 +194,6 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1 on property:ro.bootmode=usbuwb setprop persist.vendor.usb.usbradio.config uwb_acm + +on property:vendor.usb.contaminantdisable=true + exec /vendor/bin/hw/disable_contaminant_detection.sh diff --git a/conf/init.modem.rc b/conf/init.modem.rc new file mode 100644 index 00000000..96ed0678 --- /dev/null +++ b/conf/init.modem.rc @@ -0,0 +1,42 @@ +on init + # Modem temperature driver + chown radio system /sys/devices/platform/cp-tm1/cp_temp + +on post-fs-data + # Log data folder + mkdir /data/vendor 0771 radio system + mkdir /data/vendor/log 0771 radio system + mkdir /data/vendor/log/cbd 0771 radio system + mkdir /data/vendor/log/rfsd 0771 radio system + mkdir /data/vendor/slog 0771 system system + + # Modem extended log folder + mkdir /data/vendor/radio/extended_logs 0770 radio system + + # Modem MDS log folder + mkdir /data/vendor/radio/mds 0771 radio system + + # Unzipped modem images folder + mkdir /data/vendor/radio/image 0771 radio system + + # Modem stat folder + mkdir /data/vendor/modem_stat 0771 radio system + write /data/vendor/modem_stat/debug.txt "" + chown radio system /data/vendor/modem_stat/debug.txt + chmod 0664 /data/vendor/modem_stat/debug.txt + + # Modem replay folder + mkdir /mnt/vendor/modem_userdata/replay 0775 radio system + +on fs + # Mount modem partition + mount_all /vendor/etc/fstab.modem --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 + restorecon_recursive /mnt/vendor/modem_img + restorecon_recursive /mnt/vendor/persist/modem diff --git a/conf/ueventd.gs201.rc b/conf/ueventd.gs201.rc index 5a50b638..6a33ec9f 100644 --- a/conf/ueventd.gs201.rc +++ b/conf/ueventd.gs201.rc @@ -119,6 +119,7 @@ # IPC OEM /dev/oem_ipc* 0660 radio radio +/dev/oem_test 0660 radio radio # interactive governor parameters /sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system @@ -142,7 +143,8 @@ /dev/aoc 0660 system system # Sensors (USF) -/dev/acd-com.google.usf 0660 system system +/dev/acd-com.google.usf 0660 system system +/dev/acd-com.google.usf.non_wake_up 0660 system system # LWIS /dev/lwis* 0660 system system diff --git a/default-permissions.xml b/default-permissions.xml index 748ede67..3e308ea9 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -116,6 +116,8 @@ + + diff --git a/device-common.mk b/device-common.mk index 0ceb1242..bd7ad344 100644 --- a/device-common.mk +++ b/device-common.mk @@ -14,13 +14,17 @@ # limitations under the License. # +ifneq ($(BOARD_WITHOUT_RADIO),true) -include vendor/google_devices/gs201/proprietary/telephony/device-vendor.mk +endif include device/google/gs201/device.mk include device/google/gs101/tts/voice_packs.mk +ifneq ($(BOARD_WITHOUT_RADIO),true) # Telephony PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml +endif # Android Verified Boot PRODUCT_COPY_FILES += \ diff --git a/device.mk b/device.mk index 0e7f54ef..579a0fc2 100644 --- a/device.mk +++ b/device.mk @@ -60,9 +60,11 @@ LOCAL_KERNEL := $(TARGET_KERNEL_DIR)/Image.lz4 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ ro.oem_unlock_supported=1 +ifneq ($(BOARD_WITHOUT_RADIO),true) # Include vendor telephony soong namespace PRODUCT_SOONG_NAMESPACES += \ vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY) +endif ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) #Set IKE logs to verbose for WFC @@ -125,6 +127,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.ril.enable_set_screen_state=1 # Set the Bluetooth Class of Device +ifneq ($(USE_TABLET_BT_COD),true) # Service Field: 0x5A -> 90 # Bit 14: LE audio # Bit 17: Networking @@ -135,6 +138,18 @@ PRODUCT_PROPERTY_OVERRIDES += \ # MINOR_CLASS: 0x0C -> 12 (Smart Phone) PRODUCT_PRODUCT_PROPERTIES += \ bluetooth.device.class_of_device=90,66,12 +else +# Service Field: 0x5A -> 90 +# Bit 14: LE audio +# Bit 17: Networking +# Bit 19: Capturing +# Bit 20: Object Transfer +# Bit 22: Telephony +# MAJOR_CLASS: 0x41 -> 65 (Computer) +# MINOR_CLASS: 0x10 -> 16 (Handheld PC/PDA clamshell) +PRODUCT_PRODUCT_PROPERTIES += \ + bluetooth.device.class_of_device=90,65,16 +endif # Set supported Bluetooth profiles to enabled PRODUCT_PRODUCT_PROPERTIES += \ @@ -294,11 +309,11 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \ - device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem # Shell scripts PRODUCT_COPY_FILES += \ device/google/gs201/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \ + device/google/gs201/disable_contaminant_detection.sh:$(TARGET_COPY_OUT_VENDOR)/bin/hw/disable_contaminant_detection.sh # insmod files PRODUCT_COPY_FILES += \ @@ -354,27 +369,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.verbose_logging_enabled=false endif -# CP Logging properties -PRODUCT_PROPERTY_OVERRIDES += \ - ro.vendor.sys.modem.logging.loc = /data/vendor/slog \ - ro.vendor.cbd.modem_removable = "1" \ - ro.vendor.cbd.modem_type = "s5100sit" \ - persist.vendor.sys.modem.logging.br_num=5 \ - persist.vendor.sys.modem.logging.enable=true - -# Enable silent CP crash handling -ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) -PRODUCT_PROPERTY_OVERRIDES += \ - persist.vendor.ril.crash_handling_mode=1 -else -PRODUCT_PROPERTY_OVERRIDES += \ - persist.vendor.ril.crash_handling_mode=2 -endif - -# Add support dual SIM mode -PRODUCT_PROPERTY_OVERRIDES += \ - persist.vendor.radio.multisim_switch_support=true - # RPMB TA PRODUCT_PACKAGES += \ tlrpmb @@ -389,15 +383,19 @@ PRODUCT_COPY_FILES += \ # Sensors PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ - frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ frameworks/native/data/etc/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ - frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml\ - frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml +# (See b/240652154) +ifneq ($(DISABLE_SENSOR_BARO_PROX_HIFI),true) +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ + frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ + frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml +endif # Add sensor HAL 2.1 product packages PRODUCT_PACKAGES += android.hardware.sensors@2.1-service.multihal @@ -504,11 +502,20 @@ PRODUCT_PACKAGES += \ PANTHER_PRODUCT := %panther CHEETAH_PRODUCT := %cheetah +LYNX_PRODUCT := %lynx +FELIX_PRODUCT := %felix +TANGOR_PRODUCT := %tangorpro CLOUDRIPPER_PRODUCT := %cloudripper ifneq (,$(filter $(PANTHER_PRODUCT), $(TARGET_PRODUCT))) LOCAL_TARGET_PRODUCT := panther else ifneq (,$(filter $(CHEETAH_PRODUCT), $(TARGET_PRODUCT))) LOCAL_TARGET_PRODUCT := cheetah +else ifneq (,$(filter $(LYNX_PRODUCT), $(TARGET_PRODUCT))) + LOCAL_TARGET_PRODUCT := lynx +else ifneq (,$(filter $(FELIX_PRODUCT), $(TARGET_PRODUCT))) + LOCAL_TARGET_PRODUCT := felix +else ifneq (,$(filter $(TANGOR_PRODUCT), $(TARGET_PRODUCT))) + LOCAL_TARGET_PRODUCT := tangorpro else ifneq (,$(filter $(CLOUDRIPPER_PRODUCT), $(TARGET_PRODUCT))) LOCAL_TARGET_PRODUCT := cloudripper else @@ -595,8 +602,16 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml +# (See b/239142680, b/211840489, b/225749853) +ifneq ($(DISABLE_CAMERA_FS_AF),true) +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml +else +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml +endif + PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \ frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\ @@ -639,6 +654,7 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=16600000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.frame_rate_multiple_threshold=120 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.layer_caching_active_layer_timeout_ms=1000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.treat_170m_as_sRGB=1 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.camera.sf_usedsp=0 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_layer_caching=true PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80 @@ -863,6 +879,7 @@ PRODUCT_PACKAGES += \ calliope_iva.bin \ vts.bin +ifneq ($(BOARD_WITHOUT_RADIO),true) # This will be called only if IMSService is building with source code for dev branches. $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/shannon-ims/device-vendor.mk) @@ -873,6 +890,7 @@ PRODUCT_PACKAGES_DEBUG += \ TestRcsApp PRODUCT_PACKAGES += ShannonRcs +endif # Boot Control HAL PRODUCT_PACKAGES += \ @@ -897,10 +915,41 @@ USE_EARLY_SEND_DEVICE_INFO := true ifneq ($(BOARD_WITHOUT_RADIO),true) $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk) + +# modem_svc_sit daemon +PRODUCT_PACKAGES += modem_svc_sit + +# modem logging binary/configs +PRODUCT_PACKAGES += modem_logging_control + +# CP Logging properties +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.sys.modem.logging.loc = /data/vendor/slog \ + ro.vendor.cbd.modem_removable = "1" \ + ro.vendor.cbd.modem_type = "s5100sit" \ + persist.vendor.sys.modem.logging.br_num=5 \ + persist.vendor.sys.modem.logging.enable=true + +# Enable silent CP crash handling +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) +PRODUCT_PROPERTY_OVERRIDES += \ + persist.vendor.ril.crash_handling_mode=1 +else +PRODUCT_PROPERTY_OVERRIDES += \ + persist.vendor.ril.crash_handling_mode=2 endif +# Add support dual SIM mode +PRODUCT_PROPERTY_OVERRIDES += \ + persist.vendor.radio.multisim_switch_support=true + +PRODUCT_COPY_FILES += \ + device/google/$(TARGET_BOARD_PLATFORM)/conf/init.modem.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.modem.rc \ + device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \ + #GPS HAL include device/google/gs201/gnss/device-gnss.mk +endif BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs201-sepolicy/gps $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) @@ -918,14 +967,7 @@ $(call inherit-product-if-exists, vendor/google/camera/devices/whi/device-vendor PRODUCT_COPY_FILES += \ device/google/gs201/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \ - device/google/gs201/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \ - frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \ - -# modem_svc_sit daemon -PRODUCT_PACKAGES += modem_svc_sit - -# modem logging binary/configs -PRODUCT_PACKAGES += modem_logging_control + device/google/gs201/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml # modem logging configs PRODUCT_COPY_FILES += \ @@ -977,6 +1019,7 @@ PRODUCT_PACKAGES += \ audio_fortemedia_aoc \ audio_bluenote_aoc \ audio_usb_aoc \ + audio_cca_aoc \ libamcsextfile \ audio_amcs_ext \ audio.usb.default \ @@ -1017,6 +1060,7 @@ PRODUCT_SOONG_NAMESPACES += \ vendor/google/whitechapel/aoc $(call soong_config_set,aoc,target_soc,$(TARGET_BOARD_PLATFORM)) +$(call soong_config_set,aoc,target_product,$(TARGET_PRODUCT)) # ## Audio properties @@ -1113,7 +1157,7 @@ include hardware/google/pixel/PixelLogger/PixelLogger.mk include hardware/google/pixel/sscoredump/device.mk # RadioExt Version -USES_RADIOEXT_V1_4 = true +USES_RADIOEXT_V1_5 = true # Wifi ext include hardware/google/pixel/wifi_ext/device.mk @@ -1140,4 +1184,4 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.device_unique_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.device_unique_attestation.xml # Call deleteAllKeys if vold detects a factory reset -PRODUCT_VENDOR_PROPERTIES += ro.crypto.metadata_init_delete_all_keys.enabled=true +PRODUCT_VENDOR_PROPERTIES += ro.crypto.metadata_init_delete_all_keys.enabled?=true diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index d4f14997..d9e853fd 100644 --- a/device_framework_matrix_product.xml +++ b/device_framework_matrix_product.xml @@ -49,7 +49,7 @@ - com.fingerprints33.extension + com.fingerprints42.extension 1.0 IFingerprintAuthenticator @@ -82,6 +82,7 @@ com.google.face.debug + 2 IDebugHost default @@ -112,6 +113,7 @@ hardware.qorvo.uwb + 2 IUwbVendor default @@ -149,14 +151,6 @@ default - - hardware.google.bluetooth.ccc - 1.1 - - IBluetoothCcc - default - - hardware.google.bluetooth.ewp 1.0 @@ -165,9 +159,9 @@ default - + vendor.google.google_battery - 1.2 + 1 IGoogleBattery default @@ -175,7 +169,7 @@ vendor.google.radioext - 1.4 + 1.5 IRadioExt default diff --git a/disable_contaminant_detection.sh b/disable_contaminant_detection.sh new file mode 100644 index 00000000..b5c22a78 --- /dev/null +++ b/disable_contaminant_detection.sh @@ -0,0 +1,7 @@ +#!/vendor/bin/sh + +for f in /sys/devices/platform/10d60000.hsi2c/i2c-*/i2c-max77759tcpc; do + if [ -d $f ]; then + echo 0 > $f/contaminant_detection; + fi +done diff --git a/dumpstate/Dumpstate.cpp b/dumpstate/Dumpstate.cpp index 636dfa73..cd484408 100644 --- a/dumpstate/Dumpstate.cpp +++ b/dumpstate/Dumpstate.cpp @@ -240,6 +240,7 @@ Dumpstate::Dumpstate() { "misc", [this](int fd) { dumpMiscSection(fd); } }, { "gsc", [this](int fd) { dumpGscSection(fd); } }, { "trusty", [this](int fd) { dumpTrustySection(fd); } }, + { "led", [this](int fd) { dumpLEDSection(fd); } }, }, mLogSections{ { "modem", [this](int fd, const std::string &destDir) { dumpModemLogs(fd, destDir); } }, @@ -335,6 +336,10 @@ void Dumpstate::dumpPowerSection(int fd) { DumpFileToFd(fd, "maxfg_flip", "/dev/logbuffer_maxfg_flip_monitor"); } + if (!stat("/dev/maxfg_history", &buffer)) { + DumpFileToFd(fd, "Maxim FG History", "/dev/maxfg_history"); + } + if (!stat("/sys/class/power_supply/dock", &buffer)) { DumpFileToFd(fd, "Power supply property dock", "/sys/class/power_supply/dock/uevent"); } @@ -360,6 +365,7 @@ void Dumpstate::dumpPowerSection(int fd) { "echo \"contaminant_detection_status:\"; cat $f/contaminant_detection_status; done"}); DumpFileToFd(fd, "PD Engine", "/dev/logbuffer_usbpd"); + DumpFileToFd(fd, "POGO Transport", "/dev/logbuffer_pogo_transport"); DumpFileToFd(fd, "PPS-google_cpm", "/dev/logbuffer_cpm"); DumpFileToFd(fd, "PPS-dc", "/dev/logbuffer_pca9468"); @@ -409,6 +415,11 @@ void Dumpstate::dumpPowerSection(int fd) { "for f in /d/maxfg* ; do " "regs=`cat $f/registers`; echo $f: ;" "echo \"$regs\"; done"}); + + RunCommandToFd(fd, "Maxim FG NV RAM", {"/vendor/bin/sh", "-c", + "for f in /d/maxfg* ; do " + "regs=`cat $f/nv_registers`; echo $f: ;" + "echo \"$regs\"; done"}); } /* EEPROM State */ @@ -418,9 +429,10 @@ void Dumpstate::dumpPowerSection(int fd) { RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom"}); } else if (!stat("/sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom", &buffer)) { RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom"}); + } else if (!stat("/sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom", &buffer)) { + RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom"}); } - DumpFileToFd(fd, "Charger Stats", "/sys/class/power_supply/battery/charge_details"); if (!PropertiesHelper::IsUserBuild()) { RunCommandToFd(fd, "Google Charger", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_charger/; " @@ -517,6 +529,7 @@ void Dumpstate::dumpTouchSection(int fd) { const char lsi_spi_path[] = "/sys/devices/virtual/sec/tsp"; const char syna_cmd_path[] = "/sys/class/spi_master/spi0/spi0.0/synaptics_tcm.0/sysfs"; const char focaltech_cmd_path[] = "/proc/focaltech_touch"; + const char gti0_cmd_path[] = "/sys/devices/virtual/goog_touch_interface/gti.0"; char cmd[256]; if (!access(focaltech_cmd_path, R_OK)) { @@ -808,6 +821,48 @@ void Dumpstate::dumpTouchSection(int fd) { lsi_spi_path, lsi_spi_path); RunCommandToFd(fd, "Force Touch Active", {"/vendor/bin/sh", "-c", cmd}); } + + if (!access(gti0_cmd_path, R_OK)) { + // Enable: force touch active + snprintf(cmd, sizeof(cmd), "echo 1 > %s/force_active", gti0_cmd_path); + RunCommandToFd(fd, "Force Touch Active", {"/vendor/bin/sh", "-c", cmd}); + + // Touch Firmware Version + snprintf(cmd, sizeof(cmd), "%s/fw_ver", gti0_cmd_path); + DumpFileToFd(fd, "Touch Firmware Version", cmd); + + // Get Mutual Sensing Data - Baseline + snprintf(cmd, sizeof(cmd), "cat %s/ms_base", gti0_cmd_path); + RunCommandToFd(fd, "Get Mutual Sensing Data - Baseline", {"/vendor/bin/sh", "-c", cmd}); + + // Get Mutual Sensing Data - Delta + snprintf(cmd, sizeof(cmd), "cat %s/ms_diff", gti0_cmd_path); + RunCommandToFd(fd, "Get Mutual Sensing Data - Delta", {"/vendor/bin/sh", "-c", cmd}); + + // Get Mutual Sensing Data - Raw + snprintf(cmd, sizeof(cmd), "cat %s/ms_raw", gti0_cmd_path); + RunCommandToFd(fd, "Get Mutual Sensing Data - Raw", {"/vendor/bin/sh", "-c", cmd}); + + // Get Self Sensing Data - Baseline + snprintf(cmd, sizeof(cmd), "cat %s/ss_base", gti0_cmd_path); + RunCommandToFd(fd, "Get Self Sensing Data - Baseline", {"/vendor/bin/sh", "-c", cmd}); + + // Get Self Sensing Data - Delta + snprintf(cmd, sizeof(cmd), "cat %s/ss_diff", gti0_cmd_path); + RunCommandToFd(fd, "Get Self Sensing Data - Delta", {"/vendor/bin/sh", "-c", cmd}); + + // Get Self Sensing Data - Raw + snprintf(cmd, sizeof(cmd), "cat %s/ss_raw", gti0_cmd_path); + RunCommandToFd(fd, "Get Self Sensing Data - Raw", {"/vendor/bin/sh", "-c", cmd}); + + // Self Test + snprintf(cmd, sizeof(cmd), "cat %s/self_test", gti0_cmd_path); + RunCommandToFd(fd, "Self Test", {"/vendor/bin/sh", "-c", cmd}); + + // Disable: force touch active + snprintf(cmd, sizeof(cmd), "echo 0 > %s/force_active", gti0_cmd_path); + RunCommandToFd(fd, "Disable Force Touch Active", {"/vendor/bin/sh", "-c", cmd}); + } } // Dump items related to SoC @@ -978,9 +1033,16 @@ void Dumpstate::dumpAoCSection(int fd) { DumpFileToFd(fd, "AoC audio wake", "/sys/devices/platform/19000000.aoc/control/audio_wakeup"); DumpFileToFd(fd, "AoC logging wake", "/sys/devices/platform/19000000.aoc/control/logging_wakeup"); DumpFileToFd(fd, "AoC hotword wake", "/sys/devices/platform/19000000.aoc/control/hotword_wakeup"); - RunCommandToFd(fd, "AoC memory exception wake", {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_exception"}, CommandOptions::WithTimeout(2).Build()); - RunCommandToFd(fd, "AoC memory votes", {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_votes"}, CommandOptions::WithTimeout(2).Build()); - RunCommandToFd(fd, "AoC Heap Stats (A32)", + RunCommandToFd(fd, "AoC memory exception wake", + {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_exception"}, + CommandOptions::WithTimeout(2).Build()); + RunCommandToFd(fd, "AoC memory votes A32", + {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_votes_a32"}, + CommandOptions::WithTimeout(2).Build()); + RunCommandToFd(fd, "AoC memory votes FF1", + {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_votes_ff1"}, + CommandOptions::WithTimeout(2).Build()); + RunCommandToFd(fd, "AoC Heap Stats (A32)", {"/vendor/bin/sh", "-c", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"}, CommandOptions::WithTimeout(1).Build()); RunCommandToFd(fd, "AoC Heap Stats (F1)", @@ -992,9 +1054,6 @@ void Dumpstate::dumpAoCSection(int fd) { RunCommandToFd(fd, "AoC Heap Stats (HF1)", {"/vendor/bin/sh", "-c", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"}, CommandOptions::WithTimeout(1).Build()); - RunCommandToFd(fd, "AoC MIF Stats", - {"/vendor/bin/sh", "-c", "echo 'mif details' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"}, - CommandOptions::WithTimeout(1).Build()); } // Dump items related to sensors usf. @@ -1012,6 +1071,9 @@ void Dumpstate::dumpSensorsUSFSection(int fd) { RunCommandToFd(fd, "USF Registry", {"/vendor/bin/sh", "-c", "usf_reg_edit save -"}, options); + RunCommandToFd(fd, "USF Last Stat Buffer", + {"/vendor/bin/sh", "-c", "cat /data/vendor/sensors/debug/stats.history"}, + options); } } } @@ -1066,6 +1128,21 @@ void Dumpstate::dumpTrustySection(int fd) { RunCommandToFd(fd, "Trusty TEE0 Logs", {"/vendor/bin/sh", "-c", "cat /dev/trusty-log0"}, CommandOptions::WithTimeout(1).Build()); } +// Dump items related to LED +void Dumpstate::dumpLEDSection(int fd) { + struct stat buffer; + + if (!PropertiesHelper::IsUserBuild()) { + if (!stat("/sys/class/leds/green", &buffer)) { + DumpFileToFd(fd, "Green LED Brightness", "/sys/class/leds/green/brightness"); + DumpFileToFd(fd, "Green LED Max Brightness", "/sys/class/leds/green/max_brightness"); + } + if (!stat("/mnt/vendor/persist/led/led_calibration_LUT.txt", &buffer)) { + DumpFileToFd(fd, "LED Calibration Data", "/mnt/vendor/persist/led/led_calibration_LUT.txt"); + } + } +} + void Dumpstate::dumpModemSection(int fd) { DumpFileToFd(fd, "Modem Stat", "/data/vendor/modem_stat/debug.txt"); RunCommandToFd(fd, "Modem SSR history", {"/vendor/bin/sh", "-c", diff --git a/dumpstate/Dumpstate.h b/dumpstate/Dumpstate.h index 1f2a5dab..eadaefe6 100644 --- a/dumpstate/Dumpstate.h +++ b/dumpstate/Dumpstate.h @@ -69,6 +69,7 @@ class Dumpstate : public BnDumpstateDevice { void dumpMiscSection(int fd); void dumpGscSection(int fd); void dumpTrustySection(int fd); + void dumpLEDSection(int fd); void dumpLogSection(int fd, int fdModem); diff --git a/fingerprint/fpc1540/fp_tool/Android.bp b/fingerprint/fpc1540/fp_tool/Android.bp new file mode 100644 index 00000000..56477d4f --- /dev/null +++ b/fingerprint/fpc1540/fp_tool/Android.bp @@ -0,0 +1,27 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "device_google_gs101_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["device_google_gs201_license"], +} + +cc_binary { + srcs: [ + "fp_test.cpp" + ], + local_include_dirs: ["."], + + name: "fp_test", + shared_libs: [ + "liblog", + "libdl", + "libutils", + "libcutils", + "libhidlbase", + "android.hardware.biometrics.fingerprint@2.1" + ], + proprietary:true, + +} diff --git a/fingerprint/fpc1540/fp_tool/fp_test.cpp b/fingerprint/fpc1540/fp_tool/fp_test.cpp new file mode 100644 index 00000000..f7e76771 --- /dev/null +++ b/fingerprint/fpc1540/fp_tool/fp_test.cpp @@ -0,0 +1,200 @@ +#include +#include +#include +#include "fp_test.h" +#include + +#define TAG "[FP_TEST] " +#define LOGI(format,...) ALOGI(TAG format,##__VA_ARGS__) +#define LOGD(format,...) ALOGD(TAG format,##__VA_ARGS__) +#define LOGE(format,...) ALOGE(TAG format,##__VA_ARGS__) +#define CLOGI(format,...) printf(TAG format,##__VA_ARGS__) +#define CLOGD(format,...) printf(TAG format,##__VA_ARGS__) +#define CLOGE(format,...) printf(TAG format,##__VA_ARGS__) + +#define LOGI_BOTH(format,...) { \ + ALOGI(TAG format,##__VA_ARGS__) \ + prinft(TAG format, ##__VA_ARGS__) \ +} \ + +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) +#define STRING_SIZE 32 + +#define FPS_SRV_PROP "fps_hal" +#define FPS_SRV_FULL_PROP "init.svc.fps_hal" +#define FPS_SRV_STATUS_PROP "vendor.fp.status" + +enum ErrorType { + OK, + ERROR +}; + +static const char* const cmdUsage[] = { + "-------fp_test tool usage--------", + "fp_test -e: Enable FPS service", + "fp_test -d: Disable FPS service", + "fp_test -i: Idle Mode", + "fp_test -n: Navigation Mode", + "fp_test -a: Authentication Mode", + "---------------------------------", +}; + +void toolUsage(void) { + int numCmdUsage = ARRAY_SIZE(cmdUsage); + for(int i = 0; i< numCmdUsage; i++) + CLOGI("%s\n",cmdUsage[i]); +} + +int checkParameter(int num, char **strArray) +{ + int ret = 0; + char parameter[STRING_SIZE] = {0,}; + if (num != 2 || (strlen(strArray[1]) > STRING_SIZE)) { + return -ERROR; + } + strcpy(parameter, strArray[1]); + if (!strncmp(parameter, "-a", sizeof("-a"))) { + CLOGI("Start Authentication Mode!\n"); + LOGI("Start Authentication Mode!\n"); + ret = 'a'; + } else if (!strncmp(parameter, "-n", sizeof("-n"))) { + CLOGI("Start Navigation Mode!\n"); + LOGI("Start Navigation Mode!\n"); + ret = 'n'; + } else if (!strncmp(parameter, "-i", sizeof("-i"))) { + CLOGI("Start Idle Mode!\n"); + LOGI("Start Idle Mode!\n"); + ret = 'n'; + } else if (!strncmp(parameter, "-e", sizeof("-e"))) { + CLOGI("Start enabling FPS service!\n"); + LOGI("Start enabling FPS service!\n"); + ret = 'e'; + } else if (!strncmp(parameter, "-d", sizeof("-d"))) { + CLOGI("Start disabling FPS service!\n"); + LOGI("Start disabling FPS service!\n"); + ret = 'd'; + } else { + ret = -ERROR; + } + return ret; +} + +int enable_disable_fps(bool set) +{ + int ret = 0; + // Set property to enable/disable fingerprint service + if (set == true) { + ret = property_set("ctl.start", FPS_SRV_PROP); + } else { + ret = property_set("ctl.stop", FPS_SRV_PROP); + } + + if (ret != 0) { + CLOGE("Failed to %s FPS service\n", set? "enable" : "disable"); + LOGE("Failed to %s FPS service\n", set? "enable" : "disable"); + return -ERROR; + } + + return ret; +} + +int run_auth_cmd() { + RequestStatus hidlRet; + uint64_t operationId = 0; + uint32_t gid = 0; + char tempbuf[PROPERTY_VALUE_MAX]; + + property_get(FPS_SRV_FULL_PROP, tempbuf, 0); + LOGE("%s : current fp service status is %s!\n",__func__, tempbuf); + if (!strncmp(tempbuf, "stopped", strlen("stopped"))) { + return -ERROR; + } + + sp service = IBiometricsFingerprint::getService(); + if (service == nullptr) { + CLOGE("%s : Fail to get FingerprintService!\n",__func__); + LOGE("%s : Fail to get FingerprintService!\n",__func__); + return -ERROR; + } + + hidlRet = service->authenticate(operationId, gid); + if (hidlRet == RequestStatus::SYS_OK) { + return OK; + } else { + return -ERROR; + } +} + +int run_cancel_cmd() { + + RequestStatus hidlRet; + char tempbuf[PROPERTY_VALUE_MAX]; + + property_get(FPS_SRV_FULL_PROP, tempbuf, 0); + LOGE("%s : current fp service status is %s!\n",__func__, tempbuf); + if (!strncmp(tempbuf, "stopped", strlen("stopped"))) { + return -ERROR; + } + + sp service = IBiometricsFingerprint::getService(); + if (service == nullptr) { + CLOGE("%s : Fail to get FingerprintService!\n",__func__); + LOGE("%s : Fail to get FingerprintService!\n",__func__); + return -ERROR; + } + + hidlRet = service->cancel(); + if (hidlRet == RequestStatus::SYS_OK) { + return OK; + } else { + return -ERROR; + } +} + +int main(int argc, char *argv[]) +{ + int input=0; + int32_t ret = 0; + LOGI("%s",__func__); + input = checkParameter(argc, argv); + if (input == -ERROR){ + LOGE("Invalid Parameter\n"); + CLOGE("Invalid Parameter\n"); + toolUsage(); + return -ERROR; + } + + switch (input) { + case 'e': + CLOGI("%s: Enable fingerprint service\n",__func__); + LOGI("%s: Enable fingerprint service\n",__func__); + ret = enable_disable_fps(true); + break; + case 'd': + CLOGI("%s: Disable fingerprint service\n",__func__); + LOGI("%s: Disable fingerprint service\n",__func__); + ret = enable_disable_fps(false); + break; + case 'a': + ret = run_auth_cmd(); + break; + // For the rear fingerprint module, calling cancel() will go to the + // navigation mode by default. + // For other device not enabling naivgation feature, default mode will + // be "Idle" by invoking cancel(). + case 'n': + case 'i': + default: + ret = run_cancel_cmd(); + break; + } + + if (ret != OK) + CLOGE("FP HIDL fail to excute cmd '%c'\n", input); + else + CLOGI("FP HIDL excute cmd '%c' successfully\n", input); + + return ret; + +} + diff --git a/fingerprint/fpc1540/fp_tool/fp_test.h b/fingerprint/fpc1540/fp_tool/fp_test.h new file mode 100644 index 00000000..15b3311d --- /dev/null +++ b/fingerprint/fpc1540/fp_tool/fp_test.h @@ -0,0 +1,16 @@ +#ifndef FP_TEST +#define FP_TEST + +#include +#include + +using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint; +using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback; +using android::hardware::biometrics::fingerprint::V2_1::RequestStatus; +using android::sp; + + +int main(int argc, char *argv[]); +void toolUsage(void); + +#endif //FP_TEST diff --git a/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so b/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so index 2ff17b07..729c29ec 100755 Binary files a/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so and b/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so differ diff --git a/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm b/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm index 2bcaebba..57c040be 100755 Binary files a/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm and b/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm differ diff --git a/gnss/47765/bin/flp.default.so b/gnss/47765/bin/flp.default.so index 55028628..55805030 100755 Binary files a/gnss/47765/bin/flp.default.so and b/gnss/47765/bin/flp.default.so differ diff --git a/gnss/47765/bin/gps.default.so b/gnss/47765/bin/gps.default.so index 012f134d..37d378f5 100755 Binary files a/gnss/47765/bin/gps.default.so and b/gnss/47765/bin/gps.default.so differ diff --git a/gnss/47765/bin/gpsd b/gnss/47765/bin/gpsd index 65a9fcd7..ca2001cd 100755 Binary files a/gnss/47765/bin/gpsd and b/gnss/47765/bin/gpsd differ diff --git a/gnss/47765/bin/lhd b/gnss/47765/bin/lhd index 285e3104..b1789ec7 100755 Binary files a/gnss/47765/bin/lhd and b/gnss/47765/bin/lhd differ diff --git a/gnss/47765/bin/scd b/gnss/47765/bin/scd index e395df44..22d5791a 100755 Binary files a/gnss/47765/bin/scd and b/gnss/47765/bin/scd differ diff --git a/gnss/47765/config/lhd.conf b/gnss/47765/config/lhd.conf deleted file mode 100644 index efde25ba..00000000 --- a/gnss/47765/config/lhd.conf +++ /dev/null @@ -1,33 +0,0 @@ -LheName=bbd - -LheRsmResetTimeoutMS=10000 -GpioNStdbyPath=/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby - -LhePatch=/vendor/firmware/SensorHub.patch -Lhe477xDebugFlags=RPC:FACILITY=65535-dKP+CUST+LHE:STDOUT_PUTS:STDOUT_LOG -LheConsole=/data/vendor/gps/LheConsole - -LogEnabled=true -Log=JAVA -LogDirectory=/sdcard/gps/broadcom/storage - -LheBbdPacket=/dev/ttyBCM - -LheBbdControl=/dev/bbd_control - -# LheBbdSensor=/dev/bbd_sensor - -LheFailSafe=/data/vendor/gps/logs/esw-crash-dump.txt -LogLevel=*:I - -NvStorageDir=/data/vendor/gps/ - -# Enable BBD debugging at these stages: -# LheDriverDebugFlags=PATCH_BBD:LHE_BBD:FSC_BBD - -LheAutoBaudDelayMS=10 -TrafficLogEnabled=false -SecondaryConfigPath=/data/vendor/gps/overlay/lhd_overlay.conf - -SkipSensorWakeLock=true -LoggerWakeLockEnable=false diff --git a/gnss/47765/config/lhd_user.conf b/gnss/47765/config/lhd_user.conf deleted file mode 100644 index 0216ace9..00000000 --- a/gnss/47765/config/lhd_user.conf +++ /dev/null @@ -1,31 +0,0 @@ -LheName=bbd - -LheRsmResetTimeoutMS=10000 -GpioNStdbyPath=/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby - -LhePatch=/vendor/firmware/SensorHub.patch -Lhe477xDebugFlags=RPC:FACILITY=65535-dKP+CUST+LHE:STDOUT_PUTS:STDOUT_LOG -# LheConsole=/data/vendor/gps/LheConsole - -LogEnabled=false -Log=JAVA -LogDirectory=/sdcard/gps/broadcom/storage - -LheBbdPacket=/dev/ttyBCM - -LheBbdControl=/dev/bbd_control - -# LheBbdSensor=/dev/bbd_sensor - -# LheFailSafe=/data/vendor/gps/esw-crash-dump.txt - -NvStorageDir=/data/vendor/gps/ - -# Enable BBD debugging at these stages: -# LheDriverDebugFlags=PATCH_BBD:LHE_BBD:FSC_BBD - -LheAutoBaudDelayMS=10 -TrafficLogEnabled=false - -SkipSensorWakeLock=true -LoggerWakeLockEnable=false diff --git a/gnss/47765/config/scd.conf b/gnss/47765/config/scd.conf deleted file mode 100644 index 43f9cd27..00000000 --- a/gnss/47765/config/scd.conf +++ /dev/null @@ -1,6 +0,0 @@ -LogEnabled=true -Log=JAVA -LogDirectory=/sdcard/gps/broadcom/storage -NvStorageDir=/data/vendor/gps/ -TcpConnectionTimeout=20 -SecondaryConfigPath=/data/vendor/gps/overlay/scd_overlay.conf diff --git a/gnss/47765/config/scd_user.conf b/gnss/47765/config/scd_user.conf deleted file mode 100644 index e75f209b..00000000 --- a/gnss/47765/config/scd_user.conf +++ /dev/null @@ -1,5 +0,0 @@ -LogEnabled=false -Log=JAVA -LogDirectory=/sdcard/gps/broadcom/storage -NvStorageDir=/data/vendor/gps/ -TcpConnectionTimeout=20 diff --git a/gnss/47765/firmware/SensorHub.patch b/gnss/47765/firmware/SensorHub.patch index f8e451b2..9d7016b6 100644 --- a/gnss/47765/firmware/SensorHub.patch +++ b/gnss/47765/firmware/SensorHub.patch @@ -1,9 +1,9 @@ - + - + @@ -79,7 +79,7 @@ F087FE022102914FF4005101915B220748084B00F13801 009102A101F438F703B000BD4170700080BD8900708989 00805D8A006905800025643A2564095374617274206368 70704170705461736B0A00000000633A5C77735C626F64 -5F3437373631313038375F3534353339305C637573746F +5F3437373631313336315F3534373834345C637573746F 6D6572735C676F6F676C655C503231466C61677461696C 6D63755C64656C69766572795C53656E736F724875625F 5032315C7372635C6875625F636F6E74726F6C6C65722E @@ -390,7 +390,7 @@ D00FF298080FF2206140F271673B4642468B2011F48EF2 F22046FEF700FF07E002464FF4D1630FF2F4518F2011F4 5FF2FEF769FC04F5A6620A23C2E9000105F0F00006F00F 0101433A462046BDE8F041FFF7BDBB0000633A5C77735C -626F645F3437373631313038375F3534353339305C6375 +626F645F3437373631313336315F3534373834345C6375 73746F6D6572735C676F6F676C655C503231466C616774 61696C6D63755C64656C69766572795C53656E736F7248 75625F5032315C7372635C636870705C7472616E73706F @@ -526,7 +526,7 @@ B590B00C46C17B0FF248420E91817B0D91417B0C91017B 25210378204626F4F1F510B010BD000025643A25640948 232568687520756E6B6E6F776E20726571756573742E20 636D643D2523782C2049443D256868750A00633A5C7773 -5C626F645F3437373631313038375F3534353339305C63 +5C626F645F3437373631313336315F3534373834345C63 7573746F6D6572735C676F6F676C655C503231466C6167 7461696C6D63755C64656C69766572795C53656E736F72 4875625F5032315C7372F19403502E8000635C63687070 @@ -585,7 +585,7 @@ F752DEC007F9D5FFF7CBFFF6E700B583B0022102914FF4 D803B000BDF07E8A000C53890028878A00113280009D32 800025643A256409434850502042617564726174652069 732073657420746F20256C640A0A00633A5C77735C626F -645F3437373631313038375F3534353339305C63757374 +645F3437373631313336315F3534373834345C63757374 6F6D6572735C676F6F676C655C503231466C6167746169 6C6D63755C64656C69766572795C53656E736F72487562 5F5032315C7372635C73656E736F725F6875622E630000 @@ -679,13 +679,13 @@ E08619AE4210D22946204600F067FF0028F6D510F1040F B5C90382B0A0F5A86419D500F65C552846FDF7F6DD0600 12D00020009069462846FDF712DE761E012804DB024600 992046FEF79EF82846FDF76FDD002EECD173BD70470000 -633A5C77735C626F645F3437373631313038375F353435 -3339305C637573746F6D6572735C676F6F676C655C5032 +633A5C77735C626F645F3437373631313336315F353437 +3834345C637573746F6D6572735C676F6F676C655C5032 31466C61677461696C6D63755C64656C69766572795C53 656E736F724875625F5032315C7372635C636870705C69 6E636C7564655C636870702F7472616E73706F72742E68 -00633A5C77735C626F645F3437373631313038375F3534 -353339305C637573746F6D6572735C676F6F676C655C50 +00633A5C77735C626F645F3437373631313336315F3534 +373834345C637573746F6D6572735C676F6F676C655C50 3231466C61677461696C6D63755C64656C69766572795C 53656E736F724875625F5032315C7372635C636870705C 706C6174666F726D5C62636D5C42434D343737785C6C69 @@ -696,7 +696,7 @@ B5C90382B0A0F5A86419D500F65C552846FDF7F6DD0600 D1D6E90223D0E918679F42E7D8E8D39642E4D2E5E7D0E9 1823CDE900230FF27C010FF2100240F21E238F200FF4B1 F403B0F0BD0000633A5C77735C626F645F343737363131 -3038375F3534353339305C637573746F6D6572735C676F +3336315F3534373834345C637573746F6D6572735C676F 6F676C655C503231466C61677461696C6D63755C64656C 69766572795C53656E736F724875625F5032315C737263 5C636870705C636C69656E74732E630000000025643A25 @@ -706,7 +706,7 @@ F403B0F0BD0000633A5C77735C626F645F343737363131 21FEF75DF80AE03246294625F420F40120787032462068 3946FEF718F8012003B0F0BD25643A2564094F4F4D2061 742025733A25640A00633A5C77735C626F645F34373736 -31313038375F3534353339305C637573746F6D6572735C +31313336315F3534373834345C637573746F6D6572735C 676F6F676C655C503231466C61677461696C6D63755C64 656C69766572795C53656E736F724875625F5032315C73 72635C636870705C73657276696365735C6C6F6F706261 @@ -718,8 +718,8 @@ D4FFC6F80600C6F80A103923D6F80600D6F80A10CDE902 0122460E2000908F200FF2B0010FF4C3F32868314604B0 BDE870400E22FDF78CBF10B58B880124012B02D1FFF7BE FF00E00024204610BD25643A2564094F4F4D2061742025 -733A25640A00633A5C77735C626F645F34373736313130 -38375F3534353339305C637573746F6D6572735C676F6F +733A25640A00633A5C77735C626F645F34373736313133 +36315F3534373834345C637573746F6D6572735C676F6F 676C655C503231466C61677461696C6D63755C64656C69 766572795C53656E736F724875625F5032315C7372635C 636870705C73657276696365735C74696D6573796E632E @@ -734,7 +734,7 @@ D13B2001903B230FF280040FF26801009422468B200FF4 314603B0BDE8F043FDF7E2BE10B58A880124012A02D1FF F7BAFF00E00024204610BD25643A2564094F4F4D206174 2025733A25640A00633A5C77735C626F645F3437373631 -313038375F3534353339305C637573746F6D6572735C67 +313336315F3534373834345C637573746F6D6572735C67 6F6F676C655C503231466C61677461696C6D63755C6465 6C69766572795C53656E736F724875625F5032315C7372 635C636870705C73657276696365735C646973636F7665 @@ -761,7 +761,7 @@ D0CDE9000197230FF2B8020FF2B0118B200FF41BF2FFF7 05CDE90445AD230FF2AC118F200FF4D8F106B0BDE87083 70B50446084615461E46FFF7BEFF3246294620680068BD E87040FDF797BD00000000633A5C77735C626F645F3437 -373631313038375F3534353339305C637573746F6D6572 +373631313336315F3534373834345C637573746F6D6572 735C676F6F676C655C503231466C61677461696C6D6375 5C64656C69766572795C53656E736F724875625F503231 5C7372635C636870705C73657276696365732E63000000 @@ -788,8 +788,8 @@ D009D31AE001A8009038230FF264020FF250018B2019E0 230FF240020FF22C018E2007E001A8009042230FF22C02 0FF218018F200FF49DF00DF5027D10BC5DF80CFB0FF284 014160704725643A25640950414C3A2025730A0000633A -5C77735C626F645F3437373631313038375F3534353339 -305C637573746F6D6572735C676F6F676C655C50323146 +5C77735C626F645F3437373631313336315F3534373834 +345C637573746F6D6572735C676F6F676C655C50323146 6C61677461696C6D63755C64656C69766572795C53656E 736F724875625F5032315C7372635C636870705C706C61 74666F726D5C70616C5F6170692E6300000000000001C9 @@ -848,7 +848,7 @@ F7A8FE6089FFF793FE42F654000059FFF7A0FE02200290 32BD13460A4601460248007810F469B000001453890055 47800065478000687B890060D09100354780002B488000 436870704C696E6B5461736B00000000633A5C77735C62 -6F645F3437373631313038375F3534353339305C637573 +6F645F3437373631313336315F3534373834345C637573 746FF19403D04A80006D6572735C676F6F676C655C5032 31466C61677461696C6D63755C64656C69766572795C53 656E736F724875625F5032315C7372635C636870705C70 @@ -914,7 +914,7 @@ BD38B504464FF0827000F0B5FC144DA86078B90FF27004 0023002240F293210FF2380001B0BDE83040FBF732BB31 BD0000D088890025643A256409474E5353207365727669 636520616C7265616479206F70656E0A00000000633A5C -77735C626F645F3437373631313038375F353435333930 +77735C626F645F3437373631313336315F353437383434 5C637573746F6D6572735C676F6F676C655C503231466C 61677461696C6D63755C64656C69766572795C53656E73 6F724875625F5032315C7372635C636870705C73657276 @@ -965,7 +965,7 @@ B6F9286060B13421ADF80410821D01A900913B46811D20 0023002295210FF23000FBF7EFF836B90023002296210F F22000FBF7E7F83620FEF78EF9286030B1811D2046FFF7 99FF36203060012070BD633A5C77735C626F645F343737 -3631313038375F3534353339305C637573746F6D657273 +3631313336315F3534373834345C637573746F6D657273 5C676F6F676C655C503231466C61677461696C6D63755C 64656C69766572795C53656E736F724875625F5032315C 7372635C636870705C636F6D6D6F6E5C676E73735F63F1 @@ -1020,7 +1020,7 @@ B02016BD6272636D476E73734F6E4D6561734461746100 0025643A2564095B25735D204D6561737572656D656E74 2064617461206576656E74203A206D6561737572656D65 6E745F636F756E74203D20282564290A000000633A5C77 -735C626F645F3437373631313038375F3534353339305C +735C626F645F3437373631313336315F3534373834345C 637573746F6D6572735C676F6F676C655C503231466C61 677461696C6D63755C64656C69766572795C53656E736F 724875625F5032315C7372635C636870705C706C617466 @@ -1229,9 +1229,9 @@ A288F2804343226C9A4214D291FBF0F111FB00F1A980F1 8891FBF0F111FB00F008E0B08838B1A88070BD00291CBF F088002800D0A08070BD0B480170704700000948007870 4700000848017070470000064800787047000001484161 -70470000787B89006E52080099CB91009ACB91002F2F64 +70470000787B8900045C080099CB91009ACB91002F2F64 65706F742F636C69656E742F636F72652F72656C2F476F -6F676C652F5032322F3534323934312F2E2E2E0000007E +6F676C652F5032322F3534353339302F2E2E2E0000007E 24247E5056542044756D70203A20474C4C207665722E20 256C7520666C61677461696C3A25730A000000007E2424 7E5056542044756D70203A2054203D20256C752C204E54 diff --git a/gnss/device-gnss.mk b/gnss/device-gnss.mk index 08afe191..5c5c2606 100644 --- a/gnss/device-gnss.mk +++ b/gnss/device-gnss.mk @@ -3,16 +3,6 @@ PRODUCT_COPY_FILES += \ device/google/gs201/gnss/47765/config/gps.cer:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.cer \ device/google/gs201/gnss/47765/firmware/SensorHub.patch:$(TARGET_COPY_OUT_VENDOR)/firmware/SensorHub.patch -ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) - PRODUCT_COPY_FILES += \ - device/google/gs201/gnss/47765/config/lhd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \ - device/google/gs201/gnss/47765/config/scd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf -else - PRODUCT_COPY_FILES += \ - device/google/gs201/gnss/47765/config/lhd_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \ - device/google/gs201/gnss/47765/config/scd_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf -endif - PRODUCT_SOONG_NAMESPACES += \ device/google/gs201/gnss/47765 diff --git a/health/Health.cpp b/health/Health.cpp index b69b7845..7d320582 100644 --- a/health/Health.cpp +++ b/health/Health.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -55,7 +54,6 @@ using aidl::android::hardware::health::charger::ChargerCallback; using aidl::android::hardware::health::charger::ChargerModeMain; using hardware::google::pixel::health::BatteryDefender; using hardware::google::pixel::health::BatteryMetricsLogger; -using hardware::google::pixel::health::BatteryThermalControl; using hardware::google::pixel::health::DeviceHealth; using hardware::google::pixel::health::LowBatteryShutdownMetrics; using hardware::google::pixel::health::ChargerDetect; @@ -70,8 +68,6 @@ constexpr char kVoltageAvg[] {FG_DIR "/voltage_now"}; static BatteryDefender battDefender(WLC_DIR "/present", "/sys/devices/platform/google,charger/charge_start_level", "/sys/devices/platform/google,charger/charge_stop_level"); -static BatteryThermalControl battThermalControl( - "dev/thermal/tz-by-name/soc/mode"); static BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV); static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg); static DeviceHealth deviceHealth; @@ -147,7 +143,6 @@ void private_healthd_board_init(struct healthd_config *hc) { int private_healthd_board_battery_update(HealthInfo *health_info) { int batt_level; deviceHealth.update(health_info); - battThermalControl.updateThermalState(*health_info); battMetricsLogger.logBatteryProperties(*health_info); shutdownMetrics.logShutdownVoltage(*health_info); // Allow BatteryDefender to override online properties diff --git a/init.insmod.sh b/init.insmod.sh index 97ae7bcb..645391af 100755 --- a/init.insmod.sh +++ b/init.insmod.sh @@ -51,6 +51,8 @@ else # to unblock early-boot trigger setprop vendor.common.modules.ready setprop vendor.device.modules.ready + setprop vendor.all.modules.ready + setprop vendor.all.devices.ready exit 1 fi diff --git a/manifest-gralloc3.xml b/manifest-gralloc3.xml index 68cac541..920307a3 100644 --- a/manifest-gralloc3.xml +++ b/manifest-gralloc3.xml @@ -131,14 +131,13 @@ default - - vendor.google.google_battery - hwbinder - 1.2 - - IGoogleBattery - default - + + vendor.google.google_battery + 1 + + IGoogleBattery + default + vendor.google.whitechapel.audio.audioext diff --git a/manifest.xml b/manifest.xml index a89d04cf..347e8573 100644 --- a/manifest.xml +++ b/manifest.xml @@ -64,15 +64,6 @@ default - - vendor.google.google_battery - hwbinder - 1.2 - - IGoogleBattery - default - - vendor.google.whitechapel.audio.audioext hwbinder diff --git a/media_codecs_aosp_c2.xml b/media_codecs_aosp_c2.xml index c2eed11f..ea96e21b 100644 --- a/media_codecs_aosp_c2.xml +++ b/media_codecs_aosp_c2.xml @@ -164,6 +164,7 @@ + @@ -180,6 +181,7 @@ + @@ -195,6 +197,7 @@ + @@ -209,6 +212,7 @@ + @@ -224,6 +228,7 @@ + @@ -239,6 +244,7 @@ + diff --git a/media_codecs_bo_c2.xml b/media_codecs_bo_c2.xml index a198a5ae..7830b9c9 100644 --- a/media_codecs_bo_c2.xml +++ b/media_codecs_bo_c2.xml @@ -15,6 +15,7 @@ --> + diff --git a/modem/userdebug.mk b/modem/userdebug.mk index ba4c0e9d..2b0c3983 100644 --- a/modem/userdebug.mk +++ b/modem/userdebug.mk @@ -1 +1,3 @@ -PRODUCT_PACKAGES += vcd +ifneq ($(BOARD_WITHOUT_RADIO),true) + PRODUCT_PACKAGES += vcd +endif diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index 23ae5f76..83a46727 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -28,6 +28,7 @@ using android::hardware::google::pixel::SysfsCollector; using android::hardware::google::pixel::UeventListener; +#define BLOCK_STATS_LENGTH 17 #define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename #define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type const struct SysfsCollector::SysfsPaths sysfs_paths = { @@ -55,6 +56,16 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { UFS_ERR_PATH(fatal_err_count), UFS_ERR_PATH(auto_hibern8_err_count) }, + .BlockStatsLength = BLOCK_STATS_LENGTH, + .AmsRatePath = "/sys/devices/platform/audiometrics/ams_rate_read_once", + .ThermalStatsPaths = { + "/sys/devices/platform/100a0000.BIG/trip_counter", + "/sys/devices/platform/100a0000.MID/trip_counter", + "/sys/devices/platform/100a0000.LITTLE/trip_counter", + "/sys/devices/platform/100b0000.G3D/trip_counter", + "/sys/devices/platform/100b0000.TPU/trip_counter", + "/sys/devices/platform/100b0000.AUR/trip_counter", + } }; const struct UeventListener::UeventPaths ueventPaths = { diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp index e361fc56..5b3bc2b6 100644 --- a/powerstats/Gs201CommonDataProviders.cpp +++ b/powerstats/Gs201CommonDataProviders.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -41,6 +42,7 @@ using aidl::android::hardware::power::stats::GenericStateResidencyDataProvider; using aidl::android::hardware::power::stats::IioEnergyMeterDataProvider; using aidl::android::hardware::power::stats::PixelStateResidencyDataProvider; using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; +using aidl::android::hardware::power::stats::WlanStateResidencyDataProvider; // TODO (b/181070764) (b/182941084): // Remove this when Wifi/BT energy consumption models are available or revert before ship @@ -167,64 +169,6 @@ void addDvfsStats(std::shared_ptr p) { std::vector cfgs; - cfgs.push_back({"CL0", { - std::make_pair("2024MHz", "2024000"), - std::make_pair("1950MHz", "1950000"), - std::make_pair("1803MHz", "1803000"), - std::make_pair("1704MHz", "1704000"), - std::make_pair("1598MHz", "1598000"), - std::make_pair("1401MHz", "1401000"), - std::make_pair("1328MHz", "1328000"), - std::make_pair("1197MHz", "1197000"), - std::make_pair("1098MHz", "1098000"), - std::make_pair("930MHz", "930000"), - std::make_pair("738MHz", "738000"), - std::make_pair("574MHz", "574000"), - std::make_pair("300MHz", "300000"), - std::make_pair("0MHz", "0"), - }}); - - cfgs.push_back({"CL1", { - std::make_pair("2348MHz", "2348000"), - std::make_pair("2253MHz", "2253000"), - std::make_pair("2130MHz", "2130000"), - std::make_pair("1999MHz", "1999000"), - std::make_pair("1836MHz", "1836000"), - std::make_pair("1663MHz", "1663000"), - std::make_pair("1491MHz", "1491000"), - std::make_pair("1328MHz", "1328000"), - std::make_pair("1197MHz", "1197000"), - std::make_pair("1024MHz", "1024000"), - std::make_pair("910MHz", "910000"), - std::make_pair("799MHz", "799000"), - std::make_pair("696MHz", "696000"), - std::make_pair("553MHz", "553000"), - std::make_pair("400MHz", "400000"), - std::make_pair("0MHz", "0"), - }}); - - cfgs.push_back({"CL2", { - std::make_pair("2850MHz", "2850000"), - std::make_pair("2802MHz", "2802000"), - std::make_pair("2704MHz", "2704000"), - std::make_pair("2630MHz", "2630000"), - std::make_pair("2507MHz", "2507000"), - std::make_pair("2401MHz", "2401000"), - std::make_pair("2252MHz", "2252000"), - std::make_pair("2188MHz", "2188000"), - std::make_pair("2048MHz", "2048000"), - std::make_pair("1826MHz", "1826000"), - std::make_pair("1745MHz", "1745000"), - std::make_pair("1582MHz", "1582000"), - std::make_pair("1426MHz", "1426000"), - std::make_pair("1277MHz", "1277000"), - std::make_pair("1106MHz", "1106000"), - std::make_pair("984MHz", "984000"), - std::make_pair("851MHz", "851000"), - std::make_pair("500MHz", "500000"), - std::make_pair("0MHz", "0"), - }}); - cfgs.push_back({"TPU", { std::make_pair("1066MHz", "1066000"), std::make_pair("845MHz", "845000"), @@ -234,6 +178,14 @@ void addDvfsStats(std::shared_ptr p) { std::make_pair("0MHz", "0"), }}); + cfgs.push_back({"AUR", { + std::make_pair("1160MHz", "1160000"), + std::make_pair("750MHz", "750000"), + std::make_pair("373MHz", "373000"), + std::make_pair("178MHz", "178000"), + std::make_pair("0MHz", "0"), + }}); + p->addStateResidencyDataProvider(std::make_unique( "/sys/devices/platform/acpm_stats/fvp_stats", NS_TO_MS, cfgs)); } @@ -343,6 +295,15 @@ void addCPUclusters(std::shared_ptr p) { p->addStateResidencyDataProvider(std::make_unique( "/sys/devices/platform/acpm_stats/core_stats", cfgs)); + p->addStateResidencyDataProvider(std::make_unique( + "CL0", "/sys/devices/system/cpu/cpufreq/policy0/stats")); + + p->addStateResidencyDataProvider(std::make_unique( + "CL1", "/sys/devices/system/cpu/cpufreq/policy4/stats")); + + p->addStateResidencyDataProvider(std::make_unique( + "CL2", "/sys/devices/system/cpu/cpufreq/policy6/stats")); + p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"})); p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, @@ -371,7 +332,7 @@ void addGPU(std::shared_ptr p) { {"848000", 4044}}; p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer(p, - EnergyConsumerType::OTHER, "GPU", {"S8S_VDD_G3D_L2"}, + EnergyConsumerType::OTHER, "GPU", {"S8S_VDD_G3D_L2", "S2S_VDD_G3D"}, {{UID_TIME_IN_STATE, "/sys/devices/platform/28000000.mali/uid_time_in_state"}}, stateCoeffs)); @@ -528,6 +489,12 @@ void addWifi(std::shared_ptr p) { cfgs)); } +void addWlan(std::shared_ptr p) { + p->addStateResidencyDataProvider(std::make_unique( + "WLAN", + "/sys/kernel/wifi/power_stats")); +} + void addUfs(std::shared_ptr p) { p->addStateResidencyDataProvider(std::make_unique("/sys/bus/platform/devices/14700000.ufs/ufs_stats/")); } @@ -632,10 +599,9 @@ void addPixelStateResidencyDataProvider(std::shared_ptr p) { p->addStateResidencyDataProvider(std::move(pixelSdp)); } -void addGs201CommonDataProviders(std::shared_ptr p) { +void addCommonDataProviders(std::shared_ptr p) { setEnergyMeter(p); - addPixelStateResidencyDataProvider(p); addAoC(p); addDvfsStats(p); addSoC(p); @@ -644,7 +610,6 @@ void addGs201CommonDataProviders(std::shared_ptr p) { addMobileRadio(p); addGNSS(p); addPCIe(p); - addWifi(p); addUfs(p); addPowerDomains(p); addDevfreq(p); @@ -655,6 +620,33 @@ void addGs201CommonDataProviders(std::shared_ptr p) { addPlaceholderEnergyConsumers(p); } +void addGs201CommonDataProviders(std::shared_ptr p) { + addCommonDataProviders(p); + addPixelStateResidencyDataProvider(p); + addWifi(p); +} + +void addGs201CommonDataProvidersQc(std::shared_ptr p) { + addCommonDataProviders(p); + addWlan(p); +} + +void addGs201CommonDataProvidersBig(std::shared_ptr p) { + setEnergyMeter(p); + + addAoC(p); + addDvfsStats(p); + addSoC(p); + addCPUclusters(p); + addGPU(p); + addUfs(p); + addPowerDomains(p); + addDevfreq(p); + addTPU(p); + addPixelStateResidencyDataProvider(p); + addWifi(p); +} + void addNFC(std::shared_ptr p, const std::string& path) { const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = { .entryCountSupported = true, diff --git a/powerstats/include/Gs201CommonDataProviders.h b/powerstats/include/Gs201CommonDataProviders.h index a4b9232a..3f66637a 100644 --- a/powerstats/include/Gs201CommonDataProviders.h +++ b/powerstats/include/Gs201CommonDataProviders.h @@ -21,5 +21,6 @@ using aidl::android::hardware::power::stats::PowerStats; void addGs201CommonDataProviders(std::shared_ptr p); - +void addGs201CommonDataProvidersBig(std::shared_ptr p); +void addGs201CommonDataProvidersQc(std::shared_ptr p); void addNFC(std::shared_ptr p, const std::string& path); diff --git a/radio/config/Pixel_Default.nprf b/radio/config/Pixel_Default.nprf index 922e011a..b21a27e8 100644 Binary files a/radio/config/Pixel_Default.nprf and b/radio/config/Pixel_Default.nprf differ diff --git a/radio/config/Pixel_stability.nprf b/radio/config/Pixel_stability.nprf index 36044e1c..b8ab831f 100644 Binary files a/radio/config/Pixel_stability.nprf and b/radio/config/Pixel_stability.nprf differ diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index 82f6e184..d7227840 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -732,7 +732,9 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb, // When connected return powerBrickStatus if (port.second) { string usbType; - if (ReadFileToString(string(kPowerSupplyUsbType), &usbType)) { + if ((*currentPortStatus)[i].currentPowerRole == PortPowerRole::SOURCE) { + (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::NOT_CONNECTED; + } else if (ReadFileToString(string(kPowerSupplyUsbType), &usbType)) { if (strstr(usbType.c_str(), "[D")) { (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::CONNECTED; } else if (strstr(usbType.c_str(), "[U")) { diff --git a/usb/usb/android.hardware.usb-service.rc b/usb/usb/android.hardware.usb-service.rc index dcdabf7e..f06b46b7 100644 --- a/usb/usb/android.hardware.usb-service.rc +++ b/usb/usb/android.hardware.usb-service.rc @@ -20,16 +20,9 @@ on post-fs chown root system /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/usb_limit_sink_enable chown root system /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/usb_limit_source_enable chown root system /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/usb_limit_source_enable - 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 - chmod 664 /sys/devices/platform/11110000.usb/dwc3_exynos_otg_b_sess - chmod 664 /sys/devices/platform/11110000.usb/dwc3_exynos_otg_id - chmod 664 /sys/devices/platform/11110000.usb/usb_data_enabled chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/contaminant_detection chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/contaminant_detection chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/usb_limit_accessory_current @@ -42,4 +35,3 @@ on post-fs chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/usb_limit_sink_enable chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/usb_limit_source_enable chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/usb_limit_source_enable - chmod 664 /sys/devices/platform/google,pogo/enable_usb diff --git a/wifi/qcom/BoardConfig-wifi.mk b/wifi/qcom/BoardConfig-wifi.mk index b49c7b21..dcc75a9c 100644 --- a/wifi/qcom/BoardConfig-wifi.mk +++ b/wifi/qcom/BoardConfig-wifi.mk @@ -18,6 +18,7 @@ LOCAL_WIFI_PATH := device/google/gs201/wifi/qcom # wlan flags BOARD_WLAN_DEVICE := qcwcn +BOARD_WLAN_CHIP := wcn6740 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) BOARD_WPA_SUPPLICANT_DRIVER := NL80211 @@ -39,6 +40,7 @@ WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan" WIFI_DRIVER_STATE_ON := "ON" WIFI_DRIVER_STATE_OFF := "OFF" +BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL := true # WLAN driver configuration files PRODUCT_COPY_FILES += \ diff --git a/wifi/qcom/p2p_supplicant_overlay.conf b/wifi/qcom/p2p_supplicant_overlay.conf index d66504cc..92021fd1 100644 --- a/wifi/qcom/p2p_supplicant_overlay.conf +++ b/wifi/qcom/p2p_supplicant_overlay.conf @@ -1,2 +1,3 @@ disable_scan_offload=1 p2p_go_vht=1 +p2p_6ghz_disable=1