diff --git a/conf/init.debug.rc b/conf/init.debug.rc index 88e8a17f..cd80ae61 100644 --- a/conf/init.debug.rc +++ b/conf/init.debug.rc @@ -20,6 +20,9 @@ on init chown system system /d/maxfg/fg_model chown system system /d/maxfg/registers chown system system /d/maxfg_base/fg_model + chown system system /d/maxfg_base/registers + chown system system /d/maxfg_flip/registers + chown system system /d/maxfg_flip/nv_registers on property:vendor.debug.ramdump.force_crash=true write /sys/kernel/pixel_debug/trigger "null" diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc index d826cb77..bd3e3e25 100644 --- a/conf/init.gs201.rc +++ b/conf/init.gs201.rc @@ -225,6 +225,7 @@ on init # Dump maxfg chown system system /sys/class/power_supply/maxfg/m5_model_state chown system system /sys/class/power_supply/maxfg_base/m5_model_state + chown system system /dev/maxfg_history # pca9468 : slider+77729: 6-0057; slider+MW A1: 5-0057 chown system system /d/regmap/5-0057-pca9468-mains/registers @@ -234,8 +235,7 @@ on init chown system system /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom chown system system /sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom chown system system /sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom - chown system system /dev/battery_history - chmod 0644 /dev/battery_history + chown system system /sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom # Modem temperature driver chown radio system /sys/devices/platform/cp-tm1/cp_temp @@ -481,6 +481,10 @@ on early-boot chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt chown system system /dev/sys/block/bootdevice/slowio_sync_cnt + # Dump Battery EEPROM history for pixelstats + chown system system /dev/battery_history + chmod 0644 /dev/battery_history + on boot # Allow to access debugfs for system:system diff --git a/dumpstate/Dumpstate.cpp b/dumpstate/Dumpstate.cpp index 939e3e02..2d21877e 100644 --- a/dumpstate/Dumpstate.cpp +++ b/dumpstate/Dumpstate.cpp @@ -353,6 +353,10 @@ void Dumpstate::dumpPowerSection(int fd) { DumpFileToFd(fd, "maxfg_flip", "/dev/logbuffer_maxfg_flip_monitor"); } + if (!stat("/dev/maxfg_history", &buffer)) { + DumpFileToFd(fd, "Maxim FG History", "/dev/maxfg_history"); + } + if (!stat("/sys/class/power_supply/dock", &buffer)) { DumpFileToFd(fd, "Power supply property dock", "/sys/class/power_supply/dock/uevent"); } @@ -426,6 +430,11 @@ void Dumpstate::dumpPowerSection(int fd) { "for f in /d/maxfg* ; do " "regs=`cat $f/registers`; echo $f: ;" "echo \"$regs\"; done"}); + + RunCommandToFd(fd, "Maxim FG NV RAM", {"/vendor/bin/sh", "-c", + "for f in /d/maxfg* ; do " + "regs=`cat $f/nv_registers`; echo $f: ;" + "echo \"$regs\"; done"}); } /* EEPROM State */ @@ -435,9 +444,10 @@ void Dumpstate::dumpPowerSection(int fd) { RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10970000.hsi2c/i2c-5/5-0050/eeprom"}); } else if (!stat("/sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom", &buffer)) { RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10da0000.hsi2c/i2c-6/6-0050/eeprom"}); + } else if (!stat("/sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom", &buffer)) { + RunCommandToFd(fd, "Battery EEPROM", {"/vendor/bin/sh", "-c", "xxd /sys/devices/platform/10da0000.hsi2c/i2c-7/7-0050/eeprom"}); } - DumpFileToFd(fd, "Charger Stats", "/sys/class/power_supply/battery/charge_details"); if (!PropertiesHelper::IsUserBuild()) { RunCommandToFd(fd, "Google Charger", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_charger/; "