- fix the sensors enable/disable confusion;
- fix the initial mode is not in stop mode for a96t;
- fix the issue about the update work;
the initialize(this) no calling under mutex_lock;
- fix the detection about above_detect(), the max time is 75ms.
so, we need set the detct time to 100ms.
Change-Id: I070c908fcb8edadb4dad51fa7a749e912d19f0a1
Signed-off-by: huangjq9 <huangjq9@motorola.com>
Reviewed-on: https://gerrit.mot.com/1414619
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
In order to support run-time power management with dynamic
power on/off, it has to support calibration data loading after
power on TOF.
if not,xtalk calibration data will change after ranging
and override correct xtalk calib data
Change-Id: Ia67e3bb806ea8295bb7829888c201f22a0c0b59d
Signed-off-by: yanyh2 <yanyh2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1407816
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
(cherry picked from commit 799a22316b6c3b8809a448ff1fb37db9514db9ab)
Reviewed-on: https://gerrit.mot.com/1408713
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
When vibrating stop is received too soon after a start, the
vibrator may fail to work normally, which can be fixed l(CR) this.
Change-Id: I7400ed5616d18d02520de2affeae6556d5fc7f1c
Signed-off-by: yangjq <yangjq@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1413414
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
TP:
When Palm sensor is enabled, make sure device is in active state.
Because in this situation, TP interrupt is active, and data need read
from SPI bus.
Change-Id: I611df4787632bf8f80ec01ddb1c45dc05baa4648
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411955
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
TP:
When Palm sensor is enabled, make sure device is in active state.
Because in this situation, TP interrupt is active, and data need read
from SPI bus.
Change-Id: I5769a987d278a299b5a7de9ea19ac421cb3c9fe3
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411932
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
TP:
When TP in suspend state, palm sensor operation is not need to be set.
Delay this opt when TP resume
Change-Id: Ifb8ee4d10543b935c390ab6a7e6a0768d00680ba
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411931
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
TP:
When TP in suspend state, palm sensor operation is not need to be set.
Delay this opt when TP resume
Change-Id: I5247f9711f376ce81ac547046969331c38c5bdad
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411822
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
TP:
Add a mutex to lock suspend and resume function
This is used by touch virtual sensor
Change-Id: I816fa9347299313a392ad9e0b4e4991aac74fef3
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411930
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
TP:
Add a mutex to lock suspend and resume function
This is used by touch virtual sensor
Change-Id: If7cc2dab9a5b1550a46ee4b5679d4451b1d944cd
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411821
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
- change the sensor name to top/bottom_left/bottom_right.
- if the upper layer doesn't disable capsensor, we should let it enter sleep in suspend.
about the average current of abov's a96t346:
active mode: 1.8 mA;
sleep mode: 160 uA;
stop mode: 2 uA;
Change-Id: I4ce68cb428d225a7843424e2a3b11f925392de2e
Signed-off-by: huangjq9 <huangjq9@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411693
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Lijun Chen <chenlj2@motorola.com>
Reviewed-by: Wen Xie <xiewen3@motorola.com>
Reviewed-by: Hujun Liao <liaohj@motorola.com>
Submit-Approved: Jira Key
Firmware update can go wrong causing touch IC unable to enter Apps
mode. In this case touch IC stuck in Bootloader mode and only
Device ID info in register 0x22 is available. Make driver deriving
value reported in productinfo from Device ID register regardless
what mode touch IC is in. That will help init.mmi.touch.sh to
find matching firmware file and recover touch function.
Change-Id: I4e29bdf86dec0d35990004960ca06d4f6e454528
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411635
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Driver cannot set RST gpio direction and state explicitly in pictrl
config dur to compatibility reason. Thus adding the code setting
RST gpio high every time pin control switches from Off to On state
Change-Id: I4217b7546f48ec20204bf93b12a15baf95905475
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411555
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Update the cci_intf driver used for sending CCI commands from
the shell to the Linux 4.19 kernel
Change-Id: I5de934badc2ad2b25cb7148e9abbc95492ba48d5
Signed-off-by: Ravi Vembu <raviv@motorola.com>
Mot-CRs-Fixed: (CR)
Reviewed-on: https://gerrit.mot.com/1411444
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: <timwang@motorola.com>
Submit-Approved: Jira Key
ABOV_CTRL_MODE_RET is defined in abov_sar.h,
and in abov_sar_a96t.h file, the register name has changed to ABOV_CTRL_MODE_REG.
It will cause build error. Now revert it, and resubmit it.
This reverts commit 16143ccfc41d9c80827615fdd060fd6f72a41c82.
Change-Id: I3605f0df5c3d6b3c1e38f01c8111bcd536044948
Reviewed-on: https://gerrit.mot.com/1411231
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Hujun Liao <liaohj@motorola.com>
Submit-Approved: Jira Key
about the device of abov's a96t346:
active mode: the average current is 1.8 mA;
sleep mode: the average current is 160 uA;
stop mode: the average current is 2 uA;
if the upper layer doesn't disable capsensor,
we should let it enter sleep in suspend.
Change-Id: I0821280e6f52335badcd7dfc0e2c15a08a1eee0b
Signed-off-by: huangjq9 <huangjq9@motorola.com>
Reviewed-on: https://gerrit.mot.com/1411125
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Hujun Liao <liaohj@motorola.com>
Submit-Approved: Jira Key
If palm detect function is enabled, interrupt will not disable,
IC works in normal mode.
But in case touch event is reported to input subsystem, skip touch event
when suspend flag is true. So input subsystem will not take wakelock
because no one report event.
In this case, we still need read data from IC, so AP can not enter
suspend. Add a 10ms wakelock when this function is enabled.
(TP report rate is around 100Hz).
Change-Id: I867a90844edc2d9372bf6b15f776f6b1a66ef51a
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1409612
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
If palm detect function is enabled, interrupt will not disable,
IC works in normal mode.
But in case touch event is reported to input subsystem, skip touch event
when suspend flag is true. So input subsystem will not take wakelock
because no one report event.
In this case, we still need read data from IC, so AP can not enter
suspend. Add a 10ms wakelock when this function is enabled.
(TP report rate is around 100Hz).
Change-Id: I381a13fca6dedfcb68e0c3048291610da2554f17
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1409610
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
issue: linux kzalloc min malloc size is 64byte,
as sizeof params error,current code only malloc 64bit,
that means will malloc 64byte when probe exec,
but struct is more than 64byte(72byte),
so kernel panic would be triggerd.
solve: change sizeof params to fix this issue.
hese Sarsensor chips have this issue.
Such as Sx9325,Sx9310,Abov chips.
Change-Id: I4c479c0365b91bf86afc0633ce941948703d6912
Signed-off-by: chenlj2 <chenlj2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1407942
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Wen Xie <xiewen3@motorola.com>
Reviewed-by: Jiacheng Ou <oujc1@motorola.com>
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
TP:
Add a wakelock when leave event reported.
The wakelock timeout time is same as leave report timer.
Change-Id: I0c1b1e5f0e7be588c98fe3f9e37ee1aa64374a9b
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1407159
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Submit-Approved: Jira Key
Tested-by: Jira Key
(cherry picked from commit 046c02edca7b8de7dc998743d4c3ba0af474bf17)
Reviewed-on: https://gerrit.mot.com/1407897
Reviewed-by: Jianqi Yang <yangj@motorola.com>
TP:
Add a wakelock when leave event reported.
The wakelock timeout time is same as leave report timer.
Change-Id: Ifd3859eac54758ee3c1463f2e09b7c146d4ee5e3
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1407158
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Submit-Approved: Jira Key
Tested-by: Jira Key
(cherry picked from commit 31dce07c39958c7f4dbca9531766e7dddddee2fe)
Reviewed-on: https://gerrit.mot.com/1407894
Reviewed-by: Jianqi Yang <yangj@motorola.com>
1. Remove irq timer handler which is used by outdated IC.
2. Skip irq close request send from HAL. For now, HAL open and close
irq in very high freq, and at last, irq will be set to open state.
When HW report IRQ, but HAL set irq state to close. This will cause
missing IRQ issue.
Change-Id: I5448ef89cfe988197d4204b17e4764b730ec1ad4
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1407246
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Yan Zhang <zhangy26@motorola.com>
Reviewed-by: Weilong Wu <wuwl10@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
Both panel suppliers: BOE and CSOT are changing Tx/Rx layout while
switching from EVT to DVT revision of HW. LSI provides no facility
in their firmware to distinguish HW variants. Thus driver will be
matching panel id and version in chosen node with id and version
for EVT provided as a mapping table in LSI device tree.
Change-Id: I265caced054f19ab2f985bf798dd169e09097fa0
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1406669
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Added multiple suspend/resume scenarios to the driver. First option is
to perform HW reset on resume. It implies that touch IC will be put
to sleep mode when suspended. Device tree property sec,reset-on-resume
controls it. Second option is to turn power supplies off when suspended.
Device tree property sec,power-off-suspend controls it. Second option
takes precedence over first one when both enabled in device tree.
Change-Id: I93a99152397ea15f46a01c2f1a0ca8bd68c9f732
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1405038
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Clean up some unused macros. Fix charger mode set function
Change-Id: If80fc134db1a2132e30e4b12a1e565fffd0bc197
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1405014
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Added USB cable detection support to better handle charging noise.
This is optional feature controlled via device tree property
sec,usb-charger-detection. Fixed suspend mode current drain by
using sleep power mode instead LPM.
Change-Id: I53357cd578ec8412006dcf664558776c6cbadb7b
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1403963
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
-solve that sar sensor of olso-h didn't work
-Compatible with previous projects
Change-Id: I33a2cdd2065205491f78e4f7d111e3bb124fc0af
Signed-off-by: chenlj2 <chenlj2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1404580
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jiacheng Ou <oujc1@motorola.com>
Reviewed-by: Wen Xie <xiewen3@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
Update ram info to handle ddr5, which uses a new
struct from the bootloader with an extra flag.
Also re-work error handling, previously it was possible
that if a wrong size is returned, the pointer to the
smem struct might not be null and we will still try
to access it, causing a panic. So, do not add the
sysfs entry if it is not correct.
Change-Id: Ib195543175528d0477266281080c4dc4a96abd3c
Signed-off-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-on: https://gerrit.mot.com/1402645
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Dong-Hua Yan <a18317@motorola.com>
Reviewed-by: Curtis Porter <porterc@motorola.com>
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key