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@xxxxxxxxxxxx> > Cc: Rob Herring <robh@xxxxxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > --- > .../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@xxxxxxxxxx> > + > +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@xxxxxxxxxx> > + #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 >