1.Add cli_gesture sysfs node on mmi touch screen class,use this node to
notify which gesture type that user set.
2.Create another tap sensor named s-dt-gesture,use it to report CLI
touch gesture events.
Change-Id: I9e954a00a2a5f37ff54be08d99c0b904516a57b7
Signed-off-by: Wenge Zhu <zhuwg1@motorola.com>
Reviewed-on: https://gerrit.mot.com/2381634
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Wei Deng <dengwei1@motorola.com>
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
New interface to set/get touchscreen active region parameters. This
interface intended for use by Rollable Display HAL
Change-Id: I78e99893ff9b694ea61143e8d79311954840aa6b
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/2237772
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
1. Register FOD state thru mmi_relay.
2. Send Fod event when FOD is enabled.
Change-Id: I56fed42e8377dc86c84e8dd1042cd04a55fb0a16
Signed-off-by: Yan Zhang <zhangy26@motorola.com>
Reviewed-on: https://gerrit.mot.com/2205960
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
Support receiving dual-screen notifications to support
touch ic suspend and resume.
Change-Id: I2af3fb7632ca164c85626957f42c0d3dca2af179
Reviewed-on: https://gerrit.mot.com/2188839
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: <zhuwg1@motorola.com>
Submit-Approved: Jira Key
1. Add DRM_PANEL_EVENT nofification for Andorid S.
2. support touchscreen_mmi and related modules build in kernel-5.10.
3. Use timespec64 instead of timespec function.
Change-Id: If0252015e10bff24c10d54b13df2e0f6aa156a6e
Reviewed-on: https://gerrit.mot.com/1965128
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
The kernel does not have permission to access the /data/vendor
partition, so send the update firmware notify to touchUpg service
on resume for zero-flash touch IC.
avc: denied { search } for name="param" dev="dm-6" ino=275
scontext=u:r:kernel:s0 tcontext=u:object_r:param_data_file:s0
tclass=dir permissive=0
Change-Id: I5d5c9f39bab25a8d3377e0475e79a0411d93b56b
Reviewed-on: https://gerrit.mot.com/1979786
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Submit-Approved: Jira Key
TP:
1.Continue to probe touchscreen driver even if no matching panel is found
to ensure the basic functions of the touchscreen.
2.There is no member "id" in drm_panel_notifier at present, so set id to 0
to ensure touch driver can receive notifications from panel.
Change-Id: I2f8c946304be4511bc7ef3422937bfe8ea927a98
Reviewed-on: https://gerrit.mot.com/1745970
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
Because the input_get_new_minor function is not in the whitelist, and
Google thinks that a normal input driver should not use those functions,
so use the alloc_chrdev_region function to obtain the device number,
which is used to create node under the path /sys/class/touchscreen/.
Change-Id: Iedd2abdc6b772b62ea95c1edcd9eabc4b1256eec
Reviewed-on: https://gerrit.mot.com/1758757
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Because there is no contains function on kernel 5.4, and we have no way
to modify the kernel code. So "mmi,panel_name" is used to determine
whether to probe this driver.
Change-Id: I956b6ce1d463cbe472b80599c954dd06bd633082
Reviewed-on: https://gerrit.mot.com/1728590
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
CONFIG_DRM_PANEL -> CONFIG_DRM_PANEL_NOTIFICATIONS
Because CONFIG_PANEL_NOTIFICATIONS is already defined in other project,,
the <drm/drm_panel.h> file is not included, but because DRM_PANEL is
defined by default, the code compilation fails. so Modify the
configuration CONFIG_DRM_PANEL to CONFIG_DRM_PANEL_NOTIFICATIONS.
Change-Id: I2c341a0db33501158d602888c86bdb60127d62d9
Reviewed-on: https://gerrit.mot.com/1728347
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
In order to reduce the dependence on other modules, mmi_bl_bootmode is
added for touchscreen.
Change-Id: Ic77772fd155baf3b0af234141257e3062597b02e
Reviewed-on: https://gerrit.mot.com/1725851
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
When the display and touch IC share power, we need to send the TP status
in the gesture mode to notify the display to keep on powering.
NO_PROP_NEEDED: <only for kiev in bo branch>
Change-Id: I87b56d3d3712c956de88e09b2751f5c355fb7a9b
Reviewed-on: https://gerrit.mot.com/1666974
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
TP:
Fix the error definition of unregister_panel_notifier in (CR).
NO_PROP_NEEDED: <Touch driver code is is unified in bo branch>
Change-Id: Ibb5e0be256e78a31efd59b4f7a2e4329797c3e9c
Reviewed-on: https://gerrit.mot.com/1651390
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
Import a new gesture, poison slot.
When the report point is in this supression area, and the Y-axis
coordinate changes in little range over a period of time.
This is considered to be a point caused by the user's grip at edge.
Temporarily close all events report function for this slot from driver,
until this slot receives a release event or touch screen suspend.
Change-Id: Id7541aab8314e611d6943ed081f07776e5939f1b
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1584617
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
FOD sensor will depend on touch event to trigger fingerprint
authentication.
When device is waken up, and user put finger on FOD area just when touch
IC is resuming, IC will update baseline and set current finger on screen
as touch baseline. In this situation, no touch event will report.
To fix this issue, touchscreen class will disable touch IC baseline
update function by FPS working status.
If FPS is working, delay baseline update to FPS stop working or get
touch up event.
Change-Id: I16b964c71bf1adc71832a8d25c74b7734dd88d20
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1551682
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
If ts_mmi_on_state or ts_mmi_off_state pinctrl states is defined, and
vendor method not defined it's pinctrl callback function.
Add default pinctrl function for this situation.
Change-Id: I5873980ee6425b22af1af416228481af1abe360d
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1553615
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: <litong20@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
1. Exports touch events handler in order to obtain the touch events
reported by vendor.
2. Add debug options to control whether to print log.
Change-Id: I3bb89cfe5c7a5a55ca01b3a93488558db4358445
Reviewed-on: https://gerrit.mot.com/1550603
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Submit-Approved: Jira Key
Kernel 4.9 is still using MSM DRM notification mechanism to report
blank/unblank events. To support programs that still on kernel 4.9
adding MSM DRM notifications to touchscreen MMI class
suspend/resume.
Change-Id: I128b216c25ba3a70c2abbb37049cf4102135893c
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1549390
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
To call touchscreen methods may cause concurrent competition.
So use uniform macro TRY_TO_CALL and TRY_TO_GET to call and get from
touch IC.
Add a mutex to lock all method invoke.
Change-Id: Ifca60891582e76c5d31fbdb31a386618665d7258
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1544138
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
For touchscreen class sys entries which support read and write.
Those entry value is set by user space and will be read by user space.
When IC is not active, read and write to touch IC may fail (power off or
interrupt closed). So, when write to those entries, just save value to
cache and restore when IC resume. Read those entries just return cached
value.
Change-Id: Ieee193597b68b2d87c6234116f2f085e5ab6aeac
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1544046
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: <litong20@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
When touch start enter suspend, touch_stop will set to 1.
When touch resumed totally, pm_mode will be TS_MMI_PM_ACTIVE
Add two macro to get touch state.
Change-Id: I20ddb852f277ec6c0ffd38d33851416af4d2d06e
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1543989
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: <litong20@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
When driver exports sysfs entries to the class, they are created
under class' kobject. If driver needs to notify HAL about some
changes that happen asynchronously, it needs pointer to kobject
to call sysfs_notify. For that purpose pointer to kobject added
to class imports structure.
Change-Id: I05e72ee3a30cccce089ec571837b25df2fd07346
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1517618
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
1. Process of panel off and on
Panel OFF:
(pre_suspend)->IRQ_OFF->INTO_MODE ->(post_suspend)->PINCTRL_OFF->POWER_OFF
Panel ON:
POWER_ON->RESET->PINCTRL_ON->(pre resume)->MODE->IRQ_ON->(post resume)
2. Only when both the sensor and the gesture are enabled can the
gesture mode be entered.
3. Interrupt will be turned on only in gesture mode.
4. Turn off the power only when Power_off_suspend is set
and not in gesture mode
Change-Id: I962cde8711333a4f213b01dccc99a3268e3ca519
Reviewed-on: https://gerrit.mot.com/1479065
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
TP:
Add get_class_fname methods to get class name
the name is provided to vendor.
Change-Id: I1984af824bb1d59b8d736c59b327619b89bb010b
Reviewed-on: https://gerrit.mot.com/1471685
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
Added USB detection to the class code to handle charging source
bit setting.
Change-Id: Ic947504509b454150b7067ceb31786c5d29296b2
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1471999
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
TP:
If touch vendor driver need create extra sys entries for some vendor
special reason. Create a method to get this attr group.
Change-Id: I39482b504428ab915c8e2eda5db9f29495dbc5b8
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1470200
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key