xref: /freebsd/sys/contrib/device-tree/Bindings/input/pine64,pinephone-keyboard.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/pine64,pinephone-keyboard.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Pine64 PinePhone keyboard device tree bindings
8
9maintainers:
10  - Samuel Holland <samuel@sholland.org>
11
12description:
13  A keyboard accessory is available for the Pine64 PinePhone and PinePhone Pro.
14  It connects via I2C, providing a raw scan matrix, a flashing interface, and a
15  subordinate I2C bus for communication with a battery charger IC.
16
17properties:
18  compatible:
19    const: pine64,pinephone-keyboard
20
21  reg:
22    const: 0x15
23
24  interrupts:
25    maxItems: 1
26
27  vbat-supply:
28    description: Supply for the keyboard MCU
29
30  wakeup-source: true
31
32  i2c:
33    $ref: /schemas/i2c/i2c-controller.yaml#
34
35required:
36  - compatible
37  - reg
38  - interrupts
39
40additionalProperties: false
41
42examples:
43  - |
44    #include <dt-bindings/input/input.h>
45    #include <dt-bindings/interrupt-controller/irq.h>
46
47    i2c {
48      #address-cells = <1>;
49      #size-cells = <0>;
50
51      keyboard@15 {
52        compatible = "pine64,pinephone-keyboard";
53        reg = <0x15>;
54        interrupt-parent = <&r_pio>;
55        interrupts = <0 12 IRQ_TYPE_EDGE_FALLING>; /* PL12 */
56
57        i2c {
58          #address-cells = <1>;
59          #size-cells = <0>;
60
61          charger@75 {
62            reg = <0x75>;
63          };
64        };
65      };
66    };
67