[PATCH v6] dt-bindings: display: panel: one file of all simple LVDS panels with dual ports

Liu Ying victor.liu at nxp.com
Thu Feb 11 03:26:23 UTC 2021


On Wed, 2021-02-10 at 12:33 -0600, Rob Herring wrote:
> On Tue, Feb 09, 2021 at 10:13:12PM +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 'ports' property
> > is required
> > 
> > Suggested-by: Sam Ravnborg <sam at ravnborg.org>
> > Cc: Thierry Reding <thierry.reding at gmail.com>
> > Cc: Sam Ravnborg <sam at ravnborg.org>
> > Cc: David Airlie <airlied at linux.ie>
> > Cc: Daniel Vetter <daniel at ffwll.ch>
> > Cc: Rob Herring <robh+dt at kernel.org>
> > Cc: Lucas Stach <l.stach at pengutronix.de>
> > Cc: Sebastian Reichel <sebastian.reichel at collabora.com>
> > Signed-off-by: Liu Ying <victor.liu at nxp.com>
> > ---
> > v5->v6:
> > * Use OF graph schema.
> > * Drop Rob's R-b tag, as review is needed.
> > 
> > v4->v5:
> > * Require the 'ports' property and update commit message
> > accordingly. (Rob)
> > * Add Rob's R-b tag.
> > 
> > v3->v4:
> > * Add type and descriptions for dual-lvds-{odd,even}-pixels
> > properties.
> >   Also, update descriptions for port at 0 and port at 1 properties
> > accordingly. (Rob)
> > 
> > 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        | 116
> > +++++++++++++++++++++
> >  .../bindings/display/panel/panel-simple.yaml       |  10 --
> >  2 files changed, 116 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..274e89b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-
> > lvds-dual-ports.yaml
> > @@ -0,0 +1,116 @@
> > +# 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%7Cd255a9cc049846308d6b08d8cdf2512f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637485787944104318%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=SNybiPncmGZYrzg75Iwz5gLUJB4MzfO5S2817nadjRs%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%7Cd255a9cc049846308d6b08d8cdf2512f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637485787944104318%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vfg7J99O8M6KyOMIW%2BvhZjZGe9ilJ8c7hZIUcqUXdIo%3D&reserved=0
> > +
> > +title: Simple LVDS panels with one power supply and dual LVDS
> > ports
> > +
> > +maintainers:
> > +  - Liu Ying <victor.liu at nxp.com>
> > +  - Thierry Reding <thierry.reding at gmail.com>
> > +  - Sam Ravnborg <sam at ravnborg.org>
> > +
> > +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:
> > +    $ref: /schemas/graph.yaml#/properties/ports
> > +
> > +    properties:
> > +      port at 0:
> > +        $ref: /schemas/graph.yaml#/properties/port
> 
> If you have any extra properties as you do, then you use 
> '#/$defs/port-base'.

Ok, will do. Thanks.

Liu Ying

> 
> > +        description: The first sink port.
> > +
> > +        properties:
> > +          dual-lvds-odd-pixels:
> > +            type: boolean
> > +            description: The first sink port for odd pixels.
> > +
> > +        required:
> > +          - dual-lvds-odd-pixels
> > +
> > +      port at 1:
> > +        $ref: /schemas/graph.yaml#/properties/port
> > +        description: The second sink port.
> > +
> > +        properties:
> > +          dual-lvds-even-pixels:
> > +            type: boolean
> > +            description: The second sink port for even pixels.
> > +
> > +        required:
> > +          - dual-lvds-even-pixels
> > +
> > +    required:
> > +      - port at 0
> > +      - port at 1
> > +
> > +  backlight: true
> > +  enable-gpios: true
> > +  power-supply: true
> > +
> > +additionalProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - ports
> > +  - power-supply
> > +
> > +examples:
> > +  - |
> > +    panel: panel-lvds {
> > +      compatible = "koe,tx26d202vm0bwa";
> > +      power-supply = <&vdd_lcd_reg>;
> > +
> > +      ports {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        port at 0 {
> > +          dual-lvds-odd-pixels;
> > +          reg = <0>;
> > +
> > +          panel_lvds0_in: endpoint {
> > +            remote-endpoint = <&lvds0_out>;
> > +          };
> > +        };
> > +
> > +        port at 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 35b42ee..e7718d2 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
> > @@ -171,8 +165,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
> > @@ -209,8 +201,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
> > 



More information about the dri-devel mailing list