ires_vicp.h

Go to the documentation of this file.
00001 /* 
00002  * Copyright (c) 2009, 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.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 
00071 
00072 /*
00073  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00074  * resource managers and algs get this version data placed in their object
00075  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00076  */
00077 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00078 
00082 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0}; 
00083 
00084 #endif
00085 
00089 typedef struct IRES_VICP_Obj *IRES_VICP_Handle;
00090 
00094 typedef struct IRES_VICP_ProtocolArgs {
00095 
00096     int size;                   
00097     IRES_RequestMode mode;      /* persistent or scratch resource requested */
00098     short requestIMX;           /* value of 1 to indicate resource requested, 
00099                                    0 otherwise */
00100     short requestVLCD;
00101     short requestSEQ;
00102 
00103 } IRES_VICP_ProtocolArgs;
00104 
00110 typedef struct  IRES_VICP_Obj {
00111 
00112     IRES_Obj ires;
00113     short assignedIMX;
00114     short assignedVLCD;
00115     short assignedSEQ;
00116 
00117 } IRES_VICP_Obj;
00118 
00119 
00120 /*
00121  * @brief           VICP Register Layout 
00122  */
00123 typedef struct IRES_VICP_Registers {
00124 
00125     int size;   
00127     unsigned char *vicp_umap1_base;
00128     unsigned char *vicp_cfg_base;
00129  
00130     unsigned char *imgBuf_base;
00131     unsigned char *imgBufA_base;
00132     unsigned char *imgBufB_base;
00133     unsigned char *imxCoeffBuff_base;
00134     unsigned char *imxCmdBuf_base;
00135     unsigned char *vlcdDataBuf_base;
00136     unsigned char *qiqBuf_base;
00137     unsigned char *vlcdBuf_base;
00138     unsigned char *seqProgMem_base;
00139     unsigned char *seqDataMem_base;
00140  
00141     unsigned int imgBuf_length;
00142     unsigned int imgBufA_length;
00143     unsigned int imgBufB_length;
00144     unsigned int imxCoeffBuff_length;
00145     unsigned int imxCmdBuf_length;
00146     unsigned int vlcdDataBuf_length;
00147     unsigned int qiqBuf_length;
00148     unsigned int vlcdBuf_length;
00149     unsigned int seqProgMem_length;
00150     unsigned int seqDataMem_length;
00151  
00152     /* . . . */
00153 
00154 } IRES_VICP_Registers;
00155 
00156 
00157 /*
00158  * @brief       Static Resource Properties 
00159  */
00160 typedef struct IRES_VICP_Properties {
00161     
00162     int size;
00163 
00164     IRES_VICP_Registers *globalRegs;
00165 
00166 } IRES_VICP_Properties;
00167 
00168 
00169 #ifdef __cplusplus
00170 }
00171 #endif /* extern "C" */
00172 
00173 
00176 #endif
00177 /*
00178  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,155; 11-8-2009 20:58:17; /db/atree/library/trees/fc/fc-l04x/src/
00179  */
00180 

Copyright 2009, Texas Instruments Incorporated