Commit 53ed3233 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Rob Herring
Browse files

dt-bindings: input: qcom,pm8921-keypad: convert to YAML format



Convert the bindings for the keypad subdevices of Qualcomm PM8921 and
PM8058 PMICs from text to YAML format.

While doing the conversion also drop the linux,keypad-no-autorepeat
The property was never used by DT files. Both input and DT binding
maintainers consider that bindings should switch to assertive
(linux,autorepeat) instead of negating (no-autorepeat) property.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230928110309.1212221-2-dmitry.baryshkov@linaro.org


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 88862247
Loading
Loading
Loading
Loading
+89 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/qcom,pm8921-keypad.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm PM8921 PMIC KeyPad

maintainers:
  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

allOf:
  - $ref: input.yaml#
  - $ref: matrix-keymap.yaml#

properties:
  compatible:
    enum:
      - qcom,pm8058-keypad
      - qcom,pm8921-keypad

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: key sense
      - description: key stuck

  wakeup-source:
    type: boolean
    description: use any event on keypad as wakeup event

  linux,keypad-wakeup:
    type: boolean
    deprecated: true
    description: legacy version of the wakeup-source property

  debounce:
    description:
      Time in microseconds that key must be pressed or
      released for state change interrupt to trigger.
    $ref: /schemas/types.yaml#/definitions/uint32

  scan-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: time in microseconds to pause between successive scans of the
      matrix array

  row-hold:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: time in nanoseconds to pause between scans of each row in the
      matrix array.

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

unevaluatedProperties: false

examples:
  - |
   #include <dt-bindings/input/input.h>
   #include <dt-bindings/interrupt-controller/irq.h>
   pmic {
       #address-cells = <1>;
       #size-cells = <0>;

       keypad@148 {
           compatible = "qcom,pm8921-keypad";
           reg = <0x148>;
           interrupt-parent = <&pmicintc>;
           interrupts = <74 IRQ_TYPE_EDGE_RISING>, <75 IRQ_TYPE_EDGE_RISING>;
           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>;
       };
   };
...
+0 −90
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.

- wakeup-source:
	Usage: optional
	Value type: <bool>
	Definition: use any event on keypad as wakeup event.
		    (Legacy property supported: "linux,keypad-wakeup")

- 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>;
	};