diff --git a/touch/stm/Android.bp b/touch/stm/Android.bp new file mode 100644 index 0000000..1727f07 --- /dev/null +++ b/touch/stm/Android.bp @@ -0,0 +1,10 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +sh_binary { + name: "dump_stm.sh", + src: "dump_stm.sh", + vendor: true, + sub_dir: "dump", +} diff --git a/touch/stm/dump_stm.sh b/touch/stm/dump_stm.sh new file mode 100644 index 0000000..8ef533d --- /dev/null +++ b/touch/stm/dump_stm.sh @@ -0,0 +1,67 @@ +#!/vendor/bin/sh +spi=`getprop ro.vendor.touch.dump.sys` +proc=`getprop ro.vendor.touch.dump.proc` + +echo "------ Force Set AP as Bus Owner with Bugreport Flag ------" +echo A0 01 01 > $proc + +echo "------ STM touch firmware version ------" +cat $spi/appid + +echo "------ STM touch status ------" +cat $spi/status + +echo "------ Mutual Raw ------" +echo 13 00 01 > $spi/stm_fts_cmd && cat $spi/stm_fts_cmd + +echo "------ Mutual Strength ------" +echo 17 01 > $spi/stm_fts_cmd && cat $spi/stm_fts_cmd + +echo "------ Self Raw ------" +echo 15 00 01 > $spi/stm_fts_cmd && cat $spi/stm_fts_cmd + +echo "------ Mutual Raw Data ------" +echo 23 00 > $proc && cat $proc + +echo "------ Mutual Baseline Data ------" +echo 23 03 > $proc && cat $proc + +echo "------ Mutual Strength Data ------" +echo 23 02 > $proc && cat $proc + +echo "------ Self Raw Data ------" +echo 24 00 > $proc && cat $proc + +echo "------ Self Baseline Data ------" +echo 24 03 > $proc && cat $proc + +echo "------ Self Strength Data ------" +echo 24 02 > $proc && cat $proc + +echo "------ Mutual Compensation ------" +echo 32 10 > $proc && cat $proc + +echo "------ Mutual Low Power Compensation ------" +echo 32 11 > $proc && cat $proc + +echo "------ Self Compensation ------" +echo 33 12 > $proc && cat $proc + +echo "------ Golden Mutual Raw Data ------" +echo 34 > $proc && cat $proc + +echo "------ Packaging Plant - HW reset ------" +echo 01 FA 20 00 00 24 80 > $proc + +echo "------ Packaging Plant - Hibernate Memory ------" +echo 01 FA 20 00 00 68 08 > $proc + +echo "------ Packaging Plant - Read 16 bytes from Address 0x00041FD8 ------" +echo 02 FB 00 04 3F D8 00 10 01 > $proc && cat $proc + +echo "------ ITO Raw ------" +echo 01 > $spi/stm_fts_cmd && cat $spi/stm_fts_cmd + +echo "------ Restore Bus Owner ------" +echo A0 00 01 > $proc + diff --git a/touch/stm/sepolicy/dump_stm.te b/touch/stm/sepolicy/dump_stm.te new file mode 100644 index 0000000..f2da15f --- /dev/null +++ b/touch/stm/sepolicy/dump_stm.te @@ -0,0 +1,8 @@ +pixel_bugreport(dump_stm) + +allow dump_stm proc_touch:file rw_file_perms; +allow dump_stm sysfs_touch:dir search; +allow dump_stm sysfs_touch:file rw_file_perms; +allow dump_stm vendor_toolbox_exec:file execute_no_trans; + +get_prop(dump_stm vendor_touch_dump_path_prop) diff --git a/touch/stm/sepolicy/file.te b/touch/stm/sepolicy/file.te new file mode 100644 index 0000000..e197bb1 --- /dev/null +++ b/touch/stm/sepolicy/file.te @@ -0,0 +1,2 @@ +type proc_touch, proc_type, fs_type; +type sysfs_touch, sysfs_type, fs_type; diff --git a/touch/stm/sepolicy/file_contexts b/touch/stm/sepolicy/file_contexts new file mode 100644 index 0000000..26576ef --- /dev/null +++ b/touch/stm/sepolicy/file_contexts @@ -0,0 +1,2 @@ +/vendor/bin/dump/dump_stm\.sh u:object_r:dump_stm_exec:s0 + diff --git a/touch/stm/sepolicy/genfs_contexts b/touch/stm/sepolicy/genfs_contexts new file mode 100644 index 0000000..2ed8978 --- /dev/null +++ b/touch/stm/sepolicy/genfs_contexts @@ -0,0 +1,7 @@ +genfscon sysfs /devices/platform/111d0000.spi/spi_master/spi20/spi20.0 u:object_r:sysfs_touch:s0 +genfscon sysfs /devices/platform/10d40000.spi/spi_master/spi11/spi11.0 u:object_r:sysfs_touch:s0 +genfscon sysfs /devices/platform/10950000.spi/spi_master/spi6/spi6.0 u:object_r:sysfs_touch:s0 + +genfscon proc /fts/driver_test u:object_r:proc_touch:s0 +genfscon proc /fts_ext/driver_test u:object_r:proc_touch:s0 + diff --git a/touch/stm/sepolicy/property.te b/touch/stm/sepolicy/property.te new file mode 100644 index 0000000..adb5c0d --- /dev/null +++ b/touch/stm/sepolicy/property.te @@ -0,0 +1,2 @@ +vendor_internal_prop(vendor_touch_dump_path_prop) + diff --git a/touch/stm/sepolicy/property_contexts b/touch/stm/sepolicy/property_contexts new file mode 100644 index 0000000..db9fd5a --- /dev/null +++ b/touch/stm/sepolicy/property_contexts @@ -0,0 +1,2 @@ +ro.vendor.touch.dump. u:object_r:vendor_touch_dump_path_prop:s0 + diff --git a/touch/stm/stm11.mk b/touch/stm/stm11.mk new file mode 100644 index 0000000..37d28de --- /dev/null +++ b/touch/stm/stm11.mk @@ -0,0 +1,6 @@ +PRODUCT_VENDOR_PROPERTIES += ro.vendor.touch.dump.sys=/sys/class/spi_master/spi11/spi11.0 +PRODUCT_VENDOR_PROPERTIES += ro.vendor.touch.dump.proc=/proc/fts/driver_test + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/stm/sepolicy + +PRODUCT_PACKAGES += dump_stm.sh diff --git a/touch/stm/stm20.mk b/touch/stm/stm20.mk new file mode 100644 index 0000000..b1034e2 --- /dev/null +++ b/touch/stm/stm20.mk @@ -0,0 +1,6 @@ +PRODUCT_VENDOR_PROPERTIES += ro.vendor.touch.dump.sys=/sys/class/spi_master/spi20/spi20.0 +PRODUCT_VENDOR_PROPERTIES += ro.vendor.touch.dump.proc=/proc/fts/driver_test + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/stm/sepolicy + +PRODUCT_PACKAGES += dump_stm.sh diff --git a/touch/stm/stm6.mk b/touch/stm/stm6.mk new file mode 100644 index 0000000..bf6e420 --- /dev/null +++ b/touch/stm/stm6.mk @@ -0,0 +1,6 @@ +PRODUCT_VENDOR_PROPERTIES += ro.vendor.touch.dump.sys=/sys/class/spi_master/spi6/spi6.0 +PRODUCT_VENDOR_PROPERTIES += ro.vendor.touch.dump.proc=/proc/fts_ext/driver_test + +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/touch/stm/sepolicy + +PRODUCT_PACKAGES += dump_stm.sh