1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/input/adi,adp5588.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Analog Devices ADP5588 Keypad Controller
10 - Nuno Sá <nuno.sa@analog.com>
13 Analog Devices Mobile I/O Expander and QWERTY Keypad Controller
14 https://www.analog.com/media/en/technical-documentation/data-sheets/ADP5588.pdf
17 - $ref: matrix-keymap.yaml#
30 description: Supply Voltage Input
34 If specified, it will be asserted during driver probe. As the line is
35 active low, it should be marked GPIO_ACTIVE_LOW.
43 This property applies if either keypad,num-rows lower than 8 or
44 keypad,num-columns lower than 10.
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.
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
89 unevaluatedProperties: false
93 #include <dt-bindings/interrupt-controller/irq.h>
94 #include <dt-bindings/input/input.h>
95 #include <dt-bindings/gpio/gpio.h>
101 compatible = "adi,adp5588";
105 interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
106 interrupt-parent = <&gpio>;
107 reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
109 keypad,num-rows = <1>;
110 keypad,num-columns = <9>;
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)
126 #include <dt-bindings/gpio/gpio.h>
128 #address-cells = <1>;
131 compatible = "adi,adp5588";