dt-bindings: display: mxsfb: Convert binding to YAML
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 15 Jan 2021 22:23:02 +0000 (00:23 +0200)
committerRob Herring <robh@kernel.org>
Fri, 22 Jan 2021 15:00:44 +0000 (09:00 -0600)
Convert the mxsfb binding to YAML. The deprecated binding is dropped, as
neither the DT sources nor the driver support it anymore. The converted
binding is named fsl,lcdif.yaml to match the usual bindings naming
scheme.

The compatible strings are messy, and DT sources use different kinds of
combination of documented and undocumented values. Keep it simple for
now, and update the example to make it valid. Aligning the binding with
the existing DT sources will be performed separately.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210115222304.5427-2-laurent.pinchart@ideasonboard.com
Documentation/devicetree/bindings/display/fsl,lcdif.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/display/mxsfb.txt [deleted file]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/display/fsl,lcdif.yaml b/Documentation/devicetree/bindings/display/fsl,lcdif.yaml
new file mode 100644 (file)
index 0000000..bbd47d8
--- /dev/null
@@ -0,0 +1,101 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/fsl,lcdif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale/NXP i.MX LCD Interface (LCDIF)
+
+maintainers:
+  - Marek Vasut <marex@denx.de>
+  - Stefan Agner <stefan@agner.ch>
+
+description: |
+  (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs.
+
+properties:
+  compatible:
+    enum:
+      - fsl,imx23-lcdif
+      - fsl,imx28-lcdif
+      - fsl,imx6sx-lcdif
+      - fsl,imx8mq-lcdif
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Pixel clock
+      - description: Bus clock
+      - description: Display AXI clock
+    minItems: 1
+
+  clock-names:
+    items:
+      - const: pix
+      - const: axi
+      - const: disp_axi
+    minItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  port:
+    $ref: /schemas/graph.yaml#/properties/port
+    description: The LCDIF output port
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - interrupts
+  - port
+
+additionalProperties: false
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx6sx-lcdif
+    then:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 3
+        clock-names:
+          minItems: 2
+          maxItems: 3
+      required:
+        - clock-names
+    else:
+      properties:
+        clocks:
+          maxItems: 1
+        clock-names:
+          maxItems: 1
+
+examples:
+  - |
+    #include <dt-bindings/clock/imx6sx-clock.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    display-controller@2220000 {
+        compatible = "fsl,imx6sx-lcdif";
+        reg = <0x02220000 0x4000>;
+        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
+                 <&clks IMX6SX_CLK_LCDIF_APB>,
+                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
+        clock-names = "pix", "axi", "disp_axi";
+
+        port {
+            endpoint {
+                remote-endpoint = <&panel_in>;
+            };
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/display/mxsfb.txt b/Documentation/devicetree/bindings/display/mxsfb.txt
deleted file mode 100644 (file)
index c985871..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-* Freescale MXS LCD Interface (LCDIF)
-
-New bindings:
-=============
-Required properties:
-- compatible:  Should be "fsl,imx23-lcdif" for i.MX23.
-               Should be "fsl,imx28-lcdif" for i.MX28.
-               Should be "fsl,imx6sx-lcdif" for i.MX6SX.
-               Should be "fsl,imx8mq-lcdif" for i.MX8MQ.
-- reg:         Address and length of the register set for LCDIF
-- interrupts:  Should contain LCDIF interrupt
-- clocks:      A list of phandle + clock-specifier pairs, one for each
-               entry in 'clock-names'.
-- clock-names: A list of clock names. For MXSFB it should contain:
-    - "pix" for the LCDIF block clock
-    - (MX6SX-only) "axi", "disp_axi" for the bus interface clock
-
-Required sub-nodes:
-  - port: The connection to an encoder chip.
-
-Example:
-
-       lcdif1: display-controller@2220000 {
-               compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
-               reg = <0x02220000 0x4000>;
-               interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
-                        <&clks IMX6SX_CLK_LCDIF_APB>,
-                        <&clks IMX6SX_CLK_DISPLAY_AXI>;
-               clock-names = "pix", "axi", "disp_axi";
-
-               port {
-                       parallel_out: endpoint {
-                               remote-endpoint = <&panel_in_parallel>;
-                       };
-               };
-       };
-
-Deprecated bindings:
-====================
-Required properties:
-- compatible:  Should be "fsl,imx23-lcdif" for i.MX23.
-               Should be "fsl,imx28-lcdif" for i.MX28.
-- reg:         Address and length of the register set for LCDIF
-- interrupts:  Should contain LCDIF interrupts
-- display:     phandle to display node (see below for details)
-
-* display node
-
-Required properties:
-- bits-per-pixel:      <16> for RGB565, <32> for RGB888/666.
-- bus-width:           number of data lines.  Could be <8>, <16>, <18> or <24>.
-
-Required sub-node:
-- display-timings:     Refer to binding doc display-timing.txt for details.
-
-Examples:
-
-lcdif@80030000 {
-       compatible = "fsl,imx28-lcdif";
-       reg = <0x80030000 2000>;
-       interrupts = <38 86>;
-
-       display: display {
-               bits-per-pixel = <32>;
-               bus-width = <24>;
-
-               display-timings {
-                       native-mode = <&timing0>;
-                       timing0: timing0 {
-                               clock-frequency = <33500000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hfront-porch = <164>;
-                               hback-porch = <89>;
-                               hsync-len = <10>;
-                               vback-porch = <23>;
-                               vfront-porch = <10>;
-                               vsync-len = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
-};
index d082757..9d241b8 100644 (file)
@@ -12180,7 +12180,7 @@ M:      Stefan Agner <stefan@agner.ch>
 L:     dri-devel@lists.freedesktop.org
 S:     Supported
 T:     git git://anongit.freedesktop.org/drm/drm-misc
-F:     Documentation/devicetree/bindings/display/mxsfb.txt
+F:     Documentation/devicetree/bindings/display/fsl,lcdif.yaml
 F:     drivers/gpu/drm/mxsfb/
 
 MYLEX DAC960 PCI RAID Controller