Message ID | 1612879992-5908-1-git-send-email-victor.liu@nxp.com |
---|---|
State | Accepted |
Commit | 482b9626b95c4f8e5f7f3a9054b496eec4edc8fe |
Headers | show |
Series | [v6] dt-bindings: display: panel: one file of all simple LVDS panels with dual ports | expand |
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@ravnborg.org> > > Cc: Thierry Reding <thierry.reding@gmail.com> > > Cc: Sam Ravnborg <sam@ravnborg.org> > > Cc: David Airlie <airlied@linux.ie> > > Cc: Daniel Vetter <daniel@ffwll.ch> > > Cc: Rob Herring <robh+dt@kernel.org> > > Cc: Lucas Stach <l.stach@pengutronix.de> > > Cc: Sebastian Reichel <sebastian.reichel@collabora.com> > > Signed-off-by: Liu Ying <victor.liu@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@0 and port@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@nxp.com> > > + - Thierry Reding <thierry.reding@gmail.com> > > + - Sam Ravnborg <sam@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@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@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@0 > > + - port@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@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 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 > >
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: http://devicetree.org/schemas/display/panel/panel-simple-lvds-dual-ports.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Simple LVDS panels with one power supply and dual LVDS ports + +maintainers: + - Liu Ying <victor.liu@nxp.com> + - Thierry Reding <thierry.reding@gmail.com> + - Sam Ravnborg <sam@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@0: + $ref: /schemas/graph.yaml#/properties/port + 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@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@0 + - port@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@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 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
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@ravnborg.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Rob Herring <robh+dt@kernel.org> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Liu Ying <victor.liu@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@0 and port@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