1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/adafruit,seesaw-gamepad.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Adafruit Mini I2C Gamepad with seesaw
8
9maintainers:
10  - Anshul Dalal <anshulusr@gmail.com>
11
12description: |
13  Adafruit Mini I2C Gamepad
14
15    +-----------------------------+
16    |   ___                       |
17    |  /   \               (X)    |
18    | |  S  |  __   __  (Y)   (A) |
19    |  \___/  |ST| |SE|    (B)    |
20    |                             |
21    +-----------------------------+
22
23  S -> 10-bit precision bidirectional analog joystick
24  ST -> Start
25  SE -> Select
26  X, A, B, Y -> Digital action buttons
27
28  Datasheet: https://cdn-learn.adafruit.com/downloads/pdf/gamepad-qt.pdf
29  Product page: https://www.adafruit.com/product/5743
30  Arduino Driver: https://github.com/adafruit/Adafruit_Seesaw
31
32properties:
33  compatible:
34    const: adafruit,seesaw-gamepad
35
36  reg:
37    maxItems: 1
38
39  interrupts:
40    maxItems: 1
41    description:
42      The gamepad's IRQ pin triggers a rising edge if interrupts are enabled.
43
44required:
45  - compatible
46  - reg
47
48additionalProperties: false
49
50examples:
51  - |
52    #include <dt-bindings/interrupt-controller/irq.h>
53
54    i2c {
55        #address-cells = <1>;
56        #size-cells = <0>;
57
58        joystick@50 {
59            compatible = "adafruit,seesaw-gamepad";
60            interrupts = <18 IRQ_TYPE_EDGE_RISING>;
61            reg = <0x50>;
62        };
63    };
64