diff options
-rw-r--r-- | drivers/media/video/mt9v011.c | 20 |
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 | */ |
119 | static const struct i2c_reg_value mt9v011_init_default[] = { | 119 | static 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 | ||
143 | static void set_balance(struct v4l2_subdev *sd) | 151 | static void set_balance(struct v4l2_subdev *sd) |