On Wed, Jan 26, 2022 at 9:35 AM Mattijs Korpershoek <mkorpershoek@xxxxxxxxxxxx> wrote: > > From: "fengping.yu" <fengping.yu@xxxxxxxxxxxx> > > This patch add devicetree bindings for Mediatek matrix keypad driver. > > Signed-off-by: fengping.yu <fengping.yu@xxxxxxxxxxxx> > Reviewed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > Signed-off-by: Mattijs Korpershoek <mkorpershoek@xxxxxxxxxxxx> > --- > .../input/mediatek,mt6779-keypad.yaml | 80 +++++++++++++++++++ > 1 file changed, 80 insertions(+) > create mode 100644 Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > > diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > new file mode 100644 > index 000000000000..2c76029224a0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > @@ -0,0 +1,80 @@ > +# SPDX-License-Identifier: GPL-2.0 dual license new bindings > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/mediatek,mt6779-keypad.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek's Keypad Controller device tree bindings > + > +maintainers: > + - Fengping Yu <fengping.yu@xxxxxxxxxxxx> > + > +allOf: > + - $ref: "/schemas/input/matrix-keymap.yaml#" > + > +description: | > + 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. > + > +properties: > + compatible: > + oneOf: > + - const: mediatek,mt6779-keypad > + - items: > + - enum: > + - mediatek,mt6873-keypad > + - const: mediatek,mt6779-keypad > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + description: Names of the clocks listed in clocks property in the same order Drop generic descriptions. > + items: > + - const: kpd > + > + wakeup-source: > + description: use any event on keypad as wakeup event > + type: boolean > + > + mediatek,debounce-us: We already a somewhat common property: debounce-delay-ms > + description: | > + Debounce interval in microseconds, if not specified, the default > + value is 16000 > + maximum: 256000 default: 16000 > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/input/input.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + kp@10010000 { Use a standard node name: keyboard@... or keys@... > + compatible = "mediatek,mt6779-keypad"; > + reg = <0 0x10010000 0 0x1000>; > + interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>; > + clocks = <&clk26m>; > + clock-names = "kpd"; > + }; > + }; > -- > 2.32.0 >