diff options
author | zejian.su <zejian.su@starfivetech.com> | 2023-07-03 11:52:13 +0300 |
---|---|---|
committer | Andy Hu <andy.hu@starfivetech.com> | 2023-11-01 10:10:06 +0300 |
commit | 920999a915121ba12f42e40e2bf8fa929b54c1bb (patch) | |
tree | bf20e12e9177f579e90fbcb210a1f50c094b943d /include | |
parent | 0cc2d5e1337c67f3da972158193e9003be90b4bd (diff) | |
download | linux-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.h | 48 |
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 |