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

 - Conversions to yaml/json schema and fixes for input-related device
   tree bindings

 - New drivers:
     - Awinic AW86927 haptic chip
     - Hynitron CST816x series controller
     - Himax HX852x(ES) touchscreen controller

 - Fix uinput to not leak kernel memory via a gap in
   uinput_ff_upload_compat structure

 - Prevent overflow in pressure calculation in tsc2007 driver causing
   phantom touches

 - Make the Atmel maxTouch driver support generic touchscreen
   configuration (flip, rotate, etc)

 - Drop support for platform data in tca8418_keypad, pxa27x-keypad,
   spear-keyboard and twl4030_keypad drivers, they all now rely on
   generic device properties for configuration

 - Other assorted changes and fixes

* tag 'input-for-v6.18-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (50 commits)
  Input: atmel_mxt_ts - allow reset GPIO to sleep
  Input: aw86927 - fix error code in probe()
  Input: psxpad-spi - add a check for the return value of spi_setup()
  Input: uinput - zero-initialize uinput_ff_upload_compat to avoid info leak
  Input: aw86927 - add driver for Awinic AW86927
  dt-bindings: input: Add Awinic AW86927
  dt-bindings: touchscreen: remove touchscreen.txt
  dt-bindings: arm: bcm: raspberrypi,bcm2835-firmware: Add touchscreen child node
  dt-bindings: touchscreen: convert eeti bindings to json schema
  Input: pm8941-pwrkey - disable wakeup for resin by default
  dt-bindings: input: pm8941-pwrkey: Document wakeup-source property
  Input: add driver for Hynitron CST816x series
  dt-bindings: input: touchscreen: add hynitron cst816x series
  Input: imx6ul_tsc - set glitch threshold by DTS property
  dt-bindings: touchscreen: fsl,imx6ul-tsc: support glitch thresold
  dt-bindings: touchscreen: add debounce-delay-us property
  Input: ps2-gpio - fix typo
  Input: atmel_mxt_ts - add support for generic touchscreen configurations
  dt-bindings: input: maxtouch: add common touchscreen properties
  dt-bindings: touchscreen: convert zet6223 bindings to json schema
  ...
parents 7c8dcac8 8b87f67b
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -103,6 +103,28 @@ properties:
      - compatible
      - "#pwm-cells"

  touchscreen:
    type: object
    $ref: /schemas/input/touchscreen/touchscreen.yaml#
    additionalProperties: false

    properties:
      compatible:
        const: raspberrypi,firmware-ts

      firmware:
        deprecated: true
        description: Phandle to RPi's firmware device node.

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

    required:
      - compatible

required:
  - compatible
  - mboxes
@@ -135,5 +157,11 @@ examples:
            compatible = "raspberrypi,firmware-poe-pwm";
            #pwm-cells = <2>;
        };

        ts: touchscreen {
            compatible = "raspberrypi,firmware-ts";
            touchscreen-size-x = <800>;
            touchscreen-size-y = <480>;
        };
    };
...
+2 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ description: |

allOf:
  - $ref: input.yaml#
  - $ref: touchscreen/touchscreen.yaml#

properties:
  compatible:
@@ -95,7 +96,7 @@ required:
  - reg
  - interrupts

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
+48 −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/awinic,aw86927.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Awinic AW86927 LRA Haptic IC

maintainers:
  - Griffin Kroah-Hartman <griffin.kroah@fairphone.com>

properties:
  compatible:
    const: awinic,aw86927

  reg:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  interrupts:
    maxItems: 1

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

additionalProperties: false

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

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

        vibrator@5a {
            compatible = "awinic,aw86927";
            reg = <0x5a>;
            interrupts-extended = <&tlmm 101 IRQ_TYPE_EDGE_FALLING>;
            reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
        };
    };
+0 −34
Original line number Diff line number Diff line
NXP LPC32xx Key Scan Interface

This binding is based on the matrix-keymap binding with the following
changes:

Required Properties:
- compatible: Should be "nxp,lpc3220-key"
- reg: Physical base address of the controller and length of memory mapped
  region.
- interrupts: The interrupt number to the cpu.
- clocks: phandle to clock controller plus clock-specifier pair
- nxp,debounce-delay-ms: Debounce delay in ms
- nxp,scan-delay-ms: Repeated scan period in ms
- linux,keymap: the key-code to be reported when the key is pressed
  and released, see also
  Documentation/devicetree/bindings/input/matrix-keymap.txt

Note: keypad,num-rows and keypad,num-columns are required, and must be equal
since LPC32xx only supports square matrices

Example:

	key@40050000 {
		compatible = "nxp,lpc3220-key";
		reg = <0x40050000 0x1000>;
		clocks = <&clk LPC32XX_CLK_KEY>;
		interrupt-parent = <&sic1>;
		interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
		keypad,num-rows = <1>;
		keypad,num-columns = <1>;
		nxp,debounce-delay-ms = <3>;
		nxp,scan-delay-ms = <34>;
		linux,keymap = <0x00000002>;
	};
+61 −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/nxp,lpc3220-key.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP LPC32xx Key Scan Interface

maintainers:
  - Frank Li <Frank.Li@nxp.com>

properties:
  compatible:
    const: nxp,lpc3220-key

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  nxp,debounce-delay-ms:
    description: Debounce delay in ms

  nxp,scan-delay-ms:
    description: Repeated scan period in ms

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - nxp,debounce-delay-ms
  - nxp,scan-delay-ms
  - linux,keymap

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

unevaluatedProperties: false

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

    key@40050000 {
        compatible = "nxp,lpc3220-key";
        reg = <0x40050000 0x1000>;
        clocks = <&clk LPC32XX_CLK_KEY>;
        interrupt-parent = <&sic1>;
        interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
        keypad,num-rows = <1>;
        keypad,num-columns = <1>;
        nxp,debounce-delay-ms = <3>;
        nxp,scan-delay-ms = <34>;
        linux,keymap = <0x00000002>;
    };
Loading