dump_gti: Support dual-panel

Bug: 278023960
Test: adb bugreport
Change-Id: Idab07391086e04378e7722ac0ff4218a2d09478d
Signed-off-by: Wendly Li <wendlyli@google.com>
diff --git a/touch/gti/Android.bp b/touch/gti/Android.bp
index d21314a..c066d0d 100644
--- a/touch/gti/Android.bp
+++ b/touch/gti/Android.bp
@@ -3,9 +3,17 @@
 }
 
 sh_binary {
-    name: "dump_gti.sh",
-    src: "dump_gti.sh",
-    init_rc: ["init.touch.gti.rc"],
+    name: "dump_gti0.sh",
+    src: "dump_gti0.sh",
+    init_rc: ["init.touch.gti0.rc"],
+    vendor: true,
+    sub_dir: "dump",
+}
+
+sh_binary {
+    name: "dump_gti1.sh",
+    src: "dump_gti1.sh",
+    init_rc: ["init.touch.gti1.rc"],
     vendor: true,
     sub_dir: "dump",
 }
diff --git a/touch/gti/dump_gti.sh b/touch/gti/dump_gti0.sh
similarity index 100%
rename from touch/gti/dump_gti.sh
rename to touch/gti/dump_gti0.sh
diff --git a/touch/gti/dump_gti1.sh b/touch/gti/dump_gti1.sh
new file mode 100644
index 0000000..79aa5fb
--- /dev/null
+++ b/touch/gti/dump_gti1.sh
@@ -0,0 +1,45 @@
+#!/vendor/bin/sh
+path="/sys/devices/virtual/goog_touch_interface/gti.1"
+procfs_path="/proc/goog_touch_interface/gti.1"
+
+if [[ -d "$procfs_path" ]]; then
+heatmap_path=$procfs_path
+else
+heatmap_path=$path
+fi
+
+echo "------ Force Touch Active ------"
+echo 1 > $path/force_active
+
+echo "------ Touch Firmware Version ------"
+cat $path/fw_ver
+
+echo "------ Panel ID ------"
+cat $path/panel_id
+
+echo "------ Offload ID ------"
+cat $path/offload_id
+
+echo "------ Get Mutual Sensing Data - Baseline ------"
+cat $heatmap_path/ms_base
+
+echo "------ Get Mutual Sensing Data - Delta ------"
+cat $heatmap_path/ms_diff
+
+echo "------ Get Mutual Sensing Data - Raw ------"
+cat $heatmap_path/ms_raw
+
+echo "------ Get Self Sensing Data - Baseline ------"
+cat $heatmap_path/ss_base
+
+echo "------ Get Self Sensing Data - Delta ------"
+cat $heatmap_path/ss_diff
+
+echo "------ Get Self Sensing Data - Raw ------"
+cat $heatmap_path/ss_raw
+
+echo "------ Self Test ------"
+cat $path/self_test
+
+echo "------ Disable Force Touch Active ------"
+echo 0 > $path/force_active
diff --git a/touch/gti/gti.mk b/touch/gti/gti.mk
index e2e42bd..171534f 100644
--- a/touch/gti/gti.mk
+++ b/touch/gti/gti.mk
@@ -1,3 +1,3 @@
 BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/gti/sepolicy
 
-PRODUCT_PACKAGES += dump_gti.sh
+PRODUCT_PACKAGES += dump_gti0.sh
diff --git a/touch/gti/gti_dual.mk b/touch/gti/gti_dual.mk
new file mode 100644
index 0000000..f56645d
--- /dev/null
+++ b/touch/gti/gti_dual.mk
@@ -0,0 +1,5 @@
+include device/google/gs-common/touch/gti/gti.mk
+
+BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/gti/sepolicy_gti_dual
+
+PRODUCT_PACKAGES += dump_gti1.sh
diff --git a/touch/gti/init.touch.gti.rc b/touch/gti/init.touch.gti0.rc
similarity index 100%
rename from touch/gti/init.touch.gti.rc
rename to touch/gti/init.touch.gti0.rc
diff --git a/touch/gti/init.touch.gti1.rc b/touch/gti/init.touch.gti1.rc
new file mode 100644
index 0000000..28c8204
--- /dev/null
+++ b/touch/gti/init.touch.gti1.rc
@@ -0,0 +1,23 @@
+on property:vendor.device.modules.ready=1
+    # Sysfs
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/force_active
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/fw_ver
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/panel_id
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/offload_id
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_base
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_diff
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_raw
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/self_test
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_base
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_diff
+    chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_raw
+
+    # Procfs
+    chown system system /proc/goog_touch_interface
+    chown system system /proc/goog_touch_interface/gti.1
+    chown system system /proc/goog_touch_interface/gti.1/ms_base
+    chown system system /proc/goog_touch_interface/gti.1/ms_diff
+    chown system system /proc/goog_touch_interface/gti.1/ms_raw
+    chown system system /proc/goog_touch_interface/gti.1/ss_base
+    chown system system /proc/goog_touch_interface/gti.1/ss_diff
+    chown system system /proc/goog_touch_interface/gti.1/ss_raw
diff --git a/touch/gti/sepolicy/file_contexts b/touch/gti/sepolicy/file_contexts
index cbddadf..5c429b7 100644
--- a/touch/gti/sepolicy/file_contexts
+++ b/touch/gti/sepolicy/file_contexts
@@ -1,2 +1,2 @@
-/vendor/bin/dump/dump_gti\.sh      u:object_r:dump_gti_exec:s0
+/vendor/bin/dump/dump_gti0\.sh      u:object_r:dump_gti_exec:s0
 
diff --git a/touch/gti/sepolicy_gti_dual/file_contexts b/touch/gti/sepolicy_gti_dual/file_contexts
new file mode 100644
index 0000000..21c4064
--- /dev/null
+++ b/touch/gti/sepolicy_gti_dual/file_contexts
@@ -0,0 +1,2 @@
+/vendor/bin/dump/dump_gti1\.sh     u:object_r:dump_gti_exec:s0
+