[PATCH v3] media: atmel-isi: parse the DT parameters for vsync/hsync/pixclock polarity
From: Guennadi Liakhovetski <hidden>
Date: 2015-09-18 11:21:55
Also in:
linux-media
Hi Josh, On Fri, 18 Sep 2015, Josh Wu wrote:
Hi, Guennadi On 9/18/2015 5:44 PM, Guennadi Liakhovetski wrote:quoted
Hi Nicolas, Patch handling is on my todo for the coming weekend...Beside this patch, Atmel-isi still have server other patches in the patchwork for a long time. So some patch may need to rebase. Just for your convenience I create a branch here: https://github.com/JoshWu/linux-at91/commits/atmel-isi-v4.3,
Thanks, that will help!
which collected all the Atmel-isi patches that still not merged. You can take it as a reference. Of cause, if you want I can sent out a pull request for it. thanks.
No need, the branch info above should be enough. Thanks Guennadi
Best Regards, Josh Wuquoted
Thanks Guennadi On Fri, 18 Sep 2015, Nicolas Ferre wrote:quoted
Le 04/08/2015 13:22, Laurent Pinchart a ?crit :quoted
Hi Josh, Thank you for the patch. On Tuesday 04 August 2015 17:37:49 Josh Wu wrote:quoted
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 <redacted>Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>Guennadi, Mauro, I don't see this patch in Linux-next and I'm not so used to http://git.linuxtv.org but didn't find it either. Well in fact it's just a lengthy version of "ping" ;-) Bye,quoted
quoted
--- Changes in v3: - add embedded sync dt property support. Changes in v2: - rewrite the debug message and add pix clock polarity setup thanks to Laurent. - update the commit log. drivers/media/platform/soc_camera/atmel-isi.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)diff --git a/drivers/media/platform/soc_camera/atmel-isi.cb/drivers/media/platform/soc_camera/atmel-isi.c index fead841..4efc939 100644--- a/drivers/media/platform/soc_camera/atmel-isi.c +++ b/drivers/media/platform/soc_camera/atmel-isi.c@@ -1061,6 +1061,11 @@ static int isi_camera_set_bus_param(structsoc_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)@@ -1148,6 +1153,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; }-- Nicolas Ferre