| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/input/samsung,s3c6410-keypad.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Samsung SoC series Keypad Controller
- description:
- Samsung SoC Keypad controller is used to interface a SoC with a matrix-type
- keypad device. The keypad controller supports multiple row and column lines.
- A key can be placed at each intersection of a unique row and a unique column.
- The keypad controller can sense a key-press and key-release and report the
- event using a interrupt to the cpu.
- maintainers:
- - Krzysztof Kozlowski <krzk@kernel.org>
- properties:
- compatible:
- enum:
- - samsung,s3c6410-keypad
- - samsung,s5pv210-keypad
- reg:
- maxItems: 1
- clocks:
- maxItems: 1
- clock-names:
- items:
- - const: keypad
- interrupts:
- maxItems: 1
- wakeup-source: true
- linux,input-no-autorepeat:
- type: boolean
- description:
- Do no enable autorepeat feature.
- linux,input-wakeup:
- type: boolean
- deprecated: true
- samsung,keypad-num-columns:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Number of column lines connected to the keypad controller.
- samsung,keypad-num-rows:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Number of row lines connected to the keypad controller.
- patternProperties:
- '^key-[0-9a-z]+$':
- type: object
- $ref: input.yaml#
- additionalProperties: false
- description:
- Each key connected to the keypad controller is represented as a child
- node to the keypad controller device node.
- properties:
- keypad,column:
- $ref: /schemas/types.yaml#/definitions/uint32
- description: The column number to which the key is connected.
- keypad,row:
- $ref: /schemas/types.yaml#/definitions/uint32
- description: The row number to which the key is connected.
- linux,code: true
- required:
- - keypad,column
- - keypad,row
- - linux,code
- required:
- - compatible
- - reg
- - interrupts
- - samsung,keypad-num-columns
- - samsung,keypad-num-rows
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/exynos4.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- keypad@100a0000 {
- compatible = "samsung,s5pv210-keypad";
- reg = <0x100a0000 0x100>;
- interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clock CLK_KEYIF>;
- clock-names = "keypad";
- samsung,keypad-num-rows = <2>;
- samsung,keypad-num-columns = <8>;
- linux,input-no-autorepeat;
- wakeup-source;
- key-1 {
- keypad,row = <0>;
- keypad,column = <3>;
- linux,code = <2>;
- };
- key-2 {
- keypad,row = <0>;
- keypad,column = <4>;
- linux,code = <3>;
- };
- };
|