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

 - a driver for SGI IOC3 PS/2 controller

 - updates to driver for FocalTech FT5x06 series touch screen
   controllers

 - other assorted fixes

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: synaptics-rmi4 - switch to reduced reporting mode
  dt-bindings: touchscreen: Convert Goodix touchscreen to json-schema
  dt-bindings: touchscreen: Add touchscreen schema
  Input: add IOC3 serio driver
  Input: axp20x-pek - enable wakeup for all AXP variants
  Input: axp20x-pek - respect userspace wakeup configuration
  Input: ads7846 - use new `delay` structure for SPI transfer delays
  Input: edt-ft5x06 - use pm core to enable/disable the wake irq
  Input: edt-ft5x06 - make wakeup-source switchable
  Input: edt-ft5x06 - document wakeup-source capability
  Input: edt-ft5x06 - alphabetical include reorder
  Input: edt-ft5x06 - work around first register access error
  Input: apbps2 - add __iomem to register struct
  Input: axp20x-pek - make device attributes static
  Input: elants_i2c - check Remark ID when attempting firmware update
parents d4e9056d b19efcab
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ Optional properties:
 - pinctrl-0:   a phandle pointing to the pin settings for the
                control gpios

 - wakeup-source: If present the device will act as wakeup-source

 - threshold:   allows setting the "click"-threshold in the range
                from 0 to 80.

+0 −50
Original line number Diff line number Diff line
Device tree bindings for Goodix GT9xx series touchscreen controller

Required properties:

 - compatible		: Should be "goodix,gt1151"
				 or "goodix,gt5663"
				 or "goodix,gt5688"
				 or "goodix,gt911"
				 or "goodix,gt9110"
				 or "goodix,gt912"
				 or "goodix,gt927"
				 or "goodix,gt9271"
				 or "goodix,gt928"
				 or "goodix,gt967"
 - reg			: I2C address of the chip. Should be 0x5d or 0x14
 - interrupts		: Interrupt to which the chip is connected

Optional properties:

 - irq-gpios		: GPIO pin used for IRQ. The driver uses the
			  interrupt gpio pin as output to reset the device.
 - reset-gpios		: GPIO pin used for reset
 - AVDD28-supply	: Analog power supply regulator on AVDD28 pin
 - VDDIO-supply		: GPIO power supply regulator on VDDIO pin
 - touchscreen-inverted-x
 - touchscreen-inverted-y
 - touchscreen-size-x
 - touchscreen-size-y
 - touchscreen-swapped-x-y

The touchscreen-* properties are documented in touchscreen.txt in this
directory.

Example:

	i2c@00000000 {
		/* ... */

		gt928@5d {
			compatible = "goodix,gt928";
			reg = <0x5d>;
			interrupt-parent = <&gpio>;
			interrupts = <0 0>;

			irq-gpios = <&gpio1 0 0>;
			reset-gpios = <&gpio1 1 0>;
		};

		/* ... */
	};
+78 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/goodix.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Goodix GT9xx series touchscreen controller Bindings

maintainers:
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>

allOf:
  - $ref: touchscreen.yaml#

properties:
  compatible:
    enum:
      - goodix,gt1151
      - goodix,gt5663
      - goodix,gt5688
      - goodix,gt911
      - goodix,gt9110
      - goodix,gt912
      - goodix,gt927
      - goodix,gt9271
      - goodix,gt928
      - goodix,gt967

  reg:
    enum: [ 0x5d, 0x14 ]

  interrupts:
    maxItems: 1

  irq-gpios:
    description: GPIO pin used for IRQ.
                 The driver uses the interrupt gpio pin as
                 output to reset the device.
    maxItems: 1

  reset-gpios:
    maxItems: 1

  AVDD28-supply:
    description: Analog power supply regulator on AVDD28 pin

  VDDIO-supply:
    description: GPIO power supply regulator on VDDIO pin

  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

examples:
- |
    i2c@00000000 {
      #address-cells = <1>;
      #size-cells = <0>;
      gt928@5d {
        compatible = "goodix,gt928";
        reg = <0x5d>;
        interrupt-parent = <&gpio>;
        interrupts = <0 0>;
        irq-gpios = <&gpio1 0 0>;
        reset-gpios = <&gpio1 1 0>;
      };
    };

...
+1 −39
Original line number Diff line number Diff line
General Touchscreen Properties:

Optional properties for Touchscreens:
 - touchscreen-min-x		: minimum x coordinate reported (0 if not set)
 - touchscreen-min-y		: minimum y coordinate reported (0 if not set)
 - touchscreen-size-x		: horizontal resolution of touchscreen
				  (maximum x coordinate reported + 1)
 - touchscreen-size-y		: vertical resolution of touchscreen
				  (maximum y coordinate reported + 1)
 - touchscreen-max-pressure	: maximum reported pressure (arbitrary range
				  dependent on the controller)
 - touchscreen-min-pressure	: minimum pressure on the touchscreen to be
				  achieved in order for the touchscreen
				  driver to report a touch event.
 - touchscreen-fuzz-x		: horizontal noise value of the absolute input
				  device (in pixels)
 - touchscreen-fuzz-y		: vertical noise value of the absolute input
				  device (in pixels)
 - touchscreen-fuzz-pressure	: pressure noise value of the absolute input
				  device (arbitrary range dependent on the
				  controller)
 - touchscreen-average-samples : Number of data samples which are averaged
				  for each read (valid values dependent on the
				  controller)
 - touchscreen-inverted-x	: X axis is inverted (boolean)
 - touchscreen-inverted-y	: Y axis is inverted (boolean)
 - touchscreen-swapped-x-y	: X and Y axis are swapped (boolean)
				  Swapping is done after inverting the axis
 - touchscreen-x-mm		: horizontal length in mm of the touchscreen
 - touchscreen-y-mm		: vertical length in mm of the touchscreen

Deprecated properties for Touchscreens:
 - x-size			: deprecated name for touchscreen-size-x
 - y-size			: deprecated name for touchscreen-size-y
 - moving-threshold		: deprecated name for a combination of
				  touchscreen-fuzz-x and touchscreen-fuzz-y
 - contact-threshold		: deprecated name for touchscreen-fuzz-pressure
 - x-invert			: deprecated name for touchscreen-inverted-x
 - y-invert			: deprecated name for touchscreen-inverted-y
See touchscreen.yaml
+83 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/touchscreen.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Common touchscreen Bindings

maintainers:
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>

properties:
  touchscreen-min-x:
    description: minimum x coordinate reported
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0

  touchscreen-min-y:
    description: minimum y coordinate reported
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0

  touchscreen-size-x:
    description: horizontal resolution of touchscreen (maximum x coordinate reported + 1)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-size-y:
    description: vertical resolution of touchscreen (maximum y coordinate reported + 1)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-max-pressure:
    description: maximum reported pressure (arbitrary range dependent on the controller)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-min-pressure:
    description: minimum pressure on the touchscreen to be achieved in order for the
                 touchscreen driver to report a touch event.
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-fuzz-x:
    description: horizontal noise value of the absolute input device (in pixels)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-fuzz-y:
    description: vertical noise value of the absolute input device (in pixels)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-fuzz-pressure:
    description: pressure noise value of the absolute input device (arbitrary range
                 dependent on the controller)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-average-samples:
    description: Number of data samples which are averaged for each read (valid values
                 dependent on the controller)
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-inverted-x:
    description: X axis is inverted
    type: boolean

  touchscreen-inverted-y:
    description: Y axis is inverted
    type: boolean

  touchscreen-swapped-x-y:
    description: X and Y axis are swapped
                 Swapping is done after inverting the axis
    type: boolean

  touchscreen-x-mm:
    description: horizontal length in mm of the touchscreen
    $ref: /schemas/types.yaml#/definitions/uint32

  touchscreen-y-mm:
    description: vertical length in mm of the touchscreen
    $ref: /schemas/types.yaml#/definitions/uint32

dependencies:
  touchscreen-size-x: [ touchscreen-size-y ]
  touchscreen-size-y: [ touchscreen-size-x ]
  touchscreen-x-mm: [ touchscreen-y-mm ]
  touchscreen-y-mm: [ touchscreen-x-mm ]
Loading