ires_vicp.h

Go to the documentation of this file.
00001 /* 
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  * 
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP_
00049 #define ti_sdo_fc_ires_vicp_IRES_VICP_
00050 
00053 
00054 
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058 
00059 #include <ti/xdais/ires_common.h>
00060 
00061 /*
00062  * @brief  Maximum number of VICP resources(components) to be managed
00063  */
00064 #define IRES_VICP_MAXRESOURCES  1
00065 
00069 #define IRES_VICP_PROTOCOLNAME     "ti.sdo.fc.ires.vicp"
00070 
00079 #define VICP_MODNAME  "ti.sdo.fc.ires.vicp"
00080 
00081 /*
00082  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00083  * resource managers and algs get this version data placed in their object
00084  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00085  */
00086 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00087 
00091 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0};
00092 
00093 #endif
00094 
00098 typedef struct IRES_VICP_Obj *IRES_VICP_Handle;
00099 
00103 typedef struct IRES_VICP_ProtocolArgs {
00104 
00105     int size;                   
00106     IRES_RequestMode mode;      /* persistent or scratch resource requested */
00107     short requestIMX;           /* value of 1 to indicate resource requested,
00108                                    0 otherwise */
00109     short requestVLCD;
00110     short requestSEQ;
00111 
00112 } IRES_VICP_ProtocolArgs;
00113 
00119 typedef struct  IRES_VICP_Obj {
00120 
00121     IRES_Obj ires;
00122     short assignedIMX;
00123     short assignedVLCD;
00124     short assignedSEQ;
00125 
00126 } IRES_VICP_Obj;
00127 
00128 
00129 /*
00130  * @brief           VICP Register Layout
00131  */
00132 typedef struct IRES_VICP_Registers {
00133 
00134     int size;   
00136     unsigned char *vicp_umap1_base;
00137     unsigned char *vicp_cfg_base;
00138 
00139     unsigned char *imgBuf_base;
00140     unsigned char *imgBufA_base;
00141     unsigned char *imgBufB_base;
00142     unsigned char *imxCoeffBuff_base;
00143     unsigned char *imxCmdBuf_base;
00144     unsigned char *vlcdDataBuf_base;
00145     unsigned char *qiqBuf_base;
00146     unsigned char *vlcdBuf_base;
00147     unsigned char *seqProgMem_base;
00148     unsigned char *seqDataMem_base;
00149 
00150     unsigned int imgBuf_length;
00151     unsigned int imgBufA_length;
00152     unsigned int imgBufB_length;
00153     unsigned int imxCoeffBuff_length;
00154     unsigned int imxCmdBuf_length;
00155     unsigned int vlcdDataBuf_length;
00156     unsigned int qiqBuf_length;
00157     unsigned int vlcdBuf_length;
00158     unsigned int seqProgMem_length;
00159     unsigned int seqDataMem_length;
00160 
00161     /* . . . */
00162 
00163 } IRES_VICP_Registers;
00164 
00165 
00166 /*
00167  * @brief       Static Resource Properties
00168  */
00169 typedef struct IRES_VICP_Properties {
00170 
00171     int size;
00172 
00173     IRES_VICP_Registers *globalRegs;
00174 
00175 } IRES_VICP_Properties;
00176 
00177 
00178 #ifdef __cplusplus
00179 }
00180 #endif /* extern "C" */
00181 
00182 
00185 #endif
00186 /*
00187  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,3; 4-16-2012 00:01:47; /db/atree/library/trees/fc/fc-q08/src/ xlibrary
00188 
00189  */
00190 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2012, Texas Instruments Incorporated