2 * Driver Header for M5MO(MBG027) 5MP/8MP ISP driver
3 * FIXME: This contents of file must be into include/linux/videodev2.h.
5 * Copyright (C) 2010 Samsung Electronics Co., Ltd
6 * Author: HeungJun Kim, riverful.kim@samsung.com
8 * Copyright (C) 2009 Samsung Electronics Co., Ltd
9 * Author: Dongsoo Nathaniel Kim, dongsoo45.kim@samsung.com
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
20 /* Manual exposure control items menu type: iris, shutter, iso */
21 #define V4L2_CID_CAM_APERTURE (V4L2_CID_CAMERA_CLASS_BASE+20)
22 #define V4L2_CID_CAM_SHUTTER (V4L2_CID_CAMERA_CLASS_BASE+21)
23 #define V4L2_CID_CAM_ISO (V4L2_CID_CAMERA_CLASS_BASE+22)
25 /* Following CIDs are menu type */
26 #define V4L2_CID_SCENEMODE (V4L2_CID_CAMERA_CLASS_BASE+23)
27 #define V4L2_CID_CAM_STABILIZE (V4L2_CID_CAMERA_CLASS_BASE+24)
28 #define V4L2_CID_CAM_MULTISHOT (V4L2_CID_CAMERA_CLASS_BASE+25)
30 /* Control dynamic range */
31 #define V4L2_CID_CAM_DR (V4L2_CID_CAMERA_CLASS_BASE+26)
33 /* White balance preset control */
34 #define V4L2_CID_WHITE_BALANCE_PRESET (V4L2_CID_CAMERA_CLASS_BASE+27)
37 #define V4L2_CID_ROTATION (V4L2_CID_PRIVATE_BASE + 0)
38 #define V4L2_CID_PADDR_Y (V4L2_CID_PRIVATE_BASE + 1)
39 #define V4L2_CID_PADDR_CB (V4L2_CID_PRIVATE_BASE + 2)
40 #define V4L2_CID_PADDR_CR (V4L2_CID_PRIVATE_BASE + 3)
41 #define V4L2_CID_PADDR_CBCR (V4L2_CID_PRIVATE_BASE + 4)
42 #define V4L2_CID_OVERLAY_AUTO (V4L2_CID_PRIVATE_BASE + 5)
43 #define V4L2_CID_OVERLAY_VADDR0 (V4L2_CID_PRIVATE_BASE + 6)
44 #define V4L2_CID_OVERLAY_VADDR1 (V4L2_CID_PRIVATE_BASE + 7)
45 #define V4L2_CID_OVERLAY_VADDR2 (V4L2_CID_PRIVATE_BASE + 8)
47 #define V4L2_CID_FW_UPDATE (V4L2_CID_PRIVATE_BASE + 5)
49 /* Object recognition and collateral actions */
50 enum v4l2_recog_mode {
51 V4L2_RECOGNITION_MODE_OFF = 0,
52 V4L2_RECOGNITION_MODE_ON = 1,
53 V4L2_RECOGNITION_MODE_LOCK = 2,
56 enum v4l2_recog_action {
57 V4L2_RECOGNITION_ACTION_NONE = 0, /* only recognition */
58 V4L2_RECOGNITION_ACTION_BLINK = 1, /* Capture on blinking */
59 V4L2_RECOGNITION_ACTION_SMILE = 2, /* Capture on smiling */
62 enum v4l2_recog_pattern {
63 V4L2_RECOG_PATTERN_FACE = 0, /* Face */
64 V4L2_RECOG_PATTERN_HUMAN = 1, /* Human */
65 V4L2_RECOG_PATTERN_CHAR = 2, /* Character */
68 struct v4l2_recog_rect {
69 enum v4l2_recog_pattern p; /* detected pattern */
70 struct v4l2_rect o; /* detected area */
74 struct v4l2_recog_data {
75 __u8 detect_cnt; /* detected object counter */
76 struct v4l2_rect o; /* detected area */
80 struct v4l2_recognition {
81 enum v4l2_recog_mode mode;
82 enum v4l2_recog_pattern pattern; /* Which pattern to detect */
83 __u8 obj_num; /* How many object to detect */
84 __u32 detect_idx; /* select detected object */
85 struct v4l2_recog_data data; /* read only :Get object coordination */
86 enum v4l2_recog_action action;
89 #define VIDIOC_S_RECOGNITION _IOWR ('V', 85, struct v4l2_recognition)
90 #define VIDIOC_G_RECOGNITION _IOR ('V', 86, struct v4l2_recognition)
92 #define V4L2_CID_FOCUS_MODE (V4L2_CID_CAMERA_CLASS_BASE+17)
94 enum v4l2_focus_mode {
95 V4L2_FOCUS_MODE_AUTO = 0,
96 V4L2_FOCUS_MODE_MACRO = 1,
97 V4L2_FOCUS_MODE_MANUAL = 2,
98 V4L2_FOCUS_MODE_CONTINUOUS = 3,
99 V4L2_FOCUS_MODE_LASTP = V4L2_FOCUS_MODE_CONTINUOUS,
102 #define V4L2_CID_ZOOM_MODE (V4L2_CID_CAMERA_CLASS_BASE+18)
104 enum v4l2_zoom_mode {
105 V4L2_ZOOM_MODE_CONTINUOUS = 0,
106 V4L2_ZOOM_MODE_OPTICAL = 1,
107 V4L2_ZOOM_MODE_DIGITAL = 2,
108 V4L2_ZOOM_MODE_LASTP = V4L2_ZOOM_MODE_DIGITAL,
111 /* Exposure Methods */
112 #define V4L2_CID_PHOTOMETRY (V4L2_CID_CAMERA_CLASS_BASE+19)
113 enum v4l2_photometry_mode {
114 V4L2_PHOTOMETRY_MULTISEG = 0, /* Multi Segment */
115 V4L2_PHOTOMETRY_CWA = 1, /* Centre Weighted Average */
116 V4L2_PHOTOMETRY_SPOT = 2,
117 V4L2_PHOTOMETRY_AFSPOT = 3, /* Spot metering on focused point */
118 V4L2_PHOTOMETRY_LASTP = V4L2_PHOTOMETRY_AFSPOT,
121 #endif /* __M5MO_CID_H */