|
@@ -533,20 +533,24 @@ int fimc_hw_set_camera_polarity(struct fimc_dev *fimc,
|
|
|
u32 cfg = readl(fimc->regs + S5P_CIGCTRL);
|
|
|
|
|
|
cfg &= ~(S5P_CIGCTRL_INVPOLPCLK | S5P_CIGCTRL_INVPOLVSYNC |
|
|
|
- S5P_CIGCTRL_INVPOLHREF | S5P_CIGCTRL_INVPOLHSYNC);
|
|
|
+ S5P_CIGCTRL_INVPOLHREF | S5P_CIGCTRL_INVPOLHSYNC |
|
|
|
+ S5P_CIGCTRL_INVPOLFIELD);
|
|
|
|
|
|
- if (cam->flags & FIMC_CLK_INV_PCLK)
|
|
|
+ if (cam->flags & V4L2_MBUS_PCLK_SAMPLE_FALLING)
|
|
|
cfg |= S5P_CIGCTRL_INVPOLPCLK;
|
|
|
|
|
|
- if (cam->flags & FIMC_CLK_INV_VSYNC)
|
|
|
+ if (cam->flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)
|
|
|
cfg |= S5P_CIGCTRL_INVPOLVSYNC;
|
|
|
|
|
|
- if (cam->flags & FIMC_CLK_INV_HREF)
|
|
|
+ if (cam->flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)
|
|
|
cfg |= S5P_CIGCTRL_INVPOLHREF;
|
|
|
|
|
|
- if (cam->flags & FIMC_CLK_INV_HSYNC)
|
|
|
+ if (cam->flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)
|
|
|
cfg |= S5P_CIGCTRL_INVPOLHSYNC;
|
|
|
|
|
|
+ if (cam->flags & V4L2_MBUS_FIELD_EVEN_LOW)
|
|
|
+ cfg |= S5P_CIGCTRL_INVPOLFIELD;
|
|
|
+
|
|
|
writel(cfg, fimc->regs + S5P_CIGCTRL);
|
|
|
|
|
|
return 0;
|