[PATCH v6 1/3] dt-bindings: input: Add Himax HX83102J touchscreen
Conor Dooley
conor at kernel.org
Mon Oct 12 12:16:10 PDT 2026
On Sun, Oct 11, 2026 at 08:16:31PM +0200, Michał Kopeć wrote:
> 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.
>
> Co-developed-by: Allen Lin <allencl_lin at hotmail.com>
> Signed-off-by: Allen Lin <allencl_lin at hotmail.com>
> Signed-off-by: Michał Kopeć <michal at 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..f0aca7a6662c9
> --- /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 at 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
> + description:
> + Reset of the touch function. Unlike display-reset-gpios, it only
> + resets the touch MCU and leaves the display function running, so the
> + touch function can be reset without disturbing the panel.
> +
> + 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
Just to be sure, these are optional on this device and it's not always
in this mode?
> +
> + 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
> +
> +unevaluatedProperties: 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 at 0 {
Drop the label if you respin btw, since it is unused. Binding is mostly
fine looking to me.
> + 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
Sounds overly generic, since the hx83112B is probably also a touchscreen
HID device?
Thanks,
Conor.
pw-bot: changes-requested
> +M: Michał Kopeć <michal at nozomi.space>
> +L: linux-input at vger.kernel.org
> +S: Maintained
> +F: Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml
> +
> HIMAX HX83112B TOUCHSCREEN SUPPORT
> M: Job Noorman <job at noorman.info>
> L: linux-input at vger.kernel.org
> --
> 2.56.0
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20261012/78d28891/attachment-0001.sig>
More information about the linux-arm-kernel
mailing list