PCI: hv: Remove unused hv_set_msi_entry_from_desc()
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / input / adc-joystick.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019-2020 Artur Rojek
3 %YAML 1.2
4 ---
5 $id: "http://devicetree.org/schemas/input/adc-joystick.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8 title: ADC attached joystick
9
10 maintainers:
11   - Artur Rojek <contact@artur-rojek.eu>
12
13 description: >
14   Bindings for joystick devices connected to ADC controllers supporting
15   the Industrial I/O subsystem.
16
17 properties:
18   compatible:
19     const: adc-joystick
20
21   io-channels:
22     minItems: 1
23     maxItems: 1024
24     description: >
25       List of phandle and IIO specifier pairs.
26       Each pair defines one ADC channel to which a joystick axis is connected.
27       See
28       https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml
29       for details.
30
31   '#address-cells':
32     const: 1
33
34   '#size-cells':
35     const: 0
36
37 required:
38   - compatible
39   - io-channels
40   - '#address-cells'
41   - '#size-cells'
42
43 additionalProperties: false
44
45 patternProperties:
46   "^axis@[0-9a-f]+$":
47     type: object
48     description: >
49       Represents a joystick axis bound to the given ADC channel.
50       For each entry in the io-channels list, one axis subnode with a matching
51       reg property must be specified.
52
53     properties:
54       reg:
55         minimum: 0
56         maximum: 1023
57         description: Index of an io-channels list entry bound to this axis.
58
59       linux,code:
60         $ref: /schemas/types.yaml#/definitions/uint32
61         description: EV_ABS specific event code generated by the axis.
62
63       abs-range:
64         allOf:
65           - $ref: /schemas/types.yaml#/definitions/uint32-array
66           - items:
67               - description: minimum value
68               - description: maximum value
69         description: >
70           Minimum and maximum values produced by the axis.
71           For an ABS_X axis this will be the left-most and right-most
72           inclination of the joystick. If min > max, it is left to userspace to
73           treat the axis as inverted.
74           This property is interpreted as two signed 32 bit values.
75
76       abs-fuzz:
77         $ref: /schemas/types.yaml#/definitions/uint32
78         description: >
79           Amount of noise in the input value.
80           Omitting this property indicates the axis is precise.
81
82       abs-flat:
83         $ref: /schemas/types.yaml#/definitions/uint32
84         description: >
85           Axial "deadzone", or area around the center position, where the axis
86           is considered to be at rest.
87           Omitting this property indicates the axis always returns to exactly
88           the center position.
89
90     required:
91       - reg
92       - linux,code
93       - abs-range
94
95     additionalProperties: false
96
97 examples:
98   - |
99     #include <dt-bindings/iio/adc/ingenic,adc.h>
100     #include <dt-bindings/input/input.h>
101
102     joystick: adc-joystick {
103       compatible = "adc-joystick";
104       io-channels = <&adc INGENIC_ADC_TOUCH_XP>,
105                     <&adc INGENIC_ADC_TOUCH_YP>;
106       #address-cells = <1>;
107       #size-cells = <0>;
108
109       axis@0 {
110               reg = <0>;
111               linux,code = <ABS_X>;
112               abs-range = <3300 0>;
113               abs-fuzz = <4>;
114               abs-flat = <200>;
115       };
116       axis@1 {
117               reg = <1>;
118               linux,code = <ABS_Y>;
119               abs-range = <0 3300>;
120               abs-fuzz = <4>;
121               abs-flat = <200>;
122       };
123     };