| .. | .. |
|---|
| 4 | 4 | #ifndef RK_VCM_HEAD_H |
|---|
| 5 | 5 | #define RK_VCM_HEAD_H |
|---|
| 6 | 6 | |
|---|
| 7 | +#include <linux/types.h> |
|---|
| 8 | +#include <linux/time_types.h> |
|---|
| 9 | + |
|---|
| 7 | 10 | #define RK_VCM_HEAD_VERSION KERNEL_VERSION(0, 0x02, 0x0) |
|---|
| 8 | 11 | /* |
|---|
| 9 | 12 | * Focus position values: |
|---|
| .. | .. |
|---|
| 11 | 14 | * where 64 is the setting for infinity and 0 for macro |
|---|
| 12 | 15 | */ |
|---|
| 13 | 16 | #define VCMDRV_MAX_LOG 64U |
|---|
| 17 | +#define VCMDRV_SETZOOM_MAXCNT 300U |
|---|
| 14 | 18 | |
|---|
| 15 | 19 | #define OF_CAMERA_VCMDRV_MAX_CURRENT "rockchip,vcm-max-current" |
|---|
| 16 | 20 | #define OF_CAMERA_VCMDRV_START_CURRENT "rockchip,vcm-start-current" |
|---|
| .. | .. |
|---|
| 19 | 23 | #define OF_CAMERA_VCMDRV_DLC_ENABLE "rockchip,vcm-dlc-enable" |
|---|
| 20 | 24 | #define OF_CAMERA_VCMDRV_MCLK "rockchip,vcm-mclk" |
|---|
| 21 | 25 | #define OF_CAMERA_VCMDRV_T_SRC "rockchip,vcm-t-src" |
|---|
| 22 | | -#define VCMDRV_SETZOOM_MAXCNT 300U |
|---|
| 26 | +#define OF_CAMERA_VCMDRV_T_DIV "rockchip,vcm-t-div" |
|---|
| 27 | +#define OF_CAMERA_VCMDRV_ADVANCED_MODE "rockchip,vcm-adcanced-mode" |
|---|
| 28 | +#define OF_CAMERA_VCMDRV_SAC_MODE "rockchip,vcm-sac-mode" |
|---|
| 29 | +#define OF_CAMERA_VCMDRV_SAC_TIME "rockchip,vcm-sac-time" |
|---|
| 30 | +#define OF_CAMERA_VCMDRV_PRESC "rockchip,vcm-prescl" |
|---|
| 31 | +#define OF_CAMERA_VCMDRV_NRC_EN "rockchip,vcm-nrc-en" |
|---|
| 32 | +#define OF_CAMERA_VCMDRV_NRC_MODE "rockchip,vcm-nrc-mode" |
|---|
| 33 | +#define OF_CAMERA_VCMDRV_NRC_PRESET "rockchip,vcm-nrc-preset" |
|---|
| 34 | +#define OF_CAMERA_VCMDRV_NRC_INFL "rockchip,vcm-nrc-infl" |
|---|
| 35 | +#define OF_CAMERA_VCMDRV_NRC_TIME "rockchip,vcm-nrc-time" |
|---|
| 36 | +#define VCMDRV_SETZOOM_MAXCNT 300U |
|---|
| 23 | 37 | |
|---|
| 24 | 38 | #define RK_VIDIOC_VCM_TIMEINFO \ |
|---|
| 25 | 39 | _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rk_cam_vcm_tim) |
|---|
| .. | .. |
|---|
| 61 | 75 | #define RK_VIDIOC_MODIFY_POSITION \ |
|---|
| 62 | 76 | _IOW('V', BASE_VIDIOC_PRIVATE + 16, struct rk_cam_modify_pos) |
|---|
| 63 | 77 | |
|---|
| 64 | | -#ifdef CONFIG_COMPAT |
|---|
| 78 | +#define RK_VIDIOC_SET_VCM_MAX_LOGICALPOS \ |
|---|
| 79 | + _IOW('V', BASE_VIDIOC_PRIVATE + 17, unsigned int) |
|---|
| 80 | + |
|---|
| 65 | 81 | #define RK_VIDIOC_COMPAT_VCM_TIMEINFO \ |
|---|
| 66 | 82 | _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rk_cam_compat_vcm_tim) |
|---|
| 67 | 83 | #define RK_VIDIOC_COMPAT_IRIS_TIMEINFO \ |
|---|
| .. | .. |
|---|
| 70 | 86 | _IOR('V', BASE_VIDIOC_PRIVATE + 2, struct rk_cam_compat_vcm_tim) |
|---|
| 71 | 87 | #define RK_VIDIOC_COMPAT_ZOOM1_TIMEINFO \ |
|---|
| 72 | 88 | _IOR('V', BASE_VIDIOC_PRIVATE + 11, struct rk_cam_compat_vcm_tim) |
|---|
| 73 | | -#endif |
|---|
| 74 | 89 | |
|---|
| 75 | 90 | struct rk_cam_modify_pos { |
|---|
| 76 | | - s32 focus_pos; |
|---|
| 77 | | - s32 zoom_pos; |
|---|
| 78 | | - s32 zoom1_pos; |
|---|
| 91 | + __s32 focus_pos; |
|---|
| 92 | + __s32 zoom_pos; |
|---|
| 93 | + __s32 zoom1_pos; |
|---|
| 79 | 94 | }; |
|---|
| 80 | 95 | |
|---|
| 81 | 96 | struct rk_cam_set_focus { |
|---|
| 82 | | - bool is_need_reback; |
|---|
| 83 | | - s32 focus_pos; |
|---|
| 97 | + _Bool is_need_reback; |
|---|
| 98 | + __s32 focus_pos; |
|---|
| 84 | 99 | }; |
|---|
| 85 | 100 | |
|---|
| 86 | 101 | struct rk_cam_zoom_pos { |
|---|
| 87 | | - s32 zoom_pos; |
|---|
| 88 | | - s32 focus_pos; |
|---|
| 102 | + __s32 zoom_pos; |
|---|
| 103 | + __s32 focus_pos; |
|---|
| 89 | 104 | }; |
|---|
| 90 | 105 | |
|---|
| 91 | 106 | struct rk_cam_set_zoom { |
|---|
| 92 | | - bool is_need_zoom_reback; |
|---|
| 93 | | - bool is_need_focus_reback; |
|---|
| 94 | | - u32 setzoom_cnt; |
|---|
| 107 | + _Bool is_need_zoom_reback; |
|---|
| 108 | + _Bool is_need_focus_reback; |
|---|
| 109 | + __u32 setzoom_cnt; |
|---|
| 95 | 110 | struct rk_cam_zoom_pos zoom_pos[VCMDRV_SETZOOM_MAXCNT]; |
|---|
| 96 | 111 | }; |
|---|
| 97 | 112 | |
|---|
| 98 | 113 | struct rk_cam_vcm_tim { |
|---|
| 99 | | - struct timeval vcm_start_t; |
|---|
| 100 | | - struct timeval vcm_end_t; |
|---|
| 114 | + struct __kernel_old_timeval vcm_start_t; |
|---|
| 115 | + struct __kernel_old_timeval vcm_end_t; |
|---|
| 101 | 116 | }; |
|---|
| 102 | 117 | |
|---|
| 103 | | -#ifdef CONFIG_COMPAT |
|---|
| 104 | | -struct rk_cam_compat_vcm_tim { |
|---|
| 105 | | - struct compat_timeval vcm_start_t; |
|---|
| 106 | | - struct compat_timeval vcm_end_t; |
|---|
| 118 | +#ifndef __kernel_old_timeval32 |
|---|
| 119 | +struct __kernel_old_timeval32 { |
|---|
| 120 | + __s32 tv_sec; |
|---|
| 121 | + __s32 tv_usec; |
|---|
| 107 | 122 | }; |
|---|
| 108 | 123 | #endif |
|---|
| 109 | 124 | |
|---|
| 125 | +struct rk_cam_compat_vcm_tim { |
|---|
| 126 | + struct __kernel_old_timeval32 vcm_start_t; |
|---|
| 127 | + struct __kernel_old_timeval32 vcm_end_t; |
|---|
| 128 | +}; |
|---|
| 129 | + |
|---|
| 110 | 130 | struct rk_cam_vcm_cfg { |
|---|
| 111 | 131 | int start_ma; |
|---|
| 112 | 132 | int rated_ma; |
|---|