Commit Graph

1665 Commits

Author SHA1 Message Date
balgxmr
5302959e3b drivers: fts: fts_521: Silence logspam
- This spams way too much

Signed-off-by: balgxmr <jose@pixelos.net>
2023-08-10 12:25:36 -05:00
balgxmr
df3944e170 touchscreen: fts_521: Remove input_report_key on fod status check
* This fixes an issue with stuck scrolling specifically on fod area.

Test: Open chrome, search for a long website, scroll through
      fod area and check that it doesn't get stuck.
2023-08-10 12:25:28 -05:00
EcrosoftXiao
6f3a29314a input: touchscreen: fts_521: Kill fod status check
screenoff udfps won't work when fod_status==0 unless dt2w enabled, hence
kill fod_status check to make screenoff udfps working with dt2w disabled
2023-08-09 17:55:07 -05:00
EcrosoftXiao
fe25fd6cef input: touchscreen: fts_spi: expose fod_state via sysfs 2023-08-09 17:55:03 -05:00
Carlos Ayrton Lopez Arroyo
66e3ef3419 fts_521: silence loggers
Signed-off-by: Carlos Ayrton Lopez Arroyo <15030201@itcelaya.edu.mx>
2023-08-09 17:51:23 -05:00
Elluzion
0dd6345266 [DNM]: fts: Kill logspam
This has been a thing for months and it constantly bothered me, while not really being an issue. The problem is just that this log keeps spamming every time you put the finger down and up. Please don't murder me for this
2023-08-09 17:47:24 -05:00
Luan Cachoroski Halaiko
8700e5c732 Revert "drivers: touchscreen: Import Novatek NT36xxx touchscreen driver"
This reverts commit 0cf326d0b4.
2023-08-09 17:42:31 -05:00
Luan Cachoroski Halaiko
65767e75ee Revert "touchscreen: nt36xxx: Switch to msm drm notifier api"
This reverts commit 1f7ea635ab.
2023-08-09 17:42:28 -05:00
balgxmr
06d0ea64ab Merge tag 'LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0' of https://git.codelinaro.org/clo/la/kernel/msm-4.14 into rebase
"LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0"
2023-08-09 17:00:20 -05:00
balgxmr
434f599332 Merge branch 'upstream-linux-4.14.y' of https://android.googlesource.com/kernel/common into rebase 2023-08-09 16:44:33 -05:00
Luca Ellero
536fbb4f53 Input: ads7846 - don't check penirq immediately for 7845
[ Upstream commit fa9f4275b20ec7b2a8fb05c66362d10b36f9efec ]

To discard false readings, one should use "ti,penirq-recheck-delay-usecs".
Checking get_pendown_state() at the beginning, most of the time fails
causing malfunctioning.

Fixes: ffa458c1bd ("spi: ads7846 driver")
Signed-off-by: Luca Ellero <l.ellero@asem.it>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230126105227.47648-4-l.ellero@asem.it
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-03-11 16:26:40 +01:00
Luca Ellero
ae1a6691b1 Input: ads7846 - don't report pressure for ads7845
[ Upstream commit d50584d783313c8b05b84d0b07a2142f1bde46dd ]

ADS7845 doesn't support pressure.
Avoid the following error reported by libinput-list-devices:
"ADS7845 Touchscreen: kernel bug: device has min == max on ABS_PRESSURE".

Fixes: ffa458c1bd ("spi: ads7846 driver")
Signed-off-by: Luca Ellero <l.ellero@asem.it>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230126105227.47648-2-l.ellero@asem.it
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-03-11 16:26:40 +01:00
Douglas Anderson
785097c5bf Input: elants_i2c - properly handle the reset GPIO when power is off
[ Upstream commit a85fbd6498441694475716a4d5c65f9d3e073faf ]

As can be seen in elants_i2c_power_off(), we want the reset GPIO
asserted when power is off. The reset GPIO is active low so we need
the reset line logic low when power is off to avoid leakage.

We have a problem, though, at probe time. At probe time we haven't
powered the regulators on yet but we have:

  devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_LOW);

While that _looks_ right, it turns out that it's not. The
GPIOD_OUT_LOW doesn't mean to init the GPIO to low. It means init the
GPIO to "not asserted". Since this is an active low GPIO that inits it
to be high.

Let's fix this to properly init the GPIO. Now after both probe and
power off the state of the GPIO is consistent (it's "asserted" or
level low).

Once we fix this, we can see that at power on time we no longer to
assert the reset GPIO as the first thing. The reset GPIO is _always_
asserted before powering on. Let's fix powering on to account for
this.

Fixes: afe10358e4 ("Input: elants_i2c - wire up regulator support")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20221117123805.1.I9959ac561dd6e1e8e1ce7085e4de6167b27c574f@changeid
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 09:26:13 +01:00
baalgx
b23e675de4 Merge remote-tracking branch 'SOVIET-ANDROID' into thirteen 2022-11-11 14:43:05 -05:00
baalgx
e3a7410f0d Revert "Revert "touchscreen: nt36xxx: Switch to msm drm notifier api""
This reverts commit 787878bc1f.
2022-11-10 21:04:58 -05:00
baalgx
706c220b5e Revert "Revert "drivers: touchscreen: Import Novatek NT36xxx touchscreen driver""
This reverts commit 99642c1e8a.
2022-11-10 21:02:30 -05:00
baalgx
e6e81f6843 Revert "Revert "drivers: touchscreen: Import ST FingerTip touchscreen driver""
This reverts commit e2bfca4ad3.
2022-11-10 20:32:29 -05:00
baalgx
a585a8d508 Merge remote-tracking branch 'soviet/13.0' into soviet-13 2022-11-05 17:05:43 -05:00
pwnrazr
78e51d5384 Merge remote-tracking branch 'android-stable/android-4.14-stable' into dev-base 2022-11-01 12:06:43 +02:00
Yang Yingliang
c7a356e64e Input: melfas_mip4 - fix return value check in mip4_probe()
[ Upstream commit a54dc27bd25f20ee3ea2009584b3166d25178243 ]

devm_gpiod_get_optional() may return ERR_PTR(-EPROBE_DEFER),
add a minus sign to fix it.

Fixes: 6ccb1d8f78 ("Input: add MELFAS MIP4 Touchscreen driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20220924030715.1653538-1-yangyingliang@huawei.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-26 13:16:50 +02:00
Kees Cook
84e16102a1 treewide: kzalloc() -> kcalloc()
The kzalloc() function has a 2-factor argument form, kcalloc(). This
patch replaces cases of:

        kzalloc(a * b, gfp)

with:
        kcalloc(a * b, gfp)

as well as handling cases of:

        kzalloc(a * b * c, gfp)

with:

        kzalloc(array3_size(a, b, c), gfp)

as it's slightly less ugly than:

        kzalloc_array(array_size(a, b), c, gfp)

This does, however, attempt to ignore constant size factors like:

        kzalloc(4 * 1024, gfp)

though any constants defined via macros get caught up in the conversion.

Any factors with a sizeof() of "unsigned char", "char", and "u8" were
dropped, since they're redundant.

The Coccinelle script used for this was:

// Fix redundant parens around sizeof().
@@
type TYPE;
expression THING, E;
@@

(
  kzalloc(
-	(sizeof(TYPE)) * E
+	sizeof(TYPE) * E
  , ...)
|
  kzalloc(
-	(sizeof(THING)) * E
+	sizeof(THING) * E
  , ...)
)

// Drop single-byte sizes and redundant parens.
@@
expression COUNT;
typedef u8;
typedef __u8;
@@

(
  kzalloc(
-	sizeof(u8) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(__u8) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(char) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(unsigned char) * (COUNT)
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(u8) * COUNT
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(__u8) * COUNT
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(char) * COUNT
+	COUNT
  , ...)
|
  kzalloc(
-	sizeof(unsigned char) * COUNT
+	COUNT
  , ...)
)

// 2-factor product with sizeof(type/expression) and identifier or constant.
@@
type TYPE;
expression THING;
identifier COUNT_ID;
constant COUNT_CONST;
@@

(
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

// 2-factor product, only identifiers.
@@
identifier SIZE, COUNT;
@@

- kzalloc
+ kcalloc
  (
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

// 3-factor product with 1 sizeof(type) or sizeof(expression), with
// redundant parens removed.
@@
expression THING;
identifier STRIDE, COUNT;
type TYPE;
@@

(
  kzalloc(
-	sizeof(TYPE) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(TYPE) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(TYPE) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(TYPE) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kzalloc(
-	sizeof(THING) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kzalloc(
-	sizeof(THING) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kzalloc(
-	sizeof(THING) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kzalloc(
-	sizeof(THING) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
)

// 3-factor product with 2 sizeof(variable), with redundant parens removed.
@@
expression THING1, THING2;
identifier COUNT;
type TYPE1, TYPE2;
@@

(
  kzalloc(
-	sizeof(TYPE1) * sizeof(TYPE2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  kzalloc(
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  kzalloc(
-	sizeof(THING1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  kzalloc(
-	sizeof(THING1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  kzalloc(
-	sizeof(TYPE1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
|
  kzalloc(
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
)

// 3-factor product, only identifiers, with redundant parens removed.
@@
identifier STRIDE, SIZE, COUNT;
@@

(
  kzalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
)

// Any remaining multi-factor products, first at least 3-factor products,
// when they're not all constants...
@@
expression E1, E2, E3;
constant C1, C2, C3;
@@

(
  kzalloc(C1 * C2 * C3, ...)
|
  kzalloc(
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	E1 * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
)

// And then all remaining 2 factors products when they're not all constants,
// keeping sizeof() as the second factor argument.
@@
expression THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  kzalloc(sizeof(THING) * C2, ...)
|
  kzalloc(sizeof(TYPE) * C2, ...)
|
  kzalloc(C1 * C2 * C3, ...)
|
  kzalloc(C1 * C2, ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	(E1) * E2
+	E1, E2
  , ...)
|
- kzalloc
+ kcalloc
  (
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- kzalloc
+ kcalloc
  (
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
[fiqri19102002: Adapt to new extcon.c changes]
Signed-off-by: Fiqri Ardyansyah <fiqri15072019@gmail.com>

 Conflicts:
	arch/arm64/mm/context.c
pwnrazr: an upstream commit conflicted, but I think upstream one is better?
	Original commit: 299d38205a
	`bitmap_zalloc`
2022-10-07 11:26:56 +03:00
Logan-Developer
f36c63a2ee Fix struct for clang 15 compatibility 2022-09-22 15:51:06 -05:00
Luan Cachoroski Halaiko
e2bfca4ad3 Revert "drivers: touchscreen: Import ST FingerTip touchscreen driver"
This reverts commit d31c6fc931.
2022-09-22 17:36:23 +03:00
Luan Cachoroski Halaiko
2b8a8a2264 Revert "fts_521: fix old style function defination"
This reverts commit 60d7d5614d.
2022-09-22 17:36:23 +03:00
Luan Cachoroski Halaiko
99642c1e8a Revert "drivers: touchscreen: Import Novatek NT36xxx touchscreen driver"
This reverts commit 0cf326d0b4.
2022-09-22 17:36:22 +03:00
Luan Cachoroski Halaiko
787878bc1f Revert "touchscreen: nt36xxx: Switch to msm drm notifier api"
This reverts commit 1f7ea635ab.
2022-09-22 17:36:16 +03:00
Surya Teja Kudiri
3638686626 Revert "input: touchscreen: focaltech: support FT5446DQS"
This reverts commit 56b48a4c08.

Change-Id: I6e9c377ec2a8dda0018cb73fcd37bfb9d25ee231
Signed-off-by: Ke Du <quic_kedu@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-08-21 15:52:17 +05:30
Surya Teja Kudiri
4729283adc Revert "input: touchscreen: focaltech: add a new property"
This reverts commit 32aeb3bff2.

Change-Id: I51d7b75897b124e77f593fb03026127a21c66648
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-08-21 11:29:39 +05:30
Surya Teja Kudiri
74cc467cf2 Revert "input: touchscreen: focaltech: Use disable/enable irq wake in LA to LE"
This reverts commit 88fed2127a.

Change-Id: I13161d319a96c338c759b2196857b2350a7b7de0
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-08-19 11:09:56 +05:30
qctecmdr
dd882b632d Merge "input: touchscreen: focaltech: Use disable/enable irq wake in LA to LE" 2022-08-08 03:37:12 -07:00
Ritesh Kumar
8c9a7926e9 input: touchscreen: focaltech: release i2c session early
Release I2C session lock before releasing IO regions in TVM
during trusted touch scenario.

Change-Id: If943165b687318eac6c5f7b734bc6dea4c0efa46
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-26 21:28:35 -07:00
Ritesh Kumar
49d92b68d6 input: touchscreen: focaltech: toggle reset gpio during error
Toggle reset gpio of touch controller during an error scenario
on Secondary Virtual Machine(SVM).

Change-Id: Id5fdbb8e0106e636676060edfb05b6219f7400c8
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-26 21:27:37 -07:00
Ritesh Kumar
b4d65de540 input: touchscreen: focaltech: TUI error handling state machine
Introduce state machine for various checkpoints in trusted touch
usecase. In error scenarios, this state machine helps driver to
rollback to previous state.

Change-Id: Ia9f9e01905b5d1561dd21ea782cf9f09001d35a7
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-26 21:26:00 -07:00
Satya Rama Aditya Pinapala
5d9381b0b5 input: touchscreen: focaltech: queue touch suspend work on workqueue
In case of continuous panel BLANK and UNBLANK, there is a possibility
of a race condition in the current sequence of operations. This change
ensures that suspend work is also queued on the same workqueue as the
resume work to ensure no race around and removes the need for having to
cancel touch resume work during a panel blank.

Change-Id: I1e0c64a7cd3e001c7224b2ea357877a45c1116e4
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-25 22:21:30 -07:00
Huadong Gao
2c2daabb3b input: touchscreen: focaltech: fix return value
When no touch panel, return proper value to exit driver probe.

Change-Id: I422f14ba6c942252346c46df5ccbc2f1f8be7731
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-25 22:20:44 -07:00
Murali Nalajala
0d4704a614 haven: irq_lend: add support for IRQ notifications
Currently IRQ APIs are combined with notifications to VMs for sharing the
handles. This limit the clients for managing the error handling from the
drivers. Hence separate the notifications from the actual APIs so that
clients manage the error handling better. Add support for notifications
like IRQ_LEND/ACCEPT/RELEASE from SVM to PVM when SVM accept the irq
handle shared by PVM.

Change-Id: I49999c2d9494c68b1542680e521c012a25e3f6a8
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-25 22:20:09 -07:00
Isaac J. Manjarres
28ca2b9d69 haven: Add support for the MEM_ACCEPTED notification
It's useful for other virtual machines (VMs) to know if another
VM has successfully received a resource that was shared with it
(e.g. state tracking can be controlled better with this sort of
information). Add support for the MEM_ACCEPTED notification, which
clients can use to notify the VM that owns the resource that was
shared with it that it has accepted the resource and is using it.
Also, add support in the mem-notifier driver to forward the
MEM_ACCEPTED notification to clients.

Change-Id: I05b9f1d37906d7c2aa729b97df2f8ceb78b560bd
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-07-25 22:18:33 -07:00
qctecmdr
fc203b7cce Merge "input: touchscreen: focaltech: Add trusted touch support" 2022-07-05 00:25:41 -07:00
qctecmdr
f6695546a9 Merge "input: touchscreen: focaltech_touch: support dynamic report rate" 2022-07-04 19:20:41 -07:00
qctecmdr
ba47748c98 Merge "input: touchscreen: focaltech_touch: Remove vfs_read()" 2022-07-04 14:18:39 -07:00
qctecmdr
f78fe8957a Merge "input: touchscreen: focaltech_touch: Configure power supply" 2022-07-04 09:13:19 -07:00
Srikanth Katteboina
e1e159e423 input: touchscreen: focaltech: Add trusted touch support
Add Trusted touch support to lahaina QRD Touchscreen
driver. This feature enables driver to operate in
trusted touch mode in trusted virtual machine(TVM).
The primary virtual machine(PVM) lends resources such
as IO memory and touch irq to TVM prior to trusted touch
is initiated and reclaims those resources back after trusted
touch usecase finishes.The resource requirements of TVM
such as clock, regulators etc are taken care by PVM.

Change-Id: I19728218acd89cf26562c534c7e60f8fe081af3a
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-07-01 15:39:24 +05:30
Srikanth Katteboina
fb21a186ec input: touchscreen: focaltech_touch: support dynamic report rate
Add a new sys node to support runtime dynamic report rate.

Change-Id: I291f3813f10eb54485a35fba3c5a5ae68183a1dc
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-07-01 15:33:35 +05:30
Srikanth Katteboina
1a51ae0448 input: touchscreen: focaltech_touch: Remove vfs_read()
To request a firmware file by request_firmware() is preferred.

Change-Id: I80edcf28c06074620507d628e92ab0a581b20095
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-07-01 15:27:30 +05:30
Srikanth Katteboina
2a63b90f22 input: touchscreen: focaltech_touch: Configure power supply
Configure proper voltage and load values for AVDD.

Change-Id: I972283ec44b0cbd76154031c6c47b54a6ebdb275
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-07-01 15:20:08 +05:30
Srikanth Katteboina
e6b3a17167 input: touchscreen: Enable new Focaltech touch driver
Enable this new Focaltech touch driver for Lahaina device.

Change-Id: Idfac408417fc1356ae7afeea5fa62fa6a9c2f39f
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-07-01 13:27:31 +05:30
Ritesh Kumar
88fed2127a input: touchscreen: focaltech: Use disable/enable irq wake in LA to LE
Touch uses gpio as irq in LA. As per latest change from pinctrl,
wakeup bit is disabled/enabled when disable_irq/enable_irq is called.
During transtion from LA to LE, disable_irq is called leading to
wakeup bit getting disabled and in LE Touch interrupts does not come.
So, use disable_irq_wake to disable Touch interrupts while transition
from LA to LE and use enable_irq_wake to enable back Touch interrupts
while transition from LE to LA.

Change-Id: I288bfbd26be9ff1da1b7e14104f98338eb8d8715
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-06-21 18:17:57 +05:30
Fei Mao
32aeb3bff2 input: touchscreen: focaltech: add a new property
Add a new property to indicate power's state when sleep.

Change-Id: Ic54fbbd0adee8716ad0b2d892814f8ac38b683c5
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-06-21 17:38:51 +05:30
Ke Du
56b48a4c08 input: touchscreen: focaltech: support FT5446DQS
Support new FT5446DQS over I2C.

Change-Id: Ie5dd870101b2289b08fe9dea919bdccb6287591d
Signed-off-by: Ke Du <quic_kedu@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-06-21 15:11:14 +05:30
chenx
76970c0c87 input: touchscreen: Add new Focaltech touch driver
This is the reference driver source code for Focaltech Touch Sensor.

Change-Id: I86e60f6774812d7a4e553530197d56b0276f2dab
Signed-off-by: chenx <chenxiang0527@thundersoft.com>
Git-commit: 54e1e61066d03e2a9dc46d928b2744713842b070
Git-repo: https://source.codeaurora.org/external/thundersoft/ihvjointlab/sensor-driver/commit/?h=Focaltech_touch
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-06-14 22:29:31 -07:00