1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/input/fsl,mpr121-touchkey.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Freescale MPR121 capacitive touch sensor controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Dmitry Torokhov <dmitry.torokhov@gmail.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot The MPR121 supports up to 12 completely independent electrodes/capacitance 14c66ec88fSEmmanuel Vadot sensing inputs in which 8 are multifunctional for LED driving and GPIO. 15c66ec88fSEmmanuel Vadot https://www.nxp.com/docs/en/data-sheet/MPR121.pdf 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel VadotallOf: 18c66ec88fSEmmanuel Vadot - $ref: input.yaml# 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel VadotanyOf: 21c66ec88fSEmmanuel Vadot - required: [ interrupts ] 22c66ec88fSEmmanuel Vadot - required: [ poll-interval ] 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadotproperties: 25c66ec88fSEmmanuel Vadot compatible: 26c66ec88fSEmmanuel Vadot const: fsl,mpr121-touchkey 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot reg: 29c66ec88fSEmmanuel Vadot maxItems: 1 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot interrupts: 32c66ec88fSEmmanuel Vadot maxItems: 1 33c66ec88fSEmmanuel Vadot 345def4c47SEmmanuel Vadot vdd-supply: true 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot linux,keycodes: 37c66ec88fSEmmanuel Vadot minItems: 1 38c66ec88fSEmmanuel Vadot maxItems: 12 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot wakeup-source: 41c66ec88fSEmmanuel Vadot description: Use any event on keypad as wakeup event. 42c66ec88fSEmmanuel Vadot type: boolean 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadotrequired: 45c66ec88fSEmmanuel Vadot - compatible 46c66ec88fSEmmanuel Vadot - reg 47c66ec88fSEmmanuel Vadot - vdd-supply 48c66ec88fSEmmanuel Vadot - linux,keycodes 49c66ec88fSEmmanuel Vadot 506be33864SEmmanuel VadotunevaluatedProperties: false 516be33864SEmmanuel Vadot 52c66ec88fSEmmanuel Vadotexamples: 53c66ec88fSEmmanuel Vadot - | 54c66ec88fSEmmanuel Vadot // Example with interrupts 55c66ec88fSEmmanuel Vadot #include "dt-bindings/input/input.h" 56c66ec88fSEmmanuel Vadot i2c { 57c66ec88fSEmmanuel Vadot #address-cells = <1>; 58c66ec88fSEmmanuel Vadot #size-cells = <0>; 59c66ec88fSEmmanuel Vadot 60*b97ee269SEmmanuel Vadot touchkey@5a { 61c66ec88fSEmmanuel Vadot compatible = "fsl,mpr121-touchkey"; 62c66ec88fSEmmanuel Vadot reg = <0x5a>; 63c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 64c66ec88fSEmmanuel Vadot interrupts = <28 2>; 65c66ec88fSEmmanuel Vadot autorepeat; 66c66ec88fSEmmanuel Vadot vdd-supply = <&ldo4_reg>; 67c66ec88fSEmmanuel Vadot linux,keycodes = <KEY_0>, <KEY_1>, <KEY_2>, <KEY_3>, 68c66ec88fSEmmanuel Vadot <KEY_4>, <KEY_5>, <KEY_6>, <KEY_7>, 69c66ec88fSEmmanuel Vadot <KEY_8>, <KEY_9>, <KEY_A>, <KEY_B>; 70c66ec88fSEmmanuel Vadot }; 71c66ec88fSEmmanuel Vadot }; 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot - | 74c66ec88fSEmmanuel Vadot // Example with polling 75c66ec88fSEmmanuel Vadot #include "dt-bindings/input/input.h" 76c66ec88fSEmmanuel Vadot i2c { 77c66ec88fSEmmanuel Vadot #address-cells = <1>; 78c66ec88fSEmmanuel Vadot #size-cells = <0>; 79c66ec88fSEmmanuel Vadot 80*b97ee269SEmmanuel Vadot touchkey@5a { 81c66ec88fSEmmanuel Vadot compatible = "fsl,mpr121-touchkey"; 82c66ec88fSEmmanuel Vadot reg = <0x5a>; 83c66ec88fSEmmanuel Vadot poll-interval = <20>; 84c66ec88fSEmmanuel Vadot autorepeat; 85c66ec88fSEmmanuel Vadot vdd-supply = <&ldo4_reg>; 86c66ec88fSEmmanuel Vadot linux,keycodes = <KEY_0>, <KEY_1>, <KEY_2>, <KEY_3>, 87c66ec88fSEmmanuel Vadot <KEY_4>, <KEY_5>, <KEY_6>, <KEY_7>, 88c66ec88fSEmmanuel Vadot <KEY_8>, <KEY_9>, <KEY_A>, <KEY_B>; 89c66ec88fSEmmanuel Vadot }; 90c66ec88fSEmmanuel Vadot }; 91