hc
2023-12-09 958e46acc8e900e8569dd467c1af9b8d2d019394
kernel/include/uapi/linux/rk_vcm_head.h
....@@ -4,6 +4,9 @@
44 #ifndef RK_VCM_HEAD_H
55 #define RK_VCM_HEAD_H
66
7
+#include <linux/types.h>
8
+#include <linux/time_types.h>
9
+
710 #define RK_VCM_HEAD_VERSION KERNEL_VERSION(0, 0x02, 0x0)
811 /*
912 * Focus position values:
....@@ -11,6 +14,7 @@
1114 * where 64 is the setting for infinity and 0 for macro
1215 */
1316 #define VCMDRV_MAX_LOG 64U
17
+#define VCMDRV_SETZOOM_MAXCNT 300U
1418
1519 #define OF_CAMERA_VCMDRV_MAX_CURRENT "rockchip,vcm-max-current"
1620 #define OF_CAMERA_VCMDRV_START_CURRENT "rockchip,vcm-start-current"
....@@ -19,7 +23,17 @@
1923 #define OF_CAMERA_VCMDRV_DLC_ENABLE "rockchip,vcm-dlc-enable"
2024 #define OF_CAMERA_VCMDRV_MCLK "rockchip,vcm-mclk"
2125 #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
2337
2438 #define RK_VIDIOC_VCM_TIMEINFO \
2539 _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rk_cam_vcm_tim)
....@@ -61,7 +75,9 @@
6175 #define RK_VIDIOC_MODIFY_POSITION \
6276 _IOW('V', BASE_VIDIOC_PRIVATE + 16, struct rk_cam_modify_pos)
6377
64
-#ifdef CONFIG_COMPAT
78
+#define RK_VIDIOC_SET_VCM_MAX_LOGICALPOS \
79
+ _IOW('V', BASE_VIDIOC_PRIVATE + 17, unsigned int)
80
+
6581 #define RK_VIDIOC_COMPAT_VCM_TIMEINFO \
6682 _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rk_cam_compat_vcm_tim)
6783 #define RK_VIDIOC_COMPAT_IRIS_TIMEINFO \
....@@ -70,43 +86,47 @@
7086 _IOR('V', BASE_VIDIOC_PRIVATE + 2, struct rk_cam_compat_vcm_tim)
7187 #define RK_VIDIOC_COMPAT_ZOOM1_TIMEINFO \
7288 _IOR('V', BASE_VIDIOC_PRIVATE + 11, struct rk_cam_compat_vcm_tim)
73
-#endif
7489
7590 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;
7994 };
8095
8196 struct rk_cam_set_focus {
82
- bool is_need_reback;
83
- s32 focus_pos;
97
+ _Bool is_need_reback;
98
+ __s32 focus_pos;
8499 };
85100
86101 struct rk_cam_zoom_pos {
87
- s32 zoom_pos;
88
- s32 focus_pos;
102
+ __s32 zoom_pos;
103
+ __s32 focus_pos;
89104 };
90105
91106 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;
95110 struct rk_cam_zoom_pos zoom_pos[VCMDRV_SETZOOM_MAXCNT];
96111 };
97112
98113 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;
101116 };
102117
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;
107122 };
108123 #endif
109124
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
+
110130 struct rk_cam_vcm_cfg {
111131 int start_ma;
112132 int rated_ma;