video: of: display_timing: Add support for syncclk-active property
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 22 Sep 2016 10:35:26 +0000 (13:35 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 2 Nov 2016 08:48:18 +0000 (10:48 +0200)
Configure the DISPLAY_FLAGS_SYNC_POSEDGE/NEGEDGE flags according to the
binding document.
If the syncclk-active is present in DT, configure the flags accordingly, if
it is omitted it means that the SYNC edge is following the pixdata
configuration.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Rob Herring <robh+dt@kernel.org>
CC: Mark Rutland <mark.rutland@arm.com>
CC: devicetree@vger.kernel.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/of_display_timing.c

index 8a1076beecd33aa29891849f5feaa36b42027036..db992c684f09d68edb0e56ca5dd717f37ee25a17 100644 (file)
@@ -88,6 +88,15 @@ static int of_parse_display_timing(const struct device_node *np,
                dt->flags |= val ? DISPLAY_FLAGS_PIXDATA_POSEDGE :
                                DISPLAY_FLAGS_PIXDATA_NEGEDGE;
 
+       if (!of_property_read_u32(np, "syncclk-active", &val))
+               dt->flags |= val ? DISPLAY_FLAGS_SYNC_POSEDGE :
+                               DISPLAY_FLAGS_SYNC_NEGEDGE;
+       else if (dt->flags & (DISPLAY_FLAGS_PIXDATA_POSEDGE |
+                             DISPLAY_FLAGS_PIXDATA_NEGEDGE))
+               dt->flags |= dt->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE ?
+                               DISPLAY_FLAGS_SYNC_POSEDGE :
+                               DISPLAY_FLAGS_SYNC_NEGEDGE;
+
        if (of_property_read_bool(np, "interlaced"))
                dt->flags |= DISPLAY_FLAGS_INTERLACED;
        if (of_property_read_bool(np, "doublescan"))