xref: /linux/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.yaml (revision 71af75b6929458d85f63c0649dc26d6f4c19729e)
171d576d3SOleksij Rempel# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
271d576d3SOleksij Rempel%YAML 1.2
371d576d3SOleksij Rempel---
471d576d3SOleksij Rempel$id: http://devicetree.org/schemas/input/touchscreen/resistive-adc-touch.yaml#
571d576d3SOleksij Rempel$schema: http://devicetree.org/meta-schemas/core.yaml#
671d576d3SOleksij Rempel
771d576d3SOleksij Rempeltitle: Generic resistive touchscreen ADC
871d576d3SOleksij Rempel
971d576d3SOleksij Rempelmaintainers:
1071d576d3SOleksij Rempel  - Oleksij Rempel <o.rempel@pengutronix.de>
1171d576d3SOleksij Rempel
1271d576d3SOleksij Rempeldescription: |
1371d576d3SOleksij Rempel  Generic ADC based resistive touchscreen controller
1471d576d3SOleksij Rempel  The device must be connected to an ADC device that provides channels for
1571d576d3SOleksij Rempel  position measurement and optional pressure.
1671d576d3SOleksij Rempel
1771d576d3SOleksij RempelallOf:
1871d576d3SOleksij Rempel  - $ref: touchscreen.yaml#
1971d576d3SOleksij Rempel
2071d576d3SOleksij Rempelproperties:
2171d576d3SOleksij Rempel  compatible:
2271d576d3SOleksij Rempel    const: resistive-adc-touch
2371d576d3SOleksij Rempel
2471d576d3SOleksij Rempel  io-channels:
2571d576d3SOleksij Rempel    minItems: 2
2671d576d3SOleksij Rempel    items:
2771d576d3SOleksij Rempel      - description: x
2871d576d3SOleksij Rempel      - description: y
2971d576d3SOleksij Rempel      - description: pressure (optional)
30*241a952fSOleksij Rempel      - description: z1 (optional)
31*241a952fSOleksij Rempel      - description: z2 (optional)
3271d576d3SOleksij Rempel
3371d576d3SOleksij Rempel  io-channel-names:
3471d576d3SOleksij Rempel    oneOf:
3571d576d3SOleksij Rempel      - items:
3671d576d3SOleksij Rempel          - enum: [x, y]
3771d576d3SOleksij Rempel          - enum: [x, y]
3871d576d3SOleksij Rempel      - items:
3971d576d3SOleksij Rempel          - enum: [x, y, pressure]
4071d576d3SOleksij Rempel          - enum: [x, y, pressure]
4171d576d3SOleksij Rempel          - enum: [x, y, pressure]
42*241a952fSOleksij Rempel      - items:
43*241a952fSOleksij Rempel          - enum: [x, y, z1, z2]
44*241a952fSOleksij Rempel          - enum: [x, y, z1, z2]
45*241a952fSOleksij Rempel          - enum: [x, y, z1, z2]
46*241a952fSOleksij Rempel          - enum: [x, y, z1, z2]
4771d576d3SOleksij Rempel
4871d576d3SOleksij Rempel  touchscreen-size-x: true
4971d576d3SOleksij Rempel  touchscreen-size-y: true
5071d576d3SOleksij Rempel  touchscreen-fuzz-x: true
5171d576d3SOleksij Rempel  touchscreen-fuzz-y: true
5271d576d3SOleksij Rempel  touchscreen-inverted-x: true
5371d576d3SOleksij Rempel  touchscreen-inverted-y: true
5471d576d3SOleksij Rempel  touchscreen-swapped-x-y: true
5571d576d3SOleksij Rempel  touchscreen-min-pressure: true
56*241a952fSOleksij Rempel  touchscreen-x-plate-ohms: true
5771d576d3SOleksij Rempel
5871d576d3SOleksij RempeladditionalProperties: false
5971d576d3SOleksij Rempel
6071d576d3SOleksij Rempelrequired:
6171d576d3SOleksij Rempel  - compatible
6271d576d3SOleksij Rempel  - io-channels
6371d576d3SOleksij Rempel  - io-channel-names
6471d576d3SOleksij Rempel
6571d576d3SOleksij Rempelexamples:
6671d576d3SOleksij Rempel  - |
6771d576d3SOleksij Rempel    touchscreen {
6871d576d3SOleksij Rempel      compatible = "resistive-adc-touch";
6971d576d3SOleksij Rempel      io-channels = <&adc 24>, <&adc 25>;
7071d576d3SOleksij Rempel      io-channel-names = "y", "x";
7171d576d3SOleksij Rempel    };
7271d576d3SOleksij Rempel  - |
7371d576d3SOleksij Rempel    touchscreen {
7471d576d3SOleksij Rempel      compatible = "resistive-adc-touch";
7571d576d3SOleksij Rempel      touchscreen-min-pressure = <50000>;
7671d576d3SOleksij Rempel      io-channels = <&adc 24>, <&adc 25>, <&adc 26>;
7771d576d3SOleksij Rempel      io-channel-names = "y", "pressure", "x";
7871d576d3SOleksij Rempel    };
79*241a952fSOleksij Rempel  - |
80*241a952fSOleksij Rempel    touchscreen {
81*241a952fSOleksij Rempel      compatible = "resistive-adc-touch";
82*241a952fSOleksij Rempel      touchscreen-min-pressure = <50000>;
83*241a952fSOleksij Rempel      io-channels = <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>;
84*241a952fSOleksij Rempel      io-channel-names = "x", "z1", "z2", "y";
85*241a952fSOleksij Rempel      touchscreen-x-plate-ohms = <800>;
86*241a952fSOleksij Rempel    };
87