Hi Fengping,
Please add all people gave you comment in past series to CC list.
On Tue, 2020-01-14 at 20:27 +0800, fengping.yu wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: fengping.yu <redacted>
Add matrix keypad binding documentation for keypad on MTK SoC.
---
.../devicetree/bindings/input/mtk-kpd.txt | 55 +++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/mtk-kpd.txt
diff --git a/Documentation/devicetree/bindings/input/mtk-kpd.txt b/Documentation/devicetree/bindings/input/mtk-kpd.txt
new file mode 100644
index 000000000000..fda744decbb2
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/mtk-kpd.txt
@@ -0,0 +1,55 @@
+* Mediatek's Keypad Controller device tree binding
+
+Mediatek's 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.
+
+Required properties:
+- compatible should contain:
+ * "mediatek,kp" for common keypad
Not every keypad are the same. It is OK to havethis one for
common/basic support, but you should still add IC specific compatible.
quoted hunk ↗ jump to hunk
+
+- reg: The base address of the Keypad register bank.
+
+- interrupts: A single interrupt specifier.
+
+- mediatek,debounce-us: Debounce interval in microseconds, maximum value
+ is 256000ms
not ms/microseconds now.
quoted hunk ↗ jump to hunk
+
+- keypad,num-rows: Number of row lines connected to the keypad controller
+
+- keypad,num-columns: Number of column lines connected to the keypad controller
These number will change how driver interpret register bits.
In this case, you should add required value for each IC.
For example, if the IC have 4 columns, but PCB only use 2, dts still
need to specify 4 columns.
quoted hunk ↗ jump to hunk
+
+- linux,keymap: The keymap for keys as described in the binding document
+ devicetree/bindings/input/matrix-keymap.txt.
+
+- pinctrl: Should specify pin control groups used for this controller.
+ See ../pinctrl/pinctrl-bindings.txt for details.
+
+- clocks: Must contain one entry, for the module clock.
+ See ../clocks/clock-bindings.txt for details.
Need to include required clock-names here.
Joe.C
quoted hunk ↗ jump to hunk
+
+Optional Properties:
+- wakeup-source: use any event on keypad as wakeup event.
+
+Example:
+
+ keypad: kp@10010000 {
+ compatible = "mediatek,kp";
+ reg = <0 0x10010000 0 0x1000>;
+ wakeup-source;
+ interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>;
+ clocks = <&clk26m>;
+ clock-names = "kpd";
+ };
+
+ &keypad {
+ mediatek,debounce-us = <32000>;
+ keypad,num-rows = <8>;
+ keypad,num-columns = <9>;
+ linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_VOLUMEDOWN) >;
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&kpd_gpios_def_cfg>;
+ };
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek