diff --git a/include/uapi/linux/rk-camera-module.h b/include/uapi/linux/rk-camera-module.h index 3dbf6faca24d..03d54058a990 100644 --- a/include/uapi/linux/rk-camera-module.h +++ b/include/uapi/linux/rk-camera-module.h @@ -204,6 +204,9 @@ #define RKMODULE_GET_EXP_INFO \ _IOR('V', BASE_VIDIOC_PRIVATE + 46, struct rkmodule_exp_info) +#define RKMODULE_SET_WB_GAIN \ + _IOW('V', BASE_VIDIOC_PRIVATE + 47, struct rkmodule_wb_gain_group) + struct rkmodule_i2cdev_info { __u8 slave_addr; } __attribute__ ((packed)); @@ -895,4 +898,26 @@ struct rkmodule_exp_info { __u32 reserved[6]; } __attribute__ ((packed)); +#define RKMODULE_MAX_WB_GAIN_GROUP (4) + +enum rkmodule_wb_type { + RKMODULE_HCG_WB_GAIN, + RKMODULE_LCG_WB_GAIN, + RKMODULE_SPD_WB_GAIN, + RKMODULE_VS_WB_GAIN, +}; + +struct rkmodule_wb_gain { + __u32 b_gain; + __u32 gb_gain; + __u32 gr_gain; + __u32 r_gain; +}; + +struct rkmodule_wb_gain_group { + __u32 group_num; + enum rkmodule_wb_type wb_gain_type[RKMODULE_MAX_WB_GAIN_GROUP]; + struct rkmodule_wb_gain wb_gain[RKMODULE_MAX_WB_GAIN_GROUP]; +}; + #endif /* _UAPI_RKMODULE_CAMERA_H */