summaryrefslogtreecommitdiff
path: root/isp/controls.c
diff options
context:
space:
mode:
Diffstat (limited to 'isp/controls.c')
-rw-r--r--isp/controls.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/isp/controls.c b/isp/controls.c
index c7ceee2..4dc943f 100644
--- a/isp/controls.c
+++ b/isp/controls.c
@@ -153,6 +153,31 @@ static void matrix_float_to_s12q8(__u16 out[3][3], const struct matrix *in)
}
/* -----------------------------------------------------------------------------
+ * CCDC parameters configuration
+ */
+
+int omap3_isp_ccdc_set_black_level(struct omap3_isp_device *isp, unsigned int value)
+{
+ struct omap3isp_ccdc_update_config config;
+ struct omap3isp_ccdc_bclamp bclamp;
+ int ret;
+
+ memset(&config, 0, sizeof config);
+ config.update = OMAP3ISP_CCDC_BLCLAMP;
+ config.flag = 0;
+ config.bclamp = &bclamp;
+
+ memset(&bclamp, 0, sizeof bclamp);
+ bclamp.dcsubval = value;
+
+ ret = ioctl(isp->ccdc->fd, VIDIOC_OMAP3ISP_CCDC_CFG, &config);
+ if (ret < 0)
+ return -errno;
+
+ return ret;
+}
+
+/* -----------------------------------------------------------------------------
* Preview engine parameters configuration
*/