diff --git a/include/uapi/linux/rk_vcm_head.h b/include/uapi/linux/rk_vcm_head.h index 06ca81b398b4..d68d14abceda 100644 --- a/include/uapi/linux/rk_vcm_head.h +++ b/include/uapi/linux/rk_vcm_head.h @@ -4,7 +4,7 @@ #ifndef RK_VCM_HEAD_H #define RK_VCM_HEAD_H -#define RK_VCM_HEAD_VERSION KERNEL_VERSION(0, 0x01, 0x0) +#define RK_VCM_HEAD_VERSION KERNEL_VERSION(0, 0x02, 0x0) /* * Focus position values: * 65 logical positions ( 0 - 64 ) @@ -20,6 +20,7 @@ #define OF_CAMERA_VCMDRV_DLC_ENABLE "rockchip,vcm-dlc-enable" #define OF_CAMERA_VCMDRV_MCLK "rockchip,vcm-mclk" #define OF_CAMERA_VCMDRV_T_SRC "rockchip,vcm-t-src" +#define VCMDRV_SETZOOM_MAXCNT 300U #define RK_VIDIOC_VCM_TIMEINFO \ _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rk_cam_vcm_tim) @@ -48,14 +49,18 @@ _IOR('V', BASE_VIDIOC_PRIVATE + 10, unsigned int) #define RK_VIDIOC_ZOOM1_TIMEINFO \ - _IOR('V', BASE_VIDIOC_PRIVATE + 13, struct rk_cam_vcm_tim) + _IOR('V', BASE_VIDIOC_PRIVATE + 11, struct rk_cam_vcm_tim) #define RK_VIDIOC_ZOOM1_CORRECTION \ - _IOR('V', BASE_VIDIOC_PRIVATE + 14, unsigned int) + _IOR('V', BASE_VIDIOC_PRIVATE + 12, unsigned int) #define RK_VIDIOC_ZOOM1_SET_BACKLASH \ - _IOR('V', BASE_VIDIOC_PRIVATE + 15, unsigned int) + _IOR('V', BASE_VIDIOC_PRIVATE + 13, unsigned int) #define RK_VIDIOC_ZOOM_SET_POSITION \ - _IOW('V', BASE_VIDIOC_PRIVATE + 12, struct rk_cam_set_zoom) + _IOW('V', BASE_VIDIOC_PRIVATE + 14, struct rk_cam_set_zoom) +#define RK_VIDIOC_FOCUS_SET_POSITION \ + _IOW('V', BASE_VIDIOC_PRIVATE + 15, struct rk_cam_set_focus) +#define RK_VIDIOC_MODIFY_POSITION \ + _IOW('V', BASE_VIDIOC_PRIVATE + 16, struct rk_cam_modify_pos) #ifdef CONFIG_COMPAT #define RK_VIDIOC_COMPAT_VCM_TIMEINFO \ @@ -64,28 +69,21 @@ _IOR('V', BASE_VIDIOC_PRIVATE + 1, struct rk_cam_compat_vcm_tim) #define RK_VIDIOC_COMPAT_ZOOM_TIMEINFO \ _IOR('V', BASE_VIDIOC_PRIVATE + 2, struct rk_cam_compat_vcm_tim) -#define RK_VIDIOC_COMPAT_FOCUS_CORRECTION \ - _IOR('V', BASE_VIDIOC_PRIVATE + 5, unsigned int) -#define RK_VIDIOC_COMPAT_IRIS_CORRECTION \ - _IOR('V', BASE_VIDIOC_PRIVATE + 6, unsigned int) -#define RK_VIDIOC_COMPAT_ZOOM_CORRECTION \ - _IOR('V', BASE_VIDIOC_PRIVATE + 7, unsigned int) - -#define RK_VIDIOC_COMPAT_FOCUS_SET_BACKLASH \ - _IOR('V', BASE_VIDIOC_PRIVATE + 8, unsigned int) -#define RK_VIDIOC_COMPAT_IRIS_SET_BACKLASH \ - _IOR('V', BASE_VIDIOC_PRIVATE + 9, unsigned int) -#define RK_VIDIOC_COMPAT_ZOOM_SET_BACKLASH \ - _IOR('V', BASE_VIDIOC_PRIVATE + 10, unsigned int) - #define RK_VIDIOC_COMPAT_ZOOM1_TIMEINFO \ - _IOR('V', BASE_VIDIOC_PRIVATE + 13, struct rk_cam_vcm_tim) -#define RK_VIDIOC_COMPAT_ZOOM1_CORRECTION \ - _IOR('V', BASE_VIDIOC_PRIVATE + 14, unsigned int) -#define RK_VIDIOC_COMPAT_ZOOM1_SET_BACKLASH \ - _IOR('V', BASE_VIDIOC_PRIVATE + 15, unsigned int) + _IOR('V', BASE_VIDIOC_PRIVATE + 11, struct rk_cam_compat_vcm_tim) #endif +struct rk_cam_modify_pos { + s32 focus_pos; + s32 zoom_pos; + s32 zoom1_pos; +}; + +struct rk_cam_set_focus { + bool is_need_reback; + s32 focus_pos; +}; + struct rk_cam_zoom_pos { s32 zoom_pos; s32 focus_pos;