Commit graph

13 commits

Author SHA1 Message Date
Daniel DeGrasse
52d98498bc drivers: input: gt911: always set INT pin during probe
Even in cases where the alt-addr is set, we can still use the INT pin
during probe. Some boards require this, as if a reset GPIO is not
defined the INT pin may still need to be toggled in order to initialize
the GT911 IC correctly.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-22 19:04:59 -04:00
Daniel DeGrasse
4658ed5652 drivers: input: input_gt911: fix OOB buffer write to touch points array
GT911 driver was reading an additional touch point into the stack
defined touch point array, causing an out-of-bounds write on the stack.
Fix this issue by adjusting the limit on the for loop, and add a note
to the driver as to why we don't need to validate the number of points
reported for future developers

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-09-06 10:13:14 -05:00
Farah Fliss
ad254b06c8 drivers: input: gt911: Add support for multitouch events
The gt911 can recognize up to 5 touch points at a time.
Add code to support these multi-touch events.

Signed-off-by: Farah Fliss <farah.fliss@nxp.com>
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2024-08-19 15:25:51 -04:00
Farah Fliss
bd658642e1 drivers: input: gt911: Fix coding style
Coding style was incorrect. Fix it.

Signed-off-by: Farah Fliss <farah.fliss@nxp.com>
2024-08-19 15:25:51 -04:00
Farah Fliss
70664a0320 drivers: input: gt911: Run clang-format
Ran clang-format on the gt911 driver file  before
making any changes.

Signed-off-by: Farah Fliss <farah.fliss@nxp.com>
2024-08-19 15:25:51 -04:00
Jason Yu
d5b1a7d929 driver: input: gt911: Support case that no dedicated reset pin
On some boards, there is not dedicated reset pin for GT911, it might
be the same pin with display IC, or might be tighted to a high level
voltage.
This patch makes the rst_gpio can be empty.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2024-04-02 15:35:50 +01:00
Jonathan Hamberg
9c1a45cc00 posix: Fix name collision with __bswap
__bswap_ in zephyr/sys/byteorder.h conflicts with __bswap_ in host's
byteswap.h. byteswap.h from host compiler used in posix_native_64 boards
causes a compilation issue.

This commit renames __bswap_ to BSWAP_ to prevent collision.

Before this commit a compilation error can be created by adding #include
<byteswap.h> to samples/net/sockets/echo/src/socket_echo.c

This does not change external API to byteorder.h, but does change
internal implementation which some other source files depend on.

Replaced manual byteswap operations in devmem_service.c with APIs from
byteorder.h which automatically converts to CPU endianess when necessary.

Fixes #44324

Signed-off-by: Jonathan Hamberg <jonathanhamberg@gmail.com>
2024-01-10 18:13:44 +00:00
Fabio Baltieri
0e3d0e9b15 input: gt911: fix reset control polarity
This chip uses an active low reset, so the correct behavior here is to
define the pin as ACTIVE_LOW, using GPIO_OUTPUT_ACTIVE to assert the
reset and set to 0 to deassert.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-06 08:50:33 +00:00
Mario Paja
d72b79256c driver: input: gt911: Fix to properly handle touch events on esp32
This fix properly ignores a multitouch event on esp32 board

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2023-08-30 22:21:14 +02:00
Paul He
278563ed45 drivers: input: gt911: fix error 'ret' undeclared
When CONFIG_INPUT_GT911_INTERRUPT is set to 'y', it will get this
undeclared error, now fix it.

Signed-off-by: Paul He <pawpawhe@gmail.com>
2023-07-20 20:52:19 +00:00
Fabio Baltieri
d95c12848d drivers: input: add few missing gpio_add_callback return check
Add few missing check on gpio_add_callback and gpio_add_callback_dt
calls, fixes a coverity warning.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-19 09:18:38 +00:00
Daniel DeGrasse
5862b38e99 drivers: input: gt911: enable fallback to alternate address
GT911 IC uses the INT pin to select the correct I2C address during
reset. However, some boards may not route this pin (or may only support
receiving inputs on it). This results in the I2C address selected by the
GT911 IC being arbitrary based on the state of the (floating) INT pin.

To resolve this, introduce an `alt-addr` property for this device. When
set, the INT pin will not be pulled low. Instead, the I2C address will be
probed at runtime, starting with the devicetree address and falling back to
`alt-addr`.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-07-18 18:49:13 +00:00
Fabio Baltieri
04e0e458c8 input: convert gt911 from kscan
Convert the GT911 driver to the input subsystem, fix the existing boards
to work in the default config.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-07-13 14:24:50 +00:00
Renamed from drivers/kscan/kscan_gt911.c (Browse further)