diff mbox series

[19/54] dt-bindings: input: Convert Silead GSL1680 binding to a schema

Message ID 20210721140424.725744-20-maxime@cerno.tech
State Superseded
Headers show
Series ARM: dts: Last round of DT schema fixes | expand

Commit Message

Maxime Ripard July 21, 2021, 2:03 p.m. UTC
The Silead GSL1680 Touchscreen Controller is supported by Linux thanks
to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/silead,gsl1680.yaml     | 90 +++++++++++++++++++
 .../input/touchscreen/silead_gsl1680.txt      | 44 ---------
 2 files changed, 90 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt

Comments

Rob Herring (Arm) July 23, 2021, 9:51 p.m. UTC | #1
On Wed, Jul 21, 2021 at 04:03:49PM +0200, Maxime Ripard wrote:
> The Silead GSL1680 Touchscreen Controller is supported by Linux thanks
> to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/silead,gsl1680.yaml     | 90 +++++++++++++++++++
>  .../input/touchscreen/silead_gsl1680.txt      | 44 ---------
>  2 files changed, 90 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
> new file mode 100644
> index 000000000000..84a462ffd14b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Silead GSL1680 Touchscreen Controller Device Tree Bindings
> +
> +maintainers:
> +  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
> +
> +allOf:
> +  - $ref: touchscreen.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - silead,gsl1680
> +      - silead,gsl1688
> +      - silead,gsl3670
> +      - silead,gsl3675
> +      - silead,gsl3692
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  power-gpios:
> +    maxItems: 1
> +
> +  firmware:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: >
> +      File basename for board specific firmware
> +
> +  silead,max-fingers:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: >
> +      Maximum number of fingers the touchscreen can detect

Can it detect 2^32 fingers? Constraints needed.

> +
> +  silead,home-button:
> +    type: boolean
> +    description: >
> +      Does the device have a capacitive home-button build into the
> +      touchscreen?
> +
> +  avdd-supply:
> +    description: >
> +      Regulator phandle for controller AVDD
> +
> +  vddio-supply:
> +    description: >
> +      Regulator phandle for controller VDDIO
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - power-gpios
> +  - touchscreen-size-x
> +  - touchscreen-size-y
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        touchscreen@40 {
> +            compatible = "silead,gsl1680";
> +            reg = <0x40>;
> +            interrupt-parent = <&pio>;
> +            interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> +            power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> +            touchscreen-size-x = <480>;
> +            touchscreen-size-y = <800>;
> +            touchscreen-inverted-x;
> +            touchscreen-swapped-x-y;
> +            silead,max-fingers = <5>;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> deleted file mode 100644
> index d67e558e5ab5..000000000000
> --- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -* GSL 1680 touchscreen controller
> -
> -Required properties:
> -- compatible		  : Must be one of the following, depending on the model:
> -			    "silead,gsl1680"
> -			    "silead,gsl1688"
> -			    "silead,gsl3670"
> -			    "silead,gsl3675"
> -			    "silead,gsl3692"
> -- reg			  : I2C slave address of the chip (0x40)
> -- interrupts		  : interrupt specification for the gsl1680 interrupt
> -- power-gpios		  : Specification for the pin connected to the gsl1680's
> -			    shutdown input. This needs to be driven high to take the
> -			    gsl1680 out of its low power state
> -- touchscreen-size-x	  : See touchscreen.txt
> -- touchscreen-size-y	  : See touchscreen.txt
> -
> -Optional properties:
> -- firmware-name		  : File basename (string) for board specific firmware
> -- touchscreen-inverted-x  : See touchscreen.txt
> -- touchscreen-inverted-y  : See touchscreen.txt
> -- touchscreen-swapped-x-y : See touchscreen.txt
> -- silead,max-fingers	  : maximum number of fingers the touchscreen can detect
> -- silead,home-button	  : Boolean, set to true on devices which have a
> -			    capacitive home-button build into the touchscreen
> -- vddio-supply		  : regulator phandle for controller VDDIO
> -- avdd-supply		  : regulator phandle for controller AVDD
> -
> -Example:
> -
> -i2c@00000000 {
> -	gsl1680: touchscreen@40 {
> -		compatible = "silead,gsl1680";
> -		reg = <0x40>;
> -		interrupt-parent = <&pio>;
> -		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> -		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> -		touchscreen-size-x = <480>;
> -		touchscreen-size-y = <800>;
> -		touchscreen-inverted-x;
> -		touchscreen-swapped-x-y;
> -		silead,max-fingers = <5>;
> -	};
> -};
> -- 
> 2.31.1
> 
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
new file mode 100644
index 000000000000..84a462ffd14b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
@@ -0,0 +1,90 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silead GSL1680 Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    enum:
+      - silead,gsl1680
+      - silead,gsl1688
+      - silead,gsl3670
+      - silead,gsl3675
+      - silead,gsl3692
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  power-gpios:
+    maxItems: 1
+
+  firmware:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: >
+      File basename for board specific firmware
+
+  silead,max-fingers:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Maximum number of fingers the touchscreen can detect
+
+  silead,home-button:
+    type: boolean
+    description: >
+      Does the device have a capacitive home-button build into the
+      touchscreen?
+
+  avdd-supply:
+    description: >
+      Regulator phandle for controller AVDD
+
+  vddio-supply:
+    description: >
+      Regulator phandle for controller VDDIO
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - power-gpios
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@40 {
+            compatible = "silead,gsl1680";
+            reg = <0x40>;
+            interrupt-parent = <&pio>;
+            interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
+            power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
+            touchscreen-size-x = <480>;
+            touchscreen-size-y = <800>;
+            touchscreen-inverted-x;
+            touchscreen-swapped-x-y;
+            silead,max-fingers = <5>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
deleted file mode 100644
index d67e558e5ab5..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
+++ /dev/null
@@ -1,44 +0,0 @@ 
-* GSL 1680 touchscreen controller
-
-Required properties:
-- compatible		  : Must be one of the following, depending on the model:
-			    "silead,gsl1680"
-			    "silead,gsl1688"
-			    "silead,gsl3670"
-			    "silead,gsl3675"
-			    "silead,gsl3692"
-- reg			  : I2C slave address of the chip (0x40)
-- interrupts		  : interrupt specification for the gsl1680 interrupt
-- power-gpios		  : Specification for the pin connected to the gsl1680's
-			    shutdown input. This needs to be driven high to take the
-			    gsl1680 out of its low power state
-- touchscreen-size-x	  : See touchscreen.txt
-- touchscreen-size-y	  : See touchscreen.txt
-
-Optional properties:
-- firmware-name		  : File basename (string) for board specific firmware
-- touchscreen-inverted-x  : See touchscreen.txt
-- touchscreen-inverted-y  : See touchscreen.txt
-- touchscreen-swapped-x-y : See touchscreen.txt
-- silead,max-fingers	  : maximum number of fingers the touchscreen can detect
-- silead,home-button	  : Boolean, set to true on devices which have a
-			    capacitive home-button build into the touchscreen
-- vddio-supply		  : regulator phandle for controller VDDIO
-- avdd-supply		  : regulator phandle for controller AVDD
-
-Example:
-
-i2c@00000000 {
-	gsl1680: touchscreen@40 {
-		compatible = "silead,gsl1680";
-		reg = <0x40>;
-		interrupt-parent = <&pio>;
-		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
-		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
-		touchscreen-size-x = <480>;
-		touchscreen-size-y = <800>;
-		touchscreen-inverted-x;
-		touchscreen-swapped-x-y;
-		silead,max-fingers = <5>;
-	};
-};