All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/12] dt-bindings: display: Convert ingenic,lcd.txt to YAML
@ 2020-05-16 21:50 ` Paul Cercueil
  0 siblings, 0 replies; 48+ messages in thread
From: Paul Cercueil @ 2020-05-16 21:50 UTC (permalink / raw)
  To: David Airlie, Daniel Vetter, Rob Herring, Greg Kroah-Hartman,
	Rafael J . Wysocki
  Cc: od, dri-devel, devicetree, linux-kernel, Paul Cercueil

Convert the ingenic,lcd.txt to a new ingenic,lcd.yaml file.

In the process, the new ingenic,jz4780-lcd compatible string has been
added.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---

Notes:
    This patch comes from a different patchset so it's effectively a V2.
    
    Changes were:
    - lcd_pclk and lcd clocks are in the correct order now,
    - Add 'port' and 'ports' properties, and document the valid ports.

 .../bindings/display/ingenic,lcd.txt          |  45 -------
 .../bindings/display/ingenic,lcd.yaml         | 126 ++++++++++++++++++
 2 files changed, 126 insertions(+), 45 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/display/ingenic,lcd.txt
 create mode 100644 Documentation/devicetree/bindings/display/ingenic,lcd.yaml

diff --git a/Documentation/devicetree/bindings/display/ingenic,lcd.txt b/Documentation/devicetree/bindings/display/ingenic,lcd.txt
deleted file mode 100644
index 01e3261defb6..000000000000
--- a/Documentation/devicetree/bindings/display/ingenic,lcd.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-Ingenic JZ47xx LCD driver
-
-Required properties:
-- compatible: one of:
-  * ingenic,jz4740-lcd
-  * ingenic,jz4725b-lcd
-  * ingenic,jz4770-lcd
-- reg: LCD registers location and length
-- clocks: LCD pixclock and device clock specifiers.
-	   The device clock is only required on the JZ4740.
-- clock-names: "lcd_pclk" and "lcd"
-- interrupts: Specifies the interrupt line the LCD controller is connected to.
-
-Example:
-
-panel {
-	compatible = "sharp,ls020b1dd01d";
-
-	backlight = <&backlight>;
-	power-supply = <&vcc>;
-
-	port {
-		panel_input: endpoint {
-			remote-endpoint = <&panel_output>;
-		};
-	};
-};
-
-
-lcd: lcd-controller@13050000 {
-	compatible = "ingenic,jz4725b-lcd";
-	reg = <0x13050000 0x1000>;
-
-	interrupt-parent = <&intc>;
-	interrupts = <31>;
-
-	clocks = <&cgu JZ4725B_CLK_LCD>;
-	clock-names = "lcd";
-
-	port {
-		panel_output: endpoint {
-			remote-endpoint = <&panel_input>;
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/display/ingenic,lcd.yaml b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml
new file mode 100644
index 000000000000..d56db1802fad
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml
@@ -0,0 +1,126 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ingenic,lcd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ingenic SoCs LCD controller devicetree bindings
+
+maintainers:
+  - Paul Cercueil <paul@crapouillou.net>
+
+properties:
+  $nodename:
+    pattern: "^lcd-controller@[0-9a-f]+$"
+
+  compatible:
+    enum:
+      - ingenic,jz4740-lcd
+      - ingenic,jz4725b-lcd
+      - ingenic,jz4770-lcd
+      - ingenic,jz4780-lcd
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Pixel clock
+      - description: Module clock
+    minItems: 1
+
+  clock-names:
+    items:
+      - const: lcd_pclk
+      - const: lcd
+    minItems: 1
+
+  port:
+    description: OF graph bindings (specified in bindings/graph.txt).
+
+  ports:
+    description: OF graph bindings (specified in bindings/graph.txt).
+    type: object
+    properties:
+      port@0:
+        type: object
+        description: DPI output, to interface with TFT panels.
+
+      port@8:
+        type: object
+        description: Link to the Image Processing Unit (IPU).
+          (See ingenic,ipu.yaml).
+
+    required:
+      - port@0
+
+required:
+    - compatible
+    - reg
+    - interrupts
+    - clocks
+    - clock-names
+
+if:
+  properties:
+    compatible:
+      contains:
+        enum:
+          - ingenic,jz4740-lcd
+          - ingenic,jz4780-lcd
+then:
+  properties:
+    clocks:
+      minItems: 2
+    clock-names:
+      minItems: 2
+else:
+  properties:
+    clocks:
+      maxItems: 1
+    clock-names:
+      maxItems: 1
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/jz4740-cgu.h>
+    lcd-controller@13050000 {
+      compatible = "ingenic,jz4740-lcd";
+      reg = <0x13050000 0x1000>;
+
+      interrupt-parent = <&intc>;
+      interrupts = <30>;
+
+      clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
+      clock-names = "lcd_pclk", "lcd";
+
+      port {
+        endpoint {
+          remote-endpoint = <&panel_input>;
+        };
+      };
+    };
+
+  - |
+    #include <dt-bindings/clock/jz4725b-cgu.h>
+    lcd-controller@13050000 {
+      compatible = "ingenic,jz4725b-lcd";
+      reg = <0x13050000 0x1000>;
+
+      interrupt-parent = <&intc>;
+      interrupts = <31>;
+
+      clocks = <&cgu JZ4725B_CLK_LCD>;
+      clock-names = "lcd_pclk";
+
+      port {
+        endpoint {
+          remote-endpoint = <&panel_input>;
+        };
+      };
+    };
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2020-05-28 20:17 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-16 21:50 [PATCH 01/12] dt-bindings: display: Convert ingenic,lcd.txt to YAML Paul Cercueil
2020-05-16 21:50 ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 02/12] dt-bindings: display: Add ingenic,ipu.yaml Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-17  6:17   ` Sam Ravnborg
2020-05-17  6:17     ` Sam Ravnborg
2020-05-17 11:06     ` Paul Cercueil
2020-05-17 11:06       ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 03/12] component: Support binding with no matches Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 04/12] gpu/drm: ingenic: Fix bogus crtc_atomic_check callback Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-17  6:17   ` Sam Ravnborg
2020-05-17  6:17     ` Sam Ravnborg
2020-05-17 12:19     ` Paul Cercueil
2020-05-17 12:19       ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 05/12] gpu/drm: Ingenic: Fix opaque pointer casted to wrong type Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-17  6:21   ` Sam Ravnborg
2020-05-17  6:21     ` Sam Ravnborg
2020-05-17 12:19     ` Paul Cercueil
2020-05-17 12:19       ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 06/12] gpu/drm: Ingenic: Fix incorrect assumption about plane->index Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-19 11:49   ` Sasha Levin
2020-05-19 11:49     ` Sasha Levin
2020-05-16 21:50 ` [PATCH 07/12] gpu/drm: ingenic: Set DMA descriptor chain address in probe Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 08/12] gpu/drm: Ingenic: Move register definitions to ingenic-drm.h Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 09/12] gpu/drm: Ingenic: Add support for OSD mode Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 10/12] gpu/drm: Ingenic: Register driver as component master Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-16 21:50 ` [PATCH 11/12] gpu/drm: Ingenic: Add support for the IPU Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-18 10:48   ` Emil Velikov
2020-05-18 10:48     ` Emil Velikov
2020-05-18 11:26     ` Paul Cercueil
2020-05-18 11:26       ` Paul Cercueil
2020-05-19 17:10       ` Paul Boddie
2020-05-19 17:10         ` Paul Boddie
2020-05-16 21:50 ` [PATCH 12/12] gpu/drm: Ingenic: Support multiple panels/bridges Paul Cercueil
2020-05-16 21:50   ` Paul Cercueil
2020-05-17  6:12 ` [PATCH 01/12] dt-bindings: display: Convert ingenic,lcd.txt to YAML Sam Ravnborg
2020-05-17  6:12   ` Sam Ravnborg
2020-05-28 20:17 ` Rob Herring
2020-05-28 20:17   ` Rob Herring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.