Skip to content

Commit 09fd862

Browse files
stephan-ghdtor
authored andcommitted
Input: add Himax HX852x(ES) touchscreen driver
Add a simple driver for the Himax HX852x(ES) touch panel controller, with support for multi-touch and capacitive touch keys. The driver is somewhat based on sample code from Himax. However, that code was rather confusing, so that we spent a significant amount of time just trying to understand the packet format and register commands. In this driver they are described with clean structs and defines rather than magic numbers and offset calculations. Co-developed-by: Jonathan Albrieux <jonathan.albrieux@gmail.com> Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com> Reviewed-by: Jeff LaBundy <jeff@labundy.com> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20250915-hx852x-v5-2-b938182f1056@linaro.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent f9d8037 commit 09fd862

4 files changed

Lines changed: 521 additions & 0 deletions

File tree

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10965,6 +10965,13 @@ S: Maintained
1096510965
F: Documentation/devicetree/bindings/input/touchscreen/himax,hx83112b.yaml
1096610966
F: drivers/input/touchscreen/himax_hx83112b.c
1096710967

10968+
HIMAX HX852X TOUCHSCREEN DRIVER
10969+
M: Stephan Gerhold <stephan@gerhold.net>
10970+
L: linux-input@vger.kernel.org
10971+
S: Maintained
10972+
F: Documentation/devicetree/bindings/input/touchscreen/himax,hx852es.yaml
10973+
F: drivers/input/touchscreen/himax_hx852x.c
10974+
1096810975
HIPPI
1096910976
M: Jes Sorensen <jes@trained-monkey.org>
1097010977
S: Maintained

drivers/input/touchscreen/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,16 @@ config TOUCHSCREEN_HIDEEP
441441
To compile this driver as a module, choose M here : the
442442
module will be called hideep_ts.
443443

444+
config TOUCHSCREEN_HIMAX_HX852X
445+
tristate "Himax HX852x(ES) touchscreen"
446+
depends on I2C
447+
help
448+
Say Y here if you have a Himax HX852x(ES) touchscreen.
449+
If unsure, say N.
450+
451+
To compile this driver as a module, choose M here: the module
452+
will be called himax_hx852x.
453+
444454
config TOUCHSCREEN_HYCON_HY46XX
445455
tristate "Hycon hy46xx touchscreen support"
446456
depends on I2C

drivers/input/touchscreen/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ obj-$(CONFIG_TOUCHSCREEN_GOODIX_BERLIN_CORE) += goodix_berlin_core.o
4949
obj-$(CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C) += goodix_berlin_i2c.o
5050
obj-$(CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI) += goodix_berlin_spi.o
5151
obj-$(CONFIG_TOUCHSCREEN_HIDEEP) += hideep.o
52+
obj-$(CONFIG_TOUCHSCREEN_HIMAX_HX852X) += himax_hx852x.o
5253
obj-$(CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX) += hynitron_cstxxx.o
5354
obj-$(CONFIG_TOUCHSCREEN_ILI210X) += ili210x.o
5455
obj-$(CONFIG_TOUCHSCREEN_ILITEK) += ilitek_ts_i2c.o

0 commit comments

Comments
 (0)