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