]> bbs.cooldavid.org Git - net-next-2.6.git/blob - drivers/staging/dream/include/mach/qdsp5/qdsp5vfemsg.h
0053cfb65ba18fc0e31a7cbe105c378a82a26347
[net-next-2.6.git] / drivers / staging / dream / include / mach / qdsp5 / qdsp5vfemsg.h
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