4 /*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
6 V F E I N T E R N A L M E S S A G E S
9 This file contains defintions of format blocks of commands
10 that are sent by VFE Task
15 EXTERNALIZED FUNCTIONS
18 Copyright(c) 1992 - 2008 by QUALCOMM, Incorporated.
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.
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.
29 *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
30 /*===========================================================================
34 This section contains comments describing changes made to this file.
35 Notice that changes are listed in reverse chronological order.
37 $Header: //source/qcom/qct/multimedia2/AdspSvc/7XXX/qdsp5cmd/video/qdsp5vfemsg.h#2 $ $DateTime: 2008/07/30 10:50:23 $ $Author: pavanr $
40 when who what, where, why
41 -------- --- ----------------------------------------------------------
42 06/12/08 sv initial version
43 ===========================================================================*/
47 * Message to acknowledge CMD_VFE_REST command
50 #define VFE_MSG_RESET_ACK 0x0000
51 #define VFE_MSG_RESET_ACK_LEN sizeof(vfe_msg_reset_ack)
54 } __attribute__((packed)) vfe_msg_reset_ack;
58 * Message to acknowledge CMD_VFE_START command
61 #define VFE_MSG_START_ACK 0x0001
62 #define VFE_MSG_START_ACK_LEN sizeof(vfe_msg_start_ack)
65 } __attribute__((packed)) vfe_msg_start_ack;
68 * Message to acknowledge CMD_VFE_STOP command
71 #define VFE_MSG_STOP_ACK 0x0002
72 #define VFE_MSG_STOP_ACK_LEN sizeof(vfe_msg_stop_ack)
75 } __attribute__((packed)) vfe_msg_stop_ack;
79 * Message to acknowledge CMD_VFE_UPDATE command
82 #define VFE_MSG_UPDATE_ACK 0x0003
83 #define VFE_MSG_UPDATE_ACK_LEN sizeof(vfe_msg_update_ack)
86 } __attribute__((packed)) vfe_msg_update_ack;
90 * Message to notify the ARM that snapshot processing is complete
91 * and that the VFE is now STATE_VFE_IDLE
94 #define VFE_MSG_SNAPSHOT_DONE 0x0004
95 #define VFE_MSG_SNAPSHOT_DONE_LEN \
96 sizeof(vfe_msg_snapshot_done)
99 } __attribute__((packed)) vfe_msg_snapshot_done;
104 * Message to notify ARM that illegal cmd was received and
105 * system is in the IDLE state
108 #define VFE_MSG_ILLEGAL_CMD 0x0005
109 #define VFE_MSG_ILLEGAL_CMD_LEN \
110 sizeof(vfe_msg_illegal_cmd)
114 } __attribute__((packed)) vfe_msg_illegal_cmd;
118 * Message to notify ARM that op1 buf is full and ready
121 #define VFE_MSG_OP1 0x0006
122 #define VFE_MSG_OP1_LEN sizeof(vfe_msg_op1)
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;
135 * Message to notify ARM that op2 buf is full and ready
138 #define VFE_MSG_OP2 0x0007
139 #define VFE_MSG_OP2_LEN sizeof(vfe_msg_op2)
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;
152 * Message to notify ARM that autofocus(af) stats are ready
155 #define VFE_MSG_STATS_AF 0x0008
156 #define VFE_MSG_STATS_AF_LEN sizeof(vfe_msg_stats_af)
159 unsigned int af_stats_op_buffer;
160 } __attribute__((packed)) vfe_msg_stats_af;
164 * Message to notify ARM that white balance(wb) and exposure (exp)
168 #define VFE_MSG_STATS_WB_EXP 0x0009
169 #define VFE_MSG_STATS_WB_EXP_LEN \
170 sizeof(vfe_msg_stats_wb_exp)
173 unsigned int wb_exp_stats_op_buf;
174 } __attribute__((packed)) vfe_msg_stats_wb_exp;
178 * Message to notify the ARM that histogram(hg) stats are ready
181 #define VFE_MSG_STATS_HG 0x000A
182 #define VFE_MSG_STATS_HG_LEN sizeof(vfe_msg_stats_hg)
185 unsigned int hg_stats_op_buf;
186 } __attribute__((packed)) vfe_msg_stats_hg;
190 * Message to notify the ARM that epoch1 event occurred in the CAMIF
193 #define VFE_MSG_EPOCH1 0x000B
194 #define VFE_MSG_EPOCH1_LEN sizeof(vfe_msg_epoch1)
197 } __attribute__((packed)) vfe_msg_epoch1;
201 * Message to notify the ARM that epoch2 event occurred in the CAMIF
204 #define VFE_MSG_EPOCH2 0x000C
205 #define VFE_MSG_EPOCH2_LEN sizeof(vfe_msg_epoch2)
208 } __attribute__((packed)) vfe_msg_epoch2;
212 * Message to notify the ARM that sync timer1 op is completed
215 #define VFE_MSG_SYNC_T1_DONE 0x000D
216 #define VFE_MSG_SYNC_T1_DONE_LEN sizeof(vfe_msg_sync_t1_done)
219 } __attribute__((packed)) vfe_msg_sync_t1_done;
223 * Message to notify the ARM that sync timer2 op is completed
226 #define VFE_MSG_SYNC_T2_DONE 0x000E
227 #define VFE_MSG_SYNC_T2_DONE_LEN sizeof(vfe_msg_sync_t2_done)
230 } __attribute__((packed)) vfe_msg_sync_t2_done;
234 * Message to notify the ARM that async t1 operation completed
237 #define VFE_MSG_ASYNC_T1_DONE 0x000F
238 #define VFE_MSG_ASYNC_T1_DONE_LEN sizeof(vfe_msg_async_t1_done)
241 } __attribute__((packed)) vfe_msg_async_t1_done;
246 * Message to notify the ARM that async t2 operation completed
249 #define VFE_MSG_ASYNC_T2_DONE 0x0010
250 #define VFE_MSG_ASYNC_T2_DONE_LEN sizeof(vfe_msg_async_t2_done)
253 } __attribute__((packed)) vfe_msg_async_t2_done;
258 * Message to notify the ARM that an error has occurred
261 #define VFE_MSG_ERROR 0x0011
262 #define VFE_MSG_ERROR_LEN sizeof(vfe_msg_error)
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
281 #define VFE_MSG_CAMIF_STS_IDLE 0x0000
282 #define VFE_MSG_CAMIF_STS_CAPTURE_DATA 0x0001
285 unsigned int err_cond;
286 unsigned int camif_sts;
287 } __attribute__((packed)) vfe_msg_error;