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

 - updates to several drivers consuming GPIO APIs to use setters
   returning error codes

 - an infrastructure allowing to define "overlays" for touchscreens
   carving out regions implementing buttons and other elements from a
   bigger sensors and a corresponding update to st1232 driver

 - an update to AT/PS2 keyboard driver to map F13-F24 by default

 - Samsung keypad driver got a facelift

 - evdev input handler will now bind to all devices using EV_SYN event
   instead of abusing id->driver_info

 - two new sub-drivers implementing 1A (capacitive buttons) and 21
   (forcepad button) functions in Synaptics RMI driver

 - support for polling mode in Goodix touchscreen driver

 - support for support for FocalTech FT8716 in edt-ft5x06 driver

 - support for MT6359 in mtk-pmic-keys driver

 - removal of pcf50633-input driver since platform it was used on is
   gone

 - new definitions for game controller "grip" buttons (BTN_GRIP*) and
   corresponding changes to xpad and hid-steam controller drivers

 - a new definition for "performance" key

* tag 'input-for-v6.17-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (38 commits)
  HID: hid-steam: Use new BTN_GRIP* buttons
  Input: add keycode for performance mode key
  Input: max77693 - convert to atomic pwm operation
  Input: st1232 - add touch-overlay handling
  dt-bindings: input: touchscreen: st1232: add touch-overlay example
  Input: touch-overlay - add touchscreen overlay handling
  dt-bindings: touchscreen: add touch-overlay property
  Input: atkbd - correctly map F13 - F24
  Input: xpad - use new BTN_GRIP* buttons
  Input: Add and document BTN_GRIP*
  Input: xpad - change buttons the D-Pad gets mapped as to BTN_DPAD_*
  Documentation: Fix capitalization of XBox -> Xbox
  Input: synaptics-rmi4 - add support for F1A
  dt-bindings: input: syna,rmi4: Document F1A function
  Input: synaptics-rmi4 - add support for Forcepads (F21)
  Input: mtk-pmic-keys - add support for MT6359 PMIC keys
  Input: remove special handling of id->driver_info when matching
  Input: evdev - switch matching to EV_SYN
  Input: samsung-keypad - use BIT() and GENMASK() where appropriate
  Input: samsung-keypad - use per-chip parameters
  ...
parents d244f9bb ab93e0dd
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -89,6 +89,24 @@ properties:
    required:
      - reg

  rmi4-f1a@1a:
    type: object
    additionalProperties: false
    $ref: input.yaml#
    description:
      RMI4 Function 1A is for capacitive keys.

    properties:
      reg:
        maxItems: 1

      linux,keycodes:
        minItems: 1
        maxItems: 4

    required:
      - reg

patternProperties:
  "^rmi4-f1[12]@1[12]$":
    type: object
@@ -201,6 +219,7 @@ allOf:

examples:
  - |
    #include <dt-bindings/input/linux-event-codes.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
@@ -234,6 +253,7 @@ examples:

            rmi4-f1a@1a {
                reg = <0x1a>;
                linux,keycodes = <KEY_BACK KEY_HOME KEY_MENU>;
            };
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ properties:
      - focaltech,ft5452
      - focaltech,ft6236
      - focaltech,ft8201
      - focaltech,ft8716
      - focaltech,ft8719

  reg:
+0 −16
Original line number Diff line number Diff line
* NXP LPC32xx SoC Touchscreen Controller (TSC)

Required properties:
- compatible: must be "nxp,lpc3220-tsc"
- reg: physical base address of the controller and length of memory mapped
  region.
- interrupts: The TSC/ADC interrupt

Example:

	tsc@40048000 {
		compatible = "nxp,lpc3220-tsc";
		reg = <0x40048000 0x1000>;
		interrupt-parent = <&mic>;
		interrupts = <39 0>;
	};
+43 −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/touchscreen/nxp,lpc3220-tsc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP LPC32xx SoC Touchscreen Controller (TSC)

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

properties:
  compatible:
    const: nxp,lpc3220-tsc

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

additionalProperties: false

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

    touchscreen@40048000 {
        compatible = "nxp,lpc3220-tsc";
        reg = <0x40048000 0x1000>;
        interrupt-parent = <&mic>;
        interrupts = <39 0>;
        clocks = <&clk LPC32XX_CLK_ADC>;
    };
+29 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/input/linux-event-codes.h>
    i2c {
            #address-cells = <1>;
            #size-cells = <0>;
@@ -46,5 +47,33 @@ examples:
                    reg = <0x55>;
                    interrupts = <2 0>;
                    gpios = <&gpio1 166 0>;

                    touch-overlay {
                            segment-0 {
                                    label = "Touchscreen";
                                    x-origin = <0>;
                                    x-size = <240>;
                                    y-origin = <40>;
                                    y-size = <280>;
                            };

                            segment-1a {
                                    label = "Camera light";
                                    linux,code = <KEY_LIGHTS_TOGGLE>;
                                    x-origin = <40>;
                                    x-size = <40>;
                                    y-origin = <0>;
                                    y-size = <40>;
                            };

                            segment-2a {
                                    label = "Power";
                                    linux,code = <KEY_POWER>;
                                    x-origin = <160>;
                                    x-size = <40>;
                                    y-origin = <0>;
                                    y-size = <40>;
                            };
                    };
            };
    };
Loading