|
@@ -716,8 +716,10 @@ static int ov2640_s_ctrl(struct v4l2_ctrl *ctrl)
|
|
|
|
|
|
|
|
switch (ctrl->id) {
|
|
switch (ctrl->id) {
|
|
|
case V4L2_CID_VFLIP:
|
|
case V4L2_CID_VFLIP:
|
|
|
- val = ctrl->val ? REG04_VFLIP_IMG : 0x00;
|
|
|
|
|
- return ov2640_mask_set(client, REG04, REG04_VFLIP_IMG, val);
|
|
|
|
|
|
|
+ val = ctrl->val ? REG04_VFLIP_IMG | REG04_VREF_EN : 0x00;
|
|
|
|
|
+ return ov2640_mask_set(client, REG04,
|
|
|
|
|
+ REG04_VFLIP_IMG | REG04_VREF_EN, val);
|
|
|
|
|
+ /* NOTE: REG04_VREF_EN: 1 line shift / even/odd line swap */
|
|
|
case V4L2_CID_HFLIP:
|
|
case V4L2_CID_HFLIP:
|
|
|
val = ctrl->val ? REG04_HFLIP_IMG : 0x00;
|
|
val = ctrl->val ? REG04_HFLIP_IMG : 0x00;
|
|
|
return ov2640_mask_set(client, REG04, REG04_HFLIP_IMG, val);
|
|
return ov2640_mask_set(client, REG04, REG04_HFLIP_IMG, val);
|