[PATCH v6] dt-bindings: display: panel: one file of all simple LVDS panels with dual ports
Rob Herring
robh at kernel.org
Wed Feb 10 18:33:06 UTC 2021
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: 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 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'.
> + 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