File Index
Files and directories
Sign in
FILE

adi,adp5588.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/input/adi,adp5588.yaml YAML
  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
  7title: Analog Devices ADP5588 Keypad Controller
  8
  9maintainers:
 10  - Nuno Sá <nuno.sa@analog.com>
 11
 12description: |
 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
 16allOf:
 17  - $ref: matrix-keymap.yaml#
 18  - $ref: input.yaml#
 19
 20properties:
 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
 71dependencies:
 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
 85required:
 86  - compatible
 87  - reg
 88
 89unevaluatedProperties: false
 90
 91examples:
 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...
~/ Read-only file preview.