File Index
Files and directories
Sign in
FILE

samsung,s3c6410-keypad.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/input/samsung,s3c6410-keypad.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung SoC series Keypad Controller
  8
  9description:
 10  Samsung SoC Keypad controller is used to interface a SoC with a matrix-type
 11  keypad device. The keypad controller supports multiple row and column lines.
 12  A key can be placed at each intersection of a unique row and a unique column.
 13  The keypad controller can sense a key-press and key-release and report the
 14  event using a interrupt to the cpu.
 15
 16maintainers:
 17  - Krzysztof Kozlowski <krzk@kernel.org>
 18
 19properties:
 20  compatible:
 21    enum:
 22      - samsung,s3c6410-keypad
 23      - samsung,s5pv210-keypad
 24
 25  reg:
 26    maxItems: 1
 27
 28  clocks:
 29    maxItems: 1
 30
 31  clock-names:
 32    items:
 33      - const: keypad
 34
 35  interrupts:
 36    maxItems: 1
 37
 38  wakeup-source: true
 39
 40  linux,input-no-autorepeat:
 41    type: boolean
 42    description:
 43      Do no enable autorepeat feature.
 44
 45  linux,input-wakeup:
 46    type: boolean
 47    deprecated: true
 48
 49  samsung,keypad-num-columns:
 50    $ref: /schemas/types.yaml#/definitions/uint32
 51    description:
 52      Number of column lines connected to the keypad controller.
 53
 54  samsung,keypad-num-rows:
 55    $ref: /schemas/types.yaml#/definitions/uint32
 56    description:
 57      Number of row lines connected to the keypad controller.
 58
 59patternProperties:
 60  '^key-[0-9a-z]+$':
 61    type: object
 62    $ref: input.yaml#
 63    additionalProperties: false
 64    description:
 65      Each key connected to the keypad controller is represented as a child
 66      node to the keypad controller device node.
 67
 68    properties:
 69      keypad,column:
 70        $ref: /schemas/types.yaml#/definitions/uint32
 71        description: The column number to which the key is connected.
 72
 73      keypad,row:
 74        $ref: /schemas/types.yaml#/definitions/uint32
 75        description: The row number to which the key is connected.
 76
 77      linux,code: true
 78
 79    required:
 80      - keypad,column
 81      - keypad,row
 82      - linux,code
 83
 84required:
 85  - compatible
 86  - reg
 87  - interrupts
 88  - samsung,keypad-num-columns
 89  - samsung,keypad-num-rows
 90
 91additionalProperties: false
 92
 93examples:
 94  - |
 95    #include <dt-bindings/clock/exynos4.h>
 96    #include <dt-bindings/interrupt-controller/arm-gic.h>
 97
 98    keypad@100a0000 {
 99        compatible = "samsung,s5pv210-keypad";
100        reg = <0x100a0000 0x100>;
101        interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
102        clocks = <&clock CLK_KEYIF>;
103        clock-names = "keypad";
104
105        samsung,keypad-num-rows = <2>;
106        samsung,keypad-num-columns = <8>;
107        linux,input-no-autorepeat;
108        wakeup-source;
109
110        key-1 {
111            keypad,row = <0>;
112            keypad,column = <3>;
113            linux,code = <2>;
114        };
115
116        key-2 {
117            keypad,row = <0>;
118            keypad,column = <4>;
119            linux,code = <3>;
120        };
121    };
~/ Read-only file preview.