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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxx>
---
 .../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@0:
+    type: object
+    description: Endpoints of the display controller
+
+    properties:
+
+      reg:
+        const: 0
+
+      "#address-cells":
+        const: 1
+
+      "#size-cells":
+        const: 0
+
+      endpoint@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@0 {
+            reg = <0>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+            endpoint@0 {
+                reg = <0>;
+                wiring = "red-blue-reversed";
+                remote-endpoint = <&panel_input>;
+            };
+        };
     };
 
   - |
-- 
2.20.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux