[PATCH v1 4/4] dt-bindings: display: add port support to atmel lcdc

Sam Ravnborg sam at ravnborg.org
Sun Apr 12 18:20:12 UTC 2020


Update the Atmel LCDC binding to include:
- pwm. Used for backlight
- endpoints using port node
  Used for handle to panel
- Added wiring property that is used to describe
  the wiring between the LCDC and the panel

Existing properties that should not be used in new
bindings are deprecated.

Updated example to include the updated way to specify panel etc.

Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
---
 .../bindings/display/atmel/lcdc.yaml          | 94 ++++++++++++++++++-
 1 file changed, 93 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/atmel/lcdc.yaml b/Documentation/devicetree/bindings/display/atmel/lcdc.yaml
index 7dcb9a4d5902..b5c2628f7805 100644
--- a/Documentation/devicetree/bindings/display/atmel/lcdc.yaml
+++ b/Documentation/devicetree/bindings/display/atmel/lcdc.yaml
@@ -28,6 +28,7 @@ properties:
 
   "#address-cells":
     const: 1
+
   "#size-cells":
     const: 0
 
@@ -43,13 +44,84 @@ properties:
   lcd-supply:
     description: Regulator for LCD supply voltage.
 
+  "#pwm-cells":
+    description:
+      This PWM chip use the default 3 cells bindings
+      defined in ../../pwm/pwm.yaml.
+    const: 3
+
+  clocks:
+    maxItems: 2
+
+  clock-names:
+    maxItems: 2
+    items:
+      - const: lcdc_clk
+      - const: hclk
+
+  port at 0:
+    type: object
+    description: Endpoints of the display controller
+
+    properties:
+
+      reg:
+        const: 0
+
+      "#address-cells":
+        const: 1
+
+      "#size-cells":
+        const: 0
+
+      endpoint at 0:
+        type: object
+        description: endpoint node that include phandle to panel
+
+        properties:
+
+          reg:
+            const: 0
+
+          wiring:
+            enum:
+              - straight
+              - red-blue-reversed
+            description: |
+              The LCDC is based on a blue-green-red configuration but to adapt
+              to SW only supporting red-green-blue the data lines for red and blue
+              may be reversed.
+              See details in: http://ww1.microchip.com/downloads/en/AppNotes/doc6300.pdf
+              "straight" - default value. Data lines are not reversed, uses BGR
+              "red-blue-reversed" - red and green are reversed, uses RGB
+
+          remote-endpoint:
+            $ref: /schemas/types.yaml#/definitions/phandle
+            description:
+              phandle to the panel node
+
+        required:
+          - reg
+          - remote-endpoint
+
+        additionalProperties: false
+
+    required:
+      - "#address-cells"
+      - "#size-cells"
+      - reg
+
+    additionalProperties: false
+
   display:
     $ref: /schemas/types.yaml#/definitions/phandle
+    deprecated: true
     description: phandle to display node
 
 patternProperties:
   "^display[0-9]$":
     type: object
+    deprecated: true
     description: |
       Display node is required to initialize the lcd panel.
       This should be in the board dts
@@ -107,12 +179,32 @@ required:
 
 examples:
   - |
+    #include <dt-bindings/clock/at91.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
     fb {
         compatible = "atmel,at91sam9263-lcdc";
         reg = <0x00700000 0x1000>;
-        interrupts = <23 3 0>;
+        interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>;
+        clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 26>;
+        clock-names = "lcdc_clk", "hclk";
+
+        /* pwm for backlight */
+        #pwm-cells = <3>;
+
         #address-cells = <1>;
         #size-cells = <0>;
+
+        port at 0 {
+            reg = <0>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+            endpoint at 0 {
+                reg = <0>;
+                wiring = "red-blue-reversed";
+                remote-endpoint = <&panel_input>;
+            };
+        };
     };
 
   - |
-- 
2.20.1



More information about the dri-devel mailing list