aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/mt9v011.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-06-29 10:03:22 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-07-05 13:30:02 -0400
commitafe09f821ffa733d1cbfbf4e7cc41bd1cb8dcffb (patch)
tree46012f932358429ba0831c31db890ca92bbd7aba /drivers/media/video/mt9v011.c
parent7dfba00d05f3c7db9510f3b54a472981cf1521af (diff)
V4L/DVB (12136): mt9v011: Some fixes at the register initialization table
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/mt9v011.c')
-rw-r--r--drivers/media/video/mt9v011.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/media/video/mt9v011.c b/drivers/media/video/mt9v011.c
index 4389197cedd7..cd5e119f40a5 100644
--- a/drivers/media/video/mt9v011.c
+++ b/drivers/media/video/mt9v011.c
@@ -117,17 +117,25 @@ struct i2c_reg_value {
117 * Some values are marked as Reserved at the datasheet 117 * Some values are marked as Reserved at the datasheet
118 */ 118 */
119static const struct i2c_reg_value mt9v011_init_default[] = { 119static const struct i2c_reg_value mt9v011_init_default[] = {
120 /* guessed meaning - as mt9m111 */
121 { R0D_MT9V011_RESET, 0x0001 }, 120 { R0D_MT9V011_RESET, 0x0001 },
122 { R0D_MT9V011_RESET, 0x0000 }, 121 { R0D_MT9V011_RESET, 0x0000 },
122
123 { R01_MT9V011_ROWSTART, 0x0008 }, 123 { R01_MT9V011_ROWSTART, 0x0008 },
124 { R02_MT9V011_COLSTART, 0x0014 }, 124 { R02_MT9V011_COLSTART, 0x0014 },
125 { R03_MT9V011_HEIGHT, 0x01e0 }, 125 { R03_MT9V011_HEIGHT, 0x01e0 },
126 { R04_MT9V011_WIDTH, 0x0280 }, 126 { R04_MT9V011_WIDTH, 0x0280 },
127 { R05_MT9V011_HBLANK, 0x0001 }, 127 { R05_MT9V011_HBLANK, 0x007b },
128 { R05_MT9V011_HBLANK, 0x0001 }, 128 { R06_MT9V011_VBLANK, 0x001c },
129 { R09_MT9V011_SHUTTER_WIDTH, 0x0418 },
129 { R0A_MT9V011_CLK_SPEED, 0x0000 }, 130 { R0A_MT9V011_CLK_SPEED, 0x0000 },
130 { R05_MT9V011_HBLANK, 0x000a }, 131 { R0C_MT9V011_SHUTTER_DELAY, 0x0000 },
132 { R1E_MT9V011_DIGITAL_ZOOM, 0x0000 },
133 { R20_MT9V011_READ_MODE, 0x1100 },
134
135 /*
136 * Those registers are not docummented at the datasheet.
137 * However, the original driver initializes them
138 */
131 { 0x30, 0x0005 }, 139 { 0x30, 0x0005 },
132 { 0x34, 0x0100 }, 140 { 0x34, 0x0100 },
133 { 0x3d, 0x068f }, 141 { 0x3d, 0x068f },
@@ -136,8 +144,8 @@ static const struct i2c_reg_value mt9v011_init_default[] = {
136 { 0x58, 0x0038 }, /* Datasheet default 0x0078 */ 144 { 0x58, 0x0038 }, /* Datasheet default 0x0078 */
137 { 0x59, 0x0723 }, /* Datasheet default 0x0703 */ 145 { 0x59, 0x0723 }, /* Datasheet default 0x0703 */
138 { 0x62, 0x041a }, /* Datasheet default 0x0418 */ 146 { 0x62, 0x041a }, /* Datasheet default 0x0418 */
139 { R09_MT9V011_SHUTTER_WIDTH, 0x0418 }, 147
140 { R20_MT9V011_READ_MODE, 0x1100 }, 148 { R07_MT9V011_OUT_CTRL, 0x000a }, /* chip enable */
141}; 149};
142 150
143static void set_balance(struct v4l2_subdev *sd) 151static void set_balance(struct v4l2_subdev *sd)