diff --git a/include/uapi/linux/rk-camera-module.h b/include/uapi/linux/rk-camera-module.h index 77944de3b9e9..603700d77d20 100644 --- a/include/uapi/linux/rk-camera-module.h +++ b/include/uapi/linux/rk-camera-module.h @@ -235,6 +235,12 @@ #define RKMODULE_SET_EXPAND_SINGLE_MODE \ _IOW('V', BASE_VIDIOC_PRIVATE + 57, __u32) +#define RKMODULE_SET_LENC \ + _IOW('V', BASE_VIDIOC_PRIVATE + 58, struct rkmodule_lenc_gain) + +#define RKMODULE_GET_LENC_INFO \ + _IOR('V', BASE_VIDIOC_PRIVATE + 59, struct rkmodule_lenc_info) + struct rkmodule_i2cdev_info { __u8 slave_addr; } __attribute__ ((packed)); @@ -1006,4 +1012,31 @@ enum rkmodule_expand_single_mode { EXPAND_SINGLE_LOFIC, }; +#define RKMODULE_MAX_LENC_GROUP (4) + +struct rkmodule_lenc_gain { + __u32 g[RKMODULE_LSCDATA_LEN]; + __u32 b[RKMODULE_LSCDATA_LEN]; + __u32 r[RKMODULE_LSCDATA_LEN]; +}; + +struct rkmodule_lenc_data { + __u16 rgain; + __u16 bgain; + struct rkmodule_lenc_gain lenc_gain; +}; + +struct rkmodule_lenc_inf { + __u32 flag; + __u32 group_num; + __u32 lenc_gain_len; + struct rkmodule_lenc_data lenc_data[RKMODULE_MAX_LENC_GROUP]; +}; + +struct rkmodule_lenc_info { + __u32 bit_width; + __u32 grid_num; + __u32 reserved[8]; +}; + #endif /* _UAPI_RKMODULE_CAMERA_H */