~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/input/adi,adp5588.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/input/adi,adp5588.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Analog Devices ADP5588 Keypad Controller
  8 
  9 maintainers:
 10   - Nuno Sá <nuno.sa@analog.com>
 11 
 12 description: |
 13   Analog Devices Mobile I/O Expander and QWERTY Keypad Controller
 14   https://www.analog.com/media/en/technical-documentation/data-sheets/ADP5588.pdf
 15 
 16 allOf:
 17   - $ref: matrix-keymap.yaml#
 18   - $ref: input.yaml#
 19 
 20 properties:
 21   compatible:
 22     enum:
 23       - adi,adp5587
 24       - adi,adp5588
 25 
 26   reg:
 27     maxItems: 1
 28 
 29   vcc-supply:
 30     description: Supply Voltage Input
 31 
 32   reset-gpios:
 33     description:
 34       If specified, it will be asserted during driver probe. As the line is
 35       active low, it should be marked GPIO_ACTIVE_LOW.
 36     maxItems: 1
 37 
 38   interrupts:
 39     maxItems: 1
 40 
 41   gpio-controller:
 42     description:
 43       This property applies if either keypad,num-rows lower than 8 or
 44       keypad,num-columns lower than 10.
 45 
 46   '#gpio-cells':
 47     const: 2
 48 
 49   interrupt-controller:
 50     description:
 51       This property applies if either keypad,num-rows lower than 8 or
 52       keypad,num-columns lower than 10. This property is optional if
 53       keypad,num-rows or keypad,num-columns are not specified as the
 54       device is then configured to be used purely for gpio during which
 55       interrupts may or may not be utilized.
 56 
 57   '#interrupt-cells':
 58     const: 2
 59 
 60   adi,unlock-keys:
 61     description:
 62       Specifies a maximum of 2 keys that can be used to unlock the keypad.
 63       If this property is set, the keyboard will be locked and only unlocked
 64       after these keys are pressed. If only one key is set, a double click is
 65       needed to unlock the keypad. The value of this property cannot be bigger
 66       or equal than keypad,num-rows * keypad,num-columns.
 67     $ref: /schemas/types.yaml#/definitions/uint32-array
 68     minItems: 1
 69     maxItems: 2
 70 
 71 dependencies:
 72   keypad,num-rows:
 73     - linux,keymap
 74     - keypad,num-columns
 75   keypad,num-columns:
 76     - linux,keymap
 77     - keypad,num-rows
 78   linux,keymap:
 79     - keypad,num-rows
 80     - keypad,num-columns
 81     - interrupts
 82   interrupt-controller:
 83     - interrupts
 84 
 85 required:
 86   - compatible
 87   - reg
 88 
 89 unevaluatedProperties: false
 90 
 91 examples:
 92   - |
 93     #include <dt-bindings/interrupt-controller/irq.h>
 94     #include <dt-bindings/input/input.h>
 95     #include <dt-bindings/gpio/gpio.h>
 96     i2c {
 97         #address-cells = <1>;
 98         #size-cells = <0>;
 99 
100         keys@34 {
101             compatible = "adi,adp5588";
102             reg = <0x34>;
103 
104             vcc-supply = <&vcc>;
105             interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
106             interrupt-parent = <&gpio>;
107             reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
108 
109             keypad,num-rows = <1>;
110             keypad,num-columns = <9>;
111             linux,keymap = <
112                 MATRIX_KEY(0x00, 0x00, KEY_1)
113                 MATRIX_KEY(0x00, 0x01, KEY_2)
114                 MATRIX_KEY(0x00, 0x02, KEY_3)
115                 MATRIX_KEY(0x00, 0x03, KEY_4)
116                 MATRIX_KEY(0x00, 0x04, KEY_5)
117                 MATRIX_KEY(0x00, 0x05, KEY_6)
118                 MATRIX_KEY(0x00, 0x06, KEY_7)
119                 MATRIX_KEY(0x00, 0x07, KEY_8)
120                 MATRIX_KEY(0x00, 0x08, KEY_9)
121             >;
122         };
123     };
124 
125   - |
126     #include <dt-bindings/gpio/gpio.h>
127     i2c {
128         #address-cells = <1>;
129         #size-cells = <0>;
130         gpio@34 {
131             compatible = "adi,adp5588";
132             reg = <0x34>;
133 
134             #gpio-cells = <2>;
135             gpio-controller;
136         };
137     };
138 
139 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php