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