blob: 3fb715e1b2e2783ebf37c8db0a394a7d76d00afe [file] [log] [blame]
#!/vendor/bin/sh
build_type="$(getprop ro.build.type)"
echo "\n------ Power Stats Times ------"
echo -n "Boot: " && /vendor/bin/uptime -s && echo -n "Now: " && date;
echo "\n------ ACPM stats ------"
for f in /sys/devices/platform/acpm_stats/*_stats ; do
echo "\n\n$f"
cat $f
done
echo "\n------ CPU PM stats ------"
cat "/sys/devices/system/cpu/cpupm/cpupm/time_in_state"
echo "\n------ GENPD summary ------"
cat "/d/pm_genpd/pm_genpd_summary"
echo "\n------ Power supply property battery ------"
cat "/sys/class/power_supply/battery/uevent"
echo "\n------ Power supply property dc ------"
cat "/sys/class/power_supply/dc/uevent"
echo "\n------ Power supply property gcpm ------"
cat "/sys/class/power_supply/gcpm/uevent"
echo "\n------ Power supply property gcpm_pps ------"
cat "/sys/class/power_supply/gcpm_pps/uevent"
echo "\n------ Power supply property main-charger ------"
cat "/sys/class/power_supply/main-charger/uevent"
echo "\n------ Power supply property dc-mains ------"
cat "/sys/class/power_supply/dc-mains/uevent"
echo "\n------ Power supply property tcpm ------"
cat "/sys/class/power_supply/tcpm-source-psy-8-0025/uevent"
echo "\n------ Power supply property usb ------"
cat "/sys/class/power_supply/usb/uevent"
echo "\n------ Power supply property wireless ------"
cat "/sys/class/power_supply/wireless/uevent"
if [ -d "/sys/class/power_supply/maxfg" ]
then
echo "\n------ Power supply property maxfg ------"
cat "/sys/class/power_supply/maxfg/uevent"
echo "\n------ m5_state ------"
cat "/sys/class/power_supply/maxfg/m5_model_state"
echo "\n------ maxfg ------"
cat "/dev/logbuffer_maxfg"
echo "\n------ maxfg ------"
cat "/dev/logbuffer_maxfg_monitor"
else
echo "\n------ Power supply property maxfg_base ------"
cat "/sys/class/power_supply/maxfg_base/uevent"
echo "\n------ Power supply property maxfg_flip ------"
cat "/sys/class/power_supply/maxfg_flip/uevent"
echo "\n------ m5_state ------"
cat "/sys/class/power_supply/maxfg_base/m5_model_state"
echo "\n------ maxfg_base ------"
cat "/dev/logbuffer_maxfg_base"
echo "\n------ maxfg_flip ------"
cat "/dev/logbuffer_maxfg_flip"
echo "\n------ maxfg_base ------"
cat "/dev/logbuffer_maxfg_base_monitor"
echo "\n------ maxfg_flip ------"
cat "/dev/logbuffer_maxfg_flip_monitor"
fi
if [ -e "/dev/maxfg_history" ]
then
echo "\n------ Maxim FG History ------"
cat "/dev/maxfg_history"
fi
if [ -d "/sys/class/power_supply/dock" ]
then
echo "\n------ Power supply property dock ------"
cat "/sys/class/power_supply/dock/uevent"
fi
if [ -e "/dev/logbuffer_tcpm" ]
then
echo "\n------ Logbuffer TCPM ------"
cat "/dev/logbuffer_tcpm"
if [ -d "/sys/kernel/debug/tcpm" ]
then
echo "\n------ TCPM logs ------"
cat /sys/kernel/debug/tcpm/*
else
echo "\n------ TCPM logs ------"
cat /sys/kernel/debug/usb/tcpm*
fi
fi
echo "\n------ TCPC ------"
for f in /sys/devices/platform/10d60000.hsi2c/i2c-*/i2c-max77759tcpc
do
echo "registers:"
cat $f/registers
echo "frs:"
cat $f/frs
echo "auto_discharge:"
cat $f/auto_discharge
echo "bc12_enabled:"
cat $f/bc12_enabled
echo "cc_toggle_enable:"
cat $f/cc_toggle_enable
echo "contaminant_detection:"
cat $f/contaminant_detection
echo "contaminant_detection_status:"
cat $f/contaminant_detection_status
done
echo "\n------ PD Engine ------"
cat "/dev/logbuffer_usbpd"
echo "\n------ PPS-google_cpm ------"
cat "/dev/logbuffer_cpm"
echo "\n------ PPS-dc ------"
cat "/dev/logbuffer_pca9468"
if [ -e "/dev/logbuffer_wc68" ]
then
echo "\n------ WC68 ------"
cat "/dev/logbuffer_wc68"
fi
if [ -e "/dev/logbuffer_ln8411" ]
then
echo "\n------ LN8411 ------"
cat "/dev/logbuffer_ln8411"
fi
echo "\n------ Battery Health ------"
cat "/sys/class/power_supply/battery/health_index_stats"
echo "\n------ BMS ------"
cat "/dev/logbuffer_ssoc"
echo "\n------ TTF ------"
cat "/dev/logbuffer_ttf"
echo "\n------ TTF details ------"
cat "/sys/class/power_supply/battery/ttf_details"
echo "\n------ TTF stats ------"
cat "/sys/class/power_supply/battery/ttf_stats"
echo "\n------ aacr_state ------"
cat "/sys/class/power_supply/battery/aacr_state"
echo "\n------ maxq ------"
cat "/dev/logbuffer_maxq"
echo "\n------ TEMP/DOCK-DEFEND ------"
cat "/dev/logbuffer_bd"
echo "\n------ TRICKLE-DEFEND Config ------"
cd /sys/devices/platform/google,battery/power_supply/battery/
for f in `ls bd_*`
do
echo $f: `cat $f`
done
echo "\n------ DWELL-DEFEND Config ------"
cd /sys/devices/platform/google,charger/
for f in `ls charge_s*`
do
echo "$f: `cat $f`"
done
echo "\n------ TEMP-DEFEND Config ------"
cd /sys/devices/platform/google,charger/
for f in `ls bd_*`
do
echo "$f: `cat $f`"
done
if [ $build_type = "userdebug" ]
then
echo "\n------ DC_registers dump ------"
cat "/sys/class/power_supply/dc-mains/device/registers_dump"
echo "\n------ max77759_chg registers dump ------"
cat "/d/max77759_chg/registers"
echo "\n------ max77729_pmic registers dump ------"
cat "/d/max77729_pmic/registers"
echo "\n------ Charging table dump ------"
cat "/d/google_battery/chg_raw_profile"
echo "\n------ fg_model ------"
for f in /d/maxfg*
do
regs=`cat $f/fg_model`
echo $f:
echo "$regs"
done
echo "\n------ fg_alo_ver ------"
for f in /d/maxfg*
do
regs=`cat $f/algo_ver`
echo $f:
echo "$regs"
done
echo "\n------ fg_model_ok ------"
for f in /d/maxfg*
do
regs=`cat $f/model_ok`
echo $f:
echo "$regs"
done
echo "\n------ fg registers ------"
for f in /d/maxfg*
do
regs=`cat $f/registers`
echo $f:
echo "$regs"
done
echo "\n------ Maxim FG NV RAM ------"
for f in /d/maxfg*
do
regs=`cat $f/nv_registers`
echo $f:
echo "$regs"
done
fi
echo "\n------ Battery EEPROM ------"
if [ -e "/sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom" ]
then
xxd /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom
fi
if [ -e "/sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom" ]
then
xxd /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom
fi
if [ -e "/sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom" ]
then
xxd /sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom
fi
if [ -e "/sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom" ]
then
xxd /sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom
fi
if [ -e "/sys/devices/platform/10c90000.hsi2c/i2c-7/7-0050/eeprom" ]
then
xxd /sys/devices/platform/10c90000.hsi2c/i2c-7/7-0050/eeprom
fi
echo "\n------ Charger Stats ------"
cat "/sys/class/power_supply/battery/charge_details"
if [ $build_type = "userdebug" ]
then
echo "\n------ Google Charger ------"
cd /sys/kernel/debug/google_charger/
for f in `ls pps_*`
do
echo "$f: `cat $f`"
done
echo "\n------ Google Battery ------"
cd /sys/kernel/debug/google_battery/
for f in `ls ssoc_*`
do
echo "$f: `cat $f`"
done
fi
echo "\n------ WLC logs ------"
cat "/dev/logbuffer_wireless"
echo "\n------ WLC VER ------"
cat "/sys/class/power_supply/wireless/device/version"
echo "\n------ WLC STATUS ------"
cat "/sys/class/power_supply/wireless/device/status"
echo "\n------ WLC FW Version ------"
cat "/sys/class/power_supply/wireless/device/fw_rev"
echo "\n------ RTX ------"
cat "/dev/logbuffer_rtx"
if [ $build_type = "userdebug" ]
then
echo "\n------ gvotables ------"
cat /sys/kernel/debug/gvotables/*/status
fi
echo "\n------ Lastmeal ------"
cat "/data/vendor/mitigation/lastmeal.txt"
echo "\n------ Thismeal ------"
cat "/data/vendor/mitigation/thismeal.txt"
echo "\n------ Mitigation Stats ------"
echo "Source\t\tCount\tSOC\tTime\tVoltage"
for f in `ls /sys/devices/virtual/pmic/mitigation/last_triggered_count/*`
do
count=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/last_triggered_count\//}
b=${f/last_triggered_count/last_triggered_capacity}
c=${f/last_triggered_count/last_triggered_timestamp/}
d=${f/last_triggered_count/last_triggered_voltage/}
cnt=`cat $f`
cap=`cat ${b/count/cap}`
ti=`cat ${c/count/time}`
volt=`cat ${d/count/volt}`
echo "${a/_count/} \t$cnt\t$cap\t$ti\t$volt"
done
echo "\n------ Clock Divider Ratio ------"
echo \"Source\t\tRatio\"
for f in `ls /sys/devices/virtual/pmic/mitigation/clock_ratio/*`
do ratio=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/clock_ratio\//}
echo "${a/_ratio/} \t$ratio"
done
echo "\n------ Clock Stats ------"
echo "Source\t\tStats"
for f in `ls /sys/devices/virtual/pmic/mitigation/clock_stats/*`
do
stats=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/clock_stats\//};
echo "${a/_stats/} \t$stats"
done
echo "\n------ Triggered Level ------"
echo "Source\t\tLevel"
for f in `ls /sys/devices/virtual/pmic/mitigation/triggered_lvl/*`
do
lvl=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/triggered_lvl\//}
echo "${a/_lvl/} \t$lvl"
done
echo "\n------ Instruction ------"
for f in `ls /sys/devices/virtual/pmic/mitigation/instruction/*`
do
val=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/instruction\//}
echo "$a=$val"
done
echo "\n------ IRQ Duration Counts ------"
echo "Source\t\t\t\tlt_5ms_cnt\tbt_5ms_to_10ms_cnt\tgt_10ms_cnt\tCode\tCurrent Threshold (uA)\tCurrent Reading (uA)"
lt=`cat /sys/devices/virtual/pmic/mitigation/irq_dur_cnt/less_than_5ms_count`
bt=`cat /sys/devices/virtual/pmic/mitigation/irq_dur_cnt/between_5ms_to_10ms_count`
gt=`cat /sys/devices/virtual/pmic/mitigation/irq_dur_cnt/greater_than_10ms_count`
lpf_cur_m=`cat /sys/devices/platform/acpm_mfd_bus@15500000/i2c-0/0-001f/s2mpg14-meter/s2mpg14-odpm/iio:device0/lpf_current`
lpf_cur_s=`cat /sys/devices/platform/acpm_mfd_bus@15510000/i2c-1/1-002f/s2mpg15-meter/s2mpg15-odpm/iio:device1/lpf_current`
lpf_cur_main=(${lpf_cur_m/\\n/;})
lpf_cur_sub=(${lpf_cur_s/\\n/;})
IFS_PRE=$IFS
IFS=$'\n'
lt_a=($lt)
bt_a=($bt)
gt_a=($gt)
IFS=$IFS_PRE
for f in `ls /sys/devices/virtual/pmic/mitigation/main_pwrwarn/*`
do
count=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/main_pwrwarn\//}
s=${a/main_pwrwarn_threshold/}
arr=(${count//=/ })
code=${arr[0]}
threshold=${arr[1]}
main_array[$s]="$code\t$threshold"
done
i=1
main_current=()
for f in "${main_array[@]}"
do
idx=$i
idx2=$idx+1
main_current+=(${lpf_cur_main[$idx2]})
i=$i+2
done
for f in `ls /sys/devices/virtual/pmic/mitigation/sub_pwrwarn/*`
do
count=`cat $f`
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/sub_pwrwarn\//}
s=${a/sub_pwrwarn_threshold/}
arr=(${count//=/ })
code=${arr[0]};
threshold=${arr[1]};
sub_array[$s]="$code\t$threshold"
done
i=1
sub_current=()
for f in "${sub_array[@]}"
do
idx=$i
idx2=$idx+1
sub_current+=(${lpf_cur_sub[$idx2]})
i=$i+2
done
rows=${#lt_a[@]}
for i in `seq 0 $rows`
do
n="${lt_a[i]%:*}"
l="${lt_a[i]#*": "}"
b="${bt_a[i]#*": "}"
g="${gt_a[i]#*": "}"
if [ $i -lt 9 ]
then
echo "$n \t\t$l\t\t$b\t\t\t$g"
elif [ $i -ge 9 ] && [ $i -lt 21 ]
then
j=$i-9
thresh="${main_array[j]}"
current="${main_current[j]}"
echo "$n \t$l\t\t$b\t\t\t$g\t\t$thresh \t\t$current"
else
j=$i-21
thresh="${sub_array[j]}"
current="${sub_current[j]}"
echo "$n \t$l\t\t$b\t\t\t$g\t\t$thresh \t\t$current"
fi
done