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

 - a new driver for ADC driven joysticks

 - a new Zintix touchscreen driver

 - enhancements to Intel SoC button array driver

 - support for F3A "function" in Synaptics RMI4 driver

 - assorted driver fixups

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (29 commits)
  Input: Add MAINTAINERS entry for SiS i2c touch input driver
  Input: evdev - per-client waitgroups
  Input: synaptics - enable InterTouch for ThinkPad T14 Gen 1
  Input: synaptics - enable InterTouch for ThinkPad P1/X1E gen 2
  Input: synaptics-rmi4 - support bootloader v8 in f34v7
  Input: synaptics-rmi4 - add support for F3A
  Input: synaptics-rmi4 - rename f30_data to gpio_data
  Input: add zinitix touchscreen driver
  dt-bindings: input/touchscreen: add bindings for zinitix
  Input: joystick - add ADC attached joystick driver.
  dt-bindings: input: Add docs for ADC driven joystick
  Input: sun4i-ps2 - fix handling of platform_get_irq() error
  Input: twl4030_keypad - fix handling of platform_get_irq() error
  Input: omap4-keypad - fix handling of platform_get_irq() error
  Input: ep93xx_keypad - fix handling of platform_get_irq() error
  Input: stmfts - fix a & vs && typo
  Input: imx6ul_tsc - unify open/close and PM paths
  Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
  Input: elants_i2c - fix typo for an attribute to show calibration count
  Input: elants_i2c - report resolution of ABS_MT_TOUCH_MAJOR by FW information.
  ...
parents 40a03b75 bb0bc0cf
Loading
Loading
Loading
Loading
+121 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019-2020 Artur Rojek
%YAML 1.2
---
$id: "http://devicetree.org/schemas/input/adc-joystick.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: ADC attached joystick

maintainers:
  - Artur Rojek <contact@artur-rojek.eu>

description: >
  Bindings for joystick devices connected to ADC controllers supporting
  the Industrial I/O subsystem.

properties:
  compatible:
    const: adc-joystick

  io-channels:
    minItems: 1
    maxItems: 1024
    description: >
      List of phandle and IIO specifier pairs.
      Each pair defines one ADC channel to which a joystick axis is connected.
      See Documentation/devicetree/bindings/iio/iio-bindings.txt for details.

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

required:
  - compatible
  - io-channels
  - '#address-cells'
  - '#size-cells'

additionalProperties: false

patternProperties:
  "^axis@[0-9a-f]+$":
    type: object
    description: >
      Represents a joystick axis bound to the given ADC channel.
      For each entry in the io-channels list, one axis subnode with a matching
      reg property must be specified.

    properties:
      reg:
        minimum: 0
        maximum: 1023
        description: Index of an io-channels list entry bound to this axis.

      linux,code:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: EV_ABS specific event code generated by the axis.

      abs-range:
        allOf:
          - $ref: /schemas/types.yaml#/definitions/uint32-array
          - items:
              - description: minimum value
              - description: maximum value
        description: >
          Minimum and maximum values produced by the axis.
          For an ABS_X axis this will be the left-most and right-most
          inclination of the joystick. If min > max, it is left to userspace to
          treat the axis as inverted.
          This property is interpreted as two signed 32 bit values.

      abs-fuzz:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: >
          Amount of noise in the input value.
          Omitting this property indicates the axis is precise.

      abs-flat:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: >
          Axial "deadzone", or area around the center position, where the axis
          is considered to be at rest.
          Omitting this property indicates the axis always returns to exactly
          the center position.

    required:
      - reg
      - linux,code
      - abs-range

    additionalProperties: false

examples:
  - |
    #include <dt-bindings/iio/adc/ingenic,adc.h>
    #include <dt-bindings/input/input.h>

    joystick: adc-joystick {
      compatible = "adc-joystick";
      io-channels = <&adc INGENIC_ADC_TOUCH_XP>,
                    <&adc INGENIC_ADC_TOUCH_YP>;
      #address-cells = <1>;
      #size-cells = <0>;

      axis@0 {
              reg = <0>;
              linux,code = <ABS_X>;
              abs-range = <3300 0>;
              abs-fuzz = <4>;
              abs-flat = <200>;
      };
      axis@1 {
              reg = <1>;
              linux,code = <ABS_Y>;
              abs-range = <0 3300>;
              abs-fuzz = <4>;
              abs-flat = <200>;
      };
    };
+40 −0
Original line number Diff line number Diff line
Device tree bindings for Zinitx BT541 touchscreen controller

Required properties:

 - compatible		: Should be "zinitix,bt541"
 - reg			: I2C address of the chip. Should be 0x20
 - interrupts		: Interrupt to which the chip is connected

Optional properties:

 - vdd-supply		: Analog power supply regulator on VCCA pin
 - vddo-supply		: Digital power supply regulator on VDD pin
 - zinitix,mode		: Mode of reporting touch points. Some modes may not work
			  with a particular ts firmware for unknown reasons. Available
			  modes are 1 and 2. Mode 2 is the default and preferred.

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

Example:

	i2c@00000000 {
		/* ... */

		bt541@20 {
			compatible = "zinitix,bt541";
			reg = <0x20>;
			interrupt-parent = <&msmgpio>;
			interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
			pinctrl-names = "default";
			pinctrl-0 = <&tsp_default>;
			vdd-supply = <&reg_vdd_tsp>;
			vddo-supply = <&pm8916_l6>;
			touchscreen-size-x = <540>;
			touchscreen-size-y = <960>;
			zinitix,mode = <2>;
		};

		/* ... */
	};
+2 −0
Original line number Diff line number Diff line
@@ -1222,6 +1222,8 @@ patternProperties:
    description: Shenzhen Zidoo Technology Co., Ltd.
  "^zii,.*":
    description: Zodiac Inflight Innovations
  "^zinitix,.*":
    description: Zinitix Co., Ltd
  "^zte,.*":
    description: ZTE Corp.
  "^zyxel,.*":
+7 −0
Original line number Diff line number Diff line
@@ -16044,6 +16044,13 @@ F: Documentation/fb/sisfb.rst
F:	drivers/video/fbdev/sis/
F:	include/video/sisfb.h
SIS I2C TOUCHSCREEN DRIVER
M:	Mika Penttilä <mika.penttila@nextfour.com>
L:	linux-input@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/input/touchscreen/sis_i2c.txt
F:	drivers/input/touchscreen/sis_i2c.c
SIS USB2VGA DRIVER
M:	Thomas Winischhofer <thomas@winischhofer.net>
S:	Maintained
+1 −1
Original line number Diff line number Diff line
@@ -720,7 +720,7 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id)
	}

	if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS)
		rmi_hid_pdata.f30_data.disable = true;
		rmi_hid_pdata.gpio_data.disable = true;

	data->xport.dev = hdev->dev.parent;
	data->xport.pdata = rmi_hid_pdata;
Loading