Commit db28b8ae authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:

 - DT bindings for Melfas MIP4 touchscreen controller and TWL4030 keypad
   have been converted to the DT schema

 - simple touch controller bindings have been consolidated to
   trivial-touch.yaml DT schema

 - memory allocation failure noise was removed from qnap-mcu-input and
   zforce_ts dirvers

 - ti_am335x_tsc driver was hardened to handle invalid (too large)
   number of coordinates specified in device tree

 - a cleanup in Cypress cyttsp5 driver to use %pe to print error code

* tag 'input-for-v6.19-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: ti_am335x_tsc - clamp coordinate_readouts to DT maximum (6)
  dt-bindings: touchscreen: consolidate simple touch controller to trivial-touch.yaml
  dt-bindings: touchscreen: trivial-touch: add reset-gpios and wakeup-source
  dt-bindings: input: ti,twl4030-keypad: convert to DT schema
  Input: zforce_ts - omit error message when memory allocation fails
  Input: qnap-mcu-input - omit error message when memory allocation fails
  dt-bindings: input: Convert MELFAS MIP4 Touchscreen to DT schema
  dt-bindings: touchscreen: move ar1021.txt to trivial-touch.yaml
  dt-bindings: touchscreen: rename maxim,max11801.yaml to trivial-touch.yaml
  Input: cyttsp5 - use %pe format specifier
parents 2f7041e5 429c4727
Loading
Loading
Loading
Loading
+59 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/ti,twl4030-keypad.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments TWL4030-family Keypad Controller

maintainers:
  - Peter Ujfalusi <peter.ujfalusi@gmail.com>

description:
  TWL4030's Keypad controller is used to interface a SoC with a matrix-type
  keypad device. The keypad controller supports multiple row and column lines.
  A key can be placed at each intersection of a unique row and a unique column.
  The keypad controller can sense a key-press and key-release and report the
  event using a interrupt to the cpu.

allOf:
  - $ref: matrix-keymap.yaml#

properties:
  compatible:
    const: ti,twl4030-keypad

  interrupts:
    maxItems: 1

required:
  - compatible
  - interrupts
  - keypad,num-rows
  - keypad,num-columns
  - linux,keymap

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/input/input.h>

    keypad {
        compatible = "ti,twl4030-keypad";
        interrupts = <1>;
        keypad,num-rows = <8>;
        keypad,num-columns = <8>;
        linux,keymap = <
            /* row 0 */
            MATRIX_KEY(0, 0, KEY_1)
            MATRIX_KEY(0, 1, KEY_2)
            MATRIX_KEY(0, 2, KEY_3)

            /* ...and so on for a full 8x8 matrix... */

            /* row 7 */
            MATRIX_KEY(7, 6, KEY_Y)
            MATRIX_KEY(7, 7, KEY_Z)
        >;
    };
+0 −15
Original line number Diff line number Diff line
* Microchip AR1020 and AR1021 touchscreen interface (I2C)

Required properties:
- compatible		: "microchip,ar1021-i2c"
- reg			: I2C slave address
- interrupts		: touch controller interrupt

Example:

	touchscreen@4d {
		compatible = "microchip,ar1021-i2c";
		reg = <0x4d>;
		interrupt-parent = <&gpio3>;
		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
	};
+0 −75
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/azoteq,iqs5xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Azoteq IQS550/572/525 Trackpad/Touchscreen Controller

maintainers:
  - Jeff LaBundy <jeff@labundy.com>

description: |
  The Azoteq IQS550, IQS572 and IQS525 trackpad and touchscreen controllers
  employ projected-capacitance sensing and can track up to five independent
  contacts.

  Link to datasheet: https://www.azoteq.com/

allOf:
  - $ref: touchscreen.yaml#

properties:
  compatible:
    enum:
      - azoteq,iqs550
      - azoteq,iqs572
      - azoteq,iqs525

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  wakeup-source: true

  touchscreen-size-x: true
  touchscreen-size-y: true
  touchscreen-inverted-x: true
  touchscreen-inverted-y: true
  touchscreen-swapped-x-y: true

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
            #address-cells = <1>;
            #size-cells = <0>;

            touchscreen@74 {
                    compatible = "azoteq,iqs550";
                    reg = <0x74>;
                    interrupt-parent = <&gpio>;
                    interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
                    reset-gpios = <&gpio 22 (GPIO_ACTIVE_LOW |
                                             GPIO_PUSH_PULL)>;

                    touchscreen-size-x = <800>;
                    touchscreen-size-y = <480>;
            };
    };

...
+0 −64
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/himax,hx83112b.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Himax hx83112b touchscreen controller

maintainers:
  - Job Noorman <job@noorman.info>

allOf:
  - $ref: touchscreen.yaml#

properties:
  compatible:
    enum:
      - himax,hx83100a
      - himax,hx83112b

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  touchscreen-inverted-x: true
  touchscreen-inverted-y: true
  touchscreen-size-x: true
  touchscreen-size-y: true
  touchscreen-swapped-x-y: true

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - reset-gpios
  - touchscreen-size-x
  - touchscreen-size-y

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      touchscreen@48 {
        compatible = "himax,hx83112b";
        reg = <0x48>;
        interrupt-parent = <&tlmm>;
        interrupts = <65 IRQ_TYPE_LEVEL_LOW>;
        touchscreen-size-x = <1080>;
        touchscreen-size-y = <2160>;
        reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
      };
    };

...
+0 −65
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/hynitron,cstxxx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Hynitron cstxxx series touchscreen controller

description: |
  Bindings for Hynitron cstxxx series multi-touch touchscreen
  controllers.

maintainers:
  - Chris Morgan <macromorgan@hotmail.com>

allOf:
  - $ref: touchscreen.yaml#

properties:
  compatible:
    enum:
      - hynitron,cst340

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  touchscreen-size-x: true
  touchscreen-size-y: true
  touchscreen-inverted-x: true
  touchscreen-inverted-y: true
  touchscreen-swapped-x-y: true

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - reset-gpios

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      touchscreen@1a {
        compatible = "hynitron,cst340";
        reg = <0x1a>;
        interrupt-parent = <&gpio4>;
        interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
        reset-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
        touchscreen-size-x = <640>;
        touchscreen-size-y = <480>;
      };
    };

...
Loading