drm/atomic: export drm_atomic_replace_property_blob_from_id
[firefly-linux-kernel-4.4.55.git] / include / media / rk-isp10-ioctl.h
1 /*
2  *************************************************************************
3  * Rockchip driver for CIF ISP 1.0
4  * (Based on Intel driver for sofiaxxx)
5  *
6  * Copyright (C) 2015 Intel Mobile Communications GmbH
7  * Copyright (C) 2016 Fuzhou Rockchip Electronics Co., Ltd.
8  *
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 #include <linux/v4l2-controls.h>
17 #include <media/rk-isp10-config.h>
18 #include <media/v4l2-controls_rockchip.h>
19
20 #ifndef _RK_ISP10_IOCTL_H
21 #define _RK_ISP10_IOCTL_H
22
23 /* Private IOCTLs */
24 /* DPCC */
25 #define CIFISP_IOC_G_DPCC \
26         _IOR('v', BASE_VIDIOC_PRIVATE + 0, struct cifisp_dpcc_config)
27 #define CIFISP_IOC_S_DPCC \
28         _IOW('v', BASE_VIDIOC_PRIVATE + 1, struct cifisp_dpcc_config)
29 /* Black Level Subtraction */
30 #define CIFISP_IOC_G_BLS \
31         _IOR('v', BASE_VIDIOC_PRIVATE + 2, struct cifisp_bls_config)
32 #define CIFISP_IOC_S_BLS \
33         _IOW('v', BASE_VIDIOC_PRIVATE + 3, struct cifisp_bls_config)
34 /* Sensor DeGamma */
35 #define CIFISP_IOC_G_SDG \
36         _IOR('v', BASE_VIDIOC_PRIVATE + 4, struct cifisp_sdg_config)
37 #define CIFISP_IOC_S_SDG \
38         _IOW('v', BASE_VIDIOC_PRIVATE + 5, struct cifisp_sdg_config)
39 /* Lens Shading Correction */
40 #define CIFISP_IOC_G_LSC \
41         _IOR('v', BASE_VIDIOC_PRIVATE + 6, struct cifisp_lsc_config)
42 #define CIFISP_IOC_S_LSC \
43         _IOW('v', BASE_VIDIOC_PRIVATE + 7, struct cifisp_lsc_config)
44 /* Auto White Balance */
45 #define CIFISP_IOC_G_AWB_MEAS \
46         _IOR('v', BASE_VIDIOC_PRIVATE + 8, struct cifisp_awb_meas_config)
47 #define CIFISP_IOC_S_AWB_MEAS \
48         _IOW('v', BASE_VIDIOC_PRIVATE + 9, struct cifisp_awb_meas_config)
49 /* ISP Filtering( Sharpening & Noise reduction */
50 #define CIFISP_IOC_G_FLT \
51         _IOR('v', BASE_VIDIOC_PRIVATE + 10, struct cifisp_flt_config)
52 #define CIFISP_IOC_S_FLT \
53         _IOW('v', BASE_VIDIOC_PRIVATE + 11, struct cifisp_flt_config)
54 /* Bayer Demosaic */
55 #define CIFISP_IOC_G_BDM \
56         _IOR('v', BASE_VIDIOC_PRIVATE + 12, struct cifisp_bdm_config)
57 #define CIFISP_IOC_S_BDM \
58         _IOW('v', BASE_VIDIOC_PRIVATE + 13, struct cifisp_bdm_config)
59 /* Cross Talk correction */
60 #define CIFISP_IOC_G_CTK \
61         _IOR('v', BASE_VIDIOC_PRIVATE + 14, struct cifisp_ctk_config)
62 #define CIFISP_IOC_S_CTK \
63         _IOW('v', BASE_VIDIOC_PRIVATE + 15, struct cifisp_ctk_config)
64 /* Gamma Out Correction */
65 #define CIFISP_IOC_G_GOC \
66         _IOR('v', BASE_VIDIOC_PRIVATE + 16, struct cifisp_goc_config)
67 #define CIFISP_IOC_S_GOC \
68         _IOW('v', BASE_VIDIOC_PRIVATE + 17, struct cifisp_goc_config)
69 /* Histogram Measurement */
70 #define CIFISP_IOC_G_HST \
71         _IOR('v', BASE_VIDIOC_PRIVATE + 18, struct cifisp_hst_config)
72 #define CIFISP_IOC_S_HST \
73         _IOW('v', BASE_VIDIOC_PRIVATE + 19, struct cifisp_hst_config)
74 /* Auto Exposure Measurements */
75 #define CIFISP_IOC_G_AEC \
76         _IOR('v', BASE_VIDIOC_PRIVATE + 20, struct cifisp_aec_config)
77 #define CIFISP_IOC_S_AEC \
78         _IOW('v', BASE_VIDIOC_PRIVATE + 21, struct cifisp_aec_config)
79 #define CIFISP_IOC_G_BPL \
80         _IOR('v', BASE_VIDIOC_PRIVATE + 22, struct cifisp_aec_config)
81 #define CIFISP_IOC_G_AWB_GAIN \
82         _IOR('v', BASE_VIDIOC_PRIVATE + 23, struct cifisp_awb_gain_config)
83 #define CIFISP_IOC_S_AWB_GAIN \
84         _IOW('v', BASE_VIDIOC_PRIVATE + 24, struct cifisp_awb_gain_config)
85 #define CIFISP_IOC_G_CPROC \
86         _IOR('v', BASE_VIDIOC_PRIVATE + 25, struct cifisp_cproc_config)
87 #define CIFISP_IOC_S_CPROC \
88         _IOW('v', BASE_VIDIOC_PRIVATE + 26, struct cifisp_cproc_config)
89 #define CIFISP_IOC_G_AFC \
90         _IOR('v', BASE_VIDIOC_PRIVATE + 27, struct cifisp_afc_config)
91 #define CIFISP_IOC_S_AFC \
92         _IOW('v', BASE_VIDIOC_PRIVATE + 28, struct cifisp_afc_config)
93 #define CIFISP_IOC_G_IE \
94         _IOR('v', BASE_VIDIOC_PRIVATE + 29, struct cifisp_ie_config)
95 #define CIFISP_IOC_S_IE \
96         _IOW('v', BASE_VIDIOC_PRIVATE + 30, struct cifisp_ie_config)
97 #define CIFISP_IOC_G_DPF \
98         _IOR('v', BASE_VIDIOC_PRIVATE + 31, struct cifisp_dpf_config)
99 #define CIFISP_IOC_S_DPF \
100         _IOW('v', BASE_VIDIOC_PRIVATE + 32, struct cifisp_dpf_config)
101 #define CIFISP_IOC_G_DPF_STRENGTH \
102         _IOR('v', BASE_VIDIOC_PRIVATE + 33, struct cifisp_dpf_strength_config)
103 #define CIFISP_IOC_S_DPF_STRENGTH \
104         _IOW('v', BASE_VIDIOC_PRIVATE + 34, struct cifisp_dpf_strength_config)
105 #define CIFISP_IOC_G_LAST_CONFIG \
106         _IOR('v', BASE_VIDIOC_PRIVATE + 35, struct cifisp_last_capture_config)
107
108 /* CIF-ISP Private control IDs */
109 #define V4L2_CID_CIFISP_DPCC    (V4L2_CID_PRIVATE_BASE + 0)
110 #define V4L2_CID_CIFISP_BLS    (V4L2_CID_PRIVATE_BASE + 1)
111 #define V4L2_CID_CIFISP_SDG    (V4L2_CID_PRIVATE_BASE + 2)
112 #define V4L2_CID_CIFISP_LSC    (V4L2_CID_PRIVATE_BASE + 3)
113 #define V4L2_CID_CIFISP_AWB_MEAS    (V4L2_CID_PRIVATE_BASE + 4)
114 #define V4L2_CID_CIFISP_FLT    (V4L2_CID_PRIVATE_BASE + 5)
115 #define V4L2_CID_CIFISP_BDM    (V4L2_CID_PRIVATE_BASE + 6)
116 #define V4L2_CID_CIFISP_CTK    (V4L2_CID_PRIVATE_BASE + 7)
117 #define V4L2_CID_CIFISP_GOC    (V4L2_CID_PRIVATE_BASE + 8)
118 #define V4L2_CID_CIFISP_HST    (V4L2_CID_PRIVATE_BASE + 9)
119 #define V4L2_CID_CIFISP_AEC    (V4L2_CID_PRIVATE_BASE + 10)
120 #define V4L2_CID_CIFISP_AWB_GAIN    (V4L2_CID_PRIVATE_BASE + 11)
121 #define V4L2_CID_CIFISP_CPROC    (V4L2_CID_PRIVATE_BASE + 12)
122 #define V4L2_CID_CIFISP_AFC    (V4L2_CID_PRIVATE_BASE + 13)
123 #define V4L2_CID_CIFISP_IE    (V4L2_CID_PRIVATE_BASE + 14)
124 #define V4L2_CID_CIFISP_DPF    (V4L2_CID_PRIVATE_BASE + 15)
125
126 /* Camera Sensors' running modes */
127 #define CI_MODE_PREVIEW 0x8000
128 #define CI_MODE_VIDEO   0x4000
129 #define CI_MODE_STILL_CAPTURE   0x2000
130 #define CI_MODE_CONTINUOUS      0x1000
131 #define CI_MODE_NONE    0x0000
132
133 #endif