Commit 961bed9f authored by Jacopo Mondi's avatar Jacopo Mondi Committed by Mauro Carvalho Chehab

media: ov5640: Change CSI-2 timings to comply with FPS

Now that the frame duration can be controlled by tuning the VBLANK
duration in CSI-2 mode, fix all modes definitions to comply with the
reported FPS.

All modes run at 30 FPS except for full-resolution mode 2592x1944
which runs at 15FPS.

Tested on a 2 data lanes setup in UYVY and RGB565 modes in CSI-2 mode.
Signed-off-by: default avatarJacopo Mondi <jacopo@jmondi.org>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent b6ae5022
...@@ -598,8 +598,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -598,8 +598,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 160, .width = 160,
.height = 120, .height = 120,
}, },
.htot = 1896, .htot = 1600,
.vblank_def = 864, .vblank_def = 878,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -643,8 +643,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -643,8 +643,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 176, .width = 176,
.height = 144, .height = 144,
}, },
.htot = 1896, .htot = 1600,
.vblank_def = 840, .vblank_def = 854,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -688,8 +688,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -688,8 +688,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 320, .width = 320,
.height = 240, .height = 240,
}, },
.htot = 1896, .htot = 1600,
.vblank_def = 744, .vblank_def = 760,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -733,8 +733,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -733,8 +733,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 640, .width = 640,
.height = 480, .height = 480,
}, },
.htot = 1896, .htot = 1600,
.vblank_def = 600, .vblank_def = 520,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -778,7 +778,7 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -778,7 +778,7 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.height = 480, .height = 480,
}, },
.htot = 1896, .htot = 1896,
.vblank_def = 504, .vblank_def = 1206,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -822,7 +822,7 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -822,7 +822,7 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.height = 576, .height = 576,
}, },
.htot = 1896, .htot = 1896,
.vblank_def = 408, .vblank_def = 1110,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -865,7 +865,7 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -865,7 +865,7 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.height = 768, .height = 768,
}, },
.htot = 1896, .htot = 1896,
.vblank_def = 312, .vblank_def = 918,
}, },
.reg_data = ov5640_setting_low_res, .reg_data = ov5640_setting_low_res,
.reg_data_size = ARRAY_SIZE(ov5640_setting_low_res), .reg_data_size = ARRAY_SIZE(ov5640_setting_low_res),
...@@ -907,8 +907,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -907,8 +907,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 1280, .width = 1280,
.height = 720, .height = 720,
}, },
.htot = 1892, .htot = 1600,
.vblank_def = 20, .vblank_def = 560,
}, },
.reg_data = ov5640_setting_720P_1280_720, .reg_data = ov5640_setting_720P_1280_720,
.reg_data_size = ARRAY_SIZE(ov5640_setting_720P_1280_720), .reg_data_size = ARRAY_SIZE(ov5640_setting_720P_1280_720),
...@@ -952,8 +952,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = { ...@@ -952,8 +952,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 1920, .width = 1920,
.height = 1080, .height = 1080,
}, },
.htot = 2500, .htot = 2234,
.vblank_def = 40, .vblank_def = 24,
}, },
.reg_data = ov5640_setting_1080P_1920_1080, .reg_data = ov5640_setting_1080P_1920_1080,
.reg_data_size = ARRAY_SIZE(ov5640_setting_1080P_1920_1080), .reg_data_size = ARRAY_SIZE(ov5640_setting_1080P_1920_1080),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment