[PATCH 1/2] devicetree: bindings: Add keypad driver ducumentation

Wenhua Lin
2023-08-08T20:36:18Z

Add keypad driver ducumentation.

Signed-off-by: Wenhua Lin <Wenhua.Lin@unisoc.com>
---
.../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@gmail.com>
+ - Baolin Wang <baolin.wang7@gmail.com>
+ - Chunyan Zhang <zhang.lyra@gmail.com>
+
+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