msm: camera: Separate video timing and output pixel clk
Camera video timing pixel clk and output pixel clk
can be different. Added vt_pixel_clk and op_pixel_clk
to address the difference.
Change-Id: I8770c9897bc340908776d01a7583fed84398ff33
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
diff --git a/drivers/media/video/msm/sensors/imx074_v4l2.c b/drivers/media/video/msm/sensors/imx074_v4l2.c
index 3360ac8..096417ee 100644
--- a/drivers/media/video/msm/sensors/imx074_v4l2.c
+++ b/drivers/media/video/msm/sensors/imx074_v4l2.c
@@ -153,14 +153,16 @@
.y_output = 0xC30,
.line_length_pclk = 0x1178,
.frame_length_lines = 0xC90,
- .pixel_clk = 182400000,
+ .vt_pixel_clk = 182400000,
+ .op_pixel_clk = 182400000,
},
{
.x_output = 0x838,
.y_output = 0x618,
.line_length_pclk = 0x1178,
.frame_length_lines = 0x62D,
- .pixel_clk = 216000000,
+ .vt_pixel_clk = 216000000,
+ .op_pixel_clk = 216000000,
},
};
diff --git a/drivers/media/video/msm/sensors/msm_sensor.c b/drivers/media/video/msm/sensors/msm_sensor.c
index b9b37e3..1d8e526 100644
--- a/drivers/media/video/msm/sensors/msm_sensor.c
+++ b/drivers/media/video/msm/sensors/msm_sensor.c
@@ -249,7 +249,7 @@
v4l2_subdev_notify(s_ctrl->sensor_v4l2_subdev,
NOTIFY_PCLK_CHANGE, &s_ctrl->msm_sensor_reg->
- output_settings[res].pixel_clk);
+ output_settings[res].op_pixel_clk);
v4l2_subdev_notify(s_ctrl->sensor_v4l2_subdev,
NOTIFY_ISPIF_STREAM, (void *)ISPIF_STREAM(
PIX0, ISPIF_ON_FRAME_BOUNDARY));
diff --git a/drivers/media/video/msm/sensors/ov2720.c b/drivers/media/video/msm/sensors/ov2720.c
index 4c3370a..90cd17d 100644
--- a/drivers/media/video/msm/sensors/ov2720.c
+++ b/drivers/media/video/msm/sensors/ov2720.c
@@ -310,21 +310,24 @@
.y_output = 0x444,
.line_length_pclk = 0x85c,
.frame_length_lines = 0x460,
- .pixel_clk = 72000000,
+ .vt_pixel_clk = 72000000,
+ .op_pixel_clk = 72000000,
},
{
.x_output = 0x510,
.y_output = 0x278,
.line_length_pclk = 0x85c,
.frame_length_lines = 0x460,
- .pixel_clk = 72000000,
+ .vt_pixel_clk = 72000000,
+ .op_pixel_clk = 72000000,
},
{
.x_output = 0x298,
.y_output = 0x1F2,
.line_length_pclk = 0x85c,
.frame_length_lines = 0x460,
- .pixel_clk = 72000000,
+ .vt_pixel_clk = 72000000,
+ .op_pixel_clk = 72000000,
},
};
diff --git a/include/media/msm_camera.h b/include/media/msm_camera.h
index 4c9b53e..c25f7b5 100644
--- a/include/media/msm_camera.h
+++ b/include/media/msm_camera.h
@@ -810,7 +810,8 @@
uint16_t y_output;
uint16_t line_length_pclk;
uint16_t frame_length_lines;
- uint32_t pixel_clk;
+ uint32_t vt_pixel_clk;
+ uint32_t op_pixel_clk;
};
struct sensor_output_info_t {