mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

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@microchip.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Anshul Dalal <anshulusr@gmail.com> Link: https://lore.kernel.org/r/20240106015111.882325-1-anshulusr@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
# 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@gmail.com>
|
|
|
|
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:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
joystick@50 {
|
|
compatible = "adafruit,seesaw-gamepad";
|
|
interrupts = <18 IRQ_TYPE_EDGE_RISING>;
|
|
reg = <0x50>;
|
|
};
|
|
};
|