GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / input / adafruit,seesaw-gamepad.yaml
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
7 title: Adafruit Mini I2C Gamepad with seesaw
8
9 maintainers:
10   - Anshul Dalal <anshulusr@gmail.com>
11
12 description: |
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
32 properties:
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
44 required:
45   - compatible
46   - reg
47
48 additionalProperties: false
49
50 examples:
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     };