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

 - a new driver for Goodix Berlin I2C and SPI touch controllers

 - support for IQS7222D v1.1 and v1.2 in iqs7222 driver

 - support for IST3032C and IST3038B parts in Imagis touchscreen driver

 - support for touch keys for Imagis touchscreen controllers

 - support for Snakebyte GAMEPADs in xpad driver

 - various cleanups and conversions to yaml for device tree bindings

 - assorted fixes and cleanups

 - old Synaptics navpoint driver has been removed since the only board
   that used it (HP iPAQ hx4700) was removed a while ago.

* tag 'input-for-v6.9-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (37 commits)
  Input: xpad - add support for Snakebyte GAMEPADs
  dt-bindings: input: samsung,s3c6410-keypad: convert to DT Schema
  Input: imagis - add touch key support
  dt-bindings: input: imagis: Document touch keys
  Input: imagis - use FIELD_GET where applicable
  Input: make input_class constant
  dt-bindings: input: atmel,captouch: convert bindings to YAML
  Input: iqs7222 - add support for IQS7222D v1.1 and v1.2
  dt-bindings: input: allwinner,sun4i-a10-lrad: drop redundant type from label
  Input: serio - make serio_bus const
  Input: synaptics-rmi4 - make rmi_bus_type const
  Input: xilinx_ps2 - fix kernel-doc for xps2_of_probe function
  input/touchscreen: imagis: add support for IST3032C
  dt-bindings: input/touchscreen: imagis: add compatible for IST3032C
  input/touchscreen: imagis: Add support for Imagis IST3038B
  dt-bindings: input/touchscreen: Add compatible for IST3038B
  input/touchscreen: imagis: Correct the maximum touch area value
  Input: leds - change config symbol dependency for audio mute trigger
  Input: ti_am335x_tsc - remove redundant assignment to variable config
  Input: xpad - sort xpad_device by vendor and product ID
  ...
parents 741e9d66 57ed9567
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ patternProperties:
    $ref: input.yaml#
    properties:
      label:
        $ref: /schemas/types.yaml#/definitions/string
        description: Descriptive name of the key

      linux,code: true
+0 −36
Original line number Diff line number Diff line
Device tree bindings for Atmel capacitive touch device, typically
an Atmel touch sensor connected to AtmegaXX MCU running firmware
based on Qtouch library.

The node for this device must be a child of a I2C controller node, as the
device communicates via I2C.

Required properties:

	compatible:	Must be "atmel,captouch".
	reg:		The I2C slave address of the device.
	interrupts:	Property describing the interrupt line the device
			is connected to. The device only has one interrupt
			source.
	linux,keycodes:	Specifies an array of numeric keycode values to
			be used for reporting button presses. The array can
			contain up to 8 entries.

Optional properties:

	autorepeat:	Enables the Linux input system's autorepeat
			feature on the input device.

Example:

	atmel-captouch@51 {
		compatible = "atmel,captouch";
		reg = <0x51>;
		interrupt-parent = <&tlmm>;
		interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
		linux,keycodes = <BTN_0>, <BTN_1>,
			<BTN_2>, <BTN_3>,
			<BTN_4>, <BTN_5>,
			<BTN_6>, <BTN_7>;
		autorepeat;
	};
+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/atmel,captouch.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Atmel capacitive touch device

maintainers:
  - Dharma balasubiramani <dharma.b@microchip.com>

description:
  Atmel capacitive touch device, typically an Atmel touch sensor connected to
  AtmegaXX MCU running firmware based on Qtouch library.

allOf:
  - $ref: input.yaml#

properties:
  compatible:
    const: atmel,captouch

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  linux,keycodes:
    minItems: 1
    maxItems: 8

required:
  - compatible
  - reg
  - interrupts
  - linux,keycodes

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/input/linux-event-codes.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      touch@51 {
        compatible = "atmel,captouch";
        reg = <0x51>;
        interrupt-parent = <&tlmm>;
        interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
        linux,keycodes = <BTN_0>, <BTN_1>,
                         <BTN_2>, <BTN_3>,
                         <BTN_4>, <BTN_5>,
                         <BTN_6>, <BTN_7>;
        autorepeat;
      };
    };
+121 −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/samsung,s3c6410-keypad.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung SoC series Keypad Controller

description:
  Samsung SoC 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.

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

properties:
  compatible:
    enum:
      - samsung,s3c6410-keypad
      - samsung,s5pv210-keypad

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: keypad

  interrupts:
    maxItems: 1

  wakeup-source: true

  linux,input-no-autorepeat:
    type: boolean
    description:
      Do no enable autorepeat feature.

  linux,input-wakeup:
    type: boolean
    deprecated: true

  samsung,keypad-num-columns:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Number of column lines connected to the keypad controller.

  samsung,keypad-num-rows:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Number of row lines connected to the keypad controller.

patternProperties:
  '^key-[0-9a-z]+$':
    type: object
    $ref: input.yaml#
    additionalProperties: false
    description:
      Each key connected to the keypad controller is represented as a child
      node to the keypad controller device node.

    properties:
      keypad,column:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: The column number to which the key is connected.

      keypad,row:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: The row number to which the key is connected.

      linux,code: true

    required:
      - keypad,column
      - keypad,row
      - linux,code

required:
  - compatible
  - reg
  - interrupts
  - samsung,keypad-num-columns
  - samsung,keypad-num-rows

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/exynos4.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    keypad@100a0000 {
        compatible = "samsung,s5pv210-keypad";
        reg = <0x100a0000 0x100>;
        interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clock CLK_KEYIF>;
        clock-names = "keypad";

        samsung,keypad-num-rows = <2>;
        samsung,keypad-num-columns = <8>;
        linux,input-no-autorepeat;
        wakeup-source;

        key-1 {
            keypad,row = <0>;
            keypad,column = <3>;
            linux,code = <2>;
        };

        key-2 {
            keypad,row = <0>;
            keypad,column = <4>;
            linux,code = <3>;
        };
    };
+0 −77
Original line number Diff line number Diff line
* Samsung's Keypad Controller device tree bindings

Samsung'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.

Required SoC Specific Properties:
- compatible: should be one of the following
  - "samsung,s3c6410-keypad": For controllers compatible with s3c6410 keypad
    controller.
  - "samsung,s5pv210-keypad": For controllers compatible with s5pv210 keypad
    controller.

- reg: physical base address of the controller and length of memory mapped
  region.

- interrupts: The interrupt number to the cpu.

Required Board Specific Properties:
- samsung,keypad-num-rows: Number of row lines connected to the keypad
  controller.

- samsung,keypad-num-columns: Number of column lines connected to the
  keypad controller.

- Keys represented as child nodes: Each key connected to the keypad
  controller is represented as a child node to the keypad controller
  device node and should include the following properties.
  - keypad,row: the row number to which the key is connected.
  - keypad,column: the column number to which the key is connected.
  - linux,code: the key-code to be reported when the key is pressed
    and released.

- pinctrl-0: Should specify pin control groups used for this controller.
- pinctrl-names: Should contain only one value - "default".

Optional Properties:
- wakeup-source: use any event on keypad as wakeup event.
		 (Legacy property supported: "linux,input-wakeup")

Optional Properties specific to linux:
- linux,keypad-no-autorepeat: do no enable autorepeat feature.


Example:
	keypad@100a0000 {
		compatible = "samsung,s5pv210-keypad";
		reg = <0x100A0000 0x100>;
		interrupts = <173>;
		samsung,keypad-num-rows = <2>;
		samsung,keypad-num-columns = <8>;
		linux,input-no-autorepeat;
		wakeup-source;

		pinctrl-names = "default";
		pinctrl-0 = <&keypad_rows &keypad_columns>;

		key_1 {
			keypad,row = <0>;
			keypad,column = <3>;
			linux,code = <2>;
		};

		key_2 {
			keypad,row = <0>;
			keypad,column = <4>;
			linux,code = <3>;
		};

		key_3 {
			keypad,row = <0>;
			keypad,column = <5>;
			linux,code = <4>;
		};
	};
Loading