summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorzejian.su <zejian.su@starfivetech.com>2023-07-03 11:52:13 +0300
committerAndy Hu <andy.hu@starfivetech.com>2023-11-01 10:10:06 +0300
commit920999a915121ba12f42e40e2bf8fa929b54c1bb (patch)
treebf20e12e9177f579e90fbcb210a1f50c094b943d /include
parent0cc2d5e1337c67f3da972158193e9003be90b4bd (diff)
downloadlinux-920999a915121ba12f42e40e2bf8fa929b54c1bb.tar.xz
Add 16 ISP controls, remove the frame SYNC event to video7 (SC) These controls are: WB, CAR, CCM, CFA, CTC, DBC, DNYUV, GMARGB, LCCF, OBC, OECF, R2Y, SAT, SHRP, YCRV, SC
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/jh7110-isp.h48
1 files changed, 45 insertions, 3 deletions
diff --git a/include/uapi/linux/jh7110-isp.h b/include/uapi/linux/jh7110-isp.h
index 86a8ff17414f..e20895bd881a 100644
--- a/include/uapi/linux/jh7110-isp.h
+++ b/include/uapi/linux/jh7110-isp.h
@@ -15,6 +15,8 @@
#include <linux/v4l2-controls.h>
+#define V4L2_CID_USER_JH7110_ISP_BASE (V4L2_CID_USER_BASE + 0x1170)
+
#define V4L2_CID_USER_JH7110_ISP_WB_SETTING \
(V4L2_CID_USER_JH7110_ISP_BASE + 0x0001)
#define V4L2_CID_USER_JH7110_ISP_CAR_SETTING \
@@ -45,6 +47,8 @@
(V4L2_CID_USER_JH7110_ISP_BASE + 0x000e)
#define V4L2_CID_USER_JH7110_ISP_YCRV_SETTING \
(V4L2_CID_USER_JH7110_ISP_BASE + 0x000f)
+#define V4L2_CID_USER_JH7110_ISP_STAT_SETTING \
+ (V4L2_CID_USER_JH7110_ISP_BASE + 0x0010)
struct jh7110_isp_wb_gain {
__u16 gain_r;
@@ -202,13 +206,13 @@ struct jh7110_isp_sat_curve {
};
struct jh7110_isp_sat_hue_info {
- __s16 sin;
__s16 cos;
+ __s16 sin;
};
struct jh7110_isp_sat_info {
__s16 gain_cmab;
- __s16 gain_cmad;
+ __s16 gain_cmmd;
__s16 threshold_cmb;
__s16 threshold_cmd;
__s16 offset_u;
@@ -230,7 +234,8 @@ struct jh7110_isp_sharp_weight {
struct jh7110_isp_sharp_strength {
__s16 diff[4];
- __s16 f[4];
+ __s16 f[3];
+ __s32 s[3];
};
struct jh7110_isp_sharp_setting {
@@ -250,4 +255,41 @@ struct jh7110_isp_ycrv_setting {
struct jh7110_isp_ycrv_curve curve;
};
+struct jh7110_isp_sc_af_config {
+ __u8 es_hor_mode;
+ __u8 es_sum_mode;
+ __u8 hor_en;
+ __u8 ver_en;
+ __u8 es_ver_thr;
+ __u16 es_hor_thr;
+};
+
+struct jh7110_isp_sc_awb_ws {
+ __u8 awb_ws_rl;
+ __u8 awb_ws_ru;
+ __u8 awb_ws_grl;
+ __u8 awb_ws_gru;
+ __u8 awb_ws_gbl;
+ __u8 awb_ws_gbu;
+ __u8 awb_ws_bl;
+ __u8 awb_ws_bu;
+};
+
+struct jh7110_isp_sc_awb_point {
+ __u16 intensity;
+ __u8 weight;
+};
+
+struct jh7110_isp_sc_awb_config {
+ struct jh7110_isp_sc_awb_ws ws_config;
+ __u8 awb_cw[169];
+ struct jh7110_isp_sc_awb_point pts[17];
+};
+
+struct jh7110_isp_sc_setting {
+ __u32 enabled;
+ struct jh7110_isp_sc_af_config af_config;
+ struct jh7110_isp_sc_awb_config awb_config;
+};
+
#endif