media: atmel-isi: parse the DT parameters for vsync/hsync polarity
Commit Message
This patch will get the DT parameters of vsync/hsync polarity, and pass to
the platform data.
Also add a debug information for test purpose.
Signed-off-by: Josh Wu <josh.wu@atmel.com>
---
drivers/media/platform/soc_camera/atmel-isi.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Comments
Hi Josh,
Thank you for the patch.
On Friday 31 July 2015 18:33:32 Josh Wu wrote:
> This patch will get the DT parameters of vsync/hsync polarity, and pass to
> the platform data.
>
> Also add a debug information for test purpose.
>
> Signed-off-by: Josh Wu <josh.wu@atmel.com>
> ---
>
> drivers/media/platform/soc_camera/atmel-isi.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
> b/drivers/media/platform/soc_camera/atmel-isi.c index fe9247a..a7de55c
> 100644
> --- a/drivers/media/platform/soc_camera/atmel-isi.c
> +++ b/drivers/media/platform/soc_camera/atmel-isi.c
> @@ -811,6 +811,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 is active %s, hsyc is active %s, pix clock is
> sampling %s\n",
s/hsyc/hsync/
I'd write it as "vsync active %s, hsync active %s, sampling on pix clock %s
edge\n" with "falling" and "rising" instead of "fall" and "rise".
> + 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 ? "fall" : "rise");
> +
> if (isi->pdata.has_emb_sync)
> cfg1 |= ISI_CFG1_EMB_SYNC;
> if (isi->pdata.full_mode)
> @@ -898,6 +903,11 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
> goto err_probe_dt;
> }
>
> + 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;
While you're at it, how about setting has_emb_sync based on ep.bus_type and
pclk_act_falling from flags & V4L2_MBUS_PCLK_SAMPLE_FALLING ?
> err_probe_dt:
> of_node_put(np);
Hi, Laurent
On 8/1/2015 5:11 PM, Laurent Pinchart wrote:
> Hi Josh,
>
> Thank you for the patch.
>
> On Friday 31 July 2015 18:33:32 Josh Wu wrote:
>> This patch will get the DT parameters of vsync/hsync polarity, and pass to
>> the platform data.
>>
>> Also add a debug information for test purpose.
>>
>> Signed-off-by: Josh Wu <josh.wu@atmel.com>
>> ---
>>
>> drivers/media/platform/soc_camera/atmel-isi.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
>> b/drivers/media/platform/soc_camera/atmel-isi.c index fe9247a..a7de55c
>> 100644
>> --- a/drivers/media/platform/soc_camera/atmel-isi.c
>> +++ b/drivers/media/platform/soc_camera/atmel-isi.c
>> @@ -811,6 +811,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 is active %s, hsyc is active %s, pix clock is
>> sampling %s\n",
> s/hsyc/hsync/
>
> I'd write it as "vsync active %s, hsync active %s, sampling on pix clock %s
> edge\n" with "falling" and "rising" instead of "fall" and "rise".
Thanks, I'll correct it.
>
>> + 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 ? "fall" : "rise");
>> +
>> if (isi->pdata.has_emb_sync)
>> cfg1 |= ISI_CFG1_EMB_SYNC;
>> if (isi->pdata.full_mode)
>> @@ -898,6 +903,11 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
>> goto err_probe_dt;
>> }
>>
>> + 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;
> While you're at it, how about setting has_emb_sync based on ep.bus_type and
> pclk_act_falling from flags & V4L2_MBUS_PCLK_SAMPLE_FALLING ?
I will add the pclk_act_falling handling code as well. And rebase this
patch on top of your dt modifications.
Best Regards
Josh Wu
>
>> err_probe_dt:
>> of_node_put(np);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -811,6 +811,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 is active %s, hsyc is active %s, pix clock is sampling %s\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 ? "fall" : "rise");
+
if (isi->pdata.has_emb_sync)
cfg1 |= ISI_CFG1_EMB_SYNC;
if (isi->pdata.full_mode)
@@ -898,6 +903,11 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
goto err_probe_dt;
}
+ 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;
+
err_probe_dt:
of_node_put(np);