175024261SSamuel Holland# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
275024261SSamuel Holland%YAML 1.2
375024261SSamuel Holland---
475024261SSamuel Holland$id: http://devicetree.org/schemas/input/pine64,pinephone-keyboard.yaml#
575024261SSamuel Holland$schema: http://devicetree.org/meta-schemas/core.yaml#
675024261SSamuel Holland
7*a612130cSKrzysztof Kozlowskititle: Pine64 PinePhone keyboard
875024261SSamuel Holland
975024261SSamuel Hollandmaintainers:
1075024261SSamuel Holland  - Samuel Holland <samuel@sholland.org>
1175024261SSamuel Holland
1275024261SSamuel Hollanddescription:
1375024261SSamuel Holland  A keyboard accessory is available for the Pine64 PinePhone and PinePhone Pro.
1475024261SSamuel Holland  It connects via I2C, providing a raw scan matrix, a flashing interface, and a
1575024261SSamuel Holland  subordinate I2C bus for communication with a battery charger IC.
1675024261SSamuel Holland
1775024261SSamuel Hollandproperties:
1875024261SSamuel Holland  compatible:
1975024261SSamuel Holland    const: pine64,pinephone-keyboard
2075024261SSamuel Holland
2175024261SSamuel Holland  reg:
2275024261SSamuel Holland    const: 0x15
2375024261SSamuel Holland
2475024261SSamuel Holland  interrupts:
2575024261SSamuel Holland    maxItems: 1
2675024261SSamuel Holland
2775024261SSamuel Holland  vbat-supply:
2875024261SSamuel Holland    description: Supply for the keyboard MCU
2975024261SSamuel Holland
3075024261SSamuel Holland  wakeup-source: true
3175024261SSamuel Holland
3275024261SSamuel Holland  i2c:
3375024261SSamuel Holland    $ref: /schemas/i2c/i2c-controller.yaml#
3475024261SSamuel Holland
3575024261SSamuel Hollandrequired:
3675024261SSamuel Holland  - compatible
3775024261SSamuel Holland  - reg
3875024261SSamuel Holland  - interrupts
3975024261SSamuel Holland
4075024261SSamuel HollandadditionalProperties: false
4175024261SSamuel Holland
4275024261SSamuel Hollandexamples:
4375024261SSamuel Holland  - |
4475024261SSamuel Holland    #include <dt-bindings/input/input.h>
4575024261SSamuel Holland    #include <dt-bindings/interrupt-controller/irq.h>
4675024261SSamuel Holland
4775024261SSamuel Holland    i2c {
4875024261SSamuel Holland      #address-cells = <1>;
4975024261SSamuel Holland      #size-cells = <0>;
5075024261SSamuel Holland
5175024261SSamuel Holland      keyboard@15 {
5275024261SSamuel Holland        compatible = "pine64,pinephone-keyboard";
5375024261SSamuel Holland        reg = <0x15>;
5475024261SSamuel Holland        interrupt-parent = <&r_pio>;
5575024261SSamuel Holland        interrupts = <0 12 IRQ_TYPE_EDGE_FALLING>; /* PL12 */
5675024261SSamuel Holland
5775024261SSamuel Holland        i2c {
5875024261SSamuel Holland          #address-cells = <1>;
5975024261SSamuel Holland          #size-cells = <0>;
6075024261SSamuel Holland
6175024261SSamuel Holland          charger@75 {
6275024261SSamuel Holland            reg = <0x75>;
6375024261SSamuel Holland          };
6475024261SSamuel Holland        };
6575024261SSamuel Holland      };
6675024261SSamuel Holland    };
67