122 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 Controller8 9description:10 Samsung SoC Keypad controller is used to interface a SoC with a matrix-type11 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 the14 event using a interrupt to the cpu.15 16maintainers:17 - Krzysztof Kozlowski <krzk@kernel.org>18 19properties:20 compatible:21 enum:22 - samsung,s3c6410-keypad23 - samsung,s5pv210-keypad24 25 reg:26 maxItems: 127 28 clocks:29 maxItems: 130 31 clock-names:32 items:33 - const: keypad34 35 interrupts:36 maxItems: 137 38 wakeup-source: true39 40 linux,input-no-autorepeat:41 type: boolean42 description:43 Do no enable autorepeat feature.44 45 linux,input-wakeup:46 type: boolean47 deprecated: true48 49 samsung,keypad-num-columns:50 $ref: /schemas/types.yaml#/definitions/uint3251 description:52 Number of column lines connected to the keypad controller.53 54 samsung,keypad-num-rows:55 $ref: /schemas/types.yaml#/definitions/uint3256 description:57 Number of row lines connected to the keypad controller.58 59patternProperties:60 '^key-[0-9a-z]+$':61 type: object62 $ref: input.yaml#63 additionalProperties: false64 description:65 Each key connected to the keypad controller is represented as a child66 node to the keypad controller device node.67 68 properties:69 keypad,column:70 $ref: /schemas/types.yaml#/definitions/uint3271 description: The column number to which the key is connected.72 73 keypad,row:74 $ref: /schemas/types.yaml#/definitions/uint3275 description: The row number to which the key is connected.76 77 linux,code: true78 79 required:80 - keypad,column81 - keypad,row82 - linux,code83 84required:85 - compatible86 - reg87 - interrupts88 - samsung,keypad-num-columns89 - samsung,keypad-num-rows90 91additionalProperties: false92 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 };122