import exynos 7570 bsp
[GitHub/LineageOS/android_hardware_samsung_slsi_exynos5.git] / include / videodev2_exynos_camera.h
1 /*
2 * Video for Linux Two header file for samsung
3 *
4 * Copyright (C) 2009, Dongsoo Nathaniel Kim<dongsoo45.kim@samsung.com>
5 *
6 * This header file contains several v4l2 APIs to be proposed to v4l2
7 * community and until bein accepted, will be used restrictly in Samsung's
8 * camera interface driver FIMC.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 */
15
16 /*
17 * Copyright 2008, The Android Open Source Project
18 * Copyright 2010, Samsung Electronics Co. LTD
19 *
20 * Licensed under the Apache License, Version 2.0 (the "License");
21 * you may not use this file except in compliance with the License.
22 * You may obtain a copy of the License at
23 *
24 * http://www.apache.org/licenses/LICENSE-2.0
25 *
26 * Unless required by applicable law or agreed to in writing, software
27 * distributed under the License is distributed toggle an "AS IS" BASIS,
28 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29 * See the License for the specific language governing permissions and
30 * limitations under the License.
31 */
32
33 #ifndef __LINUX_VIDEODEV2_EXYNOS_CAMERA_H
34 #define __LINUX_VIDEODEV2_EXYNOS_CAMERA_H
35
36 /* Values for 'capabilities' field */
37 /* Object detection device */
38 #define V4L2_CAP_OBJ_RECOGNITION 0x10000000
39 /* strobe control */
40 #define V4L2_CAP_STROBE 0x20000000
41
42 #define V4L2_CID_FOCUS_MODE (V4L2_CID_CAMERA_CLASS_BASE+17)
43 /* Focus Methods */
44 enum v4l2_focus_mode {
45 V4L2_FOCUS_MODE_AUTO = 0,
46 V4L2_FOCUS_MODE_MACRO = 1,
47 V4L2_FOCUS_MODE_MANUAL = 2,
48 V4L2_FOCUS_MODE_LASTP = 2,
49 };
50
51 #define V4L2_CID_ZOOM_MODE (V4L2_CID_CAMERA_CLASS_BASE+18)
52 /* Zoom Methods */
53 enum v4l2_zoom_mode {
54 V4L2_ZOOM_MODE_CONTINUOUS = 0,
55 V4L2_ZOOM_MODE_OPTICAL = 1,
56 V4L2_ZOOM_MODE_DIGITAL = 2,
57 V4L2_ZOOM_MODE_LASTP = 2,
58 };
59
60 /* Exposure Methods */
61 #define V4L2_CID_PHOTOMETRY (V4L2_CID_CAMERA_CLASS_BASE+19)
62 enum v4l2_photometry_mode {
63 V4L2_PHOTOMETRY_MULTISEG = 0, /*Multi Segment*/
64 V4L2_PHOTOMETRY_CWA = 1, /*Centre Weighted Average*/
65 V4L2_PHOTOMETRY_SPOT = 2,
66 V4L2_PHOTOMETRY_AFSPOT = 3, /*Spot metering on focused point*/
67 V4L2_PHOTOMETRY_LASTP = V4L2_PHOTOMETRY_AFSPOT,
68 };
69
70 /* Manual exposure control items menu type: iris, shutter, iso */
71 #define V4L2_CID_CAM_APERTURE (V4L2_CID_CAMERA_CLASS_BASE+20)
72 #define V4L2_CID_CAM_SHUTTER (V4L2_CID_CAMERA_CLASS_BASE+21)
73 #define V4L2_CID_CAM_ISO (V4L2_CID_CAMERA_CLASS_BASE+22)
74
75 /* Following CIDs are menu type */
76 #define V4L2_CID_SCENEMODE (V4L2_CID_CAMERA_CLASS_BASE+23)
77 #define V4L2_CID_CAM_STABILIZE (V4L2_CID_CAMERA_CLASS_BASE+24)
78 #define V4L2_CID_CAM_MULTISHOT (V4L2_CID_CAMERA_CLASS_BASE+25)
79
80 /* Control dynamic range */
81 #define V4L2_CID_CAM_DR (V4L2_CID_CAMERA_CLASS_BASE+26)
82
83 /* White balance preset control */
84 #define V4L2_CID_WHITE_BALANCE_PRESET (V4L2_CID_CAMERA_CLASS_BASE+27)
85 #define V4L2_CID_CAM_SENSOR_FW_VER (V4L2_CID_CAMERA_CLASS_BASE + 28)
86 #define V4L2_CID_CAM_PHONE_FW_VER (V4L2_CID_CAMERA_CLASS_BASE + 29)
87
88 /* CID extensions */
89 #define V4L2_CID_ROTATION (V4L2_CID_PRIVATE_BASE + 0)
90 #define V4L2_CID_PADDR_Y (V4L2_CID_PRIVATE_BASE + 1)
91 #define V4L2_CID_PADDR_CB (V4L2_CID_PRIVATE_BASE + 2)
92 #define V4L2_CID_PADDR_CR (V4L2_CID_PRIVATE_BASE + 3)
93 #define V4L2_CID_PADDR_CBCR (V4L2_CID_PRIVATE_BASE + 4)
94 #define V4L2_CID_OVERLAY_AUTO (V4L2_CID_PRIVATE_BASE + 5)
95 #define V4L2_CID_OVERLAY_VADDR0 (V4L2_CID_PRIVATE_BASE + 6)
96 #define V4L2_CID_OVERLAY_VADDR1 (V4L2_CID_PRIVATE_BASE + 7)
97 #define V4L2_CID_OVERLAY_VADDR2 (V4L2_CID_PRIVATE_BASE + 8)
98 #define V4L2_CID_OVLY_MODE (V4L2_CID_PRIVATE_BASE + 9)
99 #define V4L2_CID_DST_INFO (V4L2_CID_PRIVATE_BASE + 10)
100 /* UMP secure id control */
101 #define V4L2_CID_GET_UMP_SECURE_ID (V4L2_CID_PRIVATE_BASE + 11)
102 #define V4L2_CID_GET_PHY_SRC_YADDR (V4L2_CID_PRIVATE_BASE + 12)
103 #define V4L2_CID_GET_PHY_SRC_CADDR (V4L2_CID_PRIVATE_BASE + 13)
104 #define V4L2_CID_IMAGE_EFFECT_FN (V4L2_CID_PRIVATE_BASE + 16)
105 #define V4L2_CID_IMAGE_EFFECT_APPLY (V4L2_CID_PRIVATE_BASE + 17)
106 #define V4L2_CID_IMAGE_EFFECT_CB (V4L2_CID_PRIVATE_BASE + 18)
107 #define V4L2_CID_IMAGE_EFFECT_CR (V4L2_CID_PRIVATE_BASE + 19)
108 #define V4L2_CID_RESERVED_MEM_BASE_ADDR (V4L2_CID_PRIVATE_BASE + 20)
109 #define V4L2_CID_FIMC_VERSION (V4L2_CID_PRIVATE_BASE + 21)
110
111 #define V4L2_CID_STREAM_PAUSE (V4L2_CID_PRIVATE_BASE + 53)
112 #define V4L2_CID_CACHE_FLUSH (V4L2_CID_PRIVATE_BASE + 61)
113 #define V4L2_CID_RESERVED_MEM_SIZE (V4L2_CID_PRIVATE_BASE + 63)
114
115 /* CID Extensions for camera sensor operations */
116 #define V4L2_CID_CAM_PREVIEW_ONOFF (V4L2_CID_PRIVATE_BASE + 64)
117 #define V4L2_CID_CAM_CAPTURE (V4L2_CID_PRIVATE_BASE + 65)
118 /* #define V4L2_CID_CAM_JPEG_MEMSIZE (V4L2_CID_PRIVATE_BASE + 66) */
119
120 #define V4L2_CID_CAM_DATE_INFO_YEAR (V4L2_CID_PRIVATE_BASE + 14)
121 #define V4L2_CID_CAM_DATE_INFO_MONTH (V4L2_CID_PRIVATE_BASE + 15)
122 #define V4L2_CID_CAM_DATE_INFO_DATE (V4L2_CID_PRIVATE_BASE + 22)
123 #define V4L2_CID_CAM_SENSOR_VER (V4L2_CID_PRIVATE_BASE + 23)
124 #define V4L2_CID_CAM_FW_MINOR_VER (V4L2_CID_PRIVATE_BASE + 24)
125 #define V4L2_CID_CAM_FW_MAJOR_VER (V4L2_CID_PRIVATE_BASE + 25)
126 #define V4L2_CID_CAM_PRM_MINOR_VER (V4L2_CID_PRIVATE_BASE + 26)
127 #define V4L2_CID_CAM_PRM_MAJOR_VER (V4L2_CID_PRIVATE_BASE + 27)
128 #define V4L2_CID_CAM_FW_VER (V4L2_CID_PRIVATE_BASE + 28)
129 #define V4L2_CID_CAM_SET_FW_ADDR (V4L2_CID_PRIVATE_BASE + 29)
130 #define V4L2_CID_CAM_SET_FW_SIZE (V4L2_CID_PRIVATE_BASE + 30)
131 #define V4L2_CID_CAM_UPDATE_FW (V4L2_CID_PRIVATE_BASE + 31)
132 enum v4l2_firmware_mode {
133 FW_MODE_UPDATE,
134 FW_MODE_VERSION,
135 FW_MODE_DUMP,
136 };
137
138 #define V4L2_CID_CAM_JPEG_MAIN_SIZE (V4L2_CID_PRIVATE_BASE + 32)
139 #define V4L2_CID_CAM_JPEG_MAIN_OFFSET (V4L2_CID_PRIVATE_BASE + 33)
140 #define V4L2_CID_CAM_JPEG_THUMB_SIZE (V4L2_CID_PRIVATE_BASE + 34)
141 #define V4L2_CID_CAM_JPEG_THUMB_OFFSET (V4L2_CID_PRIVATE_BASE + 35)
142 #define V4L2_CID_CAM_JPEG_POSTVIEW_OFFSET (V4L2_CID_PRIVATE_BASE + 36)
143 #define V4L2_CID_CAM_JPEG_QUALITY (V4L2_CID_PRIVATE_BASE + 37)
144 #define V4L2_CID_CAM_SENSOR_MAKER (V4L2_CID_PRIVATE_BASE + 38)
145 #define V4L2_CID_CAM_SENSOR_OPTICAL (V4L2_CID_PRIVATE_BASE + 39)
146 #define V4L2_CID_CAM_AF_VER_LOW (V4L2_CID_PRIVATE_BASE + 40)
147 #define V4L2_CID_CAM_AF_VER_HIGH (V4L2_CID_PRIVATE_BASE + 41)
148 #define V4L2_CID_CAM_GAMMA_RG_LOW (V4L2_CID_PRIVATE_BASE + 42)
149 #define V4L2_CID_CAM_GAMMA_RG_HIGH (V4L2_CID_PRIVATE_BASE + 43)
150 #define V4L2_CID_CAM_GAMMA_BG_LOW (V4L2_CID_PRIVATE_BASE + 44)
151 #define V4L2_CID_CAM_GAMMA_BG_HIGH (V4L2_CID_PRIVATE_BASE + 45)
152 #define V4L2_CID_CAM_DUMP_FW (V4L2_CID_PRIVATE_BASE + 46)
153 #define V4L2_CID_CAM_GET_DUMP_SIZE (V4L2_CID_PRIVATE_BASE + 47)
154 #define V4L2_CID_CAMERA_VT_MODE (V4L2_CID_PRIVATE_BASE + 48)
155 #define V4L2_CID_CAMERA_VGA_BLUR (V4L2_CID_PRIVATE_BASE + 49)
156 #define V4L2_CID_CAMERA_CAPTURE (V4L2_CID_PRIVATE_BASE + 50)
157 #define V4L2_CID_CAMERA_HDR (V4L2_CID_PRIVATE_BASE + 51)
158
159 #define V4L2_CID_MAIN_SW_DATE_INFO_YEAR (V4L2_CID_PRIVATE_BASE + 54)
160 #define V4L2_CID_MAIN_SW_DATE_INFO_MONTH (V4L2_CID_PRIVATE_BASE + 55)
161 #define V4L2_CID_MAIN_SW_DATE_INFO_DATE (V4L2_CID_PRIVATE_BASE + 56)
162 #define V4L2_CID_MAIN_SW_FW_MINOR_VER (V4L2_CID_PRIVATE_BASE + 57)
163 #define V4L2_CID_MAIN_SW_FW_MAJOR_VER (V4L2_CID_PRIVATE_BASE + 58)
164 #define V4L2_CID_MAIN_SW_PRM_MINOR_VER (V4L2_CID_PRIVATE_BASE + 59)
165 #define V4L2_CID_MAIN_SW_PRM_MAJOR_VER (V4L2_CID_PRIVATE_BASE + 60)
166
167 #define V4L2_CID_FIMC_IS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x1000)
168 #define V4L2_CID_FIMC_IS_TUNE_BASE (V4L2_CTRL_CLASS_CAMERA | 0x2000)
169
170 #define V4L2_CID_IS_LOAD_FW (V4L2_CID_FIMC_IS_BASE + 10)
171 #define V4L2_CID_IS_INIT_PARAM (V4L2_CID_FIMC_IS_BASE + 11)
172 #define V4L2_CID_IS_RESET (V4L2_CID_FIMC_IS_BASE + 12)
173 #define V4L2_CID_IS_S_POWER (V4L2_CID_FIMC_IS_BASE + 13)
174 enum is_set_power {
175 IS_POWER_OFF,
176 IS_POWER_ON
177 };
178
179 #define V4L2_CID_IS_S_STREAM (V4L2_CID_FIMC_IS_BASE + 14)
180 enum is_set_stream {
181 IS_DISABLE_STREAM,
182 IS_ENABLE_STREAM
183 };
184
185 #define V4L2_CID_IS_S_SCENARIO_MODE (V4L2_CID_FIMC_IS_BASE + 15)
186 #define V4L2_CID_IS_S_FORMAT_SCENARIO (V4L2_CID_FIMC_IS_BASE + 16)
187 enum scenario_mode {
188 IS_MODE_PREVIEW_STILL,
189 IS_MODE_PREVIEW_VIDEO,
190 IS_MODE_CAPTURE_STILL,
191 IS_MODE_CAPTURE_VIDEO,
192 IS_MODE_MAX
193 };
194
195 #define V4L2_CID_IS_G_COMPLETES (V4L2_CID_FIMC_IS_BASE + 18)
196
197 /* global */
198 #define V4L2_CID_IS_CAMERA_SHOT_MODE_NORMAL (V4L2_CID_FIMC_IS_BASE + 101)
199 /* value : 1 : single shot , >=2 : continuous shot */
200
201 #define V4L2_CID_IS_CAMERA_SENSOR_NUM (V4L2_CID_FIMC_IS_BASE + 201)
202
203 #define V4L2_CID_IS_CAMERA_FOCUS_MODE (V4L2_CID_FIMC_IS_BASE + 401)
204 enum is_focus_mode {
205 IS_FOCUS_MODE_AUTO,
206 IS_FOCUS_MODE_MACRO,
207 IS_FOCUS_MODE_INFINITY,
208 IS_FOCUS_MODE_CONTINUOUS,
209 IS_FOCUS_MODE_TOUCH,
210 IS_FOCUS_MODE_FACEDETECT,
211 IS_FOCUS_MODE_IDLE,
212 IS_FOCUS_MODE_MAX,
213 };
214
215 #define V4L2_CID_IS_CAMERA_FLASH_MODE (V4L2_CID_FIMC_IS_BASE + 402)
216 enum is_flash_mode {
217 IS_FLASH_MODE_OFF,
218 IS_FLASH_MODE_AUTO,
219 IS_FLASH_MODE_AUTO_REDEYE,
220 IS_FLASH_MODE_ON,
221 IS_FLASH_MODE_TORCH,
222 IS_FLASH_MODE_MAX
223 };
224
225 #define V4L2_CID_IS_CAMERA_AWB_MODE (V4L2_CID_FIMC_IS_BASE + 403)
226 enum is_awb_mode {
227 IS_AWB_AUTO,
228 IS_AWB_DAYLIGHT,
229 IS_AWB_CLOUDY,
230 IS_AWB_TUNGSTEN,
231 IS_AWB_FLUORESCENT,
232 IS_AWB_MAX
233 };
234
235 #define V4L2_CID_IS_CAMERA_IMAGE_EFFECT (V4L2_CID_FIMC_IS_BASE + 404)
236 enum is_image_effect {
237 IS_IMAGE_EFFECT_DISABLE,
238 IS_IMAGE_EFFECT_MONOCHROME,
239 IS_IMAGE_EFFECT_NEGATIVE_MONO,
240 IS_IMAGE_EFFECT_NEGATIVE_COLOR,
241 IS_IMAGE_EFFECT_SEPIA,
242 IS_IMAGE_EFFECT_SEPIA_CB,
243 IS_IMAGE_EFFECT_SEPIA_CR,
244 IS_IMAGE_EFFECT_NEGATIVE,
245 IS_IMAGE_EFFECT_ARTFREEZE,
246 IS_IMAGE_EFFECT_EMBOSSING,
247 IS_IMAGE_EFFECT_SILHOUETTE,
248 IS_IMAGE_EFFECT_MAX
249 };
250
251 #define V4L2_CID_IS_CAMERA_ISO (V4L2_CID_FIMC_IS_BASE + 405)
252 enum is_iso {
253 IS_ISO_AUTO,
254 IS_ISO_50,
255 IS_ISO_100,
256 IS_ISO_200,
257 IS_ISO_400,
258 IS_ISO_800,
259 IS_ISO_1600,
260 IS_ISO_MAX
261 };
262
263 #define V4L2_CID_IS_CAMERA_CONTRAST (V4L2_CID_FIMC_IS_BASE + 406)
264 enum is_contrast {
265 IS_CONTRAST_AUTO,
266 IS_CONTRAST_MINUS_2,
267 IS_CONTRAST_MINUS_1,
268 IS_CONTRAST_DEFAULT,
269 IS_CONTRAST_PLUS_1,
270 IS_CONTRAST_PLUS_2,
271 IS_CONTRAST_MAX
272 };
273
274 #define V4L2_CID_IS_CAMERA_SATURATION (V4L2_CID_FIMC_IS_BASE + 407)
275 enum is_saturation {
276 IS_SATURATION_MINUS_2,
277 IS_SATURATION_MINUS_1,
278 IS_SATURATION_DEFAULT,
279 IS_SATURATION_PLUS_1,
280 IS_SATURATION_PLUS_2,
281 IS_SATURATION_MAX
282 };
283
284 #define V4L2_CID_IS_CAMERA_SHARPNESS (V4L2_CID_FIMC_IS_BASE + 408)
285 enum is_sharpness {
286 IS_SHARPNESS_MINUS_2,
287 IS_SHARPNESS_MINUS_1,
288 IS_SHARPNESS_DEFAULT,
289 IS_SHARPNESS_PLUS_1,
290 IS_SHARPNESS_PLUS_2,
291 IS_SHARPNESS_MAX
292 };
293
294 #define V4L2_CID_IS_CAMERA_EXPOSURE (V4L2_CID_FIMC_IS_BASE + 409)
295 enum is_exposure {
296 IS_EXPOSURE_MINUS_4,
297 IS_EXPOSURE_MINUS_3,
298 IS_EXPOSURE_MINUS_2,
299 IS_EXPOSURE_MINUS_1,
300 IS_EXPOSURE_DEFAULT,
301 IS_EXPOSURE_PLUS_1,
302 IS_EXPOSURE_PLUS_2,
303 IS_EXPOSURE_PLUS_3,
304 IS_EXPOSURE_PLUS_4,
305 IS_EXPOSURE_MAX
306 };
307
308 #define V4L2_CID_IS_CAMERA_BRIGHTNESS (V4L2_CID_FIMC_IS_BASE + 410)
309 enum is_brightness {
310 IS_BRIGHTNESS_MINUS_2,
311 IS_BRIGHTNESS_MINUS_1,
312 IS_BRIGHTNESS_DEFAULT,
313 IS_BRIGHTNESS_PLUS_1,
314 IS_BRIGHTNESS_PLUS_2,
315 IS_BRIGHTNESS_MAX
316 };
317
318 #define V4L2_CID_IS_CAMERA_HUE (V4L2_CID_FIMC_IS_BASE + 411)
319 enum is_hue {
320 IS_HUE_MINUS_2,
321 IS_HUE_MINUS_1,
322 IS_HUE_DEFAULT,
323 IS_HUE_PLUS_1,
324 IS_HUE_PLUS_2,
325 IS_HUE_MAX
326 };
327
328 #define V4L2_CID_IS_CAMERA_METERING (V4L2_CID_FIMC_IS_BASE + 412)
329 enum is_metering {
330 IS_METERING_AVERAGE,
331 IS_METERING_SPOT,
332 IS_METERING_MATRIX,
333 IS_METERING_CENTER,
334 IS_METERING_MAX
335 };
336 #define V4L2_CID_IS_CAMERA_METERING_POSITION_X (V4L2_CID_FIMC_IS_BASE + 500)
337 #define V4L2_CID_IS_CAMERA_METERING_POSITION_Y (V4L2_CID_FIMC_IS_BASE + 501)
338 #define V4L2_CID_IS_CAMERA_METERING_WINDOW_X (V4L2_CID_FIMC_IS_BASE + 502)
339 #define V4L2_CID_IS_CAMERA_METERING_WINDOW_Y (V4L2_CID_FIMC_IS_BASE + 503)
340
341 #define V4L2_CID_IS_CAMERA_AFC_MODE (V4L2_CID_FIMC_IS_BASE + 413)
342 enum is_afc_mode {
343 IS_AFC_DISABLE,
344 IS_AFC_AUTO,
345 IS_AFC_MANUAL_50HZ,
346 IS_AFC_MANUAL_60HZ,
347 IS_AFC_MAX
348 };
349
350 #define V4L2_CID_IS_AWB_LOCK_UNLOCK (V4L2_CID_FIMC_IS_BASE + 496)
351 enum is_awb_lock_unlock {
352 IS_AWB_LOCK,
353 IS_AWB_UNLOCK,
354 IS_AWB_LOCK_UNLOCK_MAX
355 };
356
357 #define V4L2_CID_IS_AE_LOCK_UNLOCK (V4L2_CID_FIMC_IS_BASE + 497)
358 enum is_ae_lock_unlock {
359 IS_AE_LOCK,
360 IS_AE_UNLOCK,
361 IS_AE_LOCK_UNLOCK_MAX
362 };
363
364 #define V4L2_CID_IS_FD_GET_FACE_COUNT (V4L2_CID_FIMC_IS_BASE + 600)
365 #define V4L2_CID_IS_FD_GET_FACE_FRAME_NUMBER (V4L2_CID_FIMC_IS_BASE + 601)
366 #define V4L2_CID_IS_FD_GET_FACE_CONFIDENCE (V4L2_CID_FIMC_IS_BASE + 602)
367 #define V4L2_CID_IS_FD_GET_FACE_SMILE_LEVEL (V4L2_CID_FIMC_IS_BASE + 603)
368 #define V4L2_CID_IS_FD_GET_FACE_BLINK_LEVEL (V4L2_CID_FIMC_IS_BASE + 604)
369 #define V4L2_CID_IS_FD_GET_FACE_TOPLEFT_X (V4L2_CID_FIMC_IS_BASE + 605)
370 #define V4L2_CID_IS_FD_GET_FACE_TOPLEFT_Y (V4L2_CID_FIMC_IS_BASE + 606)
371 #define V4L2_CID_IS_FD_GET_FACE_BOTTOMRIGHT_X (V4L2_CID_FIMC_IS_BASE + 607)
372 #define V4L2_CID_IS_FD_GET_FACE_BOTTOMRIGHT_Y (V4L2_CID_FIMC_IS_BASE + 608)
373 #define V4L2_CID_IS_FD_GET_LEFT_EYE_TOPLEFT_X (V4L2_CID_FIMC_IS_BASE + 609)
374 #define V4L2_CID_IS_FD_GET_LEFT_EYE_TOPLEFT_Y (V4L2_CID_FIMC_IS_BASE + 610)
375 #define V4L2_CID_IS_FD_GET_LEFT_EYE_BOTTOMRIGHT_X (V4L2_CID_FIMC_IS_BASE + 611)
376 #define V4L2_CID_IS_FD_GET_LEFT_EYE_BOTTOMRIGHT_Y (V4L2_CID_FIMC_IS_BASE + 612)
377 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_TOPLEFT_X (V4L2_CID_FIMC_IS_BASE + 613)
378 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_TOPLEFT_Y (V4L2_CID_FIMC_IS_BASE + 614)
379 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_BOTTOMRIGHT_X (V4L2_CID_FIMC_IS_BASE + 615)
380 #define V4L2_CID_IS_FD_GET_RIGHT_EYE_BOTTOMRIGHT_Y (V4L2_CID_FIMC_IS_BASE + 616)
381 #define V4L2_CID_IS_FD_GET_MOUTH_TOPLEFT_X (V4L2_CID_FIMC_IS_BASE + 617)
382 #define V4L2_CID_IS_FD_GET_MOUTH_TOPLEFT_Y (V4L2_CID_FIMC_IS_BASE + 618)
383 #define V4L2_CID_IS_FD_GET_MOUTH_BOTTOMRIGHT_X (V4L2_CID_FIMC_IS_BASE + 619)
384 #define V4L2_CID_IS_FD_GET_MOUTH_BOTTOMRIGHT_Y (V4L2_CID_FIMC_IS_BASE + 620)
385 #define V4L2_CID_IS_FD_GET_ANGLE (V4L2_CID_FIMC_IS_BASE + 621)
386 #define V4L2_CID_IS_FD_GET_YAW_ANGLE (V4L2_CID_FIMC_IS_BASE + 622)
387 #define V4L2_CID_IS_FD_GET_NEXT (V4L2_CID_FIMC_IS_BASE + 623)
388 #define V4L2_CID_IS_FD_GET_DATA (V4L2_CID_FIMC_IS_BASE + 624)
389
390 #define V4L2_CID_IS_FD_SET_MAX_FACE_NUMBER (V4L2_CID_FIMC_IS_BASE + 650)
391 #define V4L2_CID_IS_FD_SET_ROLL_ANGLE (V4L2_CID_FIMC_IS_BASE + 651)
392 enum is_fd_roll_angle {
393 /* 0, 45, 0, -45 */
394 IS_FD_ROLL_ANGLE_BASIC = 0,
395 /* 0, 30, 0, -30, 0, 45, 0, -45 */
396 IS_FD_ROLL_ANGLE_PRECISE_BASIC = 1,
397 /* 0, 90, 0, -90 */
398 IS_FD_ROLL_ANGLE_SIDES = 2,
399 /* 0, 90, 0, -90 0, 45, 0, -45 */
400 IS_FD_ROLL_ANGLE_PRECISE_SIDES = 3,
401 /* 0, 90, 0, -90, 0, 180 */
402 IS_FD_ROLL_ANGLE_FULL = 4,
403 /* 0, 90, 0, -90, 0, 180, 0, 135, 0, -135 */
404 IS_FD_ROLL_ANGLE_PRECISE_FULL = 5,
405 };
406
407 #define V4L2_CID_IS_FD_SET_YAW_ANGLE (V4L2_CID_FIMC_IS_BASE + 652)
408 enum is_fd_yaw_angle {
409 IS_FD_YAW_ANGLE_0 = 0,
410 IS_FD_YAW_ANGLE_45 = 1,
411 IS_FD_YAW_ANGLE_90 = 2,
412 IS_FD_YAW_ANGLE_45_90 = 3,
413 };
414
415 #define V4L2_CID_IS_FD_SET_SMILE_MODE (V4L2_CID_FIMC_IS_BASE + 653)
416 enum is_fd_smile_mode {
417 IS_FD_SMILE_MODE_DISABLE = 0,
418 IS_FD_SMILE_MODE_ENABLE = 1,
419 };
420
421 #define V4L2_CID_IS_FD_SET_BLINK_MODE (V4L2_CID_FIMC_IS_BASE + 654)
422 enum is_fd_blink_mode {
423 IS_FD_BLINK_MODE_DISABLE = 0,
424 IS_FD_BLINK_MODE_ENABLE = 1,
425 };
426
427 #define V4L2_CID_IS_FD_SET_EYE_DETECT_MODE (V4L2_CID_FIMC_IS_BASE + 655)
428 enum is_fd_eye_detect_mode {
429 IS_FD_EYE_DETECT_DISABLE = 0,
430 IS_FD_EYE_DETECT_ENABLE = 1,
431 };
432
433 #define V4L2_CID_IS_FD_SET_MOUTH_DETECT_MODE (V4L2_CID_FIMC_IS_BASE + 656)
434 enum is_fd_mouth_detect_mode {
435 IS_FD_MOUTH_DETECT_DISABLE = 0,
436 IS_FD_MOUTH_DETECT_ENABLE = 1,
437 };
438
439 #define V4L2_CID_IS_FD_SET_ORIENTATION_MODE (V4L2_CID_FIMC_IS_BASE + 657)
440 enum is_fd_orientation_mode {
441 IS_FD_ORIENTATION_DISABLE = 0,
442 IS_FD_ORIENTATION_ENABLE = 1,
443 };
444
445 #define V4L2_CID_IS_FD_SET_ORIENTATION (V4L2_CID_FIMC_IS_BASE + 658)
446 #define V4L2_CID_IS_FD_SET_DATA_ADDRESS (V4L2_CID_FIMC_IS_BASE + 659)
447
448 #define V4L2_CID_IS_SET_ISP (V4L2_CID_FIMC_IS_BASE + 440)
449 enum is_isp_bypass_mode {
450 IS_ISP_BYPASS_DISABLE,
451 IS_ISP_BYPASS_ENABLE,
452 IS_ISP_BYPASS_MAX
453 };
454
455 #define V4L2_CID_IS_SET_DRC (V4L2_CID_FIMC_IS_BASE + 441)
456 enum is_drc_bypass_mode {
457 IS_DRC_BYPASS_DISABLE,
458 IS_DRC_BYPASS_ENABLE,
459 IS_DRC_BYPASS_MAX
460 };
461
462 #define V4L2_CID_IS_SET_FD (V4L2_CID_FIMC_IS_BASE + 442)
463 enum is_fd_bypass_mode {
464 IS_FD_BYPASS_DISABLE,
465 IS_FD_BYPASS_ENABLE,
466 IS_FD_BYPASS_MAX
467 };
468
469 #define V4L2_CID_IS_SET_ODC (V4L2_CID_FIMC_IS_BASE + 443)
470 enum is_odc_bypass_mode {
471 IS_ODC_BYPASS_DISABLE,
472 IS_ODC_BYPASS_ENABLE,
473 IS_ODC_BYPASS_MAX
474 };
475
476 #define V4L2_CID_IS_SET_DIS (V4L2_CID_FIMC_IS_BASE + 444)
477 enum is_dis_bypass_mode {
478 IS_DIS_BYPASS_DISABLE,
479 IS_DIS_BYPASS_ENABLE,
480 IS_DIS_BYPASS_MAX
481 };
482
483 #define V4L2_CID_IS_SET_3DNR (V4L2_CID_FIMC_IS_BASE + 445)
484 enum is_tdnr_bypass_mode {
485 IS_TDNR_BYPASS_DISABLE,
486 IS_TDNR_BYPASS_ENABLE,
487 IS_TDNR_BYPASS_MAX
488 };
489
490 #define V4L2_CID_IS_SET_SCALERC (V4L2_CID_FIMC_IS_BASE + 446)
491 enum is_scalerc_bypass_mode {
492 IS_SCALERC_BYPASS_DISABLE,
493 IS_SCALERC_BYPASS_ENABLE,
494 IS_SCALERC_BYPASS_MAX
495 };
496
497 #define V4L2_CID_IS_SET_SCALERP (V4L2_CID_FIMC_IS_BASE + 446)
498 enum is_scalerp_bypass_mode {
499 IS_SCALERP_BYPASS_DISABLE,
500 IS_SCALERP_BYPASS_ENABLE,
501 IS_SCALERP_BYPASS_MAX
502 };
503
504 #define V4L2_CID_IS_ROTATION_MODE (V4L2_CID_FIMC_IS_BASE + 450)
505 enum is_rotation_mode {
506 IS_ROTATION_0,
507 IS_ROTATION_90,
508 IS_ROTATION_180,
509 IS_ROTATION_270,
510 IS_ROTATION_MAX
511 };
512
513 #define V4L2_CID_IS_3DNR_1ST_FRAME_MODE (V4L2_CID_FIMC_IS_BASE + 451)
514 enum is_tdnr_1st_frame_mode {
515 IS_TDNR_1ST_FRAME_NOPROCESSING,
516 IS_TDNR_1ST_FRAME_2DNR,
517 IS_TDNR_MAX
518 };
519
520 #define V4L2_CID_IS_CAMERA_OBJECT_POSITION_X (V4L2_CID_FIMC_IS_BASE + 452)
521 #define V4L2_CID_IS_CAMERA_OBJECT_POSITION_Y (V4L2_CID_FIMC_IS_BASE + 453)
522 #define V4L2_CID_IS_CAMERA_WINDOW_SIZE_X (V4L2_CID_FIMC_IS_BASE + 454)
523 #define V4L2_CID_IS_CAMERA_WINDOW_SIZE_Y (V4L2_CID_FIMC_IS_BASE + 455)
524
525 #define V4L2_CID_IS_CAMERA_EXIF_EXPTIME (V4L2_CID_FIMC_IS_BASE + 456)
526 #define V4L2_CID_IS_CAMERA_EXIF_FLASH (V4L2_CID_FIMC_IS_BASE + 457)
527 #define V4L2_CID_IS_CAMERA_EXIF_ISO (V4L2_CID_FIMC_IS_BASE + 458)
528 #define V4L2_CID_IS_CAMERA_EXIF_SHUTTERSPEED (V4L2_CID_FIMC_IS_BASE + 459)
529 #define V4L2_CID_IS_CAMERA_EXIF_BRIGHTNESS (V4L2_CID_FIMC_IS_BASE + 460)
530
531 #define V4L2_CID_IS_CAMERA_ISP_SEL_INPUT (V4L2_CID_FIMC_IS_BASE + 461)
532 enum is_isp_sel_input {
533 IS_ISP_INPUT_OTF,
534 IS_ISP_INPUT_DMA1,
535 IS_ISP_INPUT_DMA2,
536 IS_ISP_INPUT_DMA12,
537 IS_ISP_INPUT_MAX
538 };
539
540 #define V4L2_CID_IS_CAMERA_ISP_SEL_OUTPUT (V4L2_CID_FIMC_IS_BASE + 462)
541 enum is_isp_sel_output {
542 IS_ISP_OUTPUT_OTF,
543 IS_ISP_OUTPUT_DMA1,
544 IS_ISP_OUTPUT_DMA2,
545 IS_ISP_OUTPUT_DMA12,
546 IS_ISP_OUTPUT_OTF_DMA1,
547 IS_ISP_OUTPUT_OTF_DMA2,
548 IS_ISP_OUTPUT_OTF_DMA12,
549 IS_ISP_OUTPUT_MAX
550 };
551
552 #define V4L2_CID_IS_CAMERA_DRC_SEL_INPUT (V4L2_CID_FIMC_IS_BASE + 463)
553 enum is_drc_sel_input {
554 IS_DRC_INPUT_OTF,
555 IS_DRC_INPUT_DMA,
556 IS_DRC_INPUT_MAX
557 };
558
559 #define V4L2_CID_IS_CAMERA_FD_SEL_INPUT (V4L2_CID_FIMC_IS_BASE + 464)
560 enum is_fd_sel_input {
561 IS_FD_INPUT_OTF,
562 IS_FD_INPUT_DMA,
563 IS_FD_INPUT_MAX
564 };
565
566 #define V4L2_CID_IS_CAMERA_INIT_WIDTH (V4L2_CID_FIMC_IS_BASE + 465)
567 #define V4L2_CID_IS_CAMERA_INIT_HEIGHT (V4L2_CID_FIMC_IS_BASE + 466)
568
569 #define V4L2_CID_IS_CMD_ISP (V4L2_CID_FIMC_IS_BASE + 467)
570 enum is_isp_cmd_mode {
571 IS_ISP_COMMAND_STOP,
572 IS_ISP_COMMAND_START,
573 IS_ISP_COMMAND_MAX
574 };
575
576 #define V4L2_CID_IS_CMD_DRC (V4L2_CID_FIMC_IS_BASE + 468)
577 enum is_drc_cmd_mode {
578 IS_DRC_COMMAND_STOP,
579 IS_DRC_COMMAND_START,
580 IS_DRC_COMMAND_MAX
581 };
582
583 #define V4L2_CID_IS_CMD_FD (V4L2_CID_FIMC_IS_BASE + 469)
584 enum is_fd_cmd_mode {
585 IS_FD_COMMAND_STOP,
586 IS_FD_COMMAND_START,
587 IS_FD_COMMAND_MAX
588 };
589
590 #define V4L2_CID_IS_CMD_ODC (V4L2_CID_FIMC_IS_BASE + 470)
591 enum is_odc_cmd_mode {
592 IS_ODC_COMMAND_STOP,
593 IS_ODC_COMMAND_START,
594 IS_ODC_COMMAND_MAX
595 };
596
597 #define V4L2_CID_IS_CMD_DIS (V4L2_CID_FIMC_IS_BASE + 471)
598 enum is_dis_cmd_mode {
599 IS_DIS_COMMAND_STOP,
600 IS_DIS_COMMAND_START,
601 IS_DIS_COMMAND_MAX
602 };
603
604 #define V4L2_CID_IS_CMD_TDNR (V4L2_CID_FIMC_IS_BASE + 472)
605 enum is_tdnr_cmd_mode {
606 IS_TDNR_COMMAND_STOP,
607 IS_TDNR_COMMAND_START,
608 IS_TDNR_COMMAND_MAX
609 };
610
611 #define V4L2_CID_IS_CMD_SCALERC (V4L2_CID_FIMC_IS_BASE + 473)
612 enum is_scalerc_cmd_mode {
613 IS_SCALERC_COMMAND_STOP,
614 IS_SCALERC_COMMAND_START,
615 IS_SCALERC_COMMAND_MAX
616 };
617
618 #define V4L2_CID_IS_CMD_SCALERP (V4L2_CID_FIMC_IS_BASE + 474)
619 enum is_scalerp_cmd_mode {
620 IS_SCALERP_COMMAND_STOP,
621 IS_SCALERP_COMMAND_START,
622 IS_SCALERP_COMMAND_MAX
623 };
624
625 #define V4L2_CID_IS_GET_SENSOR_OFFSET_X (V4L2_CID_FIMC_IS_BASE + 480)
626 #define V4L2_CID_IS_GET_SENSOR_OFFSET_Y (V4L2_CID_FIMC_IS_BASE + 481)
627 #define V4L2_CID_IS_GET_SENSOR_WIDTH (V4L2_CID_FIMC_IS_BASE + 482)
628 #define V4L2_CID_IS_GET_SENSOR_HEIGHT (V4L2_CID_FIMC_IS_BASE + 483)
629
630 #define V4L2_CID_IS_GET_FRAME_VALID (V4L2_CID_FIMC_IS_BASE + 484)
631 #define V4L2_CID_IS_SET_FRAME_VALID (V4L2_CID_FIMC_IS_BASE + 485)
632 #define V4L2_CID_IS_GET_FRAME_BADMARK (V4L2_CID_FIMC_IS_BASE + 486)
633 #define V4L2_CID_IS_SET_FRAME_BADMARK (V4L2_CID_FIMC_IS_BASE + 487)
634 #define V4L2_CID_IS_GET_FRAME_CAPTURED (V4L2_CID_FIMC_IS_BASE + 488)
635 #define V4L2_CID_IS_SET_FRAME_CAPTURED (V4L2_CID_FIMC_IS_BASE + 489)
636 #define V4L2_CID_IS_SET_FRAME_NUMBER (V4L2_CID_FIMC_IS_BASE + 490)
637 #define V4L2_CID_IS_GET_FRAME_NUMBER (V4L2_CID_FIMC_IS_BASE + 491)
638 #define V4L2_CID_IS_CLEAR_FRAME_NUMBER (V4L2_CID_FIMC_IS_BASE + 492)
639 #define V4L2_CID_IS_GET_LOSTED_FRAME_NUMBER (V4L2_CID_FIMC_IS_BASE + 493)
640 #define V4L2_CID_IS_ISP_DMA_BUFFER_NUM (V4L2_CID_FIMC_IS_BASE + 494)
641 #define V4L2_CID_IS_ISP_DMA_BUFFER_ADDRESS (V4L2_CID_FIMC_IS_BASE + 495)
642
643 #define V4L2_CID_IS_ZOOM_STATE (V4L2_CID_FIMC_IS_BASE + 660)
644 #define V4L2_CID_IS_ZOOM_MAX_LEVEL (V4L2_CID_FIMC_IS_BASE + 661)
645 #define V4L2_CID_IS_ZOOM (V4L2_CID_FIMC_IS_BASE + 662)
646 #define V4L2_CID_IS_FW_DEBUG_REGION_ADDR (V4L2_CID_FIMC_IS_BASE + 663)
647
648 #define V4L2_CID_IS_TUNE_SEL_ENTRY (V4L2_CID_FIMC_IS_TUNE_BASE)
649 #define V4L2_CID_IS_TUNE_SENSOR_EXPOSURE (V4L2_CID_FIMC_IS_TUNE_BASE + 1)
650 #define V4L2_CID_IS_TUNE_SENSOR_ANALOG_GAIN (V4L2_CID_FIMC_IS_TUNE_BASE + 2)
651 #define V4L2_CID_IS_TUNE_SENSOR_FRAME_RATE (V4L2_CID_FIMC_IS_TUNE_BASE + 3)
652 #define V4L2_CID_IS_TUNE_SENSOR_ACTUATOR_POS (V4L2_CID_FIMC_IS_TUNE_BASE + 4)
653
654 enum v4l2_blur {
655 BLUR_LEVEL_0 = 0,
656 BLUR_LEVEL_1,
657 BLUR_LEVEL_2,
658 BLUR_LEVEL_3,
659 BLUR_LEVEL_MAX,
660 };
661
662 #if 1
663 #define V4L2_CID_CAMERA_SCENE_MODE (V4L2_CID_PRIVATE_BASE+70)
664 enum v4l2_camera_scene_mode {
665 SCENE_MODE_BASE,
666 SCENE_MODE_NONE,
667 SCENE_MODE_PORTRAIT,
668 SCENE_MODE_NIGHTSHOT,
669 SCENE_MODE_BACK_LIGHT,
670 SCENE_MODE_LANDSCAPE,
671 SCENE_MODE_SPORTS,
672 SCENE_MODE_PARTY_INDOOR,
673 SCENE_MODE_BEACH_SNOW,
674 SCENE_MODE_SUNSET,
675 SCENE_MODE_DUSK_DAWN,
676 SCENE_MODE_FALL_COLOR,
677 SCENE_MODE_FIREWORKS,
678 SCENE_MODE_TEXT,
679 SCENE_MODE_CANDLE_LIGHT,
680 SCENE_MODE_LOW_LIGHT,
681 SCENE_MODE_MAX,
682 };
683
684 #define V4L2_CID_CAMERA_FLASH_MODE (V4L2_CID_PRIVATE_BASE+71)
685 enum v4l2_flash_mode {
686 FLASH_MODE_BASE,
687 FLASH_MODE_OFF,
688 FLASH_MODE_AUTO,
689 FLASH_MODE_ON,
690 FLASH_MODE_TORCH,
691 FLASH_MODE_MAX,
692 };
693
694 #define V4L2_CID_CAMERA_BRIGHTNESS (V4L2_CID_PRIVATE_BASE+72)
695 enum v4l2_ev_mode {
696 EV_MINUS_4 = -4,
697 EV_MINUS_3 = -3,
698 EV_MINUS_2 = -2,
699 EV_MINUS_1 = -1,
700 EV_DEFAULT = 0,
701 EV_PLUS_1 = 1,
702 EV_PLUS_2 = 2,
703 EV_PLUS_3 = 3,
704 EV_PLUS_4 = 4,
705 EV_MAX,
706 };
707
708 #define V4L2_CID_CAMERA_WHITE_BALANCE (V4L2_CID_PRIVATE_BASE+73)
709 enum v4l2_wb_mode {
710 WHITE_BALANCE_BASE = 0,
711 WHITE_BALANCE_AUTO,
712 WHITE_BALANCE_SUNNY,
713 WHITE_BALANCE_CLOUDY,
714 WHITE_BALANCE_TUNGSTEN,
715 WHITE_BALANCE_FLUORESCENT,
716 WHITE_BALANCE_MAX,
717 };
718
719 #define V4L2_CID_CAMERA_EFFECT (V4L2_CID_PRIVATE_BASE+74)
720 enum v4l2_effect_mode {
721 IMAGE_EFFECT_BASE = 0,
722 IMAGE_EFFECT_NONE,
723 IMAGE_EFFECT_BNW,
724 IMAGE_EFFECT_SEPIA,
725 IMAGE_EFFECT_AQUA,
726 IMAGE_EFFECT_ANTIQUE,
727 IMAGE_EFFECT_NEGATIVE,
728 IMAGE_EFFECT_SHARPEN,
729 IMAGE_EFFECT_MAX,
730 };
731
732 #define V4L2_CID_CAMERA_ISO (V4L2_CID_PRIVATE_BASE+75)
733 enum v4l2_iso_mode {
734 ISO_AUTO = 0,
735 ISO_50,
736 ISO_100,
737 ISO_200,
738 ISO_400,
739 ISO_800,
740 ISO_1600,
741 ISO_SPORTS,
742 ISO_NIGHT,
743 ISO_MOVIE,
744 ISO_MAX,
745 };
746
747 #define V4L2_CID_CAMERA_METERING (V4L2_CID_PRIVATE_BASE+76)
748 enum v4l2_metering_mode {
749 METERING_BASE = 0,
750 METERING_MATRIX,
751 METERING_CENTER,
752 METERING_SPOT,
753 METERING_MAX,
754 };
755
756 #define V4L2_CID_CAMERA_CONTRAST (V4L2_CID_PRIVATE_BASE+77)
757 enum v4l2_contrast_mode {
758 CONTRAST_MINUS_2 = 0,
759 CONTRAST_MINUS_1,
760 CONTRAST_DEFAULT,
761 CONTRAST_PLUS_1,
762 CONTRAST_PLUS_2,
763 CONTRAST_MAX,
764 };
765
766 #define V4L2_CID_CAMERA_SATURATION (V4L2_CID_PRIVATE_BASE+78)
767 enum v4l2_saturation_mode {
768 SATURATION_MINUS_2 = 0,
769 SATURATION_MINUS_1,
770 SATURATION_DEFAULT,
771 SATURATION_PLUS_1,
772 SATURATION_PLUS_2,
773 SATURATION_MAX,
774 };
775
776 #define V4L2_CID_CAMERA_SHARPNESS (V4L2_CID_PRIVATE_BASE+79)
777 enum v4l2_sharpness_mode {
778 SHARPNESS_MINUS_2 = 0,
779 SHARPNESS_MINUS_1,
780 SHARPNESS_DEFAULT,
781 SHARPNESS_PLUS_1,
782 SHARPNESS_PLUS_2,
783 SHARPNESS_MAX,
784 };
785
786 #define V4L2_CID_CAMERA_WDR (V4L2_CID_PRIVATE_BASE+80)
787 enum v4l2_wdr_mode {
788 WDR_OFF,
789 WDR_ON,
790 WDR_MAX,
791 };
792
793 #define V4L2_CID_CAMERA_ANTI_SHAKE (V4L2_CID_PRIVATE_BASE+81)
794 enum v4l2_anti_shake_mode {
795 ANTI_SHAKE_OFF,
796 ANTI_SHAKE_STILL_ON,
797 ANTI_SHAKE_MOVIE_ON,
798 ANTI_SHAKE_MAX,
799 };
800
801 #define V4L2_CID_CAMERA_TOUCH_AF_START_STOP (V4L2_CID_PRIVATE_BASE+82)
802 enum v4l2_touch_af {
803 TOUCH_AF_STOP = 0,
804 TOUCH_AF_START,
805 TOUCH_AF_MAX,
806 };
807
808 #define V4L2_CID_CAMERA_SMART_AUTO (V4L2_CID_PRIVATE_BASE+83)
809 enum v4l2_smart_auto {
810 SMART_AUTO_OFF = 0,
811 SMART_AUTO_ON,
812 SMART_AUTO_MAX,
813 };
814
815 #define V4L2_CID_CAMERA_VINTAGE_MODE (V4L2_CID_PRIVATE_BASE+84)
816 enum v4l2_vintage_mode {
817 VINTAGE_MODE_BASE,
818 VINTAGE_MODE_OFF,
819 VINTAGE_MODE_NORMAL,
820 VINTAGE_MODE_WARM,
821 VINTAGE_MODE_COOL,
822 VINTAGE_MODE_BNW,
823 VINTAGE_MODE_MAX,
824 };
825
826 #define V4L2_CID_CAMERA_JPEG_QUALITY (V4L2_CID_PRIVATE_BASE+85)
827 /* (V4L2_CID_PRIVATE_BASE+86) */
828 #define V4L2_CID_CAMERA_GPS_LATITUDE (V4L2_CID_CAMERA_CLASS_BASE+30)
829 /* (V4L2_CID_PRIVATE_BASE+87) */
830 #define V4L2_CID_CAMERA_GPS_LONGITUDE (V4L2_CID_CAMERA_CLASS_BASE + 31)
831 /* (V4L2_CID_PRIVATE_BASE+88) */
832 #define V4L2_CID_CAMERA_GPS_TIMESTAMP (V4L2_CID_CAMERA_CLASS_BASE + 32)
833 /* (V4L2_CID_PRIVATE_BASE+89)*/
834 #define V4L2_CID_CAMERA_GPS_ALTITUDE (V4L2_CID_CAMERA_CLASS_BASE + 33)
835 #define V4L2_CID_CAMERA_EXIF_TIME_INFO (V4L2_CID_CAMERA_CLASS_BASE + 34)
836 #define V4L2_CID_CAMERA_GPS_PROCESSINGMETHOD (V4L2_CID_CAMERA_CLASS_BASE+35)
837
838 #define V4L2_CID_FOCUS_AUTO_MODE (V4L2_CID_CAMERA_CLASS_BASE+36)
839 enum v4l2_focus_mode_type {
840 V4L2_FOCUS_AUTO_NORMAL = 0,
841 V4L2_FOCUS_AUTO_MACRO,
842 V4L2_FOCUS_AUTO_CONTINUOUS,
843 V4L2_FOCUS_AUTO_FACE_DETECTION,
844 V4L2_FOCUS_AUTO_RECTANGLE,
845 V4L2_FOCUS_AUTO_MAX,
846 };
847 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_LEFT (V4L2_CID_CAMERA_CLASS_BASE+37)
848 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_TOP (V4L2_CID_CAMERA_CLASS_BASE+38)
849 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_WIDTH (V4L2_CID_CAMERA_CLASS_BASE+39)
850 #define V4L2_CID_FOCUS_AUTO_RECTANGLE_HEIGHT (V4L2_CID_CAMERA_CLASS_BASE+40)
851
852 #define V4L2_CID_CAMERA_ZOOM (V4L2_CID_PRIVATE_BASE+90)
853 enum v4l2_zoom_level {
854 ZOOM_LEVEL_0 = 0,
855 ZOOM_LEVEL_1,
856 ZOOM_LEVEL_2,
857 ZOOM_LEVEL_3,
858 ZOOM_LEVEL_4,
859 ZOOM_LEVEL_5,
860 ZOOM_LEVEL_6,
861 ZOOM_LEVEL_7,
862 ZOOM_LEVEL_8,
863 ZOOM_LEVEL_9,
864 ZOOM_LEVEL_10,
865 ZOOM_LEVEL_11,
866 ZOOM_LEVEL_12,
867 ZOOM_LEVEL_MAX = 31,
868 };
869
870 #define V4L2_CID_CAMERA_FACE_DETECTION (V4L2_CID_PRIVATE_BASE+91)
871 enum v4l2_face_detection {
872 FACE_DETECTION_OFF = 0,
873 FACE_DETECTION_ON,
874 FACE_DETECTION_NOLINE,
875 FACE_DETECTION_ON_BEAUTY,
876 FACE_DETECTION_MAX,
877 };
878
879 #define V4L2_CID_CAMERA_SMART_AUTO_STATUS (V4L2_CID_PRIVATE_BASE+92)
880 enum v4l2_smart_auto_status {
881 SMART_AUTO_STATUS_AUTO = 0,
882 SMART_AUTO_STATUS_LANDSCAPE,
883 SMART_AUTO_STATUS_PORTRAIT,
884 SMART_AUTO_STATUS_MACRO,
885 SMART_AUTO_STATUS_NIGHT,
886 SMART_AUTO_STATUS_PORTRAIT_NIGHT,
887 SMART_AUTO_STATUS_BACKLIT,
888 SMART_AUTO_STATUS_PORTRAIT_BACKLIT,
889 SMART_AUTO_STATUS_ANTISHAKE,
890 SMART_AUTO_STATUS_PORTRAIT_ANTISHAKE,
891 SMART_AUTO_STATUS_MAX,
892 };
893
894 #define V4L2_CID_CAMERA_SET_AUTO_FOCUS (V4L2_CID_PRIVATE_BASE+93)
895 enum v4l2_auto_focus {
896 AUTO_FOCUS_OFF = 0,
897 AUTO_FOCUS_ON,
898 AUTO_FOCUS_MAX,
899 };
900
901 #define V4L2_CID_CAMERA_BEAUTY_SHOT (V4L2_CID_PRIVATE_BASE+94)
902 enum v4l2_beauty_shot {
903 BEAUTY_SHOT_OFF = 0,
904 BEAUTY_SHOT_ON,
905 BEAUTY_SHOT_MAX,
906 };
907
908 #define V4L2_CID_CAMERA_AEAWB_LOCK_UNLOCK (V4L2_CID_PRIVATE_BASE+95)
909 enum v4l2_ae_awb_lockunlock {
910 AE_UNLOCK_AWB_UNLOCK = 0,
911 AE_LOCK_AWB_UNLOCK,
912 AE_UNLOCK_AWB_LOCK,
913 AE_LOCK_AWB_LOCK,
914 AE_AWB_MAX
915 };
916
917 #define V4L2_CID_CAMERA_FACEDETECT_LOCKUNLOCK (V4L2_CID_PRIVATE_BASE+96)
918 enum v4l2_face_lock {
919 FACE_LOCK_OFF = 0,
920 FACE_LOCK_ON,
921 FIRST_FACE_TRACKING,
922 FACE_LOCK_MAX,
923 };
924
925 #define V4L2_CID_CAMERA_OBJECT_POSITION_X (V4L2_CID_PRIVATE_BASE+97)
926 #define V4L2_CID_CAMERA_OBJECT_POSITION_Y (V4L2_CID_PRIVATE_BASE+98)
927 #define V4L2_CID_CAMERA_FOCUS_MODE (V4L2_CID_PRIVATE_BASE+99)
928 enum v4l2_focusmode {
929 FOCUS_MODE_AUTO = 0,
930 FOCUS_MODE_MACRO,
931 FOCUS_MODE_FACEDETECT,
932 FOCUS_MODE_AUTO_DEFAULT,
933 FOCUS_MODE_MACRO_DEFAULT,
934 FOCUS_MODE_FACEDETECT_DEFAULT,
935 FOCUS_MODE_INFINITY,
936 FOCUS_MODE_FIXED,
937 FOCUS_MODE_CONTINUOUS,
938 FOCUS_MODE_CONTINUOUS_PICTURE,
939 FOCUS_MODE_CONTINUOUS_PICTURE_MACRO,
940 FOCUS_MODE_CONTINUOUS_VIDEO,
941 FOCUS_MODE_TOUCH,
942 FOCUS_MODE_MAX,
943 FOCUS_MODE_DEFAULT = (1 << 8),
944 };
945
946 #define V4L2_CID_CAMERA_OBJ_TRACKING_STATUS (V4L2_CID_PRIVATE_BASE+100)
947 enum v4l2_obj_tracking_status {
948 OBJECT_TRACKING_STATUS_BASE,
949 OBJECT_TRACKING_STATUS_PROGRESSING,
950 OBJECT_TRACKING_STATUS_SUCCESS,
951 OBJECT_TRACKING_STATUS_FAIL,
952 OBJECT_TRACKING_STATUS_MISSING,
953 OBJECT_TRACKING_STATUS_MAX,
954 };
955
956 #define V4L2_CID_CAMERA_OBJ_TRACKING_START_STOP (V4L2_CID_PRIVATE_BASE+101)
957 enum v4l2_ot_start_stop {
958 OT_STOP = 0,
959 OT_START,
960 OT_MAX,
961 };
962
963 #define V4L2_CID_CAMERA_CAF_START_STOP (V4L2_CID_PRIVATE_BASE+102)
964 enum v4l2_caf_start_stop {
965 CAF_STOP = 0,
966 CAF_START,
967 CAF_MAX,
968 };
969
970 #define V4L2_CID_CAMERA_AUTO_FOCUS_RESULT (V4L2_CID_PRIVATE_BASE+103)
971 enum v4l2_af_status {
972 CAMERA_AF_STATUS_IN_PROGRESS = 0,
973 CAMERA_AF_STATUS_SUCCESS,
974 CAMERA_AF_STATUS_FAIL,
975 CAMERA_AF_STATUS_1ST_SUCCESS,
976 CAMERA_AF_STATUS_MAX,
977 };
978 #define V4L2_CID_CAMERA_FRAME_RATE (V4L2_CID_PRIVATE_BASE+104)
979 enum v4l2_frame_rate {
980 FRAME_RATE_AUTO = 0,
981 FRAME_RATE_7 = 7,
982 FRAME_RATE_15 = 15,
983 FRAME_RATE_20 = 20,
984 FRAME_RATE_30 = 30,
985 FRAME_RATE_60 = 60,
986 FRAME_RATE_120 = 120,
987 FRAME_RATE_MAX
988 };
989
990 #define V4L2_CID_CAMERA_ANTI_BANDING (V4L2_CID_PRIVATE_BASE+105)
991 enum v4l2_anti_banding{
992 ANTI_BANDING_AUTO = 0,
993 ANTI_BANDING_50HZ = 1,
994 ANTI_BANDING_60HZ = 2,
995 ANTI_BANDING_OFF = 3,
996 };
997
998 #define V4L2_CID_CAMERA_SET_GAMMA (V4L2_CID_PRIVATE_BASE+106)
999 enum v4l2_gamma_mode{
1000 GAMMA_OFF = 0,
1001 GAMMA_ON = 1,
1002 GAMMA_MAX,
1003 };
1004
1005 #define V4L2_CID_CAMERA_SET_SLOW_AE (V4L2_CID_PRIVATE_BASE+107)
1006 enum v4l2_slow_ae_mode{
1007 SLOW_AE_OFF,
1008 SLOW_AE_ON,
1009 SLOW_AE_MAX,
1010 };
1011
1012 #define V4L2_CID_CAMERA_BATCH_REFLECTION (V4L2_CID_PRIVATE_BASE+108)
1013 #define V4L2_CID_CAMERA_EXIF_ORIENTATION (V4L2_CID_PRIVATE_BASE+109)
1014
1015 /* s1_camera [ Defense process by ESD input ] */
1016 #define V4L2_CID_CAMERA_RESET (V4L2_CID_PRIVATE_BASE+111)
1017 #define V4L2_CID_CAMERA_CHECK_DATALINE (V4L2_CID_PRIVATE_BASE+112)
1018 #define V4L2_CID_CAMERA_CHECK_DATALINE_STOP (V4L2_CID_PRIVATE_BASE+113)
1019
1020 #endif
1021
1022 /* Modify NTTS1 */
1023 #if defined(CONFIG_ARIES_NTT)
1024 #define V4L2_CID_CAMERA_AE_AWB_DISABLE_LOCK (V4L2_CID_PRIVATE_BASE+114)
1025 #endif
1026 #define V4L2_CID_CAMERA_THUMBNAIL_NULL (V4L2_CID_PRIVATE_BASE+115)
1027 #define V4L2_CID_CAMERA_SENSOR_MODE (V4L2_CID_PRIVATE_BASE+116)
1028 enum v4l2_sensor_mode {
1029 SENSOR_CAMERA,
1030 SENSOR_MOVIE,
1031 };
1032
1033 typedef enum {
1034 STREAM_MODE_CAM_OFF,
1035 STREAM_MODE_CAM_ON,
1036 STREAM_MODE_MOVIE_OFF,
1037 STREAM_MODE_MOVIE_ON,
1038 } stream_mode_t;
1039
1040 #define V4L2_CID_CAMERA_EXIF_EXPTIME (V4L2_CID_PRIVATE_BASE+117)
1041 #define V4L2_CID_CAMERA_EXIF_FLASH (V4L2_CID_PRIVATE_BASE+118)
1042 #define V4L2_CID_CAMERA_EXIF_ISO (V4L2_CID_PRIVATE_BASE+119)
1043 #define V4L2_CID_CAMERA_EXIF_TV (V4L2_CID_PRIVATE_BASE+120)
1044 #define V4L2_CID_CAMERA_EXIF_BV (V4L2_CID_PRIVATE_BASE+121)
1045 #define V4L2_CID_CAMERA_EXIF_EBV (V4L2_CID_PRIVATE_BASE+122)
1046 #define V4L2_CID_CAMERA_CHECK_ESD (V4L2_CID_PRIVATE_BASE+123)
1047 #define V4L2_CID_CAMERA_APP_CHECK (V4L2_CID_PRIVATE_BASE+124)
1048 #define V4L2_CID_CAMERA_BUSFREQ_LOCK (V4L2_CID_PRIVATE_BASE+125)
1049 #define V4L2_CID_CAMERA_BUSFREQ_UNLOCK (V4L2_CID_PRIVATE_BASE+126)
1050
1051 #define V4L2_CID_CAMERA_FACE_ZOOM (V4L2_CID_PRIVATE_BASE + 132)
1052 enum v4l2_face_zoom {
1053 FACE_ZOOM_STOP = 0,
1054 FACE_ZOOM_START
1055 };
1056
1057 /* control for post processing block in ISP */
1058 #define V4L2_CID_CAMERA_SET_ODC (V4L2_CID_PRIVATE_BASE+127)
1059 enum set_odc_mode {
1060 CAMERA_ODC_ON,
1061 CAMERA_ODC_OFF
1062 };
1063
1064 #define V4L2_CID_CAMERA_SET_DIS (V4L2_CID_PRIVATE_BASE+128)
1065 enum set_dis_mode {
1066 CAMERA_DIS_ON,
1067 CAMERA_DIS_OFF
1068 };
1069
1070 #define V4L2_CID_CAMERA_SET_3DNR (V4L2_CID_PRIVATE_BASE+129)
1071 enum set_3dnr_mode {
1072 CAMERA_3DNR_ON,
1073 CAMERA_3DNR_OFF
1074 };
1075
1076 #define V4L2_CID_EMBEDDEDDATA_ENABLE (V4L2_CID_PRIVATE_BASE+130)
1077
1078 #define V4L2_CID_CAMERA_CHECK_SENSOR_STATUS (V4L2_CID_PRIVATE_BASE+150)
1079 #define V4L2_CID_CAMERA_DEFAULT_FOCUS_POSITION (V4L2_CID_PRIVATE_BASE+151)
1080
1081 /* Pixel format FOURCC depth Description */
1082 enum v4l2_pix_format_mode {
1083 V4L2_PIX_FMT_MODE_PREVIEW,
1084 V4L2_PIX_FMT_MODE_CAPTURE,
1085 V4L2_PIX_FMT_MODE_HDR,
1086 V4L2_PIX_FMT_MODE_VT_MIRROR,
1087 V4L2_PIX_FMT_MODE_VT_NONMIRROR,
1088 };
1089
1090 /* 12 Y/CbCr 4:2:0 64x32 macroblocks */
1091 #define V4L2_PIX_FMT_NV12T v4l2_fourcc('T', 'V', '1', '2')
1092 #define V4L2_PIX_FMT_NV21T v4l2_fourcc('T', 'V', '2', '1')
1093 #define V4L2_PIX_FMT_INTERLEAVED v4l2_fourcc('I', 'T', 'L', 'V')
1094
1095 /*
1096 * * V4L2 extention for digital camera
1097 * */
1098 /* Strobe flash light */
1099 enum v4l2_strobe_control {
1100 /* turn off the flash light */
1101 V4L2_STROBE_CONTROL_OFF = 0,
1102 /* turn on the flash light */
1103 V4L2_STROBE_CONTROL_ON = 1,
1104 /* act guide light before splash */
1105 V4L2_STROBE_CONTROL_AFGUIDE = 2,
1106 /* charge the flash light */
1107 V4L2_STROBE_CONTROL_CHARGE = 3,
1108 };
1109
1110 enum v4l2_strobe_conf {
1111 V4L2_STROBE_OFF = 0, /* Always off */
1112 V4L2_STROBE_ON = 1, /* Always splashes */
1113 /* Auto control presets */
1114 V4L2_STROBE_AUTO = 2,
1115 V4L2_STROBE_REDEYE_REDUCTION = 3,
1116 V4L2_STROBE_SLOW_SYNC = 4,
1117 V4L2_STROBE_FRONT_CURTAIN = 5,
1118 V4L2_STROBE_REAR_CURTAIN = 6,
1119 /* Extra manual control presets */
1120 /* keep turned on until turning off */
1121 V4L2_STROBE_PERMANENT = 7,
1122 V4L2_STROBE_EXTERNAL = 8,
1123 };
1124
1125 enum v4l2_strobe_status {
1126 V4L2_STROBE_STATUS_OFF = 0,
1127 /* while processing configurations */
1128 V4L2_STROBE_STATUS_BUSY = 1,
1129 V4L2_STROBE_STATUS_ERR = 2,
1130 V4L2_STROBE_STATUS_CHARGING = 3,
1131 V4L2_STROBE_STATUS_CHARGED = 4,
1132 };
1133
1134 /* capabilities field */
1135 /* No strobe supported */
1136 #define V4L2_STROBE_CAP_NONE 0x0000
1137 /* Always flash off mode */
1138 #define V4L2_STROBE_CAP_OFF 0x0001
1139 /* Always use flash light mode */
1140 #define V4L2_STROBE_CAP_ON 0x0002
1141 /* Flashlight works automatic */
1142 #define V4L2_STROBE_CAP_AUTO 0x0004
1143 /* Red-eye reduction */
1144 #define V4L2_STROBE_CAP_REDEYE 0x0008
1145 /* Slow sync */
1146 #define V4L2_STROBE_CAP_SLOWSYNC 0x0010
1147 /* Front curtain */
1148 #define V4L2_STROBE_CAP_FRONT_CURTAIN 0x0020
1149 /* Rear curtain */
1150 #define V4L2_STROBE_CAP_REAR_CURTAIN 0x0040
1151 /* keep turned on until turning off */
1152 #define V4L2_STROBE_CAP_PERMANENT 0x0080
1153 /* use external strobe */
1154 #define V4L2_STROBE_CAP_EXTERNAL 0x0100
1155
1156 /* Set mode and Get status */
1157 struct v4l2_strobe {
1158 /* off/on/charge:0/1/2 */
1159 enum v4l2_strobe_control control;
1160 /* supported strobe capabilities */
1161 __u32 capabilities;
1162 enum v4l2_strobe_conf mode;
1163 enum v4l2_strobe_status status; /* read only */
1164 /* default is 0 and range of value varies from each models */
1165 __u32 flash_ev;
1166 __u32 reserved[4];
1167 };
1168
1169 #define VIDIOC_S_STROBE _IOWR('V', 83, struct v4l2_strobe)
1170 #define VIDIOC_G_STROBE _IOR('V', 84, struct v4l2_strobe)
1171
1172 /* Object recognition and collateral actions */
1173 enum v4l2_recog_mode {
1174 V4L2_RECOGNITION_MODE_OFF = 0,
1175 V4L2_RECOGNITION_MODE_ON = 1,
1176 V4L2_RECOGNITION_MODE_LOCK = 2,
1177 };
1178
1179 enum v4l2_recog_action {
1180 V4L2_RECOGNITION_ACTION_NONE = 0, /* only recognition */
1181 V4L2_RECOGNITION_ACTION_BLINK = 1, /* Capture on blinking */
1182 V4L2_RECOGNITION_ACTION_SMILE = 2, /* Capture on smiling */
1183 };
1184
1185 enum v4l2_recog_pattern {
1186 V4L2_RECOG_PATTERN_FACE = 0, /* Face */
1187 V4L2_RECOG_PATTERN_HUMAN = 1, /* Human */
1188 V4L2_RECOG_PATTERN_CHAR = 2, /* Character */
1189 };
1190
1191 struct v4l2_recog_rect {
1192 enum v4l2_recog_pattern p; /* detected pattern */
1193 struct v4l2_rect o; /* detected area */
1194 __u32 reserved[4];
1195 };
1196
1197 struct v4l2_recog_data {
1198 __u8 detect_cnt; /* detected object counter */
1199 struct v4l2_rect o; /* detected area */
1200 __u32 reserved[4];
1201 };
1202
1203 struct v4l2_recognition {
1204 enum v4l2_recog_mode mode;
1205
1206 /* Which pattern to detect */
1207 enum v4l2_recog_pattern pattern;
1208
1209 /* How many object to detect */
1210 __u8 obj_num;
1211
1212 /* select detected object */
1213 __u32 detect_idx;
1214
1215 /* read only :Get object coordination */
1216 struct v4l2_recog_data data;
1217
1218 enum v4l2_recog_action action;
1219 __u32 reserved[4];
1220 };
1221
1222 #define VIDIOC_S_RECOGNITION _IOWR('V', 85, struct v4l2_recognition)
1223 #define VIDIOC_G_RECOGNITION _IOR('V', 86, struct v4l2_recognition)
1224
1225 #endif /* __LINUX_VIDEODEV2_EXYNOS_CAMERA_H */