Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / input / touchscreen / resistive-adc-touch.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/input/touchscreen/resistive-adc-touch.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Generic resistive touchscreen ADC
8
9 maintainers:
10   - Oleksij Rempel <o.rempel@pengutronix.de>
11
12 description: |
13   Generic ADC based resistive touchscreen controller
14   The device must be connected to an ADC device that provides channels for
15   position measurement and optional pressure.
16
17 allOf:
18   - $ref: touchscreen.yaml#
19
20 properties:
21   compatible:
22     const: resistive-adc-touch
23
24   io-channels:
25     minItems: 2
26     items:
27       - description: x
28       - description: y
29       - description: pressure (optional)
30       - description: z1 (optional)
31       - description: z2 (optional)
32
33   io-channel-names:
34     oneOf:
35       - items:
36           - enum: [x, y]
37           - enum: [x, y]
38       - items:
39           - enum: [x, y, pressure]
40           - enum: [x, y, pressure]
41           - enum: [x, y, pressure]
42       - items:
43           - enum: [x, y, z1, z2]
44           - enum: [x, y, z1, z2]
45           - enum: [x, y, z1, z2]
46           - enum: [x, y, z1, z2]
47
48   touchscreen-size-x: true
49   touchscreen-size-y: true
50   touchscreen-fuzz-x: true
51   touchscreen-fuzz-y: true
52   touchscreen-inverted-x: true
53   touchscreen-inverted-y: true
54   touchscreen-swapped-x-y: true
55   touchscreen-min-pressure: true
56   touchscreen-x-plate-ohms: true
57
58 additionalProperties: false
59
60 required:
61   - compatible
62   - io-channels
63   - io-channel-names
64
65 examples:
66   - |
67     touchscreen {
68       compatible = "resistive-adc-touch";
69       io-channels = <&adc 24>, <&adc 25>;
70       io-channel-names = "y", "x";
71     };
72   - |
73     touchscreen {
74       compatible = "resistive-adc-touch";
75       touchscreen-min-pressure = <50000>;
76       io-channels = <&adc 24>, <&adc 25>, <&adc 26>;
77       io-channel-names = "y", "pressure", "x";
78     };
79   - |
80     touchscreen {
81       compatible = "resistive-adc-touch";
82       touchscreen-min-pressure = <50000>;
83       io-channels = <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>;
84       io-channel-names = "x", "z1", "z2", "y";
85       touchscreen-x-plate-ohms = <800>;
86     };