Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: display: Turn lvds.yaml into a generic schema

The lvds.yaml file so far was both defining the generic LVDS properties
(such as data-mapping) that could be used for any LVDS sink, but also
the panel-lvds binding.

That last binding was to describe LVDS panels simple enough, and had a
number of other bindings using it as a base to specialise it further.

However, this situation makes it fairly hard to extend and reuse both
the generic parts, and the panel-lvds itself.

Let's remove the panel-lvds parts and leave only the generic LVDS
properties.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220127143045.310199-1-maxime@cerno.tech

+95 -43
+1 -1
Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
··· 68 68 - vesa-24 69 69 description: | 70 70 The color signals mapping order. See details in 71 - Documentation/devicetree/bindings/display/panel/lvds.yaml 71 + Documentation/devicetree/bindings/display/lvds.yaml 72 72 73 73 port@1: 74 74 $ref: /schemas/graph.yaml#/properties/port
+17 -2
Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml
··· 11 11 - Thierry Reding <thierry.reding@gmail.com> 12 12 13 13 allOf: 14 - - $ref: lvds.yaml# 14 + - $ref: panel-common.yaml# 15 + - $ref: /schemas/display/lvds.yaml/# 16 + 17 + select: 18 + properties: 19 + compatible: 20 + contains: 21 + const: advantech,idk-1110wr 22 + 23 + required: 24 + - compatible 15 25 16 26 properties: 17 27 compatible: 18 28 items: 19 29 - const: advantech,idk-1110wr 20 - - {} # panel-lvds, but not listed here to avoid false select 30 + - const: panel-lvds 21 31 22 32 data-mapping: 23 33 const: jeida-24 ··· 45 35 46 36 required: 47 37 - compatible 38 + - data-mapping 39 + - width-mm 40 + - height-mm 41 + - panel-timing 42 + - port 48 43 49 44 examples: 50 45 - |+
+21 -2
Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml
··· 11 11 - Thierry Reding <thierry.reding@gmail.com> 12 12 13 13 allOf: 14 - - $ref: lvds.yaml# 14 + - $ref: panel-common.yaml# 15 + - $ref: /schemas/display/lvds.yaml/# 16 + 17 + select: 18 + properties: 19 + compatible: 20 + contains: 21 + const: innolux,ee101ia-01d 22 + 23 + required: 24 + - compatible 15 25 16 26 properties: 17 27 compatible: 18 28 items: 19 29 - const: innolux,ee101ia-01d 20 - - {} # panel-lvds, but not listed here to avoid false select 30 + - const: panel-lvds 21 31 22 32 backlight: true 33 + data-mapping: true 23 34 enable-gpios: true 24 35 power-supply: true 25 36 width-mm: true 26 37 height-mm: true 27 38 panel-timing: true 28 39 port: true 40 + 41 + required: 42 + - compatible 43 + - data-mapping 44 + - width-mm 45 + - height-mm 46 + - panel-timing 47 + - port 29 48 30 49 additionalProperties: false 31 50 ...
+4 -31
Documentation/devicetree/bindings/display/panel/lvds.yaml Documentation/devicetree/bindings/display/lvds.yaml
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 %YAML 1.2 3 3 --- 4 - $id: http://devicetree.org/schemas/display/panel/lvds.yaml# 4 + $id: http://devicetree.org/schemas/display/lvds.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 - title: LVDS Display Panel 7 + title: LVDS Display Common Properties 8 8 9 9 maintainers: 10 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> ··· 13 13 description: |+ 14 14 LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple 15 15 incompatible data link layers have been used over time to transmit image data 16 - to LVDS panels. This bindings supports display panels compatible with the 17 - following specifications. 16 + to LVDS devices. This bindings supports devices compatible with the following 17 + specifications. 18 18 19 19 [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February 20 20 1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA) ··· 26 26 Device compatible with those specifications have been marketed under the 27 27 FPD-Link and FlatLink brands. 28 28 29 - allOf: 30 - - $ref: panel-common.yaml# 31 - 32 29 properties: 33 - compatible: 34 - contains: 35 - const: panel-lvds 36 - description: 37 - Shall contain "panel-lvds" in addition to a mandatory panel-specific 38 - compatible string defined in individual panel bindings. The "panel-lvds" 39 - value shall never be used on its own. 40 - 41 30 data-mapping: 42 31 enum: 43 32 - jeida-18 ··· 84 95 description: 85 96 If set, reverse the bit order described in the data mappings below on all 86 97 data lanes, transmitting bits for slots 6 to 0 instead of 0 to 6. 87 - 88 - port: true 89 - ports: true 90 - 91 - required: 92 - - compatible 93 - - data-mapping 94 - - width-mm 95 - - height-mm 96 - - panel-timing 97 - 98 - oneOf: 99 - - required: 100 - - port 101 - - required: 102 - - ports 103 98 104 99 additionalProperties: true 105 100
+17 -2
Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml
··· 11 11 - Thierry Reding <thierry.reding@gmail.com> 12 12 13 13 allOf: 14 - - $ref: lvds.yaml# 14 + - $ref: panel-common.yaml# 15 + - $ref: /schemas/display/lvds.yaml/# 16 + 17 + select: 18 + properties: 19 + compatible: 20 + contains: 21 + const: mitsubishi,aa104xd12 22 + 23 + required: 24 + - compatible 15 25 16 26 properties: 17 27 compatible: 18 28 items: 19 29 - const: mitsubishi,aa104xd12 20 - - {} # panel-lvds, but not listed here to avoid false select 30 + - const: panel-lvds 21 31 22 32 vcc-supply: 23 33 description: Reference to the regulator powering the panel VCC pins. ··· 49 39 required: 50 40 - compatible 51 41 - vcc-supply 42 + - data-mapping 43 + - width-mm 44 + - height-mm 45 + - panel-timing 46 + - port 52 47 53 48 examples: 54 49 - |+
+17 -2
Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml
··· 11 11 - Thierry Reding <thierry.reding@gmail.com> 12 12 13 13 allOf: 14 - - $ref: lvds.yaml# 14 + - $ref: panel-common.yaml# 15 + - $ref: /schemas/display/lvds.yaml/# 16 + 17 + select: 18 + properties: 19 + compatible: 20 + contains: 21 + const: mitsubishi,aa121td01 22 + 23 + required: 24 + - compatible 15 25 16 26 properties: 17 27 compatible: 18 28 items: 19 29 - const: mitsubishi,aa121td01 20 - - {} # panel-lvds, but not listed here to avoid false select 30 + - const: panel-lvds 21 31 22 32 vcc-supply: 23 33 description: Reference to the regulator powering the panel VCC pins. ··· 49 39 required: 50 40 - compatible 51 41 - vcc-supply 42 + - data-mapping 43 + - width-mm 44 + - height-mm 45 + - panel-timing 46 + - port 52 47 53 48 examples: 54 49 - |+
+17 -2
Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml
··· 11 11 - Thierry Reding <thierry.reding@gmail.com> 12 12 13 13 allOf: 14 - - $ref: lvds.yaml# 14 + - $ref: panel-common.yaml# 15 + - $ref: /schemas/display/lvds.yaml/# 16 + 17 + select: 18 + properties: 19 + compatible: 20 + contains: 21 + const: sgd,gktw70sdae4se 22 + 23 + required: 24 + - compatible 15 25 16 26 properties: 17 27 compatible: 18 28 items: 19 29 - const: sgd,gktw70sdae4se 20 - - {} # panel-lvds, but not listed here to avoid false select 30 + - const: panel-lvds 21 31 22 32 data-mapping: 23 33 const: jeida-18 ··· 45 35 46 36 required: 47 37 - compatible 38 + - port 39 + - data-mapping 40 + - width-mm 41 + - height-mm 42 + - panel-timing 48 43 49 44 examples: 50 45 - |+
+1 -1
MAINTAINERS
··· 6018 6018 T: git git://anongit.freedesktop.org/drm/drm-misc 6019 6019 S: Maintained 6020 6020 F: drivers/gpu/drm/panel/panel-lvds.c 6021 - F: Documentation/devicetree/bindings/display/panel/lvds.yaml 6021 + F: Documentation/devicetree/bindings/display/lvds.yaml 6022 6022 6023 6023 DRM DRIVER FOR MANTIX MLAF057WE51 PANELS 6024 6024 M: Guido Günther <agx@sigxcpu.org>