# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019-2020 Artur Rojek
%YAML 1.2
---
$id: "http://devicetree.org/schemas/input/adc-joystick.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: ADC attached joystick

maintainers:
  - Artur Rojek <contact@artur-rojek.eu>

description: >
  Bindings for joystick devices connected to ADC controllers supporting
  the Industrial I/O subsystem.

properties:
  compatible:
    const: adc-joystick

  io-channels:
    minItems: 1
    maxItems: 1024
    description: >
      List of phandle and IIO specifier pairs.
      Each pair defines one ADC channel to which a joystick axis is connected.
      See Documentation/devicetree/bindings/iio/iio-bindings.txt for details.

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

required:
  - compatible
  - io-channels
  - '#address-cells'
  - '#size-cells'

additionalProperties: false

patternProperties:
  "^axis@[0-9a-f]+$":
    type: object
    description: >
      Represents a joystick axis bound to the given ADC channel.
      For each entry in the io-channels list, one axis subnode with a matching
      reg property must be specified.

    properties:
      reg:
        minimum: 0
        maximum: 1023
        description: Index of an io-channels list entry bound to this axis.

      linux,code:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: EV_ABS specific event code generated by the axis.

      abs-range:
        allOf:
          - $ref: /schemas/types.yaml#/definitions/uint32-array
          - items:
              - description: minimum value
              - description: maximum value
        description: >
          Minimum and maximum values produced by the axis.
          For an ABS_X axis this will be the left-most and right-most
          inclination of the joystick. If min > max, it is left to userspace to
          treat the axis as inverted.
          This property is interpreted as two signed 32 bit values.

      abs-fuzz:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: >
          Amount of noise in the input value.
          Omitting this property indicates the axis is precise.

      abs-flat:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: >
          Axial "deadzone", or area around the center position, where the axis
          is considered to be at rest.
          Omitting this property indicates the axis always returns to exactly
          the center position.

    required:
      - reg
      - linux,code
      - abs-range

    additionalProperties: false

examples:
  - |
    #include <dt-bindings/iio/adc/ingenic,adc.h>
    #include <dt-bindings/input/input.h>

    joystick: adc-joystick {
      compatible = "adc-joystick";
      io-channels = <&adc INGENIC_ADC_TOUCH_XP>,
                    <&adc INGENIC_ADC_TOUCH_YP>;
      #address-cells = <1>;
      #size-cells = <0>;

      axis@0 {
              reg = <0>;
              linux,code = <ABS_X>;
              abs-range = <3300 0>;
              abs-fuzz = <4>;
              abs-flat = <200>;
      };
      axis@1 {
              reg = <1>;
              linux,code = <ABS_Y>;
              abs-range = <0 3300>;
              abs-fuzz = <4>;
              abs-flat = <200>;
      };
    };
