[PATCH v5 1/6] dt-bindings: input: Add Himax HX83102J touchscreen
From: Michał Kopeć
Date: Sat Oct 03 2026 - 10:35:36 EST
From: Allen_Lin <allencl_lin@xxxxxxxxxxx>
Add the binding for the touch function of the Himax HX83102J, a touch
and display driver integrated (TDDI) controller. The touch function is
connected over SPI and shares the analog supplies and the reset of the
display function, so it is powered and reset together with the panel
and has to follow it.
Signed-off-by: Allen_Lin <allencl_lin@xxxxxxxxxxx>
[michal@nozomi.space: rename ddreset-gpios to display-reset-gpios,
describe the shared supplies and the display reset, take over
maintainership, drop Rob's Reviewed-by because of these changes]
Signed-off-by: Michał Kopeć <michal@nozomi.space>
---
.../input/touchscreen/himax,hx83102j.yaml | 98 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 104 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml
diff --git a/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml
new file mode 100644
index 0000000000000..c9f229bf9ca7b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/himax,hx83102j.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Himax hx83102j touchscreen
+
+maintainers:
+ - Michał Kopeć <michal@nozomi.space>
+
+description:
+ The Himax HX83102J is a touch and display driver integrated (TDDI)
+ controller. Its touch function is connected over SPI and reports HID
+ packets. The display and touch functions share the analog supplies and
+ the display reset, so the touch function is powered and reset together
+ with the panel it is part of.
+
+allOf:
+ - $ref: /schemas/input/touchscreen/touchscreen.yaml#
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+ compatible:
+ const: himax,hx83102j
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ reset-gpios:
+ maxItems: 1
+
+ vccd-supply:
+ description: Digital I/O supply of the touch function.
+
+ vsn-supply:
+ description: Negative analog supply, shared with the display function.
+
+ vsp-supply:
+ description: Positive analog supply, shared with the display function.
+
+ display-reset-gpios:
+ maxItems: 1
+ description:
+ Reset of the display function, usually driven by the panel. Asserting
+ it also resets the touch function.
+
+ spi-cpha: true
+
+ spi-cpol: true
+
+ spi-max-frequency: true
+
+ panel: true
+
+ firmware-name:
+ description: Specify the file name for firmware loading.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - reset-gpios
+ - panel
+ - vccd-supply
+ - vsn-supply
+ - vsp-supply
+ - display-reset-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ap_ts: touchscreen@0 {
+ compatible = "himax,hx83102j";
+ reg = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_int0 &touch_reset>;
+ reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ spi-cpha;
+ spi-cpol;
+ interrupt-parent = <&gpio1>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+ panel = <&panel>;
+ vccd-supply = <®ulator>;
+ vsn-supply = <®ulator>;
+ vsp-supply = <®ulator>;
+ display-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 72294ddfa5b75..e209f0d44fa73 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11729,6 +11729,12 @@ W: http://www.highpoint-tech.com
F: Documentation/scsi/hptiop.rst
F: drivers/scsi/hptiop.c
+HIMAX HID TOUCHSCREEN
+M: Michał Kopeć <michal@nozomi.space>
+L: linux-input@xxxxxxxxxxxxxxx
+S: Maintained
+F: Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml
+
HIMAX HX83112B TOUCHSCREEN SUPPORT
M: Job Noorman <job@xxxxxxxxxxxx>
L: linux-input@xxxxxxxxxxxxxxx
--
2.55.0