diff --git a/dumpstate/Dumpstate.cpp b/dumpstate/Dumpstate.cpp
index de973669..c7a35b16 100644
--- a/dumpstate/Dumpstate.cpp
+++ b/dumpstate/Dumpstate.cpp
@@ -239,30 +239,12 @@ void endSection(int fd, const std::string §ionName, timepoint_t startTime) {
"\n", fd);
}
-Dumpstate::Dumpstate()
- : mTextSections{
- { "power", [this](int fd) { dumpPowerSection(fd); } },
- } {
-}
-
// Dump data requested by an argument to the "dump" interface, or help info
// if the specified section is not supported.
void Dumpstate::dumpTextSection(int fd, const std::string §ionName) {
bool dumpAll = (sectionName == kAllSections);
std::string dumpFiles;
- for (const auto §ion : mTextSections) {
- if (dumpAll || sectionName == section.first) {
- auto startTime = startSection(fd, section.first);
- section.second(fd);
- endSection(fd, section.first, startTime);
-
- if (!dumpAll) {
- return;
- }
- }
- }
-
// Execute all or designated programs under vendor/bin/dump/
std::unique_ptr
dir(opendir("/vendor/bin/dump"), closedir);
if (!dir) {
@@ -296,200 +278,11 @@ void Dumpstate::dumpTextSection(int fd, const std::string §ionName) {
// An unsupported section was requested on the command line
::android::base::WriteStringToFd("Unrecognized text section: " + sectionName + "\n", fd);
::android::base::WriteStringToFd("Try \"" + kAllSections + "\" or one of the following:", fd);
- for (const auto §ion : mTextSections) {
- ::android::base::WriteStringToFd(" " + section.first, fd);
- }
::android::base::WriteStringToFd(dumpFiles, fd);
::android::base::WriteStringToFd("\nNote: sections with attachments (e.g. modem) are"
"not avalable from the command line.\n", fd);
}
-// Dump items related to power and battery
-void Dumpstate::dumpPowerSection(int fd) {
- struct stat buffer;
-
- RunCommandToFd(fd, "Power Stats Times", {"/vendor/bin/sh", "-c",
- "echo -n \"Boot: \" && /vendor/bin/uptime -s && "
- "echo -n \"Now: \" && date"});
-
- RunCommandToFd(fd, "ACPM stats", {"/vendor/bin/sh", "-c",
- "for f in /sys/devices/platform/acpm_stats/*_stats ; do "
- "echo \"\\n\\n$f\" ; cat $f ; "
- "done"});
-
- DumpFileToFd(fd, "CPU PM stats", "/sys/devices/system/cpu/cpupm/cpupm/time_in_state");
-
- DumpFileToFd(fd, "GENPD summary", "/d/pm_genpd/pm_genpd_summary");
-
- DumpFileToFd(fd, "Power supply property battery", "/sys/class/power_supply/battery/uevent");
- DumpFileToFd(fd, "Power supply property dc", "/sys/class/power_supply/dc/uevent");
- DumpFileToFd(fd, "Power supply property gcpm", "/sys/class/power_supply/gcpm/uevent");
- DumpFileToFd(fd, "Power supply property gcpm_pps", "/sys/class/power_supply/gcpm_pps/uevent");
- DumpFileToFd(fd, "Power supply property main-charger", "/sys/class/power_supply/main-charger/uevent");
- DumpFileToFd(fd, "Power supply property pca9486-mains", "/sys/class/power_supply/pca9468-mains/uevent");
- DumpFileToFd(fd, "Power supply property tcpm", "/sys/class/power_supply/tcpm-source-psy-i2c-max77759tcpc/uevent");
- DumpFileToFd(fd, "Power supply property usb", "/sys/class/power_supply/usb/uevent");
- DumpFileToFd(fd, "Power supply property wireless", "/sys/class/power_supply/wireless/uevent");
- if (!stat("/sys/class/power_supply/maxfg", &buffer)) {
- DumpFileToFd(fd, "Power supply property maxfg", "/sys/class/power_supply/maxfg/uevent");
- DumpFileToFd(fd, "m5_state", "/sys/class/power_supply/maxfg/m5_model_state");
- DumpFileToFd(fd, "maxfg", "/dev/logbuffer_maxfg");
- DumpFileToFd(fd, "maxfg", "/dev/logbuffer_maxfg_monitor");
- } else {
- DumpFileToFd(fd, "Power supply property maxfg_base", "/sys/class/power_supply/maxfg_base/uevent");
- DumpFileToFd(fd, "Power supply property maxfg_flip", "/sys/class/power_supply/maxfg_flip/uevent");
- DumpFileToFd(fd, "m5_state", "/sys/class/power_supply/maxfg_base/m5_model_state");
- DumpFileToFd(fd, "maxfg_base", "/dev/logbuffer_maxfg_base");
- DumpFileToFd(fd, "maxfg_flip", "/dev/logbuffer_maxfg_flip");
- DumpFileToFd(fd, "maxfg_base", "/dev/logbuffer_maxfg_base_monitor");
- DumpFileToFd(fd, "maxfg_flip", "/dev/logbuffer_maxfg_flip_monitor");
- }
- if (!stat("/sys/class/power_supply/dock", &buffer)) {
- DumpFileToFd(fd, "Power supply property dock", "/sys/class/power_supply/dock/uevent");
- }
-
- if (!stat("/dev/logbuffer_tcpm", &buffer)) {
- DumpFileToFd(fd, "Logbuffer TCPM", "/dev/logbuffer_tcpm");
- } else if (!PropertiesHelper::IsUserBuild()) {
- if (!stat("/sys/kernel/debug/tcpm", &buffer)) {
- RunCommandToFd(fd, "TCPM logs", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/tcpm/*"});
- } else {
- RunCommandToFd(fd, "TCPM logs", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/usb/tcpm*"});
- }
- }
-
- RunCommandToFd(fd, "TCPC", {"/vendor/bin/sh", "-c",
- "for f in /sys/devices/platform/10d50000.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"});
-
- DumpFileToFd(fd, "PD Engine", "/dev/logbuffer_usbpd");
- DumpFileToFd(fd, "POGO Transport", "/dev/logbuffer_pogo_transport");
- DumpFileToFd(fd, "PPS-google_cpm", "/dev/logbuffer_cpm");
- DumpFileToFd(fd, "PPS-dc", "/dev/logbuffer_pca9468");
-
- DumpFileToFd(fd, "Battery Health", "/sys/class/power_supply/battery/health_index_stats");
- DumpFileToFd(fd, "BMS", "/dev/logbuffer_ssoc");
- DumpFileToFd(fd, "TTF", "/dev/logbuffer_ttf");
- DumpFileToFd(fd, "TTF details", "/sys/class/power_supply/battery/ttf_details");
- DumpFileToFd(fd, "TTF stats", "/sys/class/power_supply/battery/ttf_stats");
- DumpFileToFd(fd, "maxq", "/dev/logbuffer_maxq");
- DumpFileToFd(fd, "aacr_state", "/sys/class/power_supply/battery/aacr_state");
- DumpFileToFd(fd, "TEMP/DOCK-DEFEND", "/dev/logbuffer_bd");
-
- RunCommandToFd(fd, "TRICKLE-DEFEND Config", {"/vendor/bin/sh", "-c",
- " cd /sys/devices/platform/google,battery/power_supply/battery/;"
- " for f in `ls bd_*` ; do echo \"$f: `cat $f`\" ; done"});
-
- RunCommandToFd(fd, "DWELL-DEFEND Config", {"/vendor/bin/sh", "-c",
- " cd /sys/devices/platform/google,charger/;"
- " for f in `ls charge_s*` ; do echo \"$f: `cat $f`\" ; done"});
-
- RunCommandToFd(fd, "TEMP-DEFEND Config", {"/vendor/bin/sh", "-c",
- " cd /sys/devices/platform/google,charger/;"
- " for f in `ls bd_*` ; do echo \"$f: `cat $f`\" ; done"});
- if (!PropertiesHelper::IsUserBuild()) {
-
- DumpFileToFd(fd, "DC_registers dump", "/sys/class/power_supply/pca9468-mains/device/registers_dump");
- DumpFileToFd(fd, "max77759_chg registers dump", "/d/max77759_chg/registers");
- DumpFileToFd(fd, "max77729_pmic registers dump", "/d/max77729_pmic/registers");
- DumpFileToFd(fd, "Charging table dump", "/d/google_battery/chg_raw_profile");
-
-
- RunCommandToFd(fd, "fg_model", {"/vendor/bin/sh", "-c",
- "for f in /d/maxfg* ; do "
- "regs=`cat $f/fg_model`; echo $f: ;"
- "echo \"$regs\"; done"});
-
- RunCommandToFd(fd, "fg_alo_ver", {"/vendor/bin/sh", "-c",
- "for f in /d/maxfg* ; do "
- "regs=`cat $f/algo_ver`; echo $f: ;"
- "echo \"$regs\"; done"});
-
- RunCommandToFd(fd, "fg_model_ok", {"/vendor/bin/sh", "-c",
- "for f in /d/maxfg* ; do "
- "regs=`cat $f/model_ok`; echo $f: ;"
- "echo \"$regs\"; done"});
-
-
- /* FG Registers */
- RunCommandToFd(fd, "fg registers", {"/vendor/bin/sh", "-c",
- "for f in /d/maxfg* ; do "
- "regs=`cat $f/registers`; echo $f: ;"
- "echo \"$regs\"; done"});
- }
-
- /* EEPROM State */
- if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom", &buffer)) {
- RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom"});
- } else if(!stat("/sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom", &buffer)) {
- 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/10970000.hsi2c/i2c-6/6-0050/eeprom", &buffer)) {
- RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-6/6-0050/eeprom"});
- } else if(!stat("/sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom", &buffer)) {
- RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom"});
- } else {
- RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-8/8-0050/eeprom"});
- }
-
- DumpFileToFd(fd, "Charger Stats", "/sys/class/power_supply/battery/charge_details");
- if (!PropertiesHelper::IsUserBuild()) {
- RunCommandToFd(fd, "Google Charger", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_charger/; "
- "for f in `ls pps_*` ; do echo \"$f: `cat $f`\" ; done"});
- RunCommandToFd(fd, "Google Battery", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_battery/; "
- "for f in `ls ssoc_*` ; do echo \"$f: `cat $f`\" ; done"});
- }
-
- DumpFileToFd(fd, "WLC logs", "/dev/logbuffer_wireless");
- DumpFileToFd(fd, "WLC VER", "/sys/class/power_supply/wireless/device/version");
- DumpFileToFd(fd, "WLC STATUS", "/sys/class/power_supply/wireless/device/status");
- DumpFileToFd(fd, "WLC FW Version", "/sys/class/power_supply/wireless/device/fw_rev");
- DumpFileToFd(fd, "RTX", "/dev/logbuffer_rtx");
-
- if (!PropertiesHelper::IsUserBuild()) {
- RunCommandToFd(fd, "gvotables", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/gvotables/*/status"});
- }
- RunCommandToFd(fd, "Mitigation Stats", {"/vendor/bin/sh", "-c", "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"});
- RunCommandToFd(fd, "Clock Divider Ratio", {"/vendor/bin/sh", "-c", "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"});
- RunCommandToFd(fd, "Clock Stats", {"/vendor/bin/sh", "-c", "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"});
- RunCommandToFd(fd, "Triggered Level", {"/vendor/bin/sh", "-c", "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"});
- RunCommandToFd(fd, "Instruction", {"/vendor/bin/sh", "-c",
- "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"});
-
-}
-
static void *dumpModemThread(void *data) {
ATRACE_ASYNC_BEGIN("dumpModemThread", 0);
std::string modemLogDir = MODEM_LOG_DIRECTORY;
diff --git a/dumpstate/Dumpstate.h b/dumpstate/Dumpstate.h
index cfca5a15..e2b639d5 100644
--- a/dumpstate/Dumpstate.h
+++ b/dumpstate/Dumpstate.h
@@ -28,8 +28,6 @@ namespace dumpstate {
class Dumpstate : public BnDumpstateDevice {
public:
- Dumpstate();
-
::ndk::ScopedAStatus dumpstateBoard(const std::vector<::ndk::ScopedFileDescriptor>& in_fds,
IDumpstateDevice::DumpstateMode in_mode,
int64_t in_timeoutMillis) override;
@@ -41,14 +39,7 @@ class Dumpstate : public BnDumpstateDevice {
private:
const std::string kAllSections = "all";
- std::vector>> mTextSections;
-
void dumpTextSection(int fd, std::string const& sectionName);
-
- // Text sections that can be dumped individually on the command line in
- // addition to being included in full dumps
- void dumpPowerSection(int fd);
- void dumpMemorySection(int fd);
};
} // namespace dumpstate
diff --git a/dumpstate/dump_gs101.sh b/dumpstate/dump_gs101.sh
index c37b2bfb..e86b1d51 100644
--- a/dumpstate/dump_gs101.sh
+++ b/dumpstate/dump_gs101.sh
@@ -19,3 +19,307 @@ for f in $(ls -t /data/vendor/camera/hal_graph_state*.txt |head -1); do
cat $f
done
+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 pca9486-mains ------"
+cat "/sys/class/power_supply/pca9468-mains/uevent"
+echo "\n------ Power supply property tcpm ------"
+cat "/sys/class/power_supply/tcpm-source-psy-i2c-max77759tcpc/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 [ -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/10d50000.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------ POGO Transport ------"
+cat "/dev/logbuffer_pogo_transport"
+echo "\n------ PPS-google_cpm ------"
+cat "/dev/logbuffer_cpm"
+echo "\n------ PPS-dc ------"
+cat "/dev/logbuffer_pca9468"
+
+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------ maxq ------"
+cat "/dev/logbuffer_maxq"
+echo "\n------ aacr_state ------"
+cat "/sys/class/power_supply/battery/aacr_state"
+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/pca9468-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
+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/10970000.hsi2c/i2c-6/6-0050/eeprom" ]
+then
+ xxd /sys/devices/platform/10970000.hsi2c/i2c-6/6-0050/eeprom
+fi
+
+if [ -e "/sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom" ]
+then
+ xxd /sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom
+fi
+
+if [ -e "/sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom" ]
+then
+ xxd /sys/devices/platform/10970000.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------ 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
+