Merge "dumpstate: dump more touch information" into sc-dev
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index cd5aa6d..7d5bce8 100644
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -377,160 +377,216 @@
// Dump items related to touch
void DumpstateDevice::dumpTouchSection(int fd) {
- const char c2_spi_path[] = "/sys/class/spi_master/spi11/spi11.0";
- const char r3_spi_path[] = "/sys/devices/virtual/sec/tsp";
+ const char stm_cmd_path[4][50] = {"/sys/class/spi_master/spi11/spi11.0",
+ "/proc/fts/driver_test",
+ "/sys/class/spi_master/spi6/spi6.0",
+ "/proc/fts_ext/driver_test"};
+ const char lsi_spi_path[] = "/sys/devices/virtual/sec/tsp";
char cmd[256];
- snprintf(cmd, sizeof(cmd), "%s/appid", c2_spi_path);
- if (!access(cmd, R_OK)) {
- // Touch firmware version
- DumpFileToFd(fd, "STM touch firmware version", cmd);
+ for (int i = 0; i < 4; i+=2) {
+ snprintf(cmd, sizeof(cmd), "%s", stm_cmd_path[i + 1]);
+ if (!access(cmd, R_OK)) {
+ snprintf(cmd, sizeof(cmd), "echo A0 01 > %s", stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Force Set AP as Bus Owner",
+ {"/vendor/bin/sh", "-c", cmd});
+ }
- // Touch controller status
- snprintf(cmd, sizeof(cmd), "%s/status", c2_spi_path);
- DumpFileToFd(fd, "STM touch status", cmd);
+ snprintf(cmd, sizeof(cmd), "%s/appid", stm_cmd_path[i]);
+ if (!access(cmd, R_OK)) {
+ // Touch firmware version
+ DumpFileToFd(fd, "STM touch firmware version", cmd);
- // Mutual raw data
- snprintf(cmd, sizeof(cmd),
- "echo 13 00 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
- c2_spi_path, c2_spi_path);
- RunCommandToFd(fd, "Mutual Raw", {"/vendor/bin/sh", "-c", cmd});
+ // Touch controller status
+ snprintf(cmd, sizeof(cmd), "%s/status", stm_cmd_path[i]);
+ DumpFileToFd(fd, "STM touch status", cmd);
- // Mutual strength data
- snprintf(cmd, sizeof(cmd),
- "echo 17 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
- c2_spi_path, c2_spi_path);
- RunCommandToFd(fd, "Mutual Strength", {"/vendor/bin/sh", "-c", cmd});
+ // Mutual raw data
+ snprintf(cmd, sizeof(cmd),
+ "echo 13 00 01 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
+ stm_cmd_path[i], stm_cmd_path[i]);
+ RunCommandToFd(fd, "Mutual Raw", {"/vendor/bin/sh", "-c", cmd});
- // Self raw data
- snprintf(cmd, sizeof(cmd),
- "echo 15 00 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
- c2_spi_path, c2_spi_path);
- RunCommandToFd(fd, "Self Raw", {"/vendor/bin/sh", "-c", cmd});
+ // Mutual strength data
+ snprintf(cmd, sizeof(cmd),
+ "echo 17 01 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
+ stm_cmd_path[i], stm_cmd_path[i]);
+ RunCommandToFd(fd, "Mutual Strength", {"/vendor/bin/sh", "-c", cmd});
+
+ // Self raw data
+ snprintf(cmd, sizeof(cmd),
+ "echo 15 00 01 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
+ stm_cmd_path[i], stm_cmd_path[i]);
+ RunCommandToFd(fd, "Self Raw", {"/vendor/bin/sh", "-c", cmd});
+ }
+
+ snprintf(cmd, sizeof(cmd), "%s", stm_cmd_path[i + 1]);
+ if (!access(cmd, R_OK)) {
+ snprintf(cmd, sizeof(cmd), "echo 23 00 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Mutual Raw Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 23 03 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Mutual Baseline Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 23 02 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Mutual Strength Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 24 00 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Self Raw Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 24 03 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Self Baseline Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 24 02 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Self Strength Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 32 10 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Mutual Compensation",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 32 11 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Mutual Low Power Compensation",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 33 12 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Self Compensation",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 34 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Golden Mutual Raw Data",
+ {"/vendor/bin/sh", "-c", cmd});
+
+ snprintf(cmd, sizeof(cmd), "echo 01 FA 20 00 00 24 80 > %s",
+ stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Packaging Plant - HW reset",
+ {"/vendor/bin/sh", "-c", cmd});
+ snprintf(cmd, sizeof(cmd), "echo 01 FA 20 00 00 68 08 > %s",
+ stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Packaging Plant - Hibernate Memory",
+ {"/vendor/bin/sh", "-c", cmd});
+ snprintf(cmd, sizeof(cmd),
+ "echo 02 FB 00 04 3F D8 00 10 01 > %s && cat %s",
+ stm_cmd_path[i + 1], stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Packaging Plant - Read 16 bytes from Address 0x00041FD8",
+ {"/vendor/bin/sh", "-c", cmd});
+ }
+
+ snprintf(cmd, sizeof(cmd), "%s/stm_fts_cmd", stm_cmd_path[i]);
+ if (!access(cmd, R_OK)) {
+ // ITO raw data
+ snprintf(cmd, sizeof(cmd),
+ "echo 01 > %s/stm_fts_cmd && cat %s/stm_fts_cmd",
+ stm_cmd_path[i], stm_cmd_path[i]);
+ RunCommandToFd(fd, "ITO Raw", {"/vendor/bin/sh", "-c", cmd});
+ }
+
+ if (!access(cmd, R_OK)) {
+ snprintf(cmd, sizeof(cmd), "echo A0 00 > %s", stm_cmd_path[i + 1]);
+ RunCommandToFd(fd, "Restore Bus Owner",
+ {"/vendor/bin/sh", "-c", cmd});
+ }
}
- if (!access("/proc/fts/driver_test", R_OK)) {
- RunCommandToFd(fd, "Mutual Raw Data",
- {"/vendor/bin/sh", "-c",
- "echo 23 00 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Mutual Baseline Data",
- {"/vendor/bin/sh", "-c",
- "echo 23 03 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Mutual Strength Data",
- {"/vendor/bin/sh", "-c",
- "echo 23 02 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Self Raw Data",
- {"/vendor/bin/sh", "-c",
- "echo 24 00 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Self Baseline Data",
- {"/vendor/bin/sh", "-c",
- "echo 24 03 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Self Strength Data",
- {"/vendor/bin/sh", "-c",
- "echo 24 02 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Mutual Compensation",
- {"/vendor/bin/sh", "-c",
- "echo 32 10 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Self Compensation",
- {"/vendor/bin/sh", "-c",
- "echo 33 12 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- RunCommandToFd(fd, "Golden Mutual Raw Data",
- {"/vendor/bin/sh", "-c",
- "echo 34 > /proc/fts/driver_test && "
- "cat /proc/fts/driver_test"});
- }
- if (!access(r3_spi_path, R_OK)) {
+ if (!access(lsi_spi_path, R_OK)) {
// Enable: force touch active
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"force_touch_active,1",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Force Touch Active", {"/vendor/bin/sh", "-c", cmd});
// Firmware info
- snprintf(cmd, sizeof(cmd), "%s/fw_version", r3_spi_path);
+ snprintf(cmd, sizeof(cmd), "%s/fw_version", lsi_spi_path);
DumpFileToFd(fd, "LSI firmware version", cmd);
// Touch status
- snprintf(cmd, sizeof(cmd), "%s/status", r3_spi_path);
+ snprintf(cmd, sizeof(cmd), "%s/status", lsi_spi_path);
DumpFileToFd(fd, "LSI touch status", cmd);
// Calibration info
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"get_mis_cal_info",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Calibration info", {"/vendor/bin/sh", "-c", cmd});
// Mutual strength
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_delta_read_all",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Mutual Strength", {"/vendor/bin/sh", "-c", cmd});
// Self strength
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_self_delta_read_all",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Self Strength", {"/vendor/bin/sh", "-c", cmd});
// Raw cap
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_rawcap_read_all",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Mutual Raw Cap", {"/vendor/bin/sh", "-c", cmd});
// Self raw cap
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_self_rawcap_read_all",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Self Raw Cap", {"/vendor/bin/sh", "-c", cmd});
// TYPE_AMBIENT_DATA
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_rawdata_read_type,3",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "TYPE_AMBIENT_DATA", {"/vendor/bin/sh", "-c", cmd});
// TYPE_DECODED_DATA
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_rawdata_read_type,5",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "TYPE_DECODED_DATA", {"/vendor/bin/sh", "-c", cmd});
// TYPE_NOI_P2P_MIN
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_rawdata_read_type,30",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "TYPE_NOI_P2P_MIN", {"/vendor/bin/sh", "-c", cmd});
// TYPE_NOI_P2P_MAX
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"run_rawdata_read_type,31",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "TYPE_NOI_P2P_MAX", {"/vendor/bin/sh", "-c", cmd});
// Disable: force touch active
snprintf(cmd, sizeof(cmd),
"echo %s > %s/cmd && cat %s/cmd_result",
"force_touch_active,0",
- r3_spi_path, r3_spi_path);
+ lsi_spi_path, lsi_spi_path);
RunCommandToFd(fd, "Force Touch Active", {"/vendor/bin/sh", "-c", cmd});
}
}