diff mbox series

[v2,30/36] dt-bindings: display: convert sharp, lq101r1sx01 to DT Schema

Message ID 20200408195109.32692-31-sam@ravnborg.org (mailing list archive)
State New, archived
Headers show
Series dt-bindings: display: convert remaning panel bindings to DT Schema | expand

Commit Message

Sam Ravnborg April 8, 2020, 7:51 p.m. UTC
This binding describes a panel with a secondary channel.

v2:
  - add check for required properties if link2 is present (Rob)

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
---
 .../display/panel/sharp,lq101r1sx01.txt       | 49 -----------
 .../display/panel/sharp,lq101r1sx01.yaml      | 85 +++++++++++++++++++
 2 files changed, 85 insertions(+), 49 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml

Comments

Rob Herring (Arm) April 14, 2020, 6:57 p.m. UTC | #1
On Wed, Apr 08, 2020 at 09:51:03PM +0200, Sam Ravnborg wrote:
> This binding describes a panel with a secondary channel.
> 
> v2:
>   - add check for required properties if link2 is present (Rob)
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> ---
>  .../display/panel/sharp,lq101r1sx01.txt       | 49 -----------
>  .../display/panel/sharp,lq101r1sx01.yaml      | 85 +++++++++++++++++++
>  2 files changed, 85 insertions(+), 49 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
>  create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt b/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
> deleted file mode 100644
> index f522bb8e47e1..000000000000
> --- a/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -Sharp Microelectronics 10.1" WQXGA TFT LCD panel
> -
> -This panel requires a dual-channel DSI host to operate. It supports two modes:
> -- left-right: each channel drives the left or right half of the screen
> -- even-odd: each channel drives the even or odd lines of the screen
> -
> -Each of the DSI channels controls a separate DSI peripheral. The peripheral
> -driven by the first link (DSI-LINK1), left or even, is considered the primary
> -peripheral and controls the device. The 'link2' property contains a phandle
> -to the peripheral driven by the second link (DSI-LINK2, right or odd).
> -
> -Note that in video mode the DSI-LINK1 interface always provides the left/even
> -pixels and DSI-LINK2 always provides the right/odd pixels. In command mode it
> -is possible to program either link to drive the left/even or right/odd pixels
> -but for the sake of consistency this binding assumes that the same assignment
> -is chosen as for video mode.
> -
> -Required properties:
> -- compatible: should be "sharp,lq101r1sx01"
> -- reg: DSI virtual channel of the peripheral
> -
> -Required properties (for DSI-LINK1 only):
> -- link2: phandle to the DSI peripheral on the secondary link. Note that the
> -  presence of this property marks the containing node as DSI-LINK1.
> -- power-supply: phandle of the regulator that provides the supply voltage
> -
> -Optional properties (for DSI-LINK1 only):
> -- backlight: phandle of the backlight device attached to the panel
> -
> -Example:
> -
> -	dsi@54300000 {
> -		panel: panel@0 {
> -			compatible = "sharp,lq101r1sx01";
> -			reg = <0>;
> -
> -			link2 = <&secondary>;
> -
> -			power-supply = <...>;
> -			backlight = <...>;
> -		};
> -	};
> -
> -	dsi@54400000 {
> -		secondary: panel@0 {
> -			compatible = "sharp,lq101r1sx01";
> -			reg = <0>;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml b/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml
> new file mode 100644
> index 000000000000..956608cada77
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml
> @@ -0,0 +1,85 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/sharp,lq101r1sx01.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sharp Microelectronics 10.1" WQXGA TFT LCD panel
> +
> +maintainers:
> +  - Thierry Reding <treding@nvidia.com>
> +
> +description: |
> +  This panel requires a dual-channel DSI host to operate. It supports two modes:
> +  - left-right: each channel drives the left or right half of the screen
> +  - even-odd: each channel drives the even or odd lines of the screen
> +
> +  Each of the DSI channels controls a separate DSI peripheral. The peripheral
> +  driven by the first link (DSI-LINK1), left or even, is considered the primary
> +  peripheral and controls the device. The 'link2' property contains a phandle
> +  to the peripheral driven by the second link (DSI-LINK2, right or odd).
> +
> +  Note that in video mode the DSI-LINK1 interface always provides the left/even
> +  pixels and DSI-LINK2 always provides the right/odd pixels. In command mode it
> +  is possible to program either link to drive the left/even or right/odd pixels
> +  but for the sake of consistency this binding assumes that the same assignment
> +  is chosen as for video mode.
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    const: sharp,lq101r1sx01
> +
> +  reg: true
> +  power-supply: true
> +  backlight: true
> +
> +  link2:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: |
> +      phandle to the DSI peripheral on the secondary link. Note that the
> +      presence of this property marks the containing node as DSI-LINK1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +if:
> +  required:
> +    - link2
> +then:
> +  required:
> +    - power-supply
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    dsi0 {

Probably should put a reg property and unit-address here so the 
dsi-controller schema will match on these.

With that,

Reviewed-by: Rob Herring <robh@kernel.org>

> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        panel: panel@0 {
> +            compatible = "sharp,lq101r1sx01";
> +            reg = <0>;
> +
> +            link2 = <&secondary>;
> +
> +            power-supply = <&power>;
> +            backlight = <&backlight>;
> +        };
> +    };
> +
> +    dsi1 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        secondary: panel@0 {
> +            compatible = "sharp,lq101r1sx01";
> +            reg = <0>;
> +        };
> +    };
> +
> +...
> -- 
> 2.20.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt b/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
deleted file mode 100644
index f522bb8e47e1..000000000000
--- a/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.txt
+++ /dev/null
@@ -1,49 +0,0 @@ 
-Sharp Microelectronics 10.1" WQXGA TFT LCD panel
-
-This panel requires a dual-channel DSI host to operate. It supports two modes:
-- left-right: each channel drives the left or right half of the screen
-- even-odd: each channel drives the even or odd lines of the screen
-
-Each of the DSI channels controls a separate DSI peripheral. The peripheral
-driven by the first link (DSI-LINK1), left or even, is considered the primary
-peripheral and controls the device. The 'link2' property contains a phandle
-to the peripheral driven by the second link (DSI-LINK2, right or odd).
-
-Note that in video mode the DSI-LINK1 interface always provides the left/even
-pixels and DSI-LINK2 always provides the right/odd pixels. In command mode it
-is possible to program either link to drive the left/even or right/odd pixels
-but for the sake of consistency this binding assumes that the same assignment
-is chosen as for video mode.
-
-Required properties:
-- compatible: should be "sharp,lq101r1sx01"
-- reg: DSI virtual channel of the peripheral
-
-Required properties (for DSI-LINK1 only):
-- link2: phandle to the DSI peripheral on the secondary link. Note that the
-  presence of this property marks the containing node as DSI-LINK1.
-- power-supply: phandle of the regulator that provides the supply voltage
-
-Optional properties (for DSI-LINK1 only):
-- backlight: phandle of the backlight device attached to the panel
-
-Example:
-
-	dsi@54300000 {
-		panel: panel@0 {
-			compatible = "sharp,lq101r1sx01";
-			reg = <0>;
-
-			link2 = <&secondary>;
-
-			power-supply = <...>;
-			backlight = <...>;
-		};
-	};
-
-	dsi@54400000 {
-		secondary: panel@0 {
-			compatible = "sharp,lq101r1sx01";
-			reg = <0>;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml b/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml
new file mode 100644
index 000000000000..956608cada77
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/sharp,lq101r1sx01.yaml
@@ -0,0 +1,85 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/sharp,lq101r1sx01.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sharp Microelectronics 10.1" WQXGA TFT LCD panel
+
+maintainers:
+  - Thierry Reding <treding@nvidia.com>
+
+description: |
+  This panel requires a dual-channel DSI host to operate. It supports two modes:
+  - left-right: each channel drives the left or right half of the screen
+  - even-odd: each channel drives the even or odd lines of the screen
+
+  Each of the DSI channels controls a separate DSI peripheral. The peripheral
+  driven by the first link (DSI-LINK1), left or even, is considered the primary
+  peripheral and controls the device. The 'link2' property contains a phandle
+  to the peripheral driven by the second link (DSI-LINK2, right or odd).
+
+  Note that in video mode the DSI-LINK1 interface always provides the left/even
+  pixels and DSI-LINK2 always provides the right/odd pixels. In command mode it
+  is possible to program either link to drive the left/even or right/odd pixels
+  but for the sake of consistency this binding assumes that the same assignment
+  is chosen as for video mode.
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    const: sharp,lq101r1sx01
+
+  reg: true
+  power-supply: true
+  backlight: true
+
+  link2:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: |
+      phandle to the DSI peripheral on the secondary link. Note that the
+      presence of this property marks the containing node as DSI-LINK1
+
+required:
+  - compatible
+  - reg
+
+if:
+  required:
+    - link2
+then:
+  required:
+    - power-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    dsi0 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        panel: panel@0 {
+            compatible = "sharp,lq101r1sx01";
+            reg = <0>;
+
+            link2 = <&secondary>;
+
+            power-supply = <&power>;
+            backlight = <&backlight>;
+        };
+    };
+
+    dsi1 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        secondary: panel@0 {
+            compatible = "sharp,lq101r1sx01";
+            reg = <0>;
+        };
+    };
+
+...