Framework Components Application Programming Interface (API)  fc-u06
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ires_vicp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  */
48 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP_
49 #define ti_sdo_fc_ires_vicp_IRES_VICP_
50 
53 
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 #include <ti/xdais/ires_common.h>
60 
61 /*
62  * @brief Maximum number of VICP resources(components) to be managed
63  */
64 #define IRES_VICP_MAXRESOURCES 1
65 
69 #define IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"
70 
79 #define VICP_MODNAME "ti.sdo.fc.ires.vicp"
80 
81 /*
82  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
83  * resource managers and algs get this version data placed in their object
84  * files. Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
85  */
86 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
87 
91 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0};
92 
93 #endif
94 
99 
103 typedef struct IRES_VICP_ProtocolArgs {
104 
105  int size;
106  IRES_RequestMode mode; /* persistent or scratch resource requested */
107  short requestIMX; /* value of 1 to indicate resource requested,
108  0 otherwise */
109  short requestVLCD;
110  short requestSEQ;
111 
113 
119 typedef struct IRES_VICP_Obj {
120 
122  short assignedIMX;
124  short assignedSEQ;
125 
126 } IRES_VICP_Obj;
127 
128 
129 /*
130  * @brief VICP Register Layout
131  */
132 typedef struct IRES_VICP_Registers {
133 
134  int size;
136  unsigned char *vicp_umap1_base;
137  unsigned char *vicp_cfg_base;
138 
139  unsigned char *imgBuf_base;
140  unsigned char *imgBufA_base;
141  unsigned char *imgBufB_base;
142  unsigned char *imxCoeffBuff_base;
143  unsigned char *imxCmdBuf_base;
144  unsigned char *vlcdDataBuf_base;
145  unsigned char *qiqBuf_base;
146  unsigned char *vlcdBuf_base;
147  unsigned char *seqProgMem_base;
148  unsigned char *seqDataMem_base;
149 
150  unsigned int imgBuf_length;
151  unsigned int imgBufA_length;
152  unsigned int imgBufB_length;
153  unsigned int imxCoeffBuff_length;
154  unsigned int imxCmdBuf_length;
155  unsigned int vlcdDataBuf_length;
156  unsigned int qiqBuf_length;
157  unsigned int vlcdBuf_length;
158  unsigned int seqProgMem_length;
159  unsigned int seqDataMem_length;
160 
161  /* . . . */
162 
164 
165 
166 /*
167  * @brief Static Resource Properties
168  */
169 typedef struct IRES_VICP_Properties {
170 
171  int size;
172 
174 
176 
177 
178 #ifdef __cplusplus
179 }
180 #endif /* extern "C" */
181 
182 
185 #endif
Copyright 2014, Texas Instruments Incorporated