]>
Commit | Line | Data |
---|---|---|
e79753ed PM |
1 | #ifndef QDSP5VFEMSGI_H |
2 | #define QDSP5VFEMSGI_H | |
3 | ||
4 | /*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====* | |
5 | ||
6 | V F E I N T E R N A L M E S S A G E S | |
7 | ||
8 | GENERAL DESCRIPTION | |
9 | This file contains defintions of format blocks of commands | |
10 | that are sent by VFE Task | |
11 | ||
12 | REFERENCES | |
13 | None | |
14 | ||
15 | EXTERNALIZED FUNCTIONS | |
16 | None | |
17 | ||
18 | Copyright(c) 1992 - 2008 by QUALCOMM, Incorporated. | |
19 | ||
20 | This software is licensed under the terms of the GNU General Public | |
21 | License version 2, as published by the Free Software Foundation, and | |
22 | may be copied, distributed, and modified under those terms. | |
23 | ||
24 | This program is distributed in the hope that it will be useful, | |
25 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
27 | GNU General Public License for more details. | |
28 | ||
29 | *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/ | |
30 | /*=========================================================================== | |
31 | ||
32 | EDIT HISTORY FOR FILE | |
33 | ||
34 | This section contains comments describing changes made to this file. | |
35 | Notice that changes are listed in reverse chronological order. | |
36 | ||
37 | $Header: //source/qcom/qct/multimedia2/AdspSvc/7XXX/qdsp5cmd/video/qdsp5vfemsg.h#2 $ $DateTime: 2008/07/30 10:50:23 $ $Author: pavanr $ | |
38 | Revision History: | |
39 | ||
40 | when who what, where, why | |
41 | -------- --- ---------------------------------------------------------- | |
42 | 06/12/08 sv initial version | |
43 | ===========================================================================*/ | |
44 | ||
45 | ||
46 | /* | |
47 | * Message to acknowledge CMD_VFE_REST command | |
48 | */ | |
49 | ||
50 | #define VFE_MSG_RESET_ACK 0x0000 | |
51 | #define VFE_MSG_RESET_ACK_LEN sizeof(vfe_msg_reset_ack) | |
52 | ||
53 | typedef struct { | |
54 | } __attribute__((packed)) vfe_msg_reset_ack; | |
55 | ||
56 | ||
57 | /* | |
58 | * Message to acknowledge CMD_VFE_START command | |
59 | */ | |
60 | ||
61 | #define VFE_MSG_START_ACK 0x0001 | |
62 | #define VFE_MSG_START_ACK_LEN sizeof(vfe_msg_start_ack) | |
63 | ||
64 | typedef struct { | |
65 | } __attribute__((packed)) vfe_msg_start_ack; | |
66 | ||
67 | /* | |
68 | * Message to acknowledge CMD_VFE_STOP command | |
69 | */ | |
70 | ||
71 | #define VFE_MSG_STOP_ACK 0x0002 | |
72 | #define VFE_MSG_STOP_ACK_LEN sizeof(vfe_msg_stop_ack) | |
73 | ||
74 | typedef struct { | |
75 | } __attribute__((packed)) vfe_msg_stop_ack; | |
76 | ||
77 | ||
78 | /* | |
79 | * Message to acknowledge CMD_VFE_UPDATE command | |
80 | */ | |
81 | ||
82 | #define VFE_MSG_UPDATE_ACK 0x0003 | |
83 | #define VFE_MSG_UPDATE_ACK_LEN sizeof(vfe_msg_update_ack) | |
84 | ||
85 | typedef struct { | |
86 | } __attribute__((packed)) vfe_msg_update_ack; | |
87 | ||
88 | ||
89 | /* | |
90 | * Message to notify the ARM that snapshot processing is complete | |
91 | * and that the VFE is now STATE_VFE_IDLE | |
92 | */ | |
93 | ||
94 | #define VFE_MSG_SNAPSHOT_DONE 0x0004 | |
95 | #define VFE_MSG_SNAPSHOT_DONE_LEN \ | |
96 | sizeof(vfe_msg_snapshot_done) | |
97 | ||
98 | typedef struct { | |
99 | } __attribute__((packed)) vfe_msg_snapshot_done; | |
100 | ||
101 | ||
102 | ||
103 | /* | |
104 | * Message to notify ARM that illegal cmd was received and | |
105 | * system is in the IDLE state | |
106 | */ | |
107 | ||
108 | #define VFE_MSG_ILLEGAL_CMD 0x0005 | |
109 | #define VFE_MSG_ILLEGAL_CMD_LEN \ | |
110 | sizeof(vfe_msg_illegal_cmd) | |
111 | ||
112 | typedef struct { | |
113 | unsigned int status; | |
114 | } __attribute__((packed)) vfe_msg_illegal_cmd; | |
115 | ||
116 | ||
117 | /* | |
118 | * Message to notify ARM that op1 buf is full and ready | |
119 | */ | |
120 | ||
121 | #define VFE_MSG_OP1 0x0006 | |
122 | #define VFE_MSG_OP1_LEN sizeof(vfe_msg_op1) | |
123 | ||
124 | typedef struct { | |
125 | unsigned int op1_buf_y_addr; | |
126 | unsigned int op1_buf_cbcr_addr; | |
127 | unsigned int black_level_even_col; | |
128 | unsigned int black_level_odd_col; | |
129 | unsigned int defect_pixels_detected; | |
130 | unsigned int asf_max_edge; | |
131 | } __attribute__((packed)) vfe_msg_op1; | |
132 | ||
133 | ||
134 | /* | |
135 | * Message to notify ARM that op2 buf is full and ready | |
136 | */ | |
137 | ||
138 | #define VFE_MSG_OP2 0x0007 | |
139 | #define VFE_MSG_OP2_LEN sizeof(vfe_msg_op2) | |
140 | ||
141 | typedef struct { | |
142 | unsigned int op2_buf_y_addr; | |
143 | unsigned int op2_buf_cbcr_addr; | |
144 | unsigned int black_level_even_col; | |
145 | unsigned int black_level_odd_col; | |
146 | unsigned int defect_pixels_detected; | |
147 | unsigned int asf_max_edge; | |
148 | } __attribute__((packed)) vfe_msg_op2; | |
149 | ||
150 | ||
151 | /* | |
152 | * Message to notify ARM that autofocus(af) stats are ready | |
153 | */ | |
154 | ||
155 | #define VFE_MSG_STATS_AF 0x0008 | |
156 | #define VFE_MSG_STATS_AF_LEN sizeof(vfe_msg_stats_af) | |
157 | ||
158 | typedef struct { | |
159 | unsigned int af_stats_op_buffer; | |
160 | } __attribute__((packed)) vfe_msg_stats_af; | |
161 | ||
162 | ||
163 | /* | |
164 | * Message to notify ARM that white balance(wb) and exposure (exp) | |
165 | * stats are ready | |
166 | */ | |
167 | ||
168 | #define VFE_MSG_STATS_WB_EXP 0x0009 | |
169 | #define VFE_MSG_STATS_WB_EXP_LEN \ | |
170 | sizeof(vfe_msg_stats_wb_exp) | |
171 | ||
172 | typedef struct { | |
173 | unsigned int wb_exp_stats_op_buf; | |
174 | } __attribute__((packed)) vfe_msg_stats_wb_exp; | |
175 | ||
176 | ||
177 | /* | |
178 | * Message to notify the ARM that histogram(hg) stats are ready | |
179 | */ | |
180 | ||
181 | #define VFE_MSG_STATS_HG 0x000A | |
182 | #define VFE_MSG_STATS_HG_LEN sizeof(vfe_msg_stats_hg) | |
183 | ||
184 | typedef struct { | |
185 | unsigned int hg_stats_op_buf; | |
186 | } __attribute__((packed)) vfe_msg_stats_hg; | |
187 | ||
188 | ||
189 | /* | |
190 | * Message to notify the ARM that epoch1 event occurred in the CAMIF | |
191 | */ | |
192 | ||
193 | #define VFE_MSG_EPOCH1 0x000B | |
194 | #define VFE_MSG_EPOCH1_LEN sizeof(vfe_msg_epoch1) | |
195 | ||
196 | typedef struct { | |
197 | } __attribute__((packed)) vfe_msg_epoch1; | |
198 | ||
199 | ||
200 | /* | |
201 | * Message to notify the ARM that epoch2 event occurred in the CAMIF | |
202 | */ | |
203 | ||
204 | #define VFE_MSG_EPOCH2 0x000C | |
205 | #define VFE_MSG_EPOCH2_LEN sizeof(vfe_msg_epoch2) | |
206 | ||
207 | typedef struct { | |
208 | } __attribute__((packed)) vfe_msg_epoch2; | |
209 | ||
210 | ||
211 | /* | |
212 | * Message to notify the ARM that sync timer1 op is completed | |
213 | */ | |
214 | ||
215 | #define VFE_MSG_SYNC_T1_DONE 0x000D | |
216 | #define VFE_MSG_SYNC_T1_DONE_LEN sizeof(vfe_msg_sync_t1_done) | |
217 | ||
218 | typedef struct { | |
219 | } __attribute__((packed)) vfe_msg_sync_t1_done; | |
220 | ||
221 | ||
222 | /* | |
223 | * Message to notify the ARM that sync timer2 op is completed | |
224 | */ | |
225 | ||
226 | #define VFE_MSG_SYNC_T2_DONE 0x000E | |
227 | #define VFE_MSG_SYNC_T2_DONE_LEN sizeof(vfe_msg_sync_t2_done) | |
228 | ||
229 | typedef struct { | |
230 | } __attribute__((packed)) vfe_msg_sync_t2_done; | |
231 | ||
232 | ||
233 | /* | |
234 | * Message to notify the ARM that async t1 operation completed | |
235 | */ | |
236 | ||
237 | #define VFE_MSG_ASYNC_T1_DONE 0x000F | |
238 | #define VFE_MSG_ASYNC_T1_DONE_LEN sizeof(vfe_msg_async_t1_done) | |
239 | ||
240 | typedef struct { | |
241 | } __attribute__((packed)) vfe_msg_async_t1_done; | |
242 | ||
243 | ||
244 | ||
245 | /* | |
246 | * Message to notify the ARM that async t2 operation completed | |
247 | */ | |
248 | ||
249 | #define VFE_MSG_ASYNC_T2_DONE 0x0010 | |
250 | #define VFE_MSG_ASYNC_T2_DONE_LEN sizeof(vfe_msg_async_t2_done) | |
251 | ||
252 | typedef struct { | |
253 | } __attribute__((packed)) vfe_msg_async_t2_done; | |
254 | ||
255 | ||
256 | ||
257 | /* | |
258 | * Message to notify the ARM that an error has occurred | |
259 | */ | |
260 | ||
261 | #define VFE_MSG_ERROR 0x0011 | |
262 | #define VFE_MSG_ERROR_LEN sizeof(vfe_msg_error) | |
263 | ||
264 | #define VFE_MSG_ERR_COND_NO_CAMIF_ERR 0x0000 | |
265 | #define VFE_MSG_ERR_COND_CAMIF_ERR 0x0001 | |
266 | #define VFE_MSG_ERR_COND_OP1_Y_NO_BUS_OF 0x0000 | |
267 | #define VFE_MSG_ERR_COND_OP1_Y_BUS_OF 0x0002 | |
268 | #define VFE_MSG_ERR_COND_OP1_CBCR_NO_BUS_OF 0x0000 | |
269 | #define VFE_MSG_ERR_COND_OP1_CBCR_BUS_OF 0x0004 | |
270 | #define VFE_MSG_ERR_COND_OP2_Y_NO_BUS_OF 0x0000 | |
271 | #define VFE_MSG_ERR_COND_OP2_Y_BUS_OF 0x0008 | |
272 | #define VFE_MSG_ERR_COND_OP2_CBCR_NO_BUS_OF 0x0000 | |
273 | #define VFE_MSG_ERR_COND_OP2_CBCR_BUS_OF 0x0010 | |
274 | #define VFE_MSG_ERR_COND_AF_NO_BUS_OF 0x0000 | |
275 | #define VFE_MSG_ERR_COND_AF_BUS_OF 0x0020 | |
276 | #define VFE_MSG_ERR_COND_WB_EXP_NO_BUS_OF 0x0000 | |
277 | #define VFE_MSG_ERR_COND_WB_EXP_BUS_OF 0x0040 | |
278 | #define VFE_MSG_ERR_COND_NO_AXI_ERR 0x0000 | |
279 | #define VFE_MSG_ERR_COND_AXI_ERR 0x0080 | |
280 | ||
281 | #define VFE_MSG_CAMIF_STS_IDLE 0x0000 | |
282 | #define VFE_MSG_CAMIF_STS_CAPTURE_DATA 0x0001 | |
283 | ||
284 | typedef struct { | |
285 | unsigned int err_cond; | |
286 | unsigned int camif_sts; | |
287 | } __attribute__((packed)) vfe_msg_error; | |
288 | ||
289 | ||
290 | #endif |