Hi Fengping, On 20-04-23 09:19, Fengping yu wrote: > From: "fengping.yu" <fengping.yu@xxxxxxxxxxxx> > > Signed-off-by: fengping.yu <fengping.yu@xxxxxxxxxxxx> > --- > .../devicetree/bindings/input/mtk-kpd.txt | 61 +++++++++++++++++++ Pls don't add new binding docs as .txt instead you should use the new yaml schema. Regards, Marco > 1 file changed, 61 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..8b154a5e2f7d > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/mtk-kpd.txt > @@ -0,0 +1,61 @@ > +* 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 > + * "mediatek,mt6779-keypad" for specific keypad chip > + > +- reg: The base address of the Keypad register bank. > + > +- interrupts: A single interrupt specifier. > + > +- mediatek,debounce-us: Debounce interval in microseconds, maximum value > + is 256000 microseconds. > + > +- keypad,num-rows: Number of row lines connected to the keypad controller, it is > + not equal to PCB rows number, instead you should add required value for each IC. > + > +- keypad,num-columns: Number of column lines connected to the keypad controller, > + it is not equal to PCB columns number, instead you should add required value > + for each IC. > + > +- 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. > + > +- clock-names: Names of the clocks listed in clocks property in the same order. > + > +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>; > + }; > -- > 2.18.0 -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |