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 <s...@ravnborg.org>
> Cc: Rob Herring <r...@kernel.org>
> Cc: Thierry Reding <thierry.red...@gmail.com>
> Cc: Sam Ravnborg <s...@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 <tred...@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 <r...@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
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to