Commit 6934e6ff authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (12174): mt9v011: let's stick with datasheet values where it works

The original driver for Silvercrest cameras were using some values that
are different from what datasheet says. As result, it was taken very
less snapshots per second than expected.

A test with the datasheet values showed that they work fine and give a
better frame rate. So, let's stick with datasheet values.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 27fe4a30
...@@ -124,24 +124,12 @@ static const struct i2c_reg_value mt9v011_init_default[] = { ...@@ -124,24 +124,12 @@ static const struct i2c_reg_value mt9v011_init_default[] = {
{ R0D_MT9V011_RESET, 0x0001 }, { R0D_MT9V011_RESET, 0x0001 },
{ R0D_MT9V011_RESET, 0x0000 }, { R0D_MT9V011_RESET, 0x0000 },
{ R09_MT9V011_SHUTTER_WIDTH, 0x0418 },
{ R0A_MT9V011_CLK_SPEED, 0x0000 },
{ R0C_MT9V011_SHUTTER_DELAY, 0x0000 }, { R0C_MT9V011_SHUTTER_DELAY, 0x0000 },
{ R1E_MT9V011_DIGITAL_ZOOM, 0x0000 }, { R09_MT9V011_SHUTTER_WIDTH, 0x1fc },
{ R20_MT9V011_READ_MODE, 0x1100 },
/* { R0A_MT9V011_CLK_SPEED, 0x0000 },
* Those registers are not docummented at the datasheet. { R1E_MT9V011_DIGITAL_ZOOM, 0x0000 },
* However, the original driver initializes them { R20_MT9V011_READ_MODE, 0x1000 },
*/
{ 0x30, 0x0005 },
{ 0x34, 0x0100 },
{ 0x3d, 0x068f },
{ 0x40, 0x01e0 },
{ 0x52, 0x0100 },
{ 0x58, 0x0038 }, /* Datasheet default 0x0078 */
{ 0x59, 0x0723 }, /* Datasheet default 0x0703 */
{ 0x62, 0x041a }, /* Datasheet default 0x0418 */
{ R07_MT9V011_OUT_CTRL, 0x000a }, /* chip enable */ { R07_MT9V011_OUT_CTRL, 0x000a }, /* chip enable */
}; };
...@@ -177,6 +165,9 @@ static void set_res(struct v4l2_subdev *sd) ...@@ -177,6 +165,9 @@ static void set_res(struct v4l2_subdev *sd)
* hblank and vblank should be adjusted, in order to warrant that * hblank and vblank should be adjusted, in order to warrant that
* we'll preserve the line timings for 30 fps, no matter what resolution * we'll preserve the line timings for 30 fps, no matter what resolution
* is selected. * is selected.
* NOTE: datasheet says that width (and height) should be filled with
* width-1. However, this doesn't work, since one pixel per line will
* be missing.
*/ */
hstart = 14 + (640 - core->width) / 2; hstart = 14 + (640 - core->width) / 2;
......
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