Add keypad driver ducumentation. Signed-off-by: Wenhua Lin <Wenhua.Lin@xxxxxxxxxx> --- .../bindings/input/sprd-keypad.yaml | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/sprd-keypad.yaml diff --git a/Documentation/devicetree/bindings/input/sprd-keypad.yaml b/Documentation/devicetree/bindings/input/sprd-keypad.yaml new file mode 100644 index 000000000000..51710e1eb389 --- /dev/null +++ b/Documentation/devicetree/bindings/input/sprd-keypad.yaml @@ -0,0 +1,76 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2023 Unisoc Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/sprd-keypad.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Device-Tree bindings for GPIO attached keys + +maintainers: + - Orson Zhai <orsonzhai@xxxxxxxxx> + - Baolin Wang <baolin.wang7@xxxxxxxxx> + - Chunyan Zhang <zhang.lyra@xxxxxxxxx> + +description: | + Keypad controller is used to interface a SoC with a matrix-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. + +properties: + compatible: + const: sprd,sc9860-keypad + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + keypad,num-rows: + description: Number of row lines connected to the keypad controller. + + keypad,num-columns: + description: Number of column lines connected to the keypad. + + debounce-interval: + description: + Debouncing interval time in milliseconds. If not specified defaults to 5. + $ref: /schemas/types.yaml#/definitions/uint32 + + default: 5 + + linux,keymap: + description: An array of packed 1-cell entries containing the equivalent + of row, column and linux key-code. The 32-bit big endian cell is packed. + +required: + - compatible + - reg + - keypad,num-rows + - keypad,num-columns + - linux,keymap + +unevaluatedProperties: false + + +examples: + - | + keypad@40250000 { + compatible = "sprd,sc9860-keypad"; + reg = <0x40250000 0x1000>; + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&aonapb_gate CLK_KPD_EB>, + <&aonapb_gate CLK_KPD_RTC_EB>; + clock-names = "enable", "rtc"; + keypad,num-rows= <3>; + keypad,num-columns = <3>; + debounce-interval = <5>; + linux,keymap = < 0x00000001 + 0x01000002 + 0x00020003>; + status = "okay"; + }; +... -- 2.17.1