dt-bindings: display: atmel: optional video-interface of endpoints
authorPeter Rosin <peda@axentia.se>
Sat, 25 Aug 2018 08:56:18 +0000 (10:56 +0200)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Mon, 27 Aug 2018 19:21:16 +0000 (21:21 +0200)
With bus-type/bus-width properties in the endpoint nodes, the video-
interface of the connection can be specified for cases where the
heuristic fails to select the correct output mode. This can happen
e.g. if not all RGB pins are routed on the PCB; the driver has no
way of knowing this, and needs to be told explicitly.

This is critical for the devices that have the "conflicting output
formats" issue (SAM9N12, SAM9X5, SAMA5D3), since the most significant
RGB bits move around depending on the selected output mode. For
devices that do not have the "conflicting output formats" issue
(SAMA5D2, SAMA5D4), this is completely irrelevant.

Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180825085620.10566-3-peda@axentia.se
Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt

index 82f2acb3d37406d0916b2a202d3d28cc64c5fc06..0398aec488ace3041bb530bd2ab83862580de9d2 100644 (file)
@@ -15,6 +15,13 @@ Required children nodes:
  to external devices using the OF graph reprensentation (see ../graph.txt).
  At least one port node is required.
 
+Optional properties in grandchild nodes:
+ Any endpoint grandchild node may specify a desired video interface
+ according to ../../media/video-interfaces.txt, specifically
+ - bus-width: recognized values are <12>, <16>, <18> and <24>, and
+   override any output mode selection heuristic, forcing "rgb444",
+   "rgb565", "rgb666" and "rgb888" respectively.
+
 Example:
 
        hlcdc: hlcdc@f0030000 {
@@ -50,3 +57,19 @@ Example:
                        #pwm-cells = <3>;
                };
        };
+
+Example 2: With a video interface override to force rgb565; as above
+but with these changes/additions:
+
+       &hlcdc {
+               hlcdc-display-controller {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
+
+                       port@0 {
+                               hlcdc_panel_output: endpoint@0 {
+                                       bus-width = <16>;
+                               };
+                       };
+               };
+       };