V4L/DVB (13665): sh_mobile_ceu_camera: Add support for sync polarity selection
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
34cae30b84
commit
85dc1cff0d
2 changed files with 19 additions and 0 deletions
|
@ -687,6 +687,23 @@ static int sh_mobile_ceu_set_bus_param(struct soc_camera_device *icd,
|
||||||
if (!common_flags)
|
if (!common_flags)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
/* Make choises, based on platform preferences */
|
||||||
|
if ((common_flags & SOCAM_HSYNC_ACTIVE_HIGH) &&
|
||||||
|
(common_flags & SOCAM_HSYNC_ACTIVE_LOW)) {
|
||||||
|
if (pcdev->pdata->flags & SH_CEU_FLAG_HSYNC_LOW)
|
||||||
|
common_flags &= ~SOCAM_HSYNC_ACTIVE_HIGH;
|
||||||
|
else
|
||||||
|
common_flags &= ~SOCAM_HSYNC_ACTIVE_LOW;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((common_flags & SOCAM_VSYNC_ACTIVE_HIGH) &&
|
||||||
|
(common_flags & SOCAM_VSYNC_ACTIVE_LOW)) {
|
||||||
|
if (pcdev->pdata->flags & SH_CEU_FLAG_VSYNC_LOW)
|
||||||
|
common_flags &= ~SOCAM_VSYNC_ACTIVE_HIGH;
|
||||||
|
else
|
||||||
|
common_flags &= ~SOCAM_VSYNC_ACTIVE_LOW;
|
||||||
|
}
|
||||||
|
|
||||||
ret = icd->ops->set_bus_param(icd, common_flags);
|
ret = icd->ops->set_bus_param(icd, common_flags);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
#define SH_CEU_FLAG_USE_8BIT_BUS (1 << 0) /* use 8bit bus width */
|
#define SH_CEU_FLAG_USE_8BIT_BUS (1 << 0) /* use 8bit bus width */
|
||||||
#define SH_CEU_FLAG_USE_16BIT_BUS (1 << 1) /* use 16bit bus width */
|
#define SH_CEU_FLAG_USE_16BIT_BUS (1 << 1) /* use 16bit bus width */
|
||||||
|
#define SH_CEU_FLAG_HSYNC_LOW (1 << 2) /* default High if possible */
|
||||||
|
#define SH_CEU_FLAG_VSYNC_LOW (1 << 3) /* default High if possible */
|
||||||
|
|
||||||
struct sh_mobile_ceu_info {
|
struct sh_mobile_ceu_info {
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
Loading…
Reference in a new issue