diff mbox

[v2,3/3] video: of: display_timing: Add support for syncclk-active property

Message ID 20160922103526.24925-4-peter.ujfalusi@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Ujfalusi Sept. 22, 2016, 10:35 a.m. UTC
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
---
 drivers/video/of_display_timing.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Tomi Valkeinen Sept. 29, 2016, 10:55 a.m. UTC | #1
On 22/09/16 13:35, Peter Ujfalusi wrote:
> 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
> ---
>  drivers/video/of_display_timing.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c
> index 8a1076beecd3..db992c684f09 100644
> --- a/drivers/video/of_display_timing.c
> +++ b/drivers/video/of_display_timing.c
> @@ -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"))
> 

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

 Tomi
diff mbox

Patch

diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c
index 8a1076beecd3..db992c684f09 100644
--- a/drivers/video/of_display_timing.c
+++ b/drivers/video/of_display_timing.c
@@ -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"))