Compare commits
2 Commits
c9866aeb9b
...
93c776150b
| Author | SHA1 | Date | |
|---|---|---|---|
| 93c776150b | |||
| 9027454e19 |
@ -1092,6 +1092,15 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vind0 {
|
||||
vind_mclkpin-supply = <®_bldo2>;
|
||||
vind_mclkpin_vol = <1800000>;
|
||||
vind_mcsipin-supply = <®_bldo2>;
|
||||
vind_mcsipin_vol = <1800000>;
|
||||
vind_mipipin-supply = <®_bldo2>;
|
||||
vind_mipipin_vol = <1800000>;
|
||||
};
|
||||
|
||||
&s_twi0 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-0 = <&twi13_pins_default>;
|
||||
|
||||
@ -3886,19 +3886,28 @@ static int vin_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
|
||||
struct v4l2_control c;
|
||||
int ret = 0;
|
||||
|
||||
if (!cap->vinc || !inst)
|
||||
return -ENODEV;
|
||||
|
||||
c.id = ctrl->id;
|
||||
if (inst->is_isp_used && inst->is_bayer_raw) {
|
||||
switch (ctrl->id) {
|
||||
case V4L2_CID_EXPOSURE:
|
||||
if (!sensor || !sensor->ctrl_handler)
|
||||
return -ENODEV;
|
||||
v4l2_g_ctrl(sensor->ctrl_handler, &c);
|
||||
ctrl->val = c.value;
|
||||
break;
|
||||
case V4L2_CID_EXPOSURE_ABSOLUTE:
|
||||
if (!sensor || !sensor->ctrl_handler)
|
||||
return -ENODEV;
|
||||
c.id = V4L2_CID_EXPOSURE;
|
||||
v4l2_g_ctrl(sensor->ctrl_handler, &c);
|
||||
ctrl->val = __vin_sensor_line2time(sensor, c.value);
|
||||
break;
|
||||
case V4L2_CID_GAIN:
|
||||
if (!sensor || !sensor->ctrl_handler)
|
||||
return -ENODEV;
|
||||
v4l2_g_ctrl(sensor->ctrl_handler, &c);
|
||||
ctrl->val = c.value;
|
||||
break;
|
||||
@ -3931,11 +3940,15 @@ static int vin_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
|
||||
c.value = inst->is_bayer_raw;
|
||||
break;
|
||||
case V4L2_CID_FLASH_LED_MODE:
|
||||
if (!flash || !flash->ctrl_handler)
|
||||
return -ENODEV;
|
||||
ret = v4l2_g_ctrl(flash->ctrl_handler, &c);
|
||||
break;
|
||||
case V4L2_CID_AUTO_FOCUS_STATUS:
|
||||
if (!sensor || !sensor->ctrl_handler)
|
||||
return -ENODEV;
|
||||
ret = v4l2_g_ctrl(sensor->ctrl_handler, &c);
|
||||
if (c.value != V4L2_AUTO_FOCUS_STATUS_BUSY)
|
||||
if (flash && c.value != V4L2_AUTO_FOCUS_STATUS_BUSY)
|
||||
sunxi_flash_stop(flash);
|
||||
break;
|
||||
case V4L2_CID_VFLIP:
|
||||
@ -3945,6 +3958,8 @@ static int vin_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val = cap->vinc->hflip;
|
||||
break;
|
||||
default:
|
||||
if (!sensor || !sensor->ctrl_handler)
|
||||
return -ENODEV;
|
||||
ret = v4l2_g_ctrl(sensor->ctrl_handler, &c);
|
||||
break;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user