On Mon, 2020-11-16 at 13:23 -0600, Rob Herring wrote: > On Thu, Nov 12, 2020 at 02:17:11PM +0800, Liu Ying wrote: > > To complement panel-simple.yaml, create panel-simple-lvds-dual- > > ports.yaml. > > panel-simple-lvds-dual-ports.yaml is for all simple LVDS panels > > that > > have dual LVDS ports and require only a single power-supply. > > The first port receives odd pixels, and the second port receives > > even pixels. > > Optionally, a backlight and an enable GPIO can be specified as > > properties. > > > > Panels with swapped pixel order, if any, need dedicated bindings. > > > > Migrate 'auo,g133han01', 'auo,g185han01', 'auo,g190ean01', > > 'koe,tx26d202vm0bwa' and 'nlt,nl192108ac18-02d' over to the new > > file. > > > > The objectives with one file for all the simple LVDS panels with > > dual ports are: > > - Make it simpler to add bindings for this kind of LVDS panels > > - Keep the number of bindings file lower > > - Keep the binding documentation for this kind of LVDS panels more > > consistent > > - Make it possible for drivers to get pixel order via > > drm_of_lvds_get_dual_link_pixel_order(), as the optional 'ports' > > property is > > allowed > > > > Suggested-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > > Cc: David Airlie <airlied@xxxxxxxx> > > Cc: Daniel Vetter <daniel@xxxxxxxx> > > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > > Cc: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> > > Signed-off-by: Liu Ying <victor.liu@xxxxxxx> > > --- > > v2->v3: > > * Do not allow 'port' property. (Rob) > > * Define port number. (Rob) > > * Specify 'dual-lvds-odd-pixels' and 'dual-lvds-even-pixels' > > properties. (Rob) > > > > v1->v2: > > * Correct pixel order in example LVDS panel node. > > > > .../panel/panel-simple-lvds-dual-ports.yaml | 126 > > +++++++++++++++++++++ > > .../bindings/display/panel/panel-simple.yaml | 10 -- > > 2 files changed, 126 insertions(+), 10 deletions(-) > > create mode 100644 > > Documentation/devicetree/bindings/display/panel/panel-simple-lvds- > > dual-ports.yaml > > > > diff --git a/Documentation/devicetree/bindings/display/panel/panel- > > simple-lvds-dual-ports.yaml > > b/Documentation/devicetree/bindings/display/panel/panel-simple- > > lvds-dual-ports.yaml > > new file mode 100644 > > index 00000000..d30ae82 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple- > > lvds-dual-ports.yaml > > @@ -0,0 +1,126 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetree.org%2Fschemas%2Fdisplay%2Fpanel%2Fpanel-simple-lvds-dual-ports.yaml%23&data=04%7C01%7Cvictor.liu%40nxp.com%7Ce8617e47af5e4d939a3708d88a652499%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637411514310871830%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2F5Jad81MpVVoRLGbEGAka5S4walK1UpsE8y6PGsgLiw%3D&reserved=0 > > +$schema: > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetree.org%2Fmeta-schemas%2Fcore.yaml%23&data=04%7C01%7Cvictor.liu%40nxp.com%7Ce8617e47af5e4d939a3708d88a652499%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637411514310871830%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3maA8Yc%2FoDzjSY2njq0bkM6%2FFo4J%2BFv0bEH4IbknM1w%3D&reserved=0 > > + > > +title: Simple LVDS panels with one power supply and dual LVDS > > ports > > + > > +maintainers: > > + - Liu Ying <victor.liu@xxxxxxx> > > + - Thierry Reding <thierry.reding@xxxxxxxxx> > > + - Sam Ravnborg <sam@xxxxxxxxxxxx> > > + > > +description: | > > + This binding file is a collection of the LVDS panels that > > + has dual LVDS ports and requires only a single power-supply. > > + The first port receives odd pixels, and the second port receives > > even pixels. > > + There are optionally a backlight and an enable GPIO. > > + The panel may use an OF graph binding for the association to the > > display, > > + or it may be a direct child node of the display. > > + > > + If the panel is more advanced a dedicated binding file is > > required. > > + > > +allOf: > > + - $ref: panel-common.yaml# > > + > > +properties: > > + > > + compatible: > > + enum: > > + # compatible must be listed in alphabetical order, ordered by > > compatible. > > + # The description in the comment is mandatory for each > > compatible. > > + > > + # AU Optronics Corporation 13.3" FHD (1920x1080) TFT LCD > > panel > > + - auo,g133han01 > > + # AU Optronics Corporation 18.5" FHD (1920x1080) TFT LCD > > panel > > + - auo,g185han01 > > + # AU Optronics Corporation 19.0" (1280x1024) TFT LCD panel > > + - auo,g190ean01 > > + # Kaohsiung Opto-Electronics Inc. 10.1" WUXGA (1920 x > > 1200) LVDS TFT LCD panel > > + - koe,tx26d202vm0bwa > > + # NLT Technologies, Ltd. 15.6" FHD (1920x1080) LVDS TFT > > LCD panel > > + - nlt,nl192108ac18-02d > > + > > + 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 > > Needs a type and description. Will do in v4. > > > + > > + 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 > > Needs a type and description. Ditto. > > > + > > + required: > > + - reg > > + - dual-lvds-even-pixels > > + > > + required: > > + - "#address-cells" > > + - "#size-cells" > > + - port@0 > > + - port@1 > > + > > + additionalProperties: false > > + > > + backlight: true > > + enable-gpios: true > > + power-supply: true > > + > > +additionalProperties: false > > + > > +required: > > + - compatible > > + - power-supply > > + > > +examples: > > + - | > > + panel: panel-lvds { > > + compatible = "koe,tx26d202vm0bwa"; > > + power-supply = <&vdd_lcd_reg>; > > + > > + ports { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + port@0 { > > + dual-lvds-odd-pixels; > > + reg = <0>; > > + > > + panel_lvds0_in: endpoint { > > + remote-endpoint = <&lvds0_out>; > > + }; > > + }; > > + > > + port@1 { > > + dual-lvds-even-pixels; > > + reg = <1>; > > + > > + panel_lvds1_in: endpoint { > > + remote-endpoint = <&lvds1_out>; > > + }; > > + }; > > + }; > > + }; > > diff --git a/Documentation/devicetree/bindings/display/panel/panel- > > simple.yaml > > b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > > index f9750b0..62618e4 100644 > > --- a/Documentation/devicetree/bindings/display/panel/panel- > > simple.yaml > > +++ b/Documentation/devicetree/bindings/display/panel/panel- > > simple.yaml > > @@ -57,14 +57,8 @@ properties: > > - auo,g104sn02 > > # AU Optronics Corporation 12.1" (1280x800) TFT LCD panel > > - auo,g121ean01 > > - # AU Optronics Corporation 13.3" FHD (1920x1080) TFT LCD > > panel > > - - auo,g133han01 > > # AU Optronics Corporation 15.6" (1366x768) TFT LCD panel > > - auo,g156xtn01 > > - # AU Optronics Corporation 18.5" FHD (1920x1080) TFT LCD > > panel > > - - auo,g185han01 > > - # AU Optronics Corporation 19.0" (1280x1024) TFT LCD panel > > - - auo,g190ean01 > > # AU Optronics Corporation 31.5" FHD (1920x1080) TFT LCD > > panel > > - auo,p320hvn03 > > # AU Optronics Corporation 21.5" FHD (1920x1080) color TFT > > LCD panel > > @@ -167,8 +161,6 @@ properties: > > - kingdisplay,kd116n21-30nv-a010 > > # Kaohsiung Opto-Electronics Inc. 5.7" QVGA (320 x 240) > > TFT LCD panel > > - koe,tx14d24vm1bpa > > - # Kaohsiung Opto-Electronics Inc. 10.1" WUXGA (1920 x > > 1200) LVDS TFT LCD panel > > - - koe,tx26d202vm0bwa > > # Kaohsiung Opto-Electronics. TX31D200VM0BAA 12.3" HSXGA > > LVDS panel > > - koe,tx31d200vm0baa > > # Kyocera Corporation 12.1" XGA (1024x768) TFT LCD panel > > @@ -205,8 +197,6 @@ properties: > > - neweast,wjfh116008a > > # Newhaven Display International 480 x 272 TFT LCD panel > > - newhaven,nhd-4.3-480272ef-atxl > > - # NLT Technologies, Ltd. 15.6" FHD (1920x1080) LVDS TFT > > LCD panel > > - - nlt,nl192108ac18-02d > > # New Vision Display 7.0" 800 RGB x 480 TFT LCD panel > > - nvd,9128 > > # OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD > > panel > > -- > > 2.7.4 > > -- Liu Ying