1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef MSM_CAM_ISPIF_H
20#define MSM_CAM_ISPIF_H
21#define CSID_VERSION_V20 0x02000011
22#define CSID_VERSION_V22 0x02001000
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define CSID_VERSION_V30 0x30000000
25#define CSID_VERSION_V3 0x30000000
26enum msm_ispif_vfe_intf {
27 VFE0,
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 VFE1,
30 VFE_MAX
31};
32#define VFE0_MASK (1 << VFE0)
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define VFE1_MASK (1 << VFE1)
35enum msm_ispif_intftype {
36 PIX0,
37 RDI0,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 PIX1,
40 RDI1,
41 RDI2,
42 INTF_MAX
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44};
45#define MAX_PARAM_ENTRIES (INTF_MAX * 2)
46#define PIX0_MASK (1 << PIX0)
47#define PIX1_MASK (1 << PIX1)
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define RDI0_MASK (1 << RDI0)
50#define RDI1_MASK (1 << RDI1)
51#define RDI2_MASK (1 << RDI2)
52enum msm_ispif_vc {
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 VC0,
55 VC1,
56 VC2,
57 VC3,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 VC_MAX
60};
61enum msm_ispif_cid {
62 CID0,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 CID1,
65 CID2,
66 CID3,
67 CID4,
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 CID5,
70 CID6,
71 CID7,
72 CID8,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 CID9,
75 CID10,
76 CID11,
77 CID12,
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 CID13,
80 CID14,
81 CID15,
82 CID_MAX
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84};
85enum msm_ispif_csid {
86 CSID0,
87 CSID1,
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 CSID2,
90 CSID3,
91 CSID_MAX
92};
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94struct msm_ispif_params_entry {
95 enum msm_ispif_vfe_intf vfe_intf;
96 enum msm_ispif_intftype intftype;
97 int num_cids;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 enum msm_ispif_cid cids[3];
100 enum msm_ispif_csid csid;
101 int crop_enable;
102 uint16_t crop_start_pixel;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 uint16_t crop_end_pixel;
105};
106struct msm_ispif_param_data {
107 uint32_t num;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES];
110};
111struct msm_isp_info {
112 uint32_t max_resolution;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 uint32_t id;
115 uint32_t ver;
116};
117struct msm_ispif_vfe_info {
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 int num_vfe;
120 struct msm_isp_info info[VFE_MAX];
121};
122enum ispif_cfg_type_t {
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 ISPIF_CLK_ENABLE,
125 ISPIF_CLK_DISABLE,
126 ISPIF_INIT,
127 ISPIF_CFG,
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 ISPIF_START_FRAME_BOUNDARY,
130 ISPIF_STOP_FRAME_BOUNDARY,
131 ISPIF_STOP_IMMEDIATELY,
132 ISPIF_RELEASE,
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 ISPIF_ENABLE_REG_DUMP,
135 ISPIF_SET_VFE_INFO,
136};
137struct ispif_cfg_data {
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 enum ispif_cfg_type_t cfg_type;
140 union {
141 int reg_dump;
142 uint32_t csid_version;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 struct msm_ispif_vfe_info vfe_info;
145 struct msm_ispif_param_data params;
146 };
147};
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149#define VIDIOC_MSM_ISPIF_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data)
150#endif
151