[PATCH v9 1/2] dt-bindings: input: bindings for Adafruit Seesaw Gamepad
From: Anshul Dalal
Date: Tue Nov 21 2023 - 05:31:47 EST
Adds bindings for the Adafruit Seesaw Gamepad.
The gamepad functions as an i2c device with the default address of 0x50
and has an IRQ pin that can be enabled in the driver to allow for a rising
edge trigger on each button press or joystick movement.
Product page:
https://www.adafruit.com/product/5743
Arduino driver:
https://github.com/adafruit/Adafruit_Seesaw
Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Signed-off-by: Anshul Dalal <anshulusr@xxxxxxxxx>
---
Changes for v9:
- Added interrupt in example
v8: https://lore.kernel.org/lkml/20231108005337.45069-1-anshulusr@xxxxxxxxx/
Changes for v8:
- no updates
v7: https://lore.kernel.org/lkml/20231106164134.114668-1-anshulusr@xxxxxxxxx/
Changes for v7:
- no updates
v6: https://lore.kernel.org/lkml/20231027051819.81333-1-anshulusr@xxxxxxxxx/
Changes for v6:
- no updates
v5: https://lore.kernel.org/lkml/20231017034356.1436677-1-anshulusr@xxxxxxxxx/
Changes for v5:
- Added link to the datasheet
v4: https://lore.kernel.org/lkml/20231010184827.1213507-1-anshulusr@xxxxxxxxx/
Changes for v4:
- Fixed the URI for the id field
- Added `interrupts` property
v3: https://lore.kernel.org/linux-input/20231008185709.2448423-1-anshulusr@xxxxxxxxx/
Changes for v3:
- Updated id field to reflect updated file name from previous version
- Added `reg` property
v2: https://lore.kernel.org/linux-input/20231008172435.2391009-1-anshulusr@xxxxxxxxx/
Changes for v2:
- Renamed file to `adafruit,seesaw-gamepad.yaml`
- Removed quotes for `$id` and `$schema`
- Removed "Bindings for" from the description
- Changed node name to the generic name "joystick"
- Changed compatible to 'adafruit,seesaw-gamepad' instead of
'adafruit,seesaw_gamepad'
v1: https://lore.kernel.org/linux-input/20231007144052.1535417-1-anshulusr@xxxxxxxxx/
---
.../input/adafruit,seesaw-gamepad.yaml | 61 +++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
diff --git a/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
new file mode 100644
index 000000000000..0f17e110f368
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/adafruit,seesaw-gamepad.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Adafruit Mini I2C Gamepad with seesaw
+
+maintainers:
+ - Anshul Dalal <anshulusr@xxxxxxxxx>
+
+description: |
+ Adafruit Mini I2C Gamepad
+
+ +-----------------------------+
+ | ___ |
+ | / \ (X) |
+ | | S | __ __ (Y) (A) |
+ | \___/ |ST| |SE| (B) |
+ | |
+ +-----------------------------+
+
+ S -> 10-bit precision bidirectional analog joystick
+ ST -> Start
+ SE -> Select
+ X, A, B, Y -> Digital action buttons
+
+ Datasheet: https://cdn-learn.adafruit.com/downloads/pdf/gamepad-qt.pdf
+ Product page: https://www.adafruit.com/product/5743
+ Arduino Driver: https://github.com/adafruit/Adafruit_Seesaw
+
+properties:
+ compatible:
+ const: adafruit,seesaw-gamepad
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+ description:
+ The gamepad's IRQ pin triggers a rising edge if interrupts are enabled.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ joystick@50 {
+ compatible = "adafruit,seesaw-gamepad";
+ interrupts = <18 IRQ_TYPE_EDGE_RISING>;
+ reg = <0x50>;
+ };
+ };
--
2.42.1