Merge Android 13 QPR1

Bug: 261731544
Merged-In: I282f5129bcc91d99e924f514b01fc4e7e37e9ea9
Change-Id: Iffde0bea774b438cf7f4caa74fd4852d2db2aec7
This commit is contained in:
Xin Li 2022-12-09 10:24:36 -08:00
commit 2f23c3e067
49 changed files with 656 additions and 318 deletions

View file

@ -411,3 +411,6 @@ BOARD_KERNEL_CMDLINE += log_buf_len=1024K
# Protected VM firmware # Protected VM firmware
BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000 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

View file

@ -44,6 +44,7 @@ const struct MitigationConfig::Config cfg = {
"/dev/thermal/cdev-by-name/tpu_cooling/cur_state", "/dev/thermal/cdev-by-name/tpu_cooling/cur_state",
"/dev/thermal/cdev-by-name/CAM/cur_state", "/dev/thermal/cdev-by-name/CAM/cur_state",
"/dev/thermal/cdev-by-name/DISP/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/voltage_now",
"/sys/class/power_supply/battery/current_now", "/sys/class/power_supply/battery/current_now",
}, },
@ -56,7 +57,7 @@ const struct MitigationConfig::Config cfg = {
.SystemName = { .SystemName = {
"batoilo", "smpl_gm", "soc", "vdroop1", "vdroop2", "ocp_gpu", "batoilo", "smpl_gm", "soc", "vdroop1", "vdroop2", "ocp_gpu",
"ocp_tpu", "soft_ocp_cpu2", "soft_ocp_cpu1", "battery", "battery_cycle", "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", "voltage_now", "current_now",
}, },
.LogFilePath = "/data/vendor/mitigation/thismeal.txt", .LogFilePath = "/data/vendor/mitigation/thismeal.txt",

View file

@ -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 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 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 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 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 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 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 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 on property:vendor.thermal.link_ready=1
mkdir /data/vendor/mitigation 0755 system system mkdir /data/vendor/mitigation 0755 system system

View file

@ -12,9 +12,6 @@ vendor /vendor
vendor_dlkm /vendor_dlkm ext4 ro wait,slotselect,avb=vbmeta,logical,first_stage_mount 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/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/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/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/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 #/dev/block/platform/14700000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount

View file

@ -1,5 +1,8 @@
# Android fstab file. # Android fstab file.
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> # <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# Create the specific fstab file for modem partition as flexibility # 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 erofs ro,defaults,context=u:object_r:modem_img_file:s0 wait,slotselect
/dev/block/platform/14700000.ufs/by-name/modem /mnt/vendor/modem_img ext4 ro,defaults,context=u:object_r:modem_img_file:s0,barrier=1 wait,slotselect /dev/block/platform/14700000.ufs/by-name/modem /mnt/vendor/modem_img ext4 ro,defaults,context=u:object_r:modem_img_file:s0,barrier=1 wait,slotselect

View file

@ -20,6 +20,9 @@ on init
chown system system /d/maxfg/fg_model chown system system /d/maxfg/fg_model
chown system system /d/maxfg/registers chown system system /d/maxfg/registers
chown system system /d/maxfg_base/fg_model 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 on property:vendor.debug.ramdump.force_crash=true
write /sys/kernel/pixel_debug/trigger "null" write /sys/kernel/pixel_debug/trigger "null"
@ -33,4 +36,5 @@ on property:power.battery_input.suspended=false
# Bluetooth # Bluetooth
on post-fs-data on post-fs-data
chown bluetooth system /dev/logbuffer_btlpm chown bluetooth system /dev/logbuffer_btlpm
chown bluetooth system /dev/logbuffer_btpower
chown bluetooth system /dev/logbuffer_tty18 chown bluetooth system /dev/logbuffer_tty18

View file

@ -223,6 +223,7 @@ on init
chown system system /dev/logbuffer_ttf chown system system /dev/logbuffer_ttf
chown system system /dev/logbuffer_tcpm chown system system /dev/logbuffer_tcpm
chown system system /dev/logbuffer_usbpd chown system system /dev/logbuffer_usbpd
chown system system /dev/logbuffer_pogo_transport
chown system system /dev/logbuffer_wireless chown system system /dev/logbuffer_wireless
chown system system /dev/logbuffer_pca9468 chown system system /dev/logbuffer_pca9468
chown system system /dev/logbuffer_cpm chown system system /dev/logbuffer_cpm
@ -230,16 +231,13 @@ on init
# Dump maxfg # Dump maxfg
chown system system /sys/class/power_supply/maxfg/m5_model_state 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 /sys/class/power_supply/maxfg_base/m5_model_state
chown system system /dev/maxfg_history
# Dump eeprom # Dump eeprom
chown system system /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom chown system system /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom
chown system system /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom chown system system /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 /sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom
chown system system /dev/battery_history chown system system /sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom
chmod 0644 /dev/battery_history
# Modem temperature driver
chown radio system /sys/devices/platform/cp-tm1/cp_temp
# Loading common kernel modules in background # Loading common kernel modules in background
start insmod_sh_common start insmod_sh_common
@ -248,7 +246,7 @@ on init
chown system system /sys/class/power_supply/battery/charge_stats chown system system /sys/class/power_supply/battery/charge_stats
# Pca Charge stats (write 0) # 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) # Wireless Charge stats (write 0)
chown system system /sys/class/power_supply/wireless/device/charge_stats chown system system /sys/class/power_supply/wireless/device/charge_stats
@ -256,6 +254,10 @@ on init
# Thermal Charge stats (write 0) # Thermal Charge stats (write 0)
chown system system /sys/devices/platform/google,charger/thermal_stats 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 # Permission for wireless charging
chown system system /sys/class/power_supply/wireless/capacity chown system system /sys/class/power_supply/wireless/capacity
chown system system /sys/class/power_supply/wireless/device/rtx 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_start_level
chown system system /sys/devices/platform/google,charger/charge_stop_level chown system system /sys/devices/platform/google,charger/charge_stop_level
chown system system /sys/devices/platform/google,cpm/dc_ctl 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 # Power Stats HAL
chown system system /dev/bbd_pwrstat 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_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 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 on late-fs
# Wait for keymaster HALs # Wait for keymaster HALs
exec_start wait_for_keymaster exec_start wait_for_keymaster
@ -344,37 +347,16 @@ on post-fs-data
# Log data folder # Log data folder
mkdir /data/vendor 0771 radio system mkdir /data/vendor 0771 radio system
mkdir /data/vendor/log 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/exynos/log 0771 radio system
mkdir /data/vendor/rild 0771 radio system mkdir /data/vendor/rild 0771 radio system
mkdir /data/vendor/dump 0771 radio system mkdir /data/vendor/dump 0771 radio system
mkdir /data/vendor/slog 0771 system system
# PixelLogger log paths. # PixelLogger log paths.
mkdir /data/vendor/radio 773 system radio mkdir /data/vendor/radio 773 system radio
mkdir /data/vendor/radio/logs 773 system radio mkdir /data/vendor/radio/logs 773 system radio
mkdir /data/vendor/radio/logs/always-on 777 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 # Write display frequency config from RadioExt HAL
# OSC frequency files # OSC frequency files
@ -467,13 +449,6 @@ on early-boot
# Wait for insmod_sh to finish all common modules # Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1 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 # Permission for Health Storage HAL
chown system system /dev/sys/block/bootdevice/manual_gc 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_unmap_cnt
chown system system /dev/sys/block/bootdevice/slowio_sync_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 on boot
# Allow to access debugfs for system:system # Allow to access debugfs for system:system
@ -536,23 +515,11 @@ on property:persist.vendor.radio.no_modem_board=1
on fs on fs
mount_all --early 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
restorecon_recursive /mnt/vendor/persist/aoc restorecon_recursive /mnt/vendor/persist/aoc
restorecon_recursive /mnt/vendor/persist/audio restorecon_recursive /mnt/vendor/persist/audio
restorecon_recursive /mnt/vendor/persist/sensors restorecon_recursive /mnt/vendor/persist/sensors
restorecon_recursive /mnt/vendor/persist/battery restorecon_recursive /mnt/vendor/persist/battery
restorecon_recursive /mnt/vendor/persist/modem
# Set up display-related directories and permissions # Set up display-related directories and permissions
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file. # Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
restorecon_recursive /mnt/vendor/persist/display 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 class hal
user gps user gps
group system gps radio group system gps radio
ioprio be 0
priority -1
# disable gps service if no gps h/w # disable gps service if no gps h/w
on property:vendor.ril.cbd.svc=0 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 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 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 # Disable GPU firmware logging
write /sys/devices/platform/28000000.mali/firmware_config/Log\ verbosity/cur 0 write /sys/devices/platform/28000000.mali/firmware_config/Log\ verbosity/cur 0
# write serialno to battery path for pairing # write serialno to battery path for pairing
write /sys/class/power_supply/battery/dev_sn ${ro.boot.serialno} 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 # IMS WiFi Calling
service charonservice /system/vendor/bin/charon service charonservice /system/vendor/bin/charon
class main 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 persist.vendor.charge.start.level 0
setprop vendor.battery.defender.disable 1 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 service insmod_sh_common /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.gs201.cfg
class main class main
user root 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_temp
chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst
# Thermal # 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_temp
chown system system /dev/thermal/tz-by-name/quiet_therm/trip_point_0_hyst 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_temp
chown system system /dev/thermal/tz-by-name/usb_pwr_therm/trip_point_0_hyst 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-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-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-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/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/tpu_cooling/user_vote
chown system system /dev/thermal/cdev-by-name/fcc/cur_state chown system system /dev/thermal/cdev-by-name/fcc/cur_state
chown system system /dev/thermal/cdev-by-name/dc_icl/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/chg_mdis/cur_state
chown system system /dev/thermal/cdev-by-name/usbc-port/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 on property:vendor.disable.bcl.control=1
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0 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 on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
# Enable UFS powersaving in Off Mode Charger # Enable UFS powersaving in Off Mode Charger
write /dev/sys/block/bootdevice/clkgate_enable 1 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 # Cpuset experiment
on property:persist.device_config.vendor_system_native.top-app_cpuset=* on property:persist.device_config.vendor_system_native.top-app_cpuset=*

View file

@ -194,3 +194,6 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1
on property:ro.bootmode=usbuwb on property:ro.bootmode=usbuwb
setprop persist.vendor.usb.usbradio.config uwb_acm setprop persist.vendor.usb.usbradio.config uwb_acm
on property:vendor.usb.contaminantdisable=true
exec /vendor/bin/hw/disable_contaminant_detection.sh

42
conf/init.modem.rc Normal file
View file

@ -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

View file

@ -119,6 +119,7 @@
# IPC OEM # IPC OEM
/dev/oem_ipc* 0660 radio radio /dev/oem_ipc* 0660 radio radio
/dev/oem_test 0660 radio radio
# interactive governor parameters # interactive governor parameters
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system /sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system
@ -142,7 +143,8 @@
/dev/aoc 0660 system system /dev/aoc 0660 system system
# Sensors (USF) # 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 # LWIS
/dev/lwis* 0660 system system /dev/lwis* 0660 system system

View file

@ -116,6 +116,8 @@
<exception package="com.google.android.wfcactivation"> <exception package="com.google.android.wfcactivation">
<!-- SMS --> <!-- SMS -->
<permission name="android.permission.RECEIVE_WAP_PUSH" fixed="false"/> <permission name="android.permission.RECEIVE_WAP_PUSH" fixed="false"/>
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
</exception> </exception>
<exception package="com.google.android.apps.accessibility.voiceaccess"> <exception package="com.google.android.apps.accessibility.voiceaccess">

View file

@ -14,13 +14,17 @@
# limitations under the License. # limitations under the License.
# #
ifneq ($(BOARD_WITHOUT_RADIO),true)
-include vendor/google_devices/gs201/proprietary/telephony/device-vendor.mk -include vendor/google_devices/gs201/proprietary/telephony/device-vendor.mk
endif
include device/google/gs201/device.mk include device/google/gs201/device.mk
include device/google/gs101/tts/voice_packs.mk include device/google/gs101/tts/voice_packs.mk
ifneq ($(BOARD_WITHOUT_RADIO),true)
# Telephony # Telephony
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml
endif
# Android Verified Boot # Android Verified Boot
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \

116
device.mk
View file

@ -60,9 +60,11 @@ LOCAL_KERNEL := $(TARGET_KERNEL_DIR)/Image.lz4
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.oem_unlock_supported=1 ro.oem_unlock_supported=1
ifneq ($(BOARD_WITHOUT_RADIO),true)
# Include vendor telephony soong namespace # Include vendor telephony soong namespace
PRODUCT_SOONG_NAMESPACES += \ PRODUCT_SOONG_NAMESPACES += \
vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY) vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)
endif
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
#Set IKE logs to verbose for WFC #Set IKE logs to verbose for WFC
@ -125,6 +127,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.ril.enable_set_screen_state=1 persist.vendor.ril.enable_set_screen_state=1
# Set the Bluetooth Class of Device # Set the Bluetooth Class of Device
ifneq ($(USE_TABLET_BT_COD),true)
# Service Field: 0x5A -> 90 # Service Field: 0x5A -> 90
# Bit 14: LE audio # Bit 14: LE audio
# Bit 17: Networking # Bit 17: Networking
@ -135,6 +138,18 @@ PRODUCT_PROPERTY_OVERRIDES += \
# MINOR_CLASS: 0x0C -> 12 (Smart Phone) # MINOR_CLASS: 0x0C -> 12 (Smart Phone)
PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.device.class_of_device=90,66,12 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 # Set supported Bluetooth profiles to enabled
PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \
@ -294,11 +309,11 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \ 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.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 # Shell scripts
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
device/google/gs201/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \ 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 # insmod files
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
@ -354,27 +369,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.verbose_logging_enabled=false persist.vendor.verbose_logging_enabled=false
endif 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 # RPMB TA
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
tlrpmb tlrpmb
@ -389,15 +383,19 @@ PRODUCT_COPY_FILES += \
# Sensors # Sensors
PRODUCT_COPY_FILES += \ 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.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.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.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.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.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.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 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 # Add sensor HAL 2.1 product packages
PRODUCT_PACKAGES += android.hardware.sensors@2.1-service.multihal PRODUCT_PACKAGES += android.hardware.sensors@2.1-service.multihal
@ -504,11 +502,20 @@ PRODUCT_PACKAGES += \
PANTHER_PRODUCT := %panther PANTHER_PRODUCT := %panther
CHEETAH_PRODUCT := %cheetah CHEETAH_PRODUCT := %cheetah
LYNX_PRODUCT := %lynx
FELIX_PRODUCT := %felix
TANGOR_PRODUCT := %tangorpro
CLOUDRIPPER_PRODUCT := %cloudripper CLOUDRIPPER_PRODUCT := %cloudripper
ifneq (,$(filter $(PANTHER_PRODUCT), $(TARGET_PRODUCT))) ifneq (,$(filter $(PANTHER_PRODUCT), $(TARGET_PRODUCT)))
LOCAL_TARGET_PRODUCT := panther LOCAL_TARGET_PRODUCT := panther
else ifneq (,$(filter $(CHEETAH_PRODUCT), $(TARGET_PRODUCT))) else ifneq (,$(filter $(CHEETAH_PRODUCT), $(TARGET_PRODUCT)))
LOCAL_TARGET_PRODUCT := cheetah 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))) else ifneq (,$(filter $(CLOUDRIPPER_PRODUCT), $(TARGET_PRODUCT)))
LOCAL_TARGET_PRODUCT := cloudripper LOCAL_TARGET_PRODUCT := cloudripper
else 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.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 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 += \ 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.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.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.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.frame_rate_multiple_threshold=120
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.layer_caching_active_layer_timeout_ms=1000 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 += 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.enable_layer_caching=true
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80
@ -863,6 +879,7 @@ PRODUCT_PACKAGES += \
calliope_iva.bin \ calliope_iva.bin \
vts.bin vts.bin
ifneq ($(BOARD_WITHOUT_RADIO),true)
# This will be called only if IMSService is building with source code for dev branches. # 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) $(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 TestRcsApp
PRODUCT_PACKAGES += ShannonRcs PRODUCT_PACKAGES += ShannonRcs
endif
# Boot Control HAL # Boot Control HAL
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
@ -897,10 +915,41 @@ USE_EARLY_SEND_DEVICE_INFO := true
ifneq ($(BOARD_WITHOUT_RADIO),true) ifneq ($(BOARD_WITHOUT_RADIO),true)
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk) $(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 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 #GPS HAL
include device/google/gs201/gnss/device-gnss.mk include device/google/gs201/gnss/device-gnss.mk
endif
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs201-sepolicy/gps BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs201-sepolicy/gps
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) $(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 += \ PRODUCT_COPY_FILES += \
device/google/gs201/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \ 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 \ 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
# modem logging configs # modem logging configs
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
@ -977,6 +1019,7 @@ PRODUCT_PACKAGES += \
audio_fortemedia_aoc \ audio_fortemedia_aoc \
audio_bluenote_aoc \ audio_bluenote_aoc \
audio_usb_aoc \ audio_usb_aoc \
audio_cca_aoc \
libamcsextfile \ libamcsextfile \
audio_amcs_ext \ audio_amcs_ext \
audio.usb.default \ audio.usb.default \
@ -1017,6 +1060,7 @@ PRODUCT_SOONG_NAMESPACES += \
vendor/google/whitechapel/aoc vendor/google/whitechapel/aoc
$(call soong_config_set,aoc,target_soc,$(TARGET_BOARD_PLATFORM)) $(call soong_config_set,aoc,target_soc,$(TARGET_BOARD_PLATFORM))
$(call soong_config_set,aoc,target_product,$(TARGET_PRODUCT))
# #
## Audio properties ## Audio properties
@ -1113,7 +1157,7 @@ include hardware/google/pixel/PixelLogger/PixelLogger.mk
include hardware/google/pixel/sscoredump/device.mk include hardware/google/pixel/sscoredump/device.mk
# RadioExt Version # RadioExt Version
USES_RADIOEXT_V1_4 = true USES_RADIOEXT_V1_5 = true
# Wifi ext # Wifi ext
include hardware/google/pixel/wifi_ext/device.mk 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 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 # 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

View file

@ -49,7 +49,7 @@
</interface> </interface>
</hal> </hal>
<hal format="hidl" optional="true"> <hal format="hidl" optional="true">
<name>com.fingerprints33.extension</name> <name>com.fingerprints42.extension</name>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IFingerprintAuthenticator</name> <name>IFingerprintAuthenticator</name>
@ -82,6 +82,7 @@
</hal> </hal>
<hal format="aidl" optional="true"> <hal format="aidl" optional="true">
<name>com.google.face.debug</name> <name>com.google.face.debug</name>
<version>2</version>
<interface> <interface>
<name>IDebugHost</name> <name>IDebugHost</name>
<instance>default</instance> <instance>default</instance>
@ -112,6 +113,7 @@
</hal> </hal>
<hal format="aidl" optional="true"> <hal format="aidl" optional="true">
<name>hardware.qorvo.uwb</name> <name>hardware.qorvo.uwb</name>
<version>2</version>
<interface> <interface>
<name>IUwbVendor</name> <name>IUwbVendor</name>
<instance>default</instance> <instance>default</instance>
@ -149,14 +151,6 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>hardware.google.bluetooth.ccc</name>
<version>1.1</version>
<interface>
<name>IBluetoothCcc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true"> <hal format="hidl" optional="true">
<name>hardware.google.bluetooth.ewp</name> <name>hardware.google.bluetooth.ewp</name>
<version>1.0</version> <version>1.0</version>
@ -165,9 +159,9 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl" optional="true"> <hal format="aidl" optional="true">
<name>vendor.google.google_battery</name> <name>vendor.google.google_battery</name>
<version>1.2</version> <version>1</version>
<interface> <interface>
<name>IGoogleBattery</name> <name>IGoogleBattery</name>
<instance>default</instance> <instance>default</instance>
@ -175,7 +169,7 @@
</hal> </hal>
<hal format="hidl" optional="true"> <hal format="hidl" optional="true">
<name>vendor.google.radioext</name> <name>vendor.google.radioext</name>
<version>1.4</version> <version>1.5</version>
<interface> <interface>
<name>IRadioExt</name> <name>IRadioExt</name>
<instance>default</instance> <instance>default</instance>

View file

@ -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

View file

@ -240,6 +240,7 @@ Dumpstate::Dumpstate()
{ "misc", [this](int fd) { dumpMiscSection(fd); } }, { "misc", [this](int fd) { dumpMiscSection(fd); } },
{ "gsc", [this](int fd) { dumpGscSection(fd); } }, { "gsc", [this](int fd) { dumpGscSection(fd); } },
{ "trusty", [this](int fd) { dumpTrustySection(fd); } }, { "trusty", [this](int fd) { dumpTrustySection(fd); } },
{ "led", [this](int fd) { dumpLEDSection(fd); } },
}, },
mLogSections{ mLogSections{
{ "modem", [this](int fd, const std::string &destDir) { dumpModemLogs(fd, destDir); } }, { "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"); 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)) { if (!stat("/sys/class/power_supply/dock", &buffer)) {
DumpFileToFd(fd, "Power supply property dock", "/sys/class/power_supply/dock/uevent"); 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"}); "echo \"contaminant_detection_status:\"; cat $f/contaminant_detection_status; done"});
DumpFileToFd(fd, "PD Engine", "/dev/logbuffer_usbpd"); 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-google_cpm", "/dev/logbuffer_cpm");
DumpFileToFd(fd, "PPS-dc", "/dev/logbuffer_pca9468"); DumpFileToFd(fd, "PPS-dc", "/dev/logbuffer_pca9468");
@ -409,6 +415,11 @@ void Dumpstate::dumpPowerSection(int fd) {
"for f in /d/maxfg* ; do " "for f in /d/maxfg* ; do "
"regs=`cat $f/registers`; echo $f: ;" "regs=`cat $f/registers`; echo $f: ;"
"echo \"$regs\"; done"}); "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 */ /* 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"}); 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)) { } 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"}); 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"); DumpFileToFd(fd, "Charger Stats", "/sys/class/power_supply/battery/charge_details");
if (!PropertiesHelper::IsUserBuild()) { if (!PropertiesHelper::IsUserBuild()) {
RunCommandToFd(fd, "Google Charger", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_charger/; " 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 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 syna_cmd_path[] = "/sys/class/spi_master/spi0/spi0.0/synaptics_tcm.0/sysfs";
const char focaltech_cmd_path[] = "/proc/focaltech_touch"; const char focaltech_cmd_path[] = "/proc/focaltech_touch";
const char gti0_cmd_path[] = "/sys/devices/virtual/goog_touch_interface/gti.0";
char cmd[256]; char cmd[256];
if (!access(focaltech_cmd_path, R_OK)) { if (!access(focaltech_cmd_path, R_OK)) {
@ -808,6 +821,48 @@ void Dumpstate::dumpTouchSection(int fd) {
lsi_spi_path, lsi_spi_path); lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Force Touch Active", {"/vendor/bin/sh", "-c", cmd}); 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 // 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 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 logging wake", "/sys/devices/platform/19000000.aoc/control/logging_wakeup");
DumpFileToFd(fd, "AoC hotword wake", "/sys/devices/platform/19000000.aoc/control/hotword_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 exception wake",
RunCommandToFd(fd, "AoC memory votes", {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_votes"}, CommandOptions::WithTimeout(2).Build()); {"/vendor/bin/sh", "-c", "cat /sys/devices/platform/19000000.aoc/control/memory_exception"},
RunCommandToFd(fd, "AoC Heap Stats (A32)", 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"}, {"/vendor/bin/sh", "-c", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
CommandOptions::WithTimeout(1).Build()); CommandOptions::WithTimeout(1).Build());
RunCommandToFd(fd, "AoC Heap Stats (F1)", RunCommandToFd(fd, "AoC Heap Stats (F1)",
@ -992,9 +1054,6 @@ void Dumpstate::dumpAoCSection(int fd) {
RunCommandToFd(fd, "AoC Heap Stats (HF1)", 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"}, {"/vendor/bin/sh", "-c", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
CommandOptions::WithTimeout(1).Build()); 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. // Dump items related to sensors usf.
@ -1012,6 +1071,9 @@ void Dumpstate::dumpSensorsUSFSection(int fd) {
RunCommandToFd(fd, "USF Registry", RunCommandToFd(fd, "USF Registry",
{"/vendor/bin/sh", "-c", "usf_reg_edit save -"}, {"/vendor/bin/sh", "-c", "usf_reg_edit save -"},
options); 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()); 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) { void Dumpstate::dumpModemSection(int fd) {
DumpFileToFd(fd, "Modem Stat", "/data/vendor/modem_stat/debug.txt"); DumpFileToFd(fd, "Modem Stat", "/data/vendor/modem_stat/debug.txt");
RunCommandToFd(fd, "Modem SSR history", {"/vendor/bin/sh", "-c", RunCommandToFd(fd, "Modem SSR history", {"/vendor/bin/sh", "-c",

View file

@ -69,6 +69,7 @@ class Dumpstate : public BnDumpstateDevice {
void dumpMiscSection(int fd); void dumpMiscSection(int fd);
void dumpGscSection(int fd); void dumpGscSection(int fd);
void dumpTrustySection(int fd); void dumpTrustySection(int fd);
void dumpLEDSection(int fd);
void dumpLogSection(int fd, int fdModem); void dumpLogSection(int fd, int fdModem);

View file

@ -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,
}

View file

@ -0,0 +1,200 @@
#include <stdint.h>
#include <stdio.h>
#include <log/log.h>
#include "fp_test.h"
#include <cutils/properties.h>
#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<IBiometricsFingerprint> 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<IBiometricsFingerprint> 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;
}

View file

@ -0,0 +1,16 @@
#ifndef FP_TEST
#define FP_TEST
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,5 +0,0 @@
LogEnabled=false
Log=JAVA
LogDirectory=/sdcard/gps/broadcom/storage
NvStorageDir=/data/vendor/gps/
TcpConnectionTimeout=20

View file

@ -1,9 +1,9 @@
<FormatVersion=0x00010003> <FormatVersion=0x00010003>
<Crc=98> <Crc=94>
<BlobLength=161839> <BlobLength=161839>
<AsicVersion=0x004776A0> <AsicVersion=0x004776A0>
<ChangeList=545390> <ChangeList=547844>
<PatchLevel=0> <PatchLevel=0>
<PostPatchLevel=1> <PostPatchLevel=1>
<CustomerVersion=None> <CustomerVersion=None>
@ -79,7 +79,7 @@ F087FE022102914FF4005101915B220748084B00F13801
009102A101F438F703B000BD4170700080BD8900708989 009102A101F438F703B000BD4170700080BD8900708989
00805D8A006905800025643A2564095374617274206368 00805D8A006905800025643A2564095374617274206368
70704170705461736B0A00000000633A5C77735C626F64 70704170705461736B0A00000000633A5C77735C626F64
5F3437373631313038375F3534353339305C637573746F 5F3437373631313336315F3534373834345C637573746F
6D6572735C676F6F676C655C503231466C61677461696C 6D6572735C676F6F676C655C503231466C61677461696C
6D63755C64656C69766572795C53656E736F724875625F 6D63755C64656C69766572795C53656E736F724875625F
5032315C7372635C6875625F636F6E74726F6C6C65722E 5032315C7372635C6875625F636F6E74726F6C6C65722E
@ -390,7 +390,7 @@ D00FF298080FF2206140F271673B4642468B2011F48EF2
F22046FEF700FF07E002464FF4D1630FF2F4518F2011F4 F22046FEF700FF07E002464FF4D1630FF2F4518F2011F4
5FF2FEF769FC04F5A6620A23C2E9000105F0F00006F00F 5FF2FEF769FC04F5A6620A23C2E9000105F0F00006F00F
0101433A462046BDE8F041FFF7BDBB0000633A5C77735C 0101433A462046BDE8F041FFF7BDBB0000633A5C77735C
626F645F3437373631313038375F3534353339305C6375 626F645F3437373631313336315F3534373834345C6375
73746F6D6572735C676F6F676C655C503231466C616774 73746F6D6572735C676F6F676C655C503231466C616774
61696C6D63755C64656C69766572795C53656E736F7248 61696C6D63755C64656C69766572795C53656E736F7248
75625F5032315C7372635C636870705C7472616E73706F 75625F5032315C7372635C636870705C7472616E73706F
@ -526,7 +526,7 @@ B590B00C46C17B0FF248420E91817B0D91417B0C91017B
25210378204626F4F1F510B010BD000025643A25640948 25210378204626F4F1F510B010BD000025643A25640948
232568687520756E6B6E6F776E20726571756573742E20 232568687520756E6B6E6F776E20726571756573742E20
636D643D2523782C2049443D256868750A00633A5C7773 636D643D2523782C2049443D256868750A00633A5C7773
5C626F645F3437373631313038375F3534353339305C63 5C626F645F3437373631313336315F3534373834345C63
7573746F6D6572735C676F6F676C655C503231466C6167 7573746F6D6572735C676F6F676C655C503231466C6167
7461696C6D63755C64656C69766572795C53656E736F72 7461696C6D63755C64656C69766572795C53656E736F72
4875625F5032315C7372F19403502E8000635C63687070 4875625F5032315C7372F19403502E8000635C63687070
@ -585,7 +585,7 @@ F752DEC007F9D5FFF7CBFFF6E700B583B0022102914FF4
D803B000BDF07E8A000C53890028878A00113280009D32 D803B000BDF07E8A000C53890028878A00113280009D32
800025643A256409434850502042617564726174652069 800025643A256409434850502042617564726174652069
732073657420746F20256C640A0A00633A5C77735C626F 732073657420746F20256C640A0A00633A5C77735C626F
645F3437373631313038375F3534353339305C63757374 645F3437373631313336315F3534373834345C63757374
6F6D6572735C676F6F676C655C503231466C6167746169 6F6D6572735C676F6F676C655C503231466C6167746169
6C6D63755C64656C69766572795C53656E736F72487562 6C6D63755C64656C69766572795C53656E736F72487562
5F5032315C7372635C73656E736F725F6875622E630000 5F5032315C7372635C73656E736F725F6875622E630000
@ -679,13 +679,13 @@ E08619AE4210D22946204600F067FF0028F6D510F1040F
B5C90382B0A0F5A86419D500F65C552846FDF7F6DD0600 B5C90382B0A0F5A86419D500F65C552846FDF7F6DD0600
12D00020009069462846FDF712DE761E012804DB024600 12D00020009069462846FDF712DE761E012804DB024600
992046FEF79EF82846FDF76FDD002EECD173BD70470000 992046FEF79EF82846FDF76FDD002EECD173BD70470000
633A5C77735C626F645F3437373631313038375F353435 633A5C77735C626F645F3437373631313336315F353437
3339305C637573746F6D6572735C676F6F676C655C5032 3834345C637573746F6D6572735C676F6F676C655C5032
31466C61677461696C6D63755C64656C69766572795C53 31466C61677461696C6D63755C64656C69766572795C53
656E736F724875625F5032315C7372635C636870705C69 656E736F724875625F5032315C7372635C636870705C69
6E636C7564655C636870702F7472616E73706F72742E68 6E636C7564655C636870702F7472616E73706F72742E68
00633A5C77735C626F645F3437373631313038375F3534 00633A5C77735C626F645F3437373631313336315F3534
353339305C637573746F6D6572735C676F6F676C655C50 373834345C637573746F6D6572735C676F6F676C655C50
3231466C61677461696C6D63755C64656C69766572795C 3231466C61677461696C6D63755C64656C69766572795C
53656E736F724875625F5032315C7372635C636870705C 53656E736F724875625F5032315C7372635C636870705C
706C6174666F726D5C62636D5C42434D343737785C6C69 706C6174666F726D5C62636D5C42434D343737785C6C69
@ -696,7 +696,7 @@ B5C90382B0A0F5A86419D500F65C552846FDF7F6DD0600
D1D6E90223D0E918679F42E7D8E8D39642E4D2E5E7D0E9 D1D6E90223D0E918679F42E7D8E8D39642E4D2E5E7D0E9
1823CDE900230FF27C010FF2100240F21E238F200FF4B1 1823CDE900230FF27C010FF2100240F21E238F200FF4B1
F403B0F0BD0000633A5C77735C626F645F343737363131 F403B0F0BD0000633A5C77735C626F645F343737363131
3038375F3534353339305C637573746F6D6572735C676F 3336315F3534373834345C637573746F6D6572735C676F
6F676C655C503231466C61677461696C6D63755C64656C 6F676C655C503231466C61677461696C6D63755C64656C
69766572795C53656E736F724875625F5032315C737263 69766572795C53656E736F724875625F5032315C737263
5C636870705C636C69656E74732E630000000025643A25 5C636870705C636C69656E74732E630000000025643A25
@ -706,7 +706,7 @@ F403B0F0BD0000633A5C77735C626F645F343737363131
21FEF75DF80AE03246294625F420F40120787032462068 21FEF75DF80AE03246294625F420F40120787032462068
3946FEF718F8012003B0F0BD25643A2564094F4F4D2061 3946FEF718F8012003B0F0BD25643A2564094F4F4D2061
742025733A25640A00633A5C77735C626F645F34373736 742025733A25640A00633A5C77735C626F645F34373736
31313038375F3534353339305C637573746F6D6572735C 31313336315F3534373834345C637573746F6D6572735C
676F6F676C655C503231466C61677461696C6D63755C64 676F6F676C655C503231466C61677461696C6D63755C64
656C69766572795C53656E736F724875625F5032315C73 656C69766572795C53656E736F724875625F5032315C73
72635C636870705C73657276696365735C6C6F6F706261 72635C636870705C73657276696365735C6C6F6F706261
@ -718,8 +718,8 @@ D4FFC6F80600C6F80A103923D6F80600D6F80A10CDE902
0122460E2000908F200FF2B0010FF4C3F32868314604B0 0122460E2000908F200FF2B0010FF4C3F32868314604B0
BDE870400E22FDF78CBF10B58B880124012B02D1FFF7BE BDE870400E22FDF78CBF10B58B880124012B02D1FFF7BE
FF00E00024204610BD25643A2564094F4F4D2061742025 FF00E00024204610BD25643A2564094F4F4D2061742025
733A25640A00633A5C77735C626F645F34373736313130 733A25640A00633A5C77735C626F645F34373736313133
38375F3534353339305C637573746F6D6572735C676F6F 36315F3534373834345C637573746F6D6572735C676F6F
676C655C503231466C61677461696C6D63755C64656C69 676C655C503231466C61677461696C6D63755C64656C69
766572795C53656E736F724875625F5032315C7372635C 766572795C53656E736F724875625F5032315C7372635C
636870705C73657276696365735C74696D6573796E632E 636870705C73657276696365735C74696D6573796E632E
@ -734,7 +734,7 @@ D13B2001903B230FF280040FF26801009422468B200FF4
314603B0BDE8F043FDF7E2BE10B58A880124012A02D1FF 314603B0BDE8F043FDF7E2BE10B58A880124012A02D1FF
F7BAFF00E00024204610BD25643A2564094F4F4D206174 F7BAFF00E00024204610BD25643A2564094F4F4D206174
2025733A25640A00633A5C77735C626F645F3437373631 2025733A25640A00633A5C77735C626F645F3437373631
313038375F3534353339305C637573746F6D6572735C67 313336315F3534373834345C637573746F6D6572735C67
6F6F676C655C503231466C61677461696C6D63755C6465 6F6F676C655C503231466C61677461696C6D63755C6465
6C69766572795C53656E736F724875625F5032315C7372 6C69766572795C53656E736F724875625F5032315C7372
635C636870705C73657276696365735C646973636F7665 635C636870705C73657276696365735C646973636F7665
@ -761,7 +761,7 @@ D0CDE9000197230FF2B8020FF2B0118B200FF41BF2FFF7
05CDE90445AD230FF2AC118F200FF4D8F106B0BDE87083 05CDE90445AD230FF2AC118F200FF4D8F106B0BDE87083
70B50446084615461E46FFF7BEFF3246294620680068BD 70B50446084615461E46FFF7BEFF3246294620680068BD
E87040FDF797BD00000000633A5C77735C626F645F3437 E87040FDF797BD00000000633A5C77735C626F645F3437
373631313038375F3534353339305C637573746F6D6572 373631313336315F3534373834345C637573746F6D6572
735C676F6F676C655C503231466C61677461696C6D6375 735C676F6F676C655C503231466C61677461696C6D6375
5C64656C69766572795C53656E736F724875625F503231 5C64656C69766572795C53656E736F724875625F503231
5C7372635C636870705C73657276696365732E63000000 5C7372635C636870705C73657276696365732E63000000
@ -788,8 +788,8 @@ D009D31AE001A8009038230FF264020FF250018B2019E0
230FF240020FF22C018E2007E001A8009042230FF22C02 230FF240020FF22C018E2007E001A8009042230FF22C02
0FF218018F200FF49DF00DF5027D10BC5DF80CFB0FF284 0FF218018F200FF49DF00DF5027D10BC5DF80CFB0FF284
014160704725643A25640950414C3A2025730A0000633A 014160704725643A25640950414C3A2025730A0000633A
5C77735C626F645F3437373631313038375F3534353339 5C77735C626F645F3437373631313336315F3534373834
305C637573746F6D6572735C676F6F676C655C50323146 345C637573746F6D6572735C676F6F676C655C50323146
6C61677461696C6D63755C64656C69766572795C53656E 6C61677461696C6D63755C64656C69766572795C53656E
736F724875625F5032315C7372635C636870705C706C61 736F724875625F5032315C7372635C636870705C706C61
74666F726D5C70616C5F6170692E6300000000000001C9 74666F726D5C70616C5F6170692E6300000000000001C9
@ -848,7 +848,7 @@ F7A8FE6089FFF793FE42F654000059FFF7A0FE02200290
32BD13460A4601460248007810F469B000001453890055 32BD13460A4601460248007810F469B000001453890055
47800065478000687B890060D09100354780002B488000 47800065478000687B890060D09100354780002B488000
436870704C696E6B5461736B00000000633A5C77735C62 436870704C696E6B5461736B00000000633A5C77735C62
6F645F3437373631313038375F3534353339305C637573 6F645F3437373631313336315F3534373834345C637573
746FF19403D04A80006D6572735C676F6F676C655C5032 746FF19403D04A80006D6572735C676F6F676C655C5032
31466C61677461696C6D63755C64656C69766572795C53 31466C61677461696C6D63755C64656C69766572795C53
656E736F724875625F5032315C7372635C636870705C70 656E736F724875625F5032315C7372635C636870705C70
@ -914,7 +914,7 @@ BD38B504464FF0827000F0B5FC144DA86078B90FF27004
0023002240F293210FF2380001B0BDE83040FBF732BB31 0023002240F293210FF2380001B0BDE83040FBF732BB31
BD0000D088890025643A256409474E5353207365727669 BD0000D088890025643A256409474E5353207365727669
636520616C7265616479206F70656E0A00000000633A5C 636520616C7265616479206F70656E0A00000000633A5C
77735C626F645F3437373631313038375F353435333930 77735C626F645F3437373631313336315F353437383434
5C637573746F6D6572735C676F6F676C655C503231466C 5C637573746F6D6572735C676F6F676C655C503231466C
61677461696C6D63755C64656C69766572795C53656E73 61677461696C6D63755C64656C69766572795C53656E73
6F724875625F5032315C7372635C636870705C73657276 6F724875625F5032315C7372635C636870705C73657276
@ -965,7 +965,7 @@ B6F9286060B13421ADF80410821D01A900913B46811D20
0023002295210FF23000FBF7EFF836B90023002296210F 0023002295210FF23000FBF7EFF836B90023002296210F
F22000FBF7E7F83620FEF78EF9286030B1811D2046FFF7 F22000FBF7E7F83620FEF78EF9286030B1811D2046FFF7
99FF36203060012070BD633A5C77735C626F645F343737 99FF36203060012070BD633A5C77735C626F645F343737
3631313038375F3534353339305C637573746F6D657273 3631313336315F3534373834345C637573746F6D657273
5C676F6F676C655C503231466C61677461696C6D63755C 5C676F6F676C655C503231466C61677461696C6D63755C
64656C69766572795C53656E736F724875625F5032315C 64656C69766572795C53656E736F724875625F5032315C
7372635C636870705C636F6D6D6F6E5C676E73735F63F1 7372635C636870705C636F6D6D6F6E5C676E73735F63F1
@ -1020,7 +1020,7 @@ B02016BD6272636D476E73734F6E4D6561734461746100
0025643A2564095B25735D204D6561737572656D656E74 0025643A2564095B25735D204D6561737572656D656E74
2064617461206576656E74203A206D6561737572656D65 2064617461206576656E74203A206D6561737572656D65
6E745F636F756E74203D20282564290A000000633A5C77 6E745F636F756E74203D20282564290A000000633A5C77
735C626F645F3437373631313038375F3534353339305C 735C626F645F3437373631313336315F3534373834345C
637573746F6D6572735C676F6F676C655C503231466C61 637573746F6D6572735C676F6F676C655C503231466C61
677461696C6D63755C64656C69766572795C53656E736F 677461696C6D63755C64656C69766572795C53656E736F
724875625F5032315C7372635C636870705C706C617466 724875625F5032315C7372635C636870705C706C617466
@ -1229,9 +1229,9 @@ A288F2804343226C9A4214D291FBF0F111FB00F1A980F1
8891FBF0F111FB00F008E0B08838B1A88070BD00291CBF 8891FBF0F111FB00F008E0B08838B1A88070BD00291CBF
F088002800D0A08070BD0B480170704700000948007870 F088002800D0A08070BD0B480170704700000948007870
4700000848017070470000064800787047000001484161 4700000848017070470000064800787047000001484161
70470000787B89006E52080099CB91009ACB91002F2F64 70470000787B8900045C080099CB91009ACB91002F2F64
65706F742F636C69656E742F636F72652F72656C2F476F 65706F742F636C69656E742F636F72652F72656C2F476F
6F676C652F5032322F3534323934312F2E2E2E0000007E 6F676C652F5032322F3534353339302F2E2E2E0000007E
24247E5056542044756D70203A20474C4C207665722E20 24247E5056542044756D70203A20474C4C207665722E20
256C7520666C61677461696C3A25730A000000007E2424 256C7520666C61677461696C3A25730A000000007E2424
7E5056542044756D70203A2054203D20256C752C204E54 7E5056542044756D70203A2054203D20256C752C204E54

View file

@ -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/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 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 += \ PRODUCT_SOONG_NAMESPACES += \
device/google/gs201/gnss/47765 device/google/gs201/gnss/47765

View file

@ -28,7 +28,6 @@
#include <health-impl/ChargerUtils.h> #include <health-impl/ChargerUtils.h>
#include <pixelhealth/BatteryDefender.h> #include <pixelhealth/BatteryDefender.h>
#include <pixelhealth/BatteryMetricsLogger.h> #include <pixelhealth/BatteryMetricsLogger.h>
#include <pixelhealth/BatteryThermalControl.h>
#include <pixelhealth/ChargerDetect.h> #include <pixelhealth/ChargerDetect.h>
#include <pixelhealth/DeviceHealth.h> #include <pixelhealth/DeviceHealth.h>
#include <pixelhealth/LowBatteryShutdownMetrics.h> #include <pixelhealth/LowBatteryShutdownMetrics.h>
@ -55,7 +54,6 @@ using aidl::android::hardware::health::charger::ChargerCallback;
using aidl::android::hardware::health::charger::ChargerModeMain; using aidl::android::hardware::health::charger::ChargerModeMain;
using hardware::google::pixel::health::BatteryDefender; using hardware::google::pixel::health::BatteryDefender;
using hardware::google::pixel::health::BatteryMetricsLogger; using hardware::google::pixel::health::BatteryMetricsLogger;
using hardware::google::pixel::health::BatteryThermalControl;
using hardware::google::pixel::health::DeviceHealth; using hardware::google::pixel::health::DeviceHealth;
using hardware::google::pixel::health::LowBatteryShutdownMetrics; using hardware::google::pixel::health::LowBatteryShutdownMetrics;
using hardware::google::pixel::health::ChargerDetect; using hardware::google::pixel::health::ChargerDetect;
@ -70,8 +68,6 @@ constexpr char kVoltageAvg[] {FG_DIR "/voltage_now"};
static BatteryDefender battDefender(WLC_DIR "/present", static BatteryDefender battDefender(WLC_DIR "/present",
"/sys/devices/platform/google,charger/charge_start_level", "/sys/devices/platform/google,charger/charge_start_level",
"/sys/devices/platform/google,charger/charge_stop_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 BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV);
static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg); static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg);
static DeviceHealth deviceHealth; 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 private_healthd_board_battery_update(HealthInfo *health_info) {
int batt_level; int batt_level;
deviceHealth.update(health_info); deviceHealth.update(health_info);
battThermalControl.updateThermalState(*health_info);
battMetricsLogger.logBatteryProperties(*health_info); battMetricsLogger.logBatteryProperties(*health_info);
shutdownMetrics.logShutdownVoltage(*health_info); shutdownMetrics.logShutdownVoltage(*health_info);
// Allow BatteryDefender to override online properties // Allow BatteryDefender to override online properties

View file

@ -51,6 +51,8 @@ else
# to unblock early-boot trigger # to unblock early-boot trigger
setprop vendor.common.modules.ready setprop vendor.common.modules.ready
setprop vendor.device.modules.ready setprop vendor.device.modules.ready
setprop vendor.all.modules.ready
setprop vendor.all.devices.ready
exit 1 exit 1
fi fi

View file

@ -131,14 +131,13 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="aidl">
<name>vendor.google.google_battery</name> <name>vendor.google.google_battery</name>
<transport>hwbinder</transport> <version>1</version>
<version>1.2</version> <interface>
<interface> <name>IGoogleBattery</name>
<name>IGoogleBattery</name> <instance>default</instance>
<instance>default</instance> </interface>
</interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.google.whitechapel.audio.audioext</name> <name>vendor.google.whitechapel.audio.audioext</name>

View file

@ -64,15 +64,6 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>vendor.google.google_battery</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IGoogleBattery</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.google.whitechapel.audio.audioext</name> <name>vendor.google.whitechapel.audio.audioext</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>

View file

@ -164,6 +164,7 @@
<Feature name="vq-minimum-quality"/> <Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/> <Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/> <Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR,CBR-FD" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" > <MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" >
<Limit name="size" min="64x64" max="3840x2176" /> <Limit name="size" min="64x64" max="3840x2176" />
@ -180,6 +181,7 @@
<Feature name="qp-bounds"/> <Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/> <Feature name="encoding-statistics"/>
<Feature name="hdr-editing" /> <Feature name="hdr-editing" />
<Feature name="bitrate-modes" value="VBR,CBR,CBR-FD" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es"> <MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es">
<Limit name="size" min="32x32" max="2048x2048" /> <Limit name="size" min="32x32" max="2048x2048" />
@ -195,6 +197,7 @@
<Feature name="vq-minimum-quality"/> <Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/> <Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/> <Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp"> <MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp">
<Limit name="size" min="32x32" max="2048x1152" /> <Limit name="size" min="32x32" max="2048x1152" />
@ -209,6 +212,7 @@
<Feature name="vq-minimum-quality"/> <Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/> <Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/> <Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" > <MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="32x32" max="3840x2160" /> <Limit name="size" min="32x32" max="3840x2160" />
@ -224,6 +228,7 @@
<Feature name="vq-minimum-quality"/> <Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/> <Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/> <Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec> </MediaCodec>
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" > <MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="64x64" max="3840x2176" /> <Limit name="size" min="64x64" max="3840x2176" />
@ -239,6 +244,7 @@
<Feature name="vq-minimum-quality"/> <Feature name="vq-minimum-quality"/>
<Feature name="qp-bounds"/> <Feature name="qp-bounds"/>
<Feature name="encoding-statistics"/> <Feature name="encoding-statistics"/>
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec> </MediaCodec>
</Encoders> </Encoders>
</MediaCodecs> </MediaCodecs>

View file

@ -15,6 +15,7 @@
--> -->
<MediaCodecs> <MediaCodecs>
<Include href="media_codecs_aosp_c2.xml" /> <Include href="media_codecs_aosp_c2.xml" />
<Include href="media_codecs_dolby_c2.xml" />
<Decoders> <Decoders>
<MediaCodec name="c2.google.av1.decoder" type="video/av01"> <MediaCodec name="c2.google.av1.decoder" type="video/av01">
<Limit name="size" min="96x96" max="3840x2160" /> <Limit name="size" min="96x96" max="3840x2160" />

View file

@ -1 +1,3 @@
PRODUCT_PACKAGES += vcd ifneq ($(BOARD_WITHOUT_RADIO),true)
PRODUCT_PACKAGES += vcd
endif

View file

@ -28,6 +28,7 @@
using android::hardware::google::pixel::SysfsCollector; using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener; using android::hardware::google::pixel::UeventListener;
#define BLOCK_STATS_LENGTH 17
#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename #define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
#define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type #define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type
const struct SysfsCollector::SysfsPaths sysfs_paths = { 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(fatal_err_count),
UFS_ERR_PATH(auto_hibern8_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 = { const struct UeventListener::UeventPaths ueventPaths = {

View file

@ -25,6 +25,7 @@
#include <dataproviders/PowerStatsEnergyConsumer.h> #include <dataproviders/PowerStatsEnergyConsumer.h>
#include <dataproviders/PowerStatsEnergyAttribution.h> #include <dataproviders/PowerStatsEnergyAttribution.h>
#include <dataproviders/PixelStateResidencyDataProvider.h> #include <dataproviders/PixelStateResidencyDataProvider.h>
#include <dataproviders/WlanStateResidencyDataProvider.h>
#include <android-base/logging.h> #include <android-base/logging.h>
#include <android-base/properties.h> #include <android-base/properties.h>
@ -41,6 +42,7 @@ using aidl::android::hardware::power::stats::GenericStateResidencyDataProvider;
using aidl::android::hardware::power::stats::IioEnergyMeterDataProvider; using aidl::android::hardware::power::stats::IioEnergyMeterDataProvider;
using aidl::android::hardware::power::stats::PixelStateResidencyDataProvider; using aidl::android::hardware::power::stats::PixelStateResidencyDataProvider;
using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer;
using aidl::android::hardware::power::stats::WlanStateResidencyDataProvider;
// TODO (b/181070764) (b/182941084): // TODO (b/181070764) (b/182941084):
// Remove this when Wifi/BT energy consumption models are available or revert before ship // Remove this when Wifi/BT energy consumption models are available or revert before ship
@ -167,64 +169,6 @@ void addDvfsStats(std::shared_ptr<PowerStats> p) {
std::vector<DvfsStateResidencyDataProvider::Config> cfgs; std::vector<DvfsStateResidencyDataProvider::Config> 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", { cfgs.push_back({"TPU", {
std::make_pair("1066MHz", "1066000"), std::make_pair("1066MHz", "1066000"),
std::make_pair("845MHz", "845000"), std::make_pair("845MHz", "845000"),
@ -234,6 +178,14 @@ void addDvfsStats(std::shared_ptr<PowerStats> p) {
std::make_pair("0MHz", "0"), 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<DvfsStateResidencyDataProvider>( p->addStateResidencyDataProvider(std::make_unique<DvfsStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/fvp_stats", NS_TO_MS, cfgs)); "/sys/devices/platform/acpm_stats/fvp_stats", NS_TO_MS, cfgs));
} }
@ -343,6 +295,15 @@ void addCPUclusters(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>( p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/core_stats", cfgs)); "/sys/devices/platform/acpm_stats/core_stats", cfgs));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL0", "/sys/devices/system/cpu/cpufreq/policy0/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL1", "/sys/devices/system/cpu/cpufreq/policy4/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL2", "/sys/devices/system/cpu/cpufreq/policy6/stats"));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"})); EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"}));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
@ -371,7 +332,7 @@ void addGPU(std::shared_ptr<PowerStats> p) {
{"848000", 4044}}; {"848000", 4044}};
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer(p, 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"}}, {{UID_TIME_IN_STATE, "/sys/devices/platform/28000000.mali/uid_time_in_state"}},
stateCoeffs)); stateCoeffs));
@ -528,6 +489,12 @@ void addWifi(std::shared_ptr<PowerStats> p) {
cfgs)); cfgs));
} }
void addWlan(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<WlanStateResidencyDataProvider>(
"WLAN",
"/sys/kernel/wifi/power_stats"));
}
void addUfs(std::shared_ptr<PowerStats> p) { void addUfs(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<UfsStateResidencyDataProvider>("/sys/bus/platform/devices/14700000.ufs/ufs_stats/")); p->addStateResidencyDataProvider(std::make_unique<UfsStateResidencyDataProvider>("/sys/bus/platform/devices/14700000.ufs/ufs_stats/"));
} }
@ -632,10 +599,9 @@ void addPixelStateResidencyDataProvider(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::move(pixelSdp)); p->addStateResidencyDataProvider(std::move(pixelSdp));
} }
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) { void addCommonDataProviders(std::shared_ptr<PowerStats> p) {
setEnergyMeter(p); setEnergyMeter(p);
addPixelStateResidencyDataProvider(p);
addAoC(p); addAoC(p);
addDvfsStats(p); addDvfsStats(p);
addSoC(p); addSoC(p);
@ -644,7 +610,6 @@ void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
addMobileRadio(p); addMobileRadio(p);
addGNSS(p); addGNSS(p);
addPCIe(p); addPCIe(p);
addWifi(p);
addUfs(p); addUfs(p);
addPowerDomains(p); addPowerDomains(p);
addDevfreq(p); addDevfreq(p);
@ -655,6 +620,33 @@ void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
addPlaceholderEnergyConsumers(p); addPlaceholderEnergyConsumers(p);
} }
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
addCommonDataProviders(p);
addPixelStateResidencyDataProvider(p);
addWifi(p);
}
void addGs201CommonDataProvidersQc(std::shared_ptr<PowerStats> p) {
addCommonDataProviders(p);
addWlan(p);
}
void addGs201CommonDataProvidersBig(std::shared_ptr<PowerStats> 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<PowerStats> p, const std::string& path) { void addNFC(std::shared_ptr<PowerStats> p, const std::string& path) {
const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = { const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = {
.entryCountSupported = true, .entryCountSupported = true,

View file

@ -21,5 +21,6 @@
using aidl::android::hardware::power::stats::PowerStats; using aidl::android::hardware::power::stats::PowerStats;
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p); void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProvidersBig(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProvidersQc(std::shared_ptr<PowerStats> p);
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path); void addNFC(std::shared_ptr<PowerStats> p, const std::string& path);

Binary file not shown.

Binary file not shown.

View file

@ -732,7 +732,9 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb,
// When connected return powerBrickStatus // When connected return powerBrickStatus
if (port.second) { if (port.second) {
string usbType; 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")) { if (strstr(usbType.c_str(), "[D")) {
(*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::CONNECTED; (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::CONNECTED;
} else if (strstr(usbType.c_str(), "[U")) { } else if (strstr(usbType.c_str(), "[U")) {

View file

@ -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-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-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/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/power_role
chmod 664 /sys/class/typec/port0/data_role chmod 664 /sys/class/typec/port0/data_role
chmod 664 /sys/class/typec/port0/port_type 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-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-6/i2c-max77759tcpc/contaminant_detection
chmod 664 /sys/devices/platform/10d60000.hsi2c/i2c-5/i2c-max77759tcpc/usb_limit_accessory_current 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-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-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/10d60000.hsi2c/i2c-6/i2c-max77759tcpc/usb_limit_source_enable
chmod 664 /sys/devices/platform/google,pogo/enable_usb

View file

@ -18,6 +18,7 @@ LOCAL_WIFI_PATH := device/google/gs201/wifi/qcom
# wlan flags # wlan flags
BOARD_WLAN_DEVICE := qcwcn BOARD_WLAN_DEVICE := qcwcn
BOARD_WLAN_CHIP := wcn6740
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := NL80211 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_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_ON := "ON" WIFI_DRIVER_STATE_ON := "ON"
WIFI_DRIVER_STATE_OFF := "OFF" WIFI_DRIVER_STATE_OFF := "OFF"
BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL := true
# WLAN driver configuration files # WLAN driver configuration files
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \

View file

@ -1,2 +1,3 @@
disable_scan_offload=1 disable_scan_offload=1
p2p_go_vht=1 p2p_go_vht=1
p2p_6ghz_disable=1