On 2023-11-08 06:23:35+0530, Anshul Dalal wrote: > 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 v8: > - no updates > > Changes for v7: > - no updates > > Changes for v6: > - no updates > > Changes for v5: > - Added link to the datasheet > > Changes for v4: > - Fixed the URI for the id field > - Added `interrupts` property > > Changes for v3: > - Updated id field to reflect updated file name from previous version > - Added `reg` property > > 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' > --- > .../input/adafruit,seesaw-gamepad.yaml | 60 +++++++++++++++++++ > 1 file changed, 60 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..3f0d1c5a3b9b > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml > @@ -0,0 +1,60 @@ > +# 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 percision 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 I don't really have any clue about devicetree, but shouldn't the actual driver have an id-table for this "compatible"? It had one up to v5 of the patchset. Jeff had some comments about the OF aspect [0], but to me the state now seems incorrect. Maybe the DT can be dropped completely? Jeff, could you advise? > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + description: > + The gamepad's IRQ pin triggers a rising edge if interrupts are enabled. Interrupts are not supported yet by the driver. Should the property be there already? > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + joystick@50 { > + compatible = "adafruit,seesaw-gamepad"; > + reg = <0x50>; > + }; > + }; > -- > 2.42.0 [0] https://lore.kernel.org/lkml/ZTWza+S+t+UZKlwu@nixie71/