162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/input/touchscreen/resistive-adc-touch.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Generic resistive touchscreen ADC
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Oleksij Rempel <o.rempel@pengutronix.de>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  Generic ADC based resistive touchscreen controller
1462306a36Sopenharmony_ci  The device must be connected to an ADC device that provides channels for
1562306a36Sopenharmony_ci  position measurement and optional pressure.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciallOf:
1862306a36Sopenharmony_ci  - $ref: touchscreen.yaml#
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    const: resistive-adc-touch
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  io-channels:
2562306a36Sopenharmony_ci    minItems: 2
2662306a36Sopenharmony_ci    items:
2762306a36Sopenharmony_ci      - description: x
2862306a36Sopenharmony_ci      - description: y
2962306a36Sopenharmony_ci      - description: pressure (optional)
3062306a36Sopenharmony_ci      - description: z1 (optional)
3162306a36Sopenharmony_ci      - description: z2 (optional)
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  io-channel-names:
3462306a36Sopenharmony_ci    oneOf:
3562306a36Sopenharmony_ci      - items:
3662306a36Sopenharmony_ci          - enum: [x, y]
3762306a36Sopenharmony_ci          - enum: [x, y]
3862306a36Sopenharmony_ci      - items:
3962306a36Sopenharmony_ci          - enum: [x, y, pressure]
4062306a36Sopenharmony_ci          - enum: [x, y, pressure]
4162306a36Sopenharmony_ci          - enum: [x, y, pressure]
4262306a36Sopenharmony_ci      - items:
4362306a36Sopenharmony_ci          - enum: [x, y, z1, z2]
4462306a36Sopenharmony_ci          - enum: [x, y, z1, z2]
4562306a36Sopenharmony_ci          - enum: [x, y, z1, z2]
4662306a36Sopenharmony_ci          - enum: [x, y, z1, z2]
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  touchscreen-size-x: true
4962306a36Sopenharmony_ci  touchscreen-size-y: true
5062306a36Sopenharmony_ci  touchscreen-fuzz-x: true
5162306a36Sopenharmony_ci  touchscreen-fuzz-y: true
5262306a36Sopenharmony_ci  touchscreen-inverted-x: true
5362306a36Sopenharmony_ci  touchscreen-inverted-y: true
5462306a36Sopenharmony_ci  touchscreen-swapped-x-y: true
5562306a36Sopenharmony_ci  touchscreen-min-pressure: true
5662306a36Sopenharmony_ci  touchscreen-x-plate-ohms: true
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciadditionalProperties: false
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cirequired:
6162306a36Sopenharmony_ci  - compatible
6262306a36Sopenharmony_ci  - io-channels
6362306a36Sopenharmony_ci  - io-channel-names
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    touchscreen {
6862306a36Sopenharmony_ci      compatible = "resistive-adc-touch";
6962306a36Sopenharmony_ci      io-channels = <&adc 24>, <&adc 25>;
7062306a36Sopenharmony_ci      io-channel-names = "y", "x";
7162306a36Sopenharmony_ci    };
7262306a36Sopenharmony_ci  - |
7362306a36Sopenharmony_ci    touchscreen {
7462306a36Sopenharmony_ci      compatible = "resistive-adc-touch";
7562306a36Sopenharmony_ci      touchscreen-min-pressure = <50000>;
7662306a36Sopenharmony_ci      io-channels = <&adc 24>, <&adc 25>, <&adc 26>;
7762306a36Sopenharmony_ci      io-channel-names = "y", "pressure", "x";
7862306a36Sopenharmony_ci    };
7962306a36Sopenharmony_ci  - |
8062306a36Sopenharmony_ci    touchscreen {
8162306a36Sopenharmony_ci      compatible = "resistive-adc-touch";
8262306a36Sopenharmony_ci      touchscreen-min-pressure = <50000>;
8362306a36Sopenharmony_ci      io-channels = <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>;
8462306a36Sopenharmony_ci      io-channel-names = "x", "z1", "z2", "y";
8562306a36Sopenharmony_ci      touchscreen-x-plate-ohms = <800>;
8662306a36Sopenharmony_ci    };
87