Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73f10274 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:
 "The first round of updates for the input subsystem.

  Just new drivers and existing driver fixes, no core changes except for
  the new uinput IOCTL to allow userspace to fetch sysfs name of the
  input device that was created"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (43 commits)
  Input: edt-ft5x06 - add a missing condition
  Input: appletouch - fix jumps when additional fingers are detected
  Input: appletouch - implement sensor data smoothing
  Input: add driver for SOC button array
  Input: pm8xxx-vibrator - add DT match table
  Input: pmic8xxx-pwrkey - migrate to DT
  Input: pmic8xxx-keypad - migrate to DT
  Input: pmic8xxx-keypad - migrate to regmap APIs
  Input: pmic8xxx-keypad - migrate to devm_* APIs
  Input: pmic8xxx-keypad - fix build by removing gpio configuration
  Input: add new driver for ARM CLPS711X keypad
  Input: edt-ft5x06 - add support for M09 firmware version
  Input: edt-ft5x06 - ignore touchdown events
  Input: edt-ft5x06 - adjust delays to conform datasheet
  Input: edt-ft5x06 - add DT support
  Input: edt-ft5x06 - several cleanups; no functional change
  Input: appletouch - dial back fuzz setting
  Input: remove obsolete tnetv107x drivers
  Input: sirfsoc-onkey - set the capability of reporting KEY_POWER
  Input: da9052_onkey - use correct register bit for key status
  ...
parents 877f075a 692d9655
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
* Cirrus Logic CLPS711X matrix keypad device tree bindings

Required Properties:
- compatible:    Shall contain "cirrus,clps711x-keypad".
- row-gpios:     List of GPIOs used as row lines.
- poll-interval: Poll interval time in milliseconds.
- linux,keymap:  The definition can be found at
                 bindings/input/matrix-keymap.txt.

Optional Properties:
- autorepeat:    Enable autorepeat feature.

Example:
	keypad {
		compatible = "cirrus,ep7312-keypad", "cirrus,clps711x-keypad";
		autorepeat;
		poll-interval = <120>;
		row-gpios = <&porta 0 0>,
			    <&porta 1 0>;

		linux,keymap = <
			MATRIX_KEY(0, 0, KEY_UP)
			MATRIX_KEY(0, 1, KEY_DOWN)
			MATRIX_KEY(1, 0, KEY_LEFT)
			MATRIX_KEY(1, 1, KEY_RIGHT)
		>;
	};
+89 −0
Original line number Diff line number Diff line
Qualcomm PM8xxx PMIC Keypad

PROPERTIES

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,pm8058-keypad"
		    "qcom,pm8921-keypad"

- reg:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: address of keypad control register

- interrupts:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: the first interrupt specifies the key sense interrupt
		    and the second interrupt specifies the key stuck interrupt.
		    The format of the specifier is defined by the binding
		    document describing the node's interrupt parent.

- linux,keymap:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: the linux keymap. More information can be found in
		    input/matrix-keymap.txt.

- linux,keypad-no-autorepeat:
	Usage: optional
	Value type: <bool>
	Definition: don't enable autorepeat feature.

- linux,keypad-wakeup:
	Usage: optional
	Value type: <bool>
	Definition: use any event on keypad as wakeup event.

- keypad,num-rows:
	Usage: required
	Value type: <u32>
	Definition: number of rows in the keymap. More information can be found
		    in input/matrix-keymap.txt.

- keypad,num-columns:
	Usage: required
	Value type: <u32>
	Definition: number of columns in the keymap. More information can be
		    found in input/matrix-keymap.txt.

- debounce:
	Usage: optional
	Value type: <u32>
	Definition: time in microseconds that key must be pressed or release
		    for key sense interrupt to trigger.

- scan-delay:
	Usage: optional
	Value type: <u32>
	Definition: time in microseconds to pause between successive scans
		    of the matrix array.

- row-hold:
	Usage: optional
	Value type: <u32>
	Definition: time in nanoseconds to pause between scans of each row in
		    the matrix array.

EXAMPLE

	keypad@148 {
		compatible = "qcom,pm8921-keypad";
		reg = <0x148>;
		interrupt-parent = <&pmicintc>;
		interrupts = <74 1>, <75 1>;
		linux,keymap = <
			MATRIX_KEY(0, 0, KEY_VOLUMEUP)
			MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
			MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
			MATRIX_KEY(0, 3, KEY_CAMERA)
			>;
		keypad,num-rows = <1>;
		keypad,num-columns = <5>;
		debounce = <15>;
		scan-delay = <32>;
		row-hold = <91500>;
	};
+46 −0
Original line number Diff line number Diff line
Qualcomm PM8xxx PMIC Power Key

PROPERTIES

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,pm8058-pwrkey"
		    "qcom,pm8921-pwrkey"

- reg:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: address of power key control register

- interrupts:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: the first interrupt specifies the key release interrupt
		    and the second interrupt specifies the key press interrupt.
		    The format of the specifier is defined by the binding
		    document describing the node's interrupt parent.

- debounce:
	Usage: optional
	Value type: <u32>
	Definition: time in microseconds that key must be pressed or release
		    for state change interrupt to trigger.

- pull-up:
	Usage: optional
	Value type: <empty>
	Definition: presence of this property indicates that the KPDPWR_N pin
		    should be configured for pull up.

EXAMPLE

	pwrkey@1c {
		compatible = "qcom,pm8921-pwrkey";
		reg = <0x1c>;
		interrupt-parent = <&pmicintc>;
		interrupts = <50 1>, <51 1>;
		debounce = <15625>;
		pull-up;
	};
+22 −0
Original line number Diff line number Diff line
Qualcomm PM8xxx PMIC Vibrator

PROPERTIES

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,pm8058-vib"
		    "qcom,pm8921-vib"

- reg:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: address of vibration control register

EXAMPLE

	vibrator@4a {
		compatible = "qcom,pm8058-vib";
		reg = <0x4a>;
	};
+55 −0
Original line number Diff line number Diff line
FocalTech EDT-FT5x06 Polytouch driver
=====================================

There are 3 variants of the chip for various touch panel sizes
FT5206GE1  2.8" .. 3.8"
FT5306DE4  4.3" .. 7"
FT5406EE8  7"   .. 8.9"

The software interface is identical for all those chips, so that
currently there is no need for the driver to distinguish between the
different chips. Nevertheless distinct compatible strings are used so
that a distinction can be added if necessary without changing the DT
bindings.


Required properties:
 - compatible:  "edt,edt-ft5206"
           or:  "edt,edt-ft5306"
           or:  "edt,edt-ft5406"

 - reg:         I2C slave address of the chip (0x38)
 - interrupt-parent: a phandle pointing to the interrupt controller
                     serving the interrupt for this chip
 - interrupts:       interrupt specification for the touchdetect
                     interrupt

Optional properties:
 - reset-gpios: GPIO specification for the RESET input
 - wake-gpios:  GPIO specification for the WAKE input

 - pinctrl-names: should be "default"
 - pinctrl-0:   a phandle pointing to the pin settings for the
                control gpios

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

 - gain:        allows setting the sensitivity in the range from 0 to
                31. Note that lower values indicate higher
                sensitivity.

 - offset:      allows setting the edge compensation in the range from
                0 to 31.

Example:
	polytouch: edt-ft5x06@38 {
		compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
		reg = <0x38>;
		pinctrl-names = "default";
		pinctrl-0 = <&edt_ft5x06_pins>;
		interrupt-parent = <&gpio2>;
		interrupts = <5 0>;
		reset-gpios = <&gpio2 6 1>;
		wake-gpios = <&gpio4 9 0>;
	};
Loading