summaryrefslogtreecommitdiff
path: root/drivers/media/i2c
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2022-05-13 15:14:07 +0100
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-07-08 15:31:34 +0100
commit961bed9f6af54fbfd8242b363b299c4de43b9749 (patch)
treec8f6358bee9b19baf56b9a5c9a1d83cb3edc730c /drivers/media/i2c
parentb6ae502297610d5fbfa13158acd92145393f9838 (diff)
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: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r--drivers/media/i2c/ov5640.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
index a17fcb39410d..8391e920ef79 100644
--- a/drivers/media/i2c/ov5640.c
+++ b/drivers/media/i2c/ov5640.c
@@ -598,8 +598,8 @@ static const struct ov5640_mode_info ov5640_mode_data[OV5640_NUM_MODES] = {
.width = 160,
.height = 120,
},
- .htot = 1896,
- .vblank_def = 864,
+ .htot = 1600,
+ .vblank_def = 878,
},
.reg_data = 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] = {
.width = 176,
.height = 144,
},
- .htot = 1896,
- .vblank_def = 840,
+ .htot = 1600,
+ .vblank_def = 854,
},
.reg_data = 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] = {
.width = 320,
.height = 240,
},
- .htot = 1896,
- .vblank_def = 744,
+ .htot = 1600,
+ .vblank_def = 760,
},
.reg_data = 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] = {
.width = 640,
.height = 480,
},
- .htot = 1896,
- .vblank_def = 600,
+ .htot = 1600,
+ .vblank_def = 520,
},
.reg_data = 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] = {
.height = 480,
},
.htot = 1896,
- .vblank_def = 504,
+ .vblank_def = 1206,
},
.reg_data = 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] = {
.height = 576,
},
.htot = 1896,
- .vblank_def = 408,
+ .vblank_def = 1110,
},
.reg_data = 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] = {
.height = 768,
},
.htot = 1896,
- .vblank_def = 312,
+ .vblank_def = 918,
},
.reg_data = 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] = {
.width = 1280,
.height = 720,
},
- .htot = 1892,
- .vblank_def = 20,
+ .htot = 1600,
+ .vblank_def = 560,
},
.reg_data = 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] = {
.width = 1920,
.height = 1080,
},
- .htot = 2500,
- .vblank_def = 40,
+ .htot = 2234,
+ .vblank_def = 24,
},
.reg_data = ov5640_setting_1080P_1920_1080,
.reg_data_size = ARRAY_SIZE(ov5640_setting_1080P_1920_1080),