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

 - a new driver for SparkFun Qwiic Joystick

 - pm8941-pwrkey driver now supports PMK8350

 - a bunch of assorted driver fixes

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (44 commits)
  Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl
  Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
  Input: trackpoint - use kobj_to_dev()
  Input: atkbd - use kobj_to_dev()
  Input: tsc200x-core - use kobj_to_dev()
  Input: ims-pcu - use kobj_to_dev()
  Input: cros_ec_keyb - use kobj_to_dev() API
  dt-bindings: input: touchscreen: st1232: Convert to json-schema
  Input: i8042 - fix typos in comments
  Input: add SparkFun Qwiic Joystick driver
  dt-bindings: Add vendor prefix and bindings for Qwiic Joystick
  Input: cy8ctmg110_ts - switch to using gpiod API
  Input: cy8ctmg110_ts - switch to using managed resources
  Input: cy8ctmg110_ts - use endian helpers when converting data on wire
  Input: cy8ctmg110_ts - let I2C core configure wake interrupt
  Input: cy8ctmg110_ts - do not hardcode as wakeup source
  Input: cy8ctmg110_ts - do not hard code interrupt trigger
  Input: cy8ctmg110_ts - rely on platform code to supply interrupt
  Input: resistive-adc-touch - fix uninitialized variable 'press'
  Input: pm8941-pwrkey - add support for PMK8350 PON_HLOS PMIC peripheral
  ...
parents da85e7ed 818b2658
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
* Freescale MMA8450 3-Axis Accelerometer

Required properties:
- compatible : "fsl,mma8450".
- reg: the I2C address of MMA8450

Example:

accelerometer: mma8450@1c {
	compatible = "fsl,mma8450";
	reg = <0x1c>;
};
+2 −0
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ PROPERTIES
	Definition: must be one of:
		    "qcom,pm8941-pwrkey"
		    "qcom,pm8941-resin"
		    "qcom,pmk8350-pwrkey"
		    "qcom,pmk8350-resin"

- reg:
	Usage: required
+148 −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/cypress,cy8ctma340.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cypress CY8CTMA340 series touchscreen controller bindings

description: The Cypress CY8CTMA340 series (also known as "CYTTSP" after
  the marketing name Cypress TrueTouch Standard Product) touchscreens can
  be connected to either I2C or SPI buses.

maintainers:
  - Javier Martinez Canillas <javier@dowhile0.org>
  - Linus Walleij <linus.walleij@linaro.org>

allOf:
  - $ref: touchscreen.yaml#

properties:
  $nodename:
    pattern: "^touchscreen(@.*)?$"

  compatible:
    oneOf:
      - const: cypress,cy8ctma340
      - const: cypress,cy8ctst341
      - const: cypress,cyttsp-spi
        description: Legacy compatible for SPI connected CY8CTMA340
        deprecated: true
      - const: cypress,cyttsp-i2c
        description: Legacy compatible for I2C connected CY8CTMA340
        deprecated: true

  reg:
    description: I2C address when used on the I2C bus, or the SPI chip
      select index when used on the SPI bus

  clock-frequency:
    description: I2C client clock frequency, defined for host when using
      the device on the I2C bus
    minimum: 0
    maximum: 400000

  spi-max-frequency:
    description: SPI clock frequency, defined for host, defined when using
      the device on the SPI bus. The throughput is maximum 2 Mbps so the
      typical value is 2000000, if higher rates are used the total throughput
      needs to be restricted to 2 Mbps.
    minimum: 0
    maximum: 6000000

  interrupts:
    description: Interrupt to host
    maxItems: 1

  vcpin-supply:
    description: Analog power supply regulator on VCPIN pin

  vdd-supply:
    description: Digital power supply regulator on VDD pin

  reset-gpios:
    description: Reset line for the touchscreen, should be tagged
      as GPIO_ACTIVE_LOW

  bootloader-key:
    description: the 8-byte bootloader key that is required to switch
      the chip from bootloader mode (default mode) to application mode
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 8
    maxItems: 8

  touchscreen-size-x: true
  touchscreen-size-y: true
  touchscreen-fuzz-x: true
  touchscreen-fuzz-y: true

  active-distance:
    description: the distance in pixels beyond which a touch must move
      before movement is detected and reported by the device
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 15

  active-interval-ms:
    description: the minimum period in ms between consecutive
      scanning/processing cycles when the chip is in active mode
    minimum: 0
    maximum: 255

  lowpower-interval-ms:
    description: the minimum period in ms between consecutive
      scanning/processing cycles when the chip is in low-power mode
    minimum: 0
    maximum: 2550

  touch-timeout-ms:
    description: minimum time in ms spent in the active power state while no
      touches are detected before entering low-power mode
    minimum: 0
    maximum: 2550

  use-handshake:
    description: enable register-based handshake (boolean). This should only
      be used if the chip is configured to use 'blocking communication with
      timeout' (in this case the device generates an interrupt at the end of
      every scanning/processing cycle)
    $ref: /schemas/types.yaml#/definitions/flag

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - bootloader-key
  - touchscreen-size-x
  - touchscreen-size-y

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>
    spi {
      #address-cells = <1>;
      #size-cells = <0>;
      num-cs = <1>;
      cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;

      touchscreen@0 {
        compatible = "cypress,cy8ctma340";
        reg = <0>;
        interrupt-parent = <&gpio>;
        interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
        reset-gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
        vdd-supply = <&ldo_aux1_reg>;
        vcpin-supply = <&ldo_aux2_reg>;
        bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
        touchscreen-size-x = <480>;
        touchscreen-size-y = <800>;
        active-interval-ms = <0>;
        touch-timeout-ms = <255>;
        lowpower-interval-ms = <10>;
      };
    };

...
+0 −93
Original line number Diff line number Diff line
* Cypress cyttsp touchscreen controller

Required properties:
 - compatible		: must be "cypress,cyttsp-i2c" or "cypress,cyttsp-spi"
 - reg			: Device I2C address or SPI chip select number
 - spi-max-frequency	: Maximum SPI clocking speed of the device (for cyttsp-spi)
 - interrupts		: (gpio) interrupt to which the chip is connected
			  (see interrupt binding[0]).
 - bootloader-key	: the 8-byte bootloader key that is required to switch
			  the chip from bootloader mode (default mode) to
			  application mode.
			  This property has to be specified as an array of 8
			  '/bits/ 8' values.

Optional properties:
 - reset-gpios		: the reset gpio the chip is connected to
			  (see GPIO binding[1] for more details).
 - touchscreen-size-x	: horizontal resolution of touchscreen (in pixels)
 - touchscreen-size-y	: vertical resolution of touchscreen (in pixels)
 - 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)
 - active-distance	: the distance in pixels beyond which a touch must move
			  before movement is detected and reported by the device.
			  Valid values: 0-15.
 - active-interval-ms	: the minimum period in ms between consecutive
			  scanning/processing cycles when the chip is in active mode.
			  Valid values: 0-255.
 - lowpower-interval-ms	: the minimum period in ms between consecutive
			  scanning/processing cycles when the chip is in low-power mode.
			  Valid values: 0-2550
 - touch-timeout-ms	: minimum time in ms spent in the active power state while no
			  touches are detected before entering low-power mode.
			  Valid values: 0-2550
 - use-handshake	: enable register-based handshake (boolean). This should
			  only be used if the chip is configured to use 'blocking
			  communication with timeout' (in this case the device
			  generates an interrupt at the end of every
			  scanning/processing cycle).

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/gpio/gpio.txt

Example:
	&i2c1 {
		/* ... */
		cyttsp@a {
			compatible = "cypress,cyttsp-i2c";
			reg = <0xa>;
			interrupt-parent = <&gpio0>;
			interrupts = <28 0>;
			reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;

			touchscreen-size-x = <800>;
			touchscreen-size-y = <480>;
			touchscreen-fuzz-x = <4>;
			touchscreen-fuzz-y = <7>;

			bootloader-key = /bits/ 8 <0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08>;
			active-distance = <8>;
			active-interval-ms = <0>;
			lowpower-interval-ms = <200>;
			touch-timeout-ms = <100>;
		};

		/* ... */
	};

	&mcspi1 {
		/* ... */
		cyttsp@0 {
			compatible = "cypress,cyttsp-spi";
			spi-max-frequency = <6000000>;
			reg = <0>;
			interrupt-parent = <&gpio0>;
			interrupts = <28 0>;
			reset-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;

			touchscreen-size-x = <800>;
			touchscreen-size-y = <480>;
			touchscreen-fuzz-x = <4>;
			touchscreen-fuzz-y = <7>;

			bootloader-key = /bits/ 8 <0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08>;
			active-distance = <8>;
			active-interval-ms = <0>;
			lowpower-interval-ms = <200>;
			touch-timeout-ms = <100>;
		};

		/* ... */
	};
+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ properties:
  wakeup-source: true

  vcc-supply: true
  iovcc-supply: true

  gain:
    description: Allows setting the sensitivity in the range from 0 to 31.
Loading