/* SPDX-License-Identifier: GPL-2.0 */ #ifndef IEP_DRV_H_ #define IEP_DRV_H_ #include #include #include #include "iep.h" #define IEP_REG_LEN 0x100 #define IEP_CMD_REG_LEN 0xE #define IEP_ADD_REG_LEN 0xE0 #define IEP_RAW_REG_LEN 0xA #define IEP_SYS_REG_LEN 0x6 #define IEP_CNF_REG_LEN 0x2 #define IEP_CNF_REG_BASE 0x0 #define IEP_SYS_REG_BASE 0x2 #define IEP_CMD_REG_BASE 0x8 #define IEP_ADD_REG_BASE 0x20 #define IEP_RAW_REG_BASE 0x16 struct iep_parameter_req { struct iep_img src; struct iep_img dst; }; struct iep_parameter_deinterlace { struct iep_img src1; struct iep_img dst1; struct iep_img src_itemp; struct iep_img src_ftemp; struct iep_img dst_itemp; struct iep_img dst_ftemp; u8 dein_mode; // deinterlace high frequency u8 dein_high_fre_en; u8 dein_high_fre_fct; // deinterlace edge interpolation u8 dein_ei_mode; u8 dein_ei_smooth; u8 dein_ei_sel; u8 dein_ei_radius; }; struct iep_parameter_enhance { u8 yuv_3D_denoise_en; u8 yuv_enhance_en; float yuv_enh_saturation; //0-1.992 float yuv_enh_contrast; //0-1.992 s8 yuv_enh_brightness; //-32