Message ID | 1565867073-24746-2-git-send-email-fabrizio.castro@bp.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Kieran Bingham |
Headers | show |
Series | Add dual-LVDS panel support to EK874 | expand |
Hi Fabrizio, On Thu, Aug 15, 2019 at 12:04:25PM +0100, Fabrizio Castro wrote: > Dual-link LVDS displays have two ports, therefore document this > with the bindings. > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > --- > v1->v2: > * Reworked the description of the ports property > * lvds0_panel_in in the example has been renamed to panel_in0 > * lvds1_panel_in in the example has been renamed to panel_in1 > > Laurent, > > in linux-next they are now working with: > Documentation/devicetree/bindings/display/panel/lvds.yaml Documentation/devicetree/bindings/display/panel/lvds.yaml is in drm-misc-next, so I would advise rebasing on top of that. > What should I do here? > > .../bindings/display/panel/panel-lvds.txt | 95 ++++++++++++++++------ > 1 file changed, 71 insertions(+), 24 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.txt b/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > index 250850a..5231243 100644 > --- a/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > +++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > @@ -41,7 +41,12 @@ Required nodes: > > - panel-timing: See panel-common.txt. > - ports: See panel-common.txt. These bindings require a single port subnode > - corresponding to the panel LVDS input. > + (for a single link panel) corresponding to the panel LVDS input, or two port > + subnodes (for a dual link panel) corresponding to the panel LVDS inputs. > + Dual-link LVDS panels expect even pixels (0, 2, 4, etc.) and odd pixels (1, 3, > + 5, etc.) on different input ports, it's up to the panel-specific bindings to > + specify what port is expecting even pixels, and what port is expecting odd > + pixels. > > > LVDS data mappings are defined as follows. > @@ -92,30 +97,72 @@ CTL3: 0 > Example > ------- > > -panel { > - compatible = "mitsubishi,aa121td01", "panel-lvds"; > - > - width-mm = <261>; > - height-mm = <163>; > - > - data-mapping = "jeida-24"; > - > - panel-timing { > - /* 1280x800 @60Hz */ > - clock-frequency = <71000000>; > - hactive = <1280>; > - vactive = <800>; > - hsync-len = <70>; > - hfront-porch = <20>; > - hback-porch = <70>; > - vsync-len = <5>; > - vfront-porch = <3>; > - vback-porch = <15>; > +Single port: > + panel { > + compatible = "mitsubishi,aa121td01", "panel-lvds"; > + > + width-mm = <261>; > + height-mm = <163>; > + > + data-mapping = "jeida-24"; > + > + panel-timing { > + /* 1280x800 @60Hz */ > + clock-frequency = <71000000>; > + hactive = <1280>; > + vactive = <800>; > + hsync-len = <70>; > + hfront-porch = <20>; > + hback-porch = <70>; > + vsync-len = <5>; > + vfront-porch = <3>; > + vback-porch = <15>; > + }; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&lvds_encoder>; > + }; > + }; > }; > > - port { > - panel_in: endpoint { > - remote-endpoint = <&lvds_encoder>; > +Two ports: > + panel { > + compatible = "advantech,idk-2121wr", "panel-lvds"; > + > + width-mm = <476>; > + height-mm = <268>; > + > + data-mapping = "vesa-24"; > + > + panel-timing { > + clock-frequency = <148500000>; > + hactive = <1920>; > + vactive = <1080>; > + hsync-len = <44>; > + hfront-porch = <88>; > + hback-porch = <148>; > + vfront-porch = <4>; > + vback-porch = <36>; > + vsync-len = <5>; > + }; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + panel_in0: endpoint { > + remote-endpoint = <&lvds0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + panel_in1: endpoint { > + remote-endpoint = <&lvds1_out>; > + }; > + }; > }; > }; > -};
Hi Laurent, Thank you for your feedback! > From: linux-kernel-owner@vger.kernel.org <linux-kernel-owner@vger.kernel.org> On Behalf Of Laurent Pinchart > Sent: 15 August 2019 12:45 > Subject: Re: [PATCH v2 1/9] dt-bindings: panel: lvds: Add dual-link LVDS display support > > Hi Fabrizio, > > On Thu, Aug 15, 2019 at 12:04:25PM +0100, Fabrizio Castro wrote: > > Dual-link LVDS displays have two ports, therefore document this > > with the bindings. > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > > --- > > v1->v2: > > * Reworked the description of the ports property > > * lvds0_panel_in in the example has been renamed to panel_in0 > > * lvds1_panel_in in the example has been renamed to panel_in1 > > > > Laurent, > > > > in linux-next they are now working with: > > Documentation/devicetree/bindings/display/panel/lvds.yaml > > Documentation/devicetree/bindings/display/panel/lvds.yaml is in > drm-misc-next, so I would advise rebasing on top of that. Will do. Thanks, Fab > > > What should I do here? > > > > .../bindings/display/panel/panel-lvds.txt | 95 ++++++++++++++++------ > > 1 file changed, 71 insertions(+), 24 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > b/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > > index 250850a..5231243 100644 > > --- a/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > > +++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.txt > > @@ -41,7 +41,12 @@ Required nodes: > > > > - panel-timing: See panel-common.txt. > > - ports: See panel-common.txt. These bindings require a single port subnode > > - corresponding to the panel LVDS input. > > + (for a single link panel) corresponding to the panel LVDS input, or two port > > + subnodes (for a dual link panel) corresponding to the panel LVDS inputs. > > + Dual-link LVDS panels expect even pixels (0, 2, 4, etc.) and odd pixels (1, 3, > > + 5, etc.) on different input ports, it's up to the panel-specific bindings to > > + specify what port is expecting even pixels, and what port is expecting odd > > + pixels. > > > > > > LVDS data mappings are defined as follows. > > @@ -92,30 +97,72 @@ CTL3: 0 > > Example > > ------- > > > > -panel { > > - compatible = "mitsubishi,aa121td01", "panel-lvds"; > > - > > - width-mm = <261>; > > - height-mm = <163>; > > - > > - data-mapping = "jeida-24"; > > - > > - panel-timing { > > - /* 1280x800 @60Hz */ > > - clock-frequency = <71000000>; > > - hactive = <1280>; > > - vactive = <800>; > > - hsync-len = <70>; > > - hfront-porch = <20>; > > - hback-porch = <70>; > > - vsync-len = <5>; > > - vfront-porch = <3>; > > - vback-porch = <15>; > > +Single port: > > + panel { > > + compatible = "mitsubishi,aa121td01", "panel-lvds"; > > + > > + width-mm = <261>; > > + height-mm = <163>; > > + > > + data-mapping = "jeida-24"; > > + > > + panel-timing { > > + /* 1280x800 @60Hz */ > > + clock-frequency = <71000000>; > > + hactive = <1280>; > > + vactive = <800>; > > + hsync-len = <70>; > > + hfront-porch = <20>; > > + hback-porch = <70>; > > + vsync-len = <5>; > > + vfront-porch = <3>; > > + vback-porch = <15>; > > + }; > > + > > + port { > > + panel_in: endpoint { > > + remote-endpoint = <&lvds_encoder>; > > + }; > > + }; > > }; > > > > - port { > > - panel_in: endpoint { > > - remote-endpoint = <&lvds_encoder>; > > +Two ports: > > + panel { > > + compatible = "advantech,idk-2121wr", "panel-lvds"; > > + > > + width-mm = <476>; > > + height-mm = <268>; > > + > > + data-mapping = "vesa-24"; > > + > > + panel-timing { > > + clock-frequency = <148500000>; > > + hactive = <1920>; > > + vactive = <1080>; > > + hsync-len = <44>; > > + hfront-porch = <88>; > > + hback-porch = <148>; > > + vfront-porch = <4>; > > + vback-porch = <36>; > > + vsync-len = <5>; > > + }; > > + > > + ports { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + port@0 { > > + reg = <0>; > > + panel_in0: endpoint { > > + remote-endpoint = <&lvds0_out>; > > + }; > > + }; > > + > > + port@1 { > > + reg = <1>; > > + panel_in1: endpoint { > > + remote-endpoint = <&lvds1_out>; > > + }; > > + }; > > }; > > }; > > -}; > > -- > Regards, > > Laurent Pinchart
diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.txt b/Documentation/devicetree/bindings/display/panel/panel-lvds.txt index 250850a..5231243 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-lvds.txt +++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.txt @@ -41,7 +41,12 @@ Required nodes: - panel-timing: See panel-common.txt. - ports: See panel-common.txt. These bindings require a single port subnode - corresponding to the panel LVDS input. + (for a single link panel) corresponding to the panel LVDS input, or two port + subnodes (for a dual link panel) corresponding to the panel LVDS inputs. + Dual-link LVDS panels expect even pixels (0, 2, 4, etc.) and odd pixels (1, 3, + 5, etc.) on different input ports, it's up to the panel-specific bindings to + specify what port is expecting even pixels, and what port is expecting odd + pixels. LVDS data mappings are defined as follows. @@ -92,30 +97,72 @@ CTL3: 0 Example ------- -panel { - compatible = "mitsubishi,aa121td01", "panel-lvds"; - - width-mm = <261>; - height-mm = <163>; - - data-mapping = "jeida-24"; - - panel-timing { - /* 1280x800 @60Hz */ - clock-frequency = <71000000>; - hactive = <1280>; - vactive = <800>; - hsync-len = <70>; - hfront-porch = <20>; - hback-porch = <70>; - vsync-len = <5>; - vfront-porch = <3>; - vback-porch = <15>; +Single port: + panel { + compatible = "mitsubishi,aa121td01", "panel-lvds"; + + width-mm = <261>; + height-mm = <163>; + + data-mapping = "jeida-24"; + + panel-timing { + /* 1280x800 @60Hz */ + clock-frequency = <71000000>; + hactive = <1280>; + vactive = <800>; + hsync-len = <70>; + hfront-porch = <20>; + hback-porch = <70>; + vsync-len = <5>; + vfront-porch = <3>; + vback-porch = <15>; + }; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds_encoder>; + }; + }; }; - port { - panel_in: endpoint { - remote-endpoint = <&lvds_encoder>; +Two ports: + panel { + compatible = "advantech,idk-2121wr", "panel-lvds"; + + width-mm = <476>; + height-mm = <268>; + + data-mapping = "vesa-24"; + + panel-timing { + clock-frequency = <148500000>; + hactive = <1920>; + vactive = <1080>; + hsync-len = <44>; + hfront-porch = <88>; + hback-porch = <148>; + vfront-porch = <4>; + vback-porch = <36>; + vsync-len = <5>; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + panel_in0: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port@1 { + reg = <1>; + panel_in1: endpoint { + remote-endpoint = <&lvds1_out>; + }; + }; }; }; -};
Dual-link LVDS displays have two ports, therefore document this with the bindings. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> --- v1->v2: * Reworked the description of the ports property * lvds0_panel_in in the example has been renamed to panel_in0 * lvds1_panel_in in the example has been renamed to panel_in1 Laurent, in linux-next they are now working with: Documentation/devicetree/bindings/display/panel/lvds.yaml What should I do here? Thanks, Fab .../bindings/display/panel/panel-lvds.txt | 95 ++++++++++++++++------ 1 file changed, 71 insertions(+), 24 deletions(-)