Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 261214
b: refs/heads/master
c: 590929f
h: refs/heads/master
v: v3
  • Loading branch information
Johannes Obermaier authored and Mauro Carvalho Chehab committed Jul 27, 2011
1 parent deaccc3 commit 096a6af
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1048af2f810b3d08210c600ca3c8e84877edbbc7
refs/heads/master: 590929f32adc3aaa702c287b624a0d0382730088
22 changes: 21 additions & 1 deletion trunk/drivers/media/video/mt9v011.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,15 @@ static struct v4l2_queryctrl mt9v011_qctrl[] = {
.step = 1,
.default_value = 0x0020,
.flags = 0,
}, {
.id = V4L2_CID_EXPOSURE,
.type = V4L2_CTRL_TYPE_INTEGER,
.name = "Exposure",
.minimum = 0,
.maximum = 2047,
.step = 1,
.default_value = 0x01fc,
.flags = 0,
}, {
.id = V4L2_CID_RED_BALANCE,
.type = V4L2_CTRL_TYPE_INTEGER,
Expand Down Expand Up @@ -105,7 +114,7 @@ struct mt9v011 {
unsigned hflip:1;
unsigned vflip:1;

u16 global_gain, red_bal, blue_bal;
u16 global_gain, exposure, red_bal, blue_bal;
};

static inline struct mt9v011 *to_mt9v011(struct v4l2_subdev *sd)
Expand Down Expand Up @@ -184,6 +193,9 @@ static void set_balance(struct v4l2_subdev *sd)
{
struct mt9v011 *core = to_mt9v011(sd);
u16 green1_gain, green2_gain, blue_gain, red_gain;
u16 exposure;

exposure = core->exposure;

green1_gain = core->global_gain;
green2_gain = core->global_gain;
Expand All @@ -198,6 +210,7 @@ static void set_balance(struct v4l2_subdev *sd)
mt9v011_write(sd, R2E_MT9V011_GREEN_2_GAIN, green1_gain);
mt9v011_write(sd, R2C_MT9V011_BLUE_GAIN, blue_gain);
mt9v011_write(sd, R2D_MT9V011_RED_GAIN, red_gain);
mt9v011_write(sd, R09_MT9V011_SHUTTER_WIDTH, exposure);
}

static void calc_fps(struct v4l2_subdev *sd, u32 *numerator, u32 *denominator)
Expand Down Expand Up @@ -338,6 +351,9 @@ static int mt9v011_g_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl)
case V4L2_CID_GAIN:
ctrl->value = core->global_gain;
return 0;
case V4L2_CID_EXPOSURE:
ctrl->value = core->exposure;
return 0;
case V4L2_CID_RED_BALANCE:
ctrl->value = core->red_bal;
return 0;
Expand Down Expand Up @@ -392,6 +408,9 @@ static int mt9v011_s_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl)
case V4L2_CID_GAIN:
core->global_gain = ctrl->value;
break;
case V4L2_CID_EXPOSURE:
core->exposure = ctrl->value;
break;
case V4L2_CID_RED_BALANCE:
core->red_bal = ctrl->value;
break;
Expand Down Expand Up @@ -598,6 +617,7 @@ static int mt9v011_probe(struct i2c_client *c,
}

core->global_gain = 0x0024;
core->exposure = 0x01fc;
core->width = 640;
core->height = 480;
core->xtal = 27000000; /* Hz */
Expand Down

0 comments on commit 096a6af

Please sign in to comment.