On Mon, Oct 09, 2023 at 12:27:06AM +0530, Anshul Dalal wrote: > A simple driver for a mini gamepad that communicates over i2c, the gamepad > has bidirectional thumb stick input and six buttons. > > The gamepad chip utilizes the open framework from Adafruit called 'Seesaw' > to transmit the ADC data for the joystick and digital pin state for the > buttons. I have only implemented the functionality required to receive the > thumb stick and button state. > > Product page: > https://www.adafruit.com/product/5743 > Arduino driver: > https://github.com/adafruit/Adafruit_Seesaw > > For testing on a RPi Zero 2W, I utilized the following devicetree overlay: > > /dts-v1/; > /plugin/; > / { > compatible = "brcm,bcm2835"; > fragment@0 { > target = <&i2c1>; > __overlay__ { > #address-cells = <1>; > #size-cells = <0>; > joystick@50 { > compatible = "adafruit,seesaw-gamepad"; > reg = <0x50>; > }; > }; > }; > }; > > I used the above overlay as reference for writing this binding. Though the > gamepad also has an interrupt pin that needs to be enabled explicitly (not > currently implemented in driver). The pin triggers a rising edge when a > button is pressed or joystick is moved which can be detected on a GPIO > of the Microcontroller. > > I wasn't sure how to represent that functionality in the binding so I have > left it out for now. > > Signed-off-by: Anshul Dalal <anshulusr@xxxxxxxxx> > --- > > 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 | 54 +++++++++++++++++++ > 1 file changed, 54 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..610c99594439 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/adafruit,seesaw-gamepad.yaml > +$id: http://devicetree.org/schemas/input/adafruit-seesaw.yaml# You're at version 3 now, but do not seem to have figured out how to test the bindings? https://docs.kernel.org/devicetree/bindings/writing-schema.html#running-checks Thanks, Conor.
Attachment:
signature.asc
Description: PGP signature