From: Josh Wu Date: Tue, 4 Aug 2015 09:37:49 +0000 (-0300) Subject: [media] atmel-isi: parse the DT parameters for vsync/hsync/pixclock polarity X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ac4033e02a54a1dd3b22364d392ffe3da5d09a5f;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [media] atmel-isi: parse the DT parameters for vsync/hsync/pixclock polarity This patch will get the DT parameters of vsync/hsync/pixclock polarity, and pass to driver. Also add a debug information for test purpose. Signed-off-by: Josh Wu Reviewed-by: Laurent Pinchart Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/soc_camera/atmel-isi.c b/drivers/media/platform/soc_camera/atmel-isi.c index 19131d3f9af6..45e304a3dd85 100644 --- a/drivers/media/platform/soc_camera/atmel-isi.c +++ b/drivers/media/platform/soc_camera/atmel-isi.c @@ -833,6 +833,11 @@ static int isi_camera_set_bus_param(struct soc_camera_device *icd) if (common_flags & V4L2_MBUS_PCLK_SAMPLE_FALLING) cfg1 |= ISI_CFG1_PIXCLK_POL_ACTIVE_FALLING; + dev_dbg(icd->parent, "vsync active %s, hsync active %s, sampling on pix clock %s edge\n", + common_flags & V4L2_MBUS_VSYNC_ACTIVE_LOW ? "low" : "high", + common_flags & V4L2_MBUS_HSYNC_ACTIVE_LOW ? "low" : "high", + common_flags & V4L2_MBUS_PCLK_SAMPLE_FALLING ? "falling" : "rising"); + if (isi->pdata.has_emb_sync) cfg1 |= ISI_CFG1_EMB_SYNC; if (isi->pdata.full_mode) @@ -920,6 +925,16 @@ static int atmel_isi_parse_dt(struct atmel_isi *isi, return -EINVAL; } + if (ep.bus.parallel.flags & V4L2_MBUS_HSYNC_ACTIVE_LOW) + isi->pdata.hsync_act_low = true; + if (ep.bus.parallel.flags & V4L2_MBUS_VSYNC_ACTIVE_LOW) + isi->pdata.vsync_act_low = true; + if (ep.bus.parallel.flags & V4L2_MBUS_PCLK_SAMPLE_FALLING) + isi->pdata.pclk_act_falling = true; + + if (ep.bus_type == V4L2_MBUS_BT656) + isi->pdata.has_emb_sync = true; + return 0; }