--- v5
+++ v4
@@ -1,23 +1,128 @@
-Change node name from edt-ft5x06 -> touchscreen to pass dt_binding_check.
+Convert the resistive-adc-touch binding to DT schema format using json-schema.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
- .../devicetree/bindings/input/touchscreen/edt-ft5x06.yaml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ .../input/touchscreen/resistive-adc-touch.txt | 33 ---------
+ .../touchscreen/resistive-adc-touch.yaml | 70 +++++++++++++++++++
+ 2 files changed, 70 insertions(+), 33 deletions(-)
+ delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt
+ create mode 100644 Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.yaml
-diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
-index bfc3a8b5e118..0c43cac8c66f 100644
---- a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
-+++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
-@@ -107,7 +107,7 @@ examples:
- i2c {
- #address-cells = <1>;
- #size-cells = <0>;
-- edt-ft5x06@38 {
-+ touchscreen@38 {
- compatible = "edt,edt-ft5406";
- reg = <0x38>;
- interrupt-parent = <&gpio2>;
+diff --git a/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt b/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt
+deleted file mode 100644
+index af5223bb5bdd..000000000000
+--- a/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt
++++ /dev/null
+@@ -1,33 +0,0 @@
+-Generic resistive touchscreen ADC
+-
+-Required properties:
+-
+- - compatible: must be "resistive-adc-touch"
+-The device must be connected to an ADC device that provides channels for
+-position measurement and optional pressure.
+-Refer to
+-https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml
+-for details
+-
+- - iio-channels: must have at least two channels connected to an ADC device.
+-These should correspond to the channels exposed by the ADC device and should
+-have the right index as the ADC device registers them. These channels
+-represent the relative position on the "x" and "y" axes.
+- - iio-channel-names: must have all the channels' names. Mandatory channels
+-are "x" and "y".
+-
+-Optional properties:
+- - iio-channels: The third channel named "pressure" is optional and can be
+-used if the ADC device also measures pressure besides position.
+-If this channel is missing, pressure will be ignored and the touchscreen
+-will only report position.
+- - iio-channel-names: optional channel named "pressure".
+-
+-Example:
+-
+- resistive_touch: resistive_touch {
+- compatible = "resistive-adc-touch";
+- touchscreen-min-pressure = <50000>;
+- io-channels = <&adc 24>, <&adc 25>, <&adc 26>;
+- io-channel-names = "x", "y", "pressure";
+- };
+diff --git a/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.yaml b/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.yaml
+new file mode 100644
+index 000000000000..38b4cbee9429
+--- /dev/null
++++ b/Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.yaml
+@@ -0,0 +1,70 @@
++# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/input/touchscreen/resistive-adc-touch.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Generic resistive touchscreen ADC
++
++maintainers:
++ - Oleksij Rempel <o.rempel@pengutronix.de>
++
++description: |
++ Generic ADC based resistive touchscreen controller
++ The device must be connected to an ADC device that provides channels for
++ position measurement and optional pressure.
++
++allOf:
++ - $ref: touchscreen.yaml#
++
++properties:
++ compatible:
++ const: resistive-adc-touch
++
++ io-channels:
++ minItems: 2
++ items:
++ - description: x
++ - description: y
++ - description: pressure (optional)
++
++ io-channel-names:
++ oneOf:
++ - items:
++ - enum: [x, y]
++ - enum: [x, y]
++ - items:
++ - enum: [x, y, pressure]
++ - enum: [x, y, pressure]
++ - enum: [x, y, pressure]
++
++ touchscreen-size-x: true
++ touchscreen-size-y: true
++ touchscreen-fuzz-x: true
++ touchscreen-fuzz-y: true
++ touchscreen-inverted-x: true
++ touchscreen-inverted-y: true
++ touchscreen-swapped-x-y: true
++ touchscreen-min-pressure: true
++
++additionalProperties: false
++
++required:
++ - compatible
++ - io-channels
++ - io-channel-names
++
++examples:
++ - |
++ touchscreen {
++ compatible = "resistive-adc-touch";
++ io-channels = <&adc 24>, <&adc 25>;
++ io-channel-names = "y", "x";
++ };
++ - |
++ touchscreen {
++ compatible = "resistive-adc-touch";
++ touchscreen-min-pressure = <50000>;
++ io-channels = <&adc 24>, <&adc 25>, <&adc 26>;
++ io-channel-names = "y", "pressure", "x";
++ };
--
2.29.2