Message ID | 1576590361-28244-6-git-send-email-fabrizio.castro@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Kieran Bingham |
Headers | show |
Series | Add dual-LVDS panel support to EK874 | expand |
On Tue, Dec 17, 2019 at 01:46:00PM +0000, Fabrizio Castro wrote: > Add binding for the idk-2121wr LVDS panel from Advantech. > > Some panel-specific documentation can be found here: > https://buy.advantech.eu/Displays/Embedded-LCD-Kits-High-Brightness/model-IDK-2121WR-K2FHA2E.htm > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > v5->v6: > * No change > > v4->v5: > * No change > > v3->v4: > * Absorbed patch "dt-bindings: display: Add bindings for LVDS > bus-timings" > * Big restructuring after Rob's and Laurent's comments > > v2->v3: > * New patch > --- > .../display/panel/advantech,idk-2121wr.yaml | 128 +++++++++++++++++++++ > 1 file changed, 128 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > > diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > new file mode 100644 > index 0000000..24cd38b > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > @@ -0,0 +1,128 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/panel/advantech,idk-2121wr.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Advantech IDK-2121WR 21.5" Full-HD dual-LVDS panel > + > +maintainers: > + - Fabrizio Castro <fabrizio.castro@bp.renesas.com> > + - Thierry Reding <thierry.reding@gmail.com> > + > +description: | > + The IDK-2121WR from Advantech is a Full-HD dual-LVDS panel. > + A dual-LVDS interface is a dual-link connection with even pixels traveling > + on one link, and with odd pixels traveling on the other link. > + > + The panel expects odd pixels on the first port, and even pixels on the > + second port, therefore the ports must be marked accordingly (with either > + dual-lvds-odd-pixels or dual-lvds-even-pixels). > + Needs to reference lvds.yaml here. > +properties: > + compatible: > + items: > + - const: advantech,idk-2121wr > + - {} # panel-lvds, but not listed here to avoid false select > + > + width-mm: > + const: 476 > + > + height-mm: > + const: 268 > + > + data-mapping: > + const: vesa-24 > + > + ports: > + type: object > + properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 No need for these 2. Can assume they are defined in common binding. > + > + port@0: > + type: object > + description: The sink for odd pixels. > + properties: > + reg: > + const: 0 > + > + dual-lvds-odd-pixels: true > + > + required: > + - reg > + - dual-lvds-odd-pixels > + > + port@1: > + type: object > + description: The sink for even pixels. > + properties: > + reg: > + const: 1 > + > + dual-lvds-even-pixels: true > + > + required: > + - reg > + - dual-lvds-even-pixels port@0 and port@1 both required? > + > + panel-timing: true > + > +additionalProperties: false > + > +required: > + - compatible > + - width-mm > + - height-mm > + - data-mapping > + - panel-timing > + - ports No need to repeat what's required by lvds.yaml. > + > +examples: > + - |+ > + panel-lvds { > + 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>; > + dual-lvds-odd-pixels; > + panel_in0: endpoint { > + remote-endpoint = <&lvds0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + dual-lvds-even-pixels; > + panel_in1: endpoint { > + remote-endpoint = <&lvds1_out>; > + }; > + }; > + }; > + }; > + > +... > -- > 2.7.4 >
On Tue, Dec 17, 2019 at 01:46:00PM +0000, Fabrizio Castro wrote: > Add binding for the idk-2121wr LVDS panel from Advantech. > > Some panel-specific documentation can be found here: > https://buy.advantech.eu/Displays/Embedded-LCD-Kits-High-Brightness/model-IDK-2121WR-K2FHA2E.htm > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > v5->v6: > * No change > > v4->v5: > * No change > > v3->v4: > * Absorbed patch "dt-bindings: display: Add bindings for LVDS > bus-timings" > * Big restructuring after Rob's and Laurent's comments > > v2->v3: > * New patch > --- > .../display/panel/advantech,idk-2121wr.yaml | 128 +++++++++++++++++++++ > 1 file changed, 128 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > > diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > new file mode 100644 > index 0000000..24cd38b > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > @@ -0,0 +1,128 @@ > +# SPDX-License-Identifier: GPL-2.0 Also, dual license new bindings: (GPL-2.0-only OR BSD-2-Clause)
diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml new file mode 100644 index 0000000..24cd38b --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml @@ -0,0 +1,128 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/advantech,idk-2121wr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Advantech IDK-2121WR 21.5" Full-HD dual-LVDS panel + +maintainers: + - Fabrizio Castro <fabrizio.castro@bp.renesas.com> + - Thierry Reding <thierry.reding@gmail.com> + +description: | + The IDK-2121WR from Advantech is a Full-HD dual-LVDS panel. + A dual-LVDS interface is a dual-link connection with even pixels traveling + on one link, and with odd pixels traveling on the other link. + + The panel expects odd pixels on the first port, and even pixels on the + second port, therefore the ports must be marked accordingly (with either + dual-lvds-odd-pixels or dual-lvds-even-pixels). + +properties: + compatible: + items: + - const: advantech,idk-2121wr + - {} # panel-lvds, but not listed here to avoid false select + + width-mm: + const: 476 + + height-mm: + const: 268 + + data-mapping: + const: vesa-24 + + ports: + type: object + properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + port@0: + type: object + description: The sink for odd pixels. + properties: + reg: + const: 0 + + dual-lvds-odd-pixels: true + + required: + - reg + - dual-lvds-odd-pixels + + port@1: + type: object + description: The sink for even pixels. + properties: + reg: + const: 1 + + dual-lvds-even-pixels: true + + required: + - reg + - dual-lvds-even-pixels + + panel-timing: true + +additionalProperties: false + +required: + - compatible + - width-mm + - height-mm + - data-mapping + - panel-timing + - ports + +examples: + - |+ + panel-lvds { + 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>; + dual-lvds-odd-pixels; + panel_in0: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port@1 { + reg = <1>; + dual-lvds-even-pixels; + panel_in1: endpoint { + remote-endpoint = <&lvds1_out>; + }; + }; + }; + }; + +...